diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md index c7f9548b..1c2f8215 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -55,7 +55,7 @@ List the platform(s) and toolsets which are applicable to the issue, and all of - Operating System: [e.g. macOS, Linux, Windows] - Compiler: [e.g. MSVC, GCC, Clang] - - `dds` Version: [e.g. `0.1.0-alpha.5`] + - `dds` Version: [e.g. `0.1.0-alpha.6`] **Additional context** diff --git a/.gitignore b/.gitignore index 15e4c18a..54c39115 100644 --- a/.gitignore +++ b/.gitignore @@ -5,4 +5,12 @@ __pycache__/ .mypy_cache/ _prebuilt/ .pytest_cache/ -.vagrant/ \ No newline at end of file +.vagrant/ + +## Generate by CI scripts: +# A copy of OpenSSL for Windows: +external/OpenSSL +.docker-ccache/ + +*.egg-info +*.stamp \ No newline at end of file diff --git a/.pylintrc b/.pylintrc new file mode 100644 index 00000000..499a2d2b --- /dev/null +++ b/.pylintrc @@ -0,0 +1,161 @@ +[MASTER] + +jobs=1 +persistent=yes +suggestion-mode=yes +unsafe-load-any-extension=no + +[MESSAGES CONTROL] + +confidence= +disable=C,too-few-public-methods,redefined-outer-name +enable=c-extension-no-member + + +[REPORTS] + +evaluation=10.0 - ((float(5 * error + warning + refactor + convention) / statement) * 10) +output-format=colorized +reports=no +score=yes + + +[REFACTORING] + +max-nested-blocks=5 +never-returning-functions=optparse.Values,sys.exit + + +[BASIC] + +argument-naming-style=snake_case +attr-naming-style=snake_case +class-attribute-naming-style=snake_case +class-naming-style=PascalCase +const-naming-style=UPPER_CASE +docstring-min-length=-1 +function-naming-style=snake_case +# Good variable names which should always be accepted, separated by a comma +good-names=i, + j, + k, + ex, + Run, + fd, + _ + +include-naming-hint=no +inlinevar-naming-style=any +method-naming-style=snake_case +module-naming-style=snake_case +name-group= +no-docstring-rgx=^_ +variable-naming-style=snake_case + + +[FORMAT] + +expected-line-ending-format=LF +ignore-long-lines=^\s*(# )??$ +max-line-length=100 +max-module-lines=1000 +no-space-check=trailing-comma, + dict-separator +single-line-class-stmt=no +single-line-if-stmt=no + + +[LOGGING] + +# Logging modules to check that the string format arguments are in logging +# function parameter format +logging-modules=logging + + +[MISCELLANEOUS] + +# List of note tags to take in consideration, separated by a comma. +notes=FIXME, + XXX, + TODO + + +[SIMILARITIES] + +ignore-comments=yes +ignore-docstrings=yes +ignore-imports=no +min-similarity-lines=4 + + +[SPELLING] + +max-spelling-suggestions=4 +spelling-dict= +spelling-ignore-words= +spelling-private-dict-file= +spelling-store-unknown-words=no + + +[TYPECHECK] + +contextmanager-decorators=contextlib.contextmanager +generated-members= +ignore-mixin-members=yes +ignore-on-opaque-inference=yes +ignored-classes=optparse.Values,thread._local,_thread._local +ignored-modules= +missing-member-hint=yes +missing-member-hint-distance=1 +missing-member-max-choices=1 + + +[VARIABLES] + +additional-builtins= +allow-global-unused-variables=yes +callbacks=cb_, + _cb +dummy-variables-rgx=_+$|(_[a-zA-Z0-9_]*[a-zA-Z0-9]+?$)|dummy|^ignored_|^unused_ +ignored-argument-names=_.*|^ignored_|^unused_ +init-import=no +redefining-builtins-modules=six.moves,past.builtins,future.builtins + + +[CLASSES] + +defining-attr-methods=__init__,__new__ + +exclude-protected=_asdict, + _fields, + _replace, + _source, + _make +valid-classmethod-first-arg=cls +valid-metaclass-classmethod-first-arg=mcs + + +[DESIGN] + +max-args=5 +max-attributes=7 +max-bool-expr=5 +max-branches=12 +max-locals=15 +max-parents=7 +max-public-methods=20 +max-returns=6 +max-statements=50 +min-public-methods=2 + + +[IMPORTS] + +allow-wildcard-with-all=no +analyse-fallback-blocks=no +deprecated-modules=optparse,tkinter.tix +ext-import-graph= +import-graph= +int-import-graph= +known-standard-library= +known-third-party=enchant diff --git a/.style.yapf b/.style.yapf new file mode 100644 index 00000000..b4a1f688 --- /dev/null +++ b/.style.yapf @@ -0,0 +1,3 @@ +[style] +based_on_style = pep8 +column_limit = 120 \ No newline at end of file diff --git a/Makefile b/Makefile index 908affc8..1a809727 100644 --- a/Makefile +++ b/Makefile @@ -1,16 +1,15 @@ .SILENT: .PHONY: \ - docs docs-server docs-watch docs-sync-server nix-ci linux-ci macos-ci \ - vagrant-freebsd-ci site + docs docs-server docs-watch docs-sync-server linux-ci macos-ci \ + vagrant-freebsd-ci site alpine-static-ci _alpine-static-ci poetry-setup \ + full-ci dev-build release-build -_invalid: - echo "Specify a target name to execute" - exit 1 clean: - rm -f -r -- $(shell find -name __pycache__ -type d) - rm -f -r -- _build/ _prebuilt/ + rm -f -vr -- $(shell find -name __pycache__ -type d) + rm -f -vr -- _build/ _prebuilt/ + rm -f -v -- $(shell find -name "*.stamp" -type f) docs: sphinx-build -b html \ @@ -29,7 +28,7 @@ docs-server: docs python -m http.server 9794 docs-watch: docs - +sh tools/docs-watch.sh + +poetry run sh tools/docs-watch.sh docs-sync-server: mkdir -p _build/docs @@ -38,32 +37,59 @@ docs-sync-server: --reload-delay 300 \ --watch **/*.html -macos-ci: - python3 -u tools/ci.py \ - -B download \ - -T tools/gcc-9-rel.jsonc +.poetry.stamp: poetry.lock + poetry install --no-dev + touch .poetry.stamp + +poetry-setup: .poetry.stamp + +full-ci: poetry-setup + poetry run dds-ci --clean + +dev-build: poetry-setup + poetry run dds-ci --rapid + +release-build: poetry-setup + poetry run dds-ci --no-test + +macos-ci: full-ci mv _build/dds _build/dds-macos-x64 -linux-ci: - python3 -u tools/ci.py \ - -B download \ - -T tools/gcc-9-static-rel.jsonc +linux-ci: full-ci mv _build/dds _build/dds-linux-x64 -nix-ci: - python3 -u tools/ci.py \ - -B download \ - -T tools/gcc-9-rel.jsonc +_alpine-static-ci: + poetry install --no-dev + # Alpine Linux does not ship with ASan nor UBSan, so we can't use them in + # our test-build. Just use the same build for both. CCache will also speed this up. + poetry run dds-ci \ + --bootstrap-with=lazy \ + --test-toolchain=tools/gcc-9-static-rel.jsonc \ + --main-toolchain=tools/gcc-9-static-rel.jsonc + mv _build/dds _build/dds-linux-x64 + +alpine-static-ci: + docker build \ + --build-arg DDS_USER_UID=$(shell id -u) \ + -t dds-builder \ + -f tools/Dockerfile.alpine \ + tools/ + docker run \ + -t --rm \ + -u $(shell id -u) \ + -v $(PWD):/host -w /host \ + -e CCACHE_DIR=/host/.docker-ccache \ + dds-builder \ + make _alpine-static-ci vagrant-freebsd-ci: vagrant up freebsd11 vagrant rsync vagrant ssh freebsd11 -c '\ cd /vagrant && \ - python3.7 tools/ci.py \ - -B download \ - -T tools/freebsd-gcc-10.jsonc \ + make full-ci \ ' + mkdir -p _build/ vagrant scp freebsd11:/vagrant/_build/dds _build/dds-freebsd-x64 vagrant halt @@ -73,3 +99,10 @@ site: docs cp site/index.html _site/ cp -r _build/docs _site/ echo "Site generated at _site/" + +py-check: + poetry run mypy tools/dds_ci $(shell find tests/ -name *.py) + poetry run pylint tools/dds_ci $(shell find tests/ -name *.py) + +format: + poetry run dds-format diff --git a/azure-pipelines.yml b/azure-pipelines.yml index e8c05bcd..29e18cb7 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -2,10 +2,7 @@ variables: shouldDeploy: >- - ${{ or( - eq(variables['Build.SourceBranch'], 'refs/heads/develop'), - eq(variables['Build.SourceBranch'], 'refs/heads/master') - ) }} + ${{ eq(variables['Build.SourceBranch'], 'refs/heads/master') }} deployDest: ${{ format('~/web/{0}/', variables['Build.SourceBranchName']) }} stages: @@ -17,15 +14,25 @@ stages: pool: vmImage: windows-2019 steps: + - pwsh: tools\get-win-openssl.ps1 + displayName: Get OpenSSL for Windows + - script: python -m pip install poetry && poetry install --no-dev + displayName: Install Python deps - script: | echo Loading VS environment call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\Common7\Tools\vsdevcmd" -arch=x64 || exit 1 echo Executing Build and Tests reg add HKLM\SYSTEM\CurrentControlSet\Control\FileSystem /v LongPathsEnabled /t REG_DWORD /d 1 /f || exit 1 - python -m pip install pytest pytest-xdist || exit 1 - python -u tools/ci.py -B download -T tools\msvc.jsonc || exit 1 + poetry run dds-ci || exit 1 move _build\dds.exe _build\dds-win-x64.exe || exit 1 displayName: Build and Test + - task: PublishTestResults@2 + displayName: Publish Tests + condition: succeededOrFailed() + inputs: + testResultsFiles: '**/pytest-junit.xml' + failTaskOnFailedTests: true + testRunTitle: Windows Tests - publish: _build\dds-win-x64.exe displayName: Publish artifact: dds-win-x64 @@ -35,14 +42,15 @@ stages: pool: vmImage: ubuntu-18.04 steps: - - script: | - set -eu - sudo apt update -y - sudo apt install -y python3-minimal python3-setuptools g++-9 ccache - python3 -m pip install pytest pytest-xdist - displayName: Prepare System - - script: make linux-ci + - script: make alpine-static-ci displayName: Build and Test + - task: PublishTestResults@2 + displayName: Publish Tests + condition: succeededOrFailed() + inputs: + testResultsFiles: '**/pytest-junit.xml' + failTaskOnFailedTests: true + testRunTitle: Linux Tests - publish: _build/dds-linux-x64 displayName: Publish artifact: dds-linux-x64 @@ -50,15 +58,23 @@ stages: - job: macos_gcc9 displayName: macOS - GCC 9 pool: - vmImage: macOS-10.14 + vmImage: macOS-10.15 steps: - script: brew install gcc@9 ccache - displayName: Prepare System - - script: | - set -eu - python3 -m pip install pytest pytest-xdist - make macos-ci + displayName: Get GCC 9 + - script: brew install openssl@1.1 + displayName: Install OpenSSL + - script: python3 -m pip install poetry + displayName: Get Python Dependencies + - script: make macos-ci displayName: Build and Test + - task: PublishTestResults@2 + displayName: Publish Tests + condition: succeededOrFailed() + inputs: + testResultsFiles: '**/pytest-junit.xml' + failTaskOnFailedTests: true + testRunTitle: macOS Tests - publish: _build/dds-macos-x64 displayName: Publish artifact: dds-macos-x64 diff --git a/catalog.old.json b/catalog.old.json deleted file mode 100644 index eb258272..00000000 --- a/catalog.old.json +++ /dev/null @@ -1,3976 +0,0 @@ -{ - "packages": { - "abseil": { - "2018.6.0": { - "depends": {}, - "description": "Abseil Common Libraries", - "git": { - "auto-lib": "abseil/abseil", - "ref": "20180600", - "transform": [ - { - "move": { - "exclude": [], - "from": "absl", - "include": [], - "strip-components": 0, - "to": "src/absl/" - }, - "remove": { - "only-matching": [ - "**/*_test.c*", - "**/*_testing.c*", - "**/*_benchmark.c*", - "**/benchmarks.c*", - "**/*_test_common.c*", - "**/mocking_*.c*", - "**/test_util.cc", - "**/mutex_nonprod.cc", - "**/named_generator.cc", - "**/print_hash_of.cc", - "**/*_gentables.cc" - ], - "path": "src/" - } - } - ], - "url": "https://github.com/abseil/abseil-cpp.git" - } - }, - "2019.8.8": { - "depends": {}, - "description": "Abseil Common Libraries", - "git": { - "auto-lib": "abseil/abseil", - "ref": "20190808", - "transform": [ - { - "move": { - "exclude": [], - "from": "absl", - "include": [], - "strip-components": 0, - "to": "src/absl/" - }, - "remove": { - "only-matching": [ - "**/*_test.c*", - "**/*_testing.c*", - "**/*_benchmark.c*", - "**/benchmarks.c*", - "**/*_test_common.c*", - "**/mocking_*.c*", - "**/test_util.cc", - "**/mutex_nonprod.cc", - "**/named_generator.cc", - "**/print_hash_of.cc", - "**/*_gentables.cc" - ], - "path": "src/" - } - } - ], - "url": "https://github.com/abseil/abseil-cpp.git" - } - }, - "2020.2.25": { - "depends": {}, - "description": "Abseil Common Libraries", - "git": { - "auto-lib": "abseil/abseil", - "ref": "20200225.2", - "transform": [ - { - "move": { - "exclude": [], - "from": "absl", - "include": [], - "strip-components": 0, - "to": "src/absl/" - }, - "remove": { - "only-matching": [ - "**/*_test.c*", - "**/*_testing.c*", - "**/*_benchmark.c*", - "**/benchmarks.c*", - "**/*_test_common.c*", - "**/mocking_*.c*", - "**/test_util.cc", - "**/mutex_nonprod.cc", - "**/named_generator.cc", - "**/print_hash_of.cc", - "**/*_gentables.cc" - ], - "path": "src/" - } - } - ], - "url": "https://github.com/abseil/abseil-cpp.git" - } - } - }, - "asio": { - "1.12.0": { - "depends": {}, - "description": "Asio asynchronous I/O C++ library", - "git": { - "auto-lib": "asio/asio", - "ref": "asio-1-12-0", - "transform": [ - { - "move": { - "exclude": [], - "from": "asio/src", - "include": [], - "strip-components": 0, - "to": "src/" - }, - "remove": { - "only-matching": [ - "doc/**", - "examples/**", - "tests/**", - "tools/**" - ], - "path": "src/" - } - }, - { - "edit": { - "edits": [ - { - "content": "#define ASIO_STANDALONE 1", - "kind": "insert", - "line": 13 - }, - { - "content": "#define ASIO_SEPARATE_COMPILATION 1", - "kind": "insert", - "line": 14 - } - ], - "path": "include/asio/detail/config.hpp" - }, - "move": { - "exclude": [], - "from": "asio/include/", - "include": [], - "strip-components": 0, - "to": "include/" - } - } - ], - "url": "https://github.com/chriskohlhoff/asio.git" - } - }, - "1.12.1": { - "depends": {}, - "description": "Asio asynchronous I/O C++ library", - "git": { - "auto-lib": "asio/asio", - "ref": "asio-1-12-1", - "transform": [ - { - "move": { - "exclude": [], - "from": "asio/src", - "include": [], - "strip-components": 0, - "to": "src/" - }, - "remove": { - "only-matching": [ - "doc/**", - "examples/**", - "tests/**", - "tools/**" - ], - "path": "src/" - } - }, - { - "edit": { - "edits": [ - { - "content": "#define ASIO_STANDALONE 1", - "kind": "insert", - "line": 13 - }, - { - "content": "#define ASIO_SEPARATE_COMPILATION 1", - "kind": "insert", - "line": 14 - } - ], - "path": "include/asio/detail/config.hpp" - }, - "move": { - "exclude": [], - "from": "asio/include/", - "include": [], - "strip-components": 0, - "to": "include/" - } - } - ], - "url": "https://github.com/chriskohlhoff/asio.git" - } - }, - "1.12.2": { - "depends": {}, - "description": "Asio asynchronous I/O C++ library", - "git": { - "auto-lib": "asio/asio", - "ref": "asio-1-12-2", - "transform": [ - { - "move": { - "exclude": [], - "from": "asio/src", - "include": [], - "strip-components": 0, - "to": "src/" - }, - "remove": { - "only-matching": [ - "doc/**", - "examples/**", - "tests/**", - "tools/**" - ], - "path": "src/" - } - }, - { - "edit": { - "edits": [ - { - "content": "#define ASIO_STANDALONE 1", - "kind": "insert", - "line": 13 - }, - { - "content": "#define ASIO_SEPARATE_COMPILATION 1", - "kind": "insert", - "line": 14 - } - ], - "path": "include/asio/detail/config.hpp" - }, - "move": { - "exclude": [], - "from": "asio/include/", - "include": [], - "strip-components": 0, - "to": "include/" - } - } - ], - "url": "https://github.com/chriskohlhoff/asio.git" - } - }, - "1.13.0": { - "depends": {}, - "description": "Asio asynchronous I/O C++ library", - "git": { - "auto-lib": "asio/asio", - "ref": "asio-1-13-0", - "transform": [ - { - "move": { - "exclude": [], - "from": "asio/src", - "include": [], - "strip-components": 0, - "to": "src/" - }, - "remove": { - "only-matching": [ - "doc/**", - "examples/**", - "tests/**", - "tools/**" - ], - "path": "src/" - } - }, - { - "edit": { - "edits": [ - { - "content": "#define ASIO_STANDALONE 1", - "kind": "insert", - "line": 13 - }, - { - "content": "#define ASIO_SEPARATE_COMPILATION 1", - "kind": "insert", - "line": 14 - } - ], - "path": "include/asio/detail/config.hpp" - }, - "move": { - "exclude": [], - "from": "asio/include/", - "include": [], - "strip-components": 0, - "to": "include/" - } - } - ], - "url": "https://github.com/chriskohlhoff/asio.git" - } - }, - "1.14.0": { - "depends": {}, - "description": "Asio asynchronous I/O C++ library", - "git": { - "auto-lib": "asio/asio", - "ref": "asio-1-14-0", - "transform": [ - { - "move": { - "exclude": [], - "from": "asio/src", - "include": [], - "strip-components": 0, - "to": "src/" - }, - "remove": { - "only-matching": [ - "doc/**", - "examples/**", - "tests/**", - "tools/**" - ], - "path": "src/" - } - }, - { - "edit": { - "edits": [ - { - "content": "#define ASIO_STANDALONE 1", - "kind": "insert", - "line": 13 - }, - { - "content": "#define ASIO_SEPARATE_COMPILATION 1", - "kind": "insert", - "line": 14 - } - ], - "path": "include/asio/detail/config.hpp" - }, - "move": { - "exclude": [], - "from": "asio/include/", - "include": [], - "strip-components": 0, - "to": "include/" - } - } - ], - "url": "https://github.com/chriskohlhoff/asio.git" - } - }, - "1.14.1": { - "depends": {}, - "description": "Asio asynchronous I/O C++ library", - "git": { - "auto-lib": "asio/asio", - "ref": "asio-1-14-1", - "transform": [ - { - "move": { - "exclude": [], - "from": "asio/src", - "include": [], - "strip-components": 0, - "to": "src/" - }, - "remove": { - "only-matching": [ - "doc/**", - "examples/**", - "tests/**", - "tools/**" - ], - "path": "src/" - } - }, - { - "edit": { - "edits": [ - { - "content": "#define ASIO_STANDALONE 1", - "kind": "insert", - "line": 13 - }, - { - "content": "#define ASIO_SEPARATE_COMPILATION 1", - "kind": "insert", - "line": 14 - } - ], - "path": "include/asio/detail/config.hpp" - }, - "move": { - "exclude": [], - "from": "asio/include/", - "include": [], - "strip-components": 0, - "to": "include/" - } - } - ], - "url": "https://github.com/chriskohlhoff/asio.git" - } - }, - "1.16.0": { - "depends": {}, - "description": "Asio asynchronous I/O C++ library", - "git": { - "auto-lib": "asio/asio", - "ref": "asio-1-16-0", - "transform": [ - { - "move": { - "exclude": [], - "from": "asio/src", - "include": [], - "strip-components": 0, - "to": "src/" - }, - "remove": { - "only-matching": [ - "doc/**", - "examples/**", - "tests/**", - "tools/**" - ], - "path": "src/" - } - }, - { - "edit": { - "edits": [ - { - "content": "#define ASIO_STANDALONE 1", - "kind": "insert", - "line": 13 - }, - { - "content": "#define ASIO_SEPARATE_COMPILATION 1", - "kind": "insert", - "line": 14 - } - ], - "path": "include/asio/detail/config.hpp" - }, - "move": { - "exclude": [], - "from": "asio/include/", - "include": [], - "strip-components": 0, - "to": "include/" - } - } - ], - "url": "https://github.com/chriskohlhoff/asio.git" - } - }, - "1.16.1": { - "depends": {}, - "description": "Asio asynchronous I/O C++ library", - "git": { - "auto-lib": "asio/asio", - "ref": "asio-1-16-1", - "transform": [ - { - "move": { - "exclude": [], - "from": "asio/src", - "include": [], - "strip-components": 0, - "to": "src/" - }, - "remove": { - "only-matching": [ - "doc/**", - "examples/**", - "tests/**", - "tools/**" - ], - "path": "src/" - } - }, - { - "edit": { - "edits": [ - { - "content": "#define ASIO_STANDALONE 1", - "kind": "insert", - "line": 13 - }, - { - "content": "#define ASIO_SEPARATE_COMPILATION 1", - "kind": "insert", - "line": 14 - } - ], - "path": "include/asio/detail/config.hpp" - }, - "move": { - "exclude": [], - "from": "asio/include/", - "include": [], - "strip-components": 0, - "to": "include/" - } - } - ], - "url": "https://github.com/chriskohlhoff/asio.git" - } - } - }, - "boost.leaf": { - "0.1.0": { - "depends": {}, - "description": "(No description was provided)", - "git": { - "auto-lib": "boost/leaf", - "ref": "0.1.0", - "transform": [], - "url": "https://github.com/zajo/leaf.git" - } - }, - "0.2.0": { - "depends": {}, - "description": "(No description was provided)", - "git": { - "auto-lib": "boost/leaf", - "ref": "0.2.0", - "transform": [], - "url": "https://github.com/zajo/leaf.git" - } - }, - "0.2.1": { - "depends": {}, - "description": "(No description was provided)", - "git": { - "auto-lib": "boost/leaf", - "ref": "0.2.1", - "transform": [], - "url": "https://github.com/zajo/leaf.git" - } - }, - "0.2.2": { - "depends": {}, - "description": "(No description was provided)", - "git": { - "auto-lib": "boost/leaf", - "ref": "0.2.2", - "transform": [], - "url": "https://github.com/zajo/leaf.git" - } - }, - "0.2.3": { - "depends": {}, - "description": "(No description was provided)", - "git": { - "auto-lib": "boost/leaf", - "ref": "0.2.3", - "transform": [], - "url": "https://github.com/zajo/leaf.git" - } - }, - "0.2.4": { - "depends": {}, - "description": "(No description was provided)", - "git": { - "auto-lib": "boost/leaf", - "ref": "0.2.4", - "transform": [], - "url": "https://github.com/zajo/leaf.git" - } - }, - "0.2.5": { - "depends": {}, - "description": "(No description was provided)", - "git": { - "auto-lib": "boost/leaf", - "ref": "0.2.5", - "transform": [], - "url": "https://github.com/zajo/leaf.git" - } - }, - "0.3.0": { - "depends": {}, - "description": "(No description was provided)", - "git": { - "auto-lib": "boost/leaf", - "ref": "0.3.0", - "transform": [], - "url": "https://github.com/zajo/leaf.git" - } - } - }, - "boost.mp11": { - "1.70.0": { - "depends": {}, - "description": "(No description was provided)", - "git": { - "auto-lib": "boost/mp11", - "ref": "boost-1.70.0", - "transform": [], - "url": "https://github.com/boostorg/mp11.git" - } - }, - "1.71.0": { - "depends": {}, - "description": "(No description was provided)", - "git": { - "auto-lib": "boost/mp11", - "ref": "boost-1.71.0", - "transform": [], - "url": "https://github.com/boostorg/mp11.git" - } - }, - "1.72.0": { - "depends": {}, - "description": "(No description was provided)", - "git": { - "auto-lib": "boost/mp11", - "ref": "boost-1.72.0", - "transform": [], - "url": "https://github.com/boostorg/mp11.git" - } - }, - "1.73.0": { - "depends": {}, - "description": "(No description was provided)", - "git": { - "auto-lib": "boost/mp11", - "ref": "boost-1.73.0", - "transform": [], - "url": "https://github.com/boostorg/mp11.git" - } - } - }, - "boost.pfr": { - "1.0.0": { - "depends": {}, - "description": "(No description was provided)", - "git": { - "auto-lib": "boost/pfr", - "ref": "1.0.0", - "transform": [], - "url": "https://github.com/apolukhin/magic_get.git" - } - }, - "1.0.1": { - "depends": {}, - "description": "(No description was provided)", - "git": { - "auto-lib": "boost/pfr", - "ref": "1.0.1", - "transform": [], - "url": "https://github.com/apolukhin/magic_get.git" - } - } - }, - "catch2": { - "2.12.4": { - "depends": {}, - "description": "A modern C++ unit testing library", - "git": { - "auto-lib": "catch2/catch2", - "ref": "v2.12.4", - "transform": [ - { - "move": { - "exclude": [], - "from": "include", - "include": [], - "strip-components": 0, - "to": "include/catch2" - } - }, - { - "copy": { - "exclude": [], - "from": "include", - "include": [], - "strip-components": 0, - "to": "src" - }, - "write": { - "content": "\n #pragma once\n\n #define CATCH_CONFIG_MAIN\n #include \"./catch.hpp\"\n\n namespace Catch {\n\n CATCH_REGISTER_REPORTER(\"console\", ConsoleReporter)\n\n }\n ", - "path": "include/catch2/catch_with_main.hpp" - } - } - ], - "url": "https://github.com/catchorg/Catch2.git" - } - } - }, - "cereal": { - "0.9.0": { - "depends": {}, - "description": "A C++11 library for serialization", - "git": { - "auto-lib": "cereal/cereal", - "ref": "v0.9.0", - "transform": [], - "url": "https://github.com/USCiLab/cereal.git" - } - }, - "0.9.1": { - "depends": {}, - "description": "A C++11 library for serialization", - "git": { - "auto-lib": "cereal/cereal", - "ref": "v0.9.1", - "transform": [], - "url": "https://github.com/USCiLab/cereal.git" - } - }, - "1.0.0": { - "depends": {}, - "description": "A C++11 library for serialization", - "git": { - "auto-lib": "cereal/cereal", - "ref": "v1.0.0", - "transform": [], - "url": "https://github.com/USCiLab/cereal.git" - } - }, - "1.1.0": { - "depends": {}, - "description": "A C++11 library for serialization", - "git": { - "auto-lib": "cereal/cereal", - "ref": "v1.1.0", - "transform": [], - "url": "https://github.com/USCiLab/cereal.git" - } - }, - "1.1.1": { - "depends": {}, - "description": "A C++11 library for serialization", - "git": { - "auto-lib": "cereal/cereal", - "ref": "v1.1.1", - "transform": [], - "url": "https://github.com/USCiLab/cereal.git" - } - }, - "1.1.2": { - "depends": {}, - "description": "A C++11 library for serialization", - "git": { - "auto-lib": "cereal/cereal", - "ref": "v1.1.2", - "transform": [], - "url": "https://github.com/USCiLab/cereal.git" - } - }, - "1.2.0": { - "depends": {}, - "description": "A C++11 library for serialization", - "git": { - "auto-lib": "cereal/cereal", - "ref": "v1.2.0", - "transform": [], - "url": "https://github.com/USCiLab/cereal.git" - } - }, - "1.2.1": { - "depends": {}, - "description": "A C++11 library for serialization", - "git": { - "auto-lib": "cereal/cereal", - "ref": "v1.2.1", - "transform": [], - "url": "https://github.com/USCiLab/cereal.git" - } - }, - "1.2.2": { - "depends": {}, - "description": "A C++11 library for serialization", - "git": { - "auto-lib": "cereal/cereal", - "ref": "v1.2.2", - "transform": [], - "url": "https://github.com/USCiLab/cereal.git" - } - }, - "1.3.0": { - "depends": {}, - "description": "A C++11 library for serialization", - "git": { - "auto-lib": "cereal/cereal", - "ref": "v1.3.0", - "transform": [], - "url": "https://github.com/USCiLab/cereal.git" - } - } - }, - "ctre": { - "2.8.1": { - "depends": {}, - "description": "A compile-time PCRE (almost) compatible regular expression matcher", - "git": { - "auto-lib": "hanickadot/ctre", - "ref": "v2.8.1", - "transform": [], - "url": "https://github.com/hanickadot/compile-time-regular-expressions.git" - } - }, - "2.8.2": { - "depends": {}, - "description": "A compile-time PCRE (almost) compatible regular expression matcher", - "git": { - "auto-lib": "hanickadot/ctre", - "ref": "v2.8.2", - "transform": [], - "url": "https://github.com/hanickadot/compile-time-regular-expressions.git" - } - }, - "2.8.3": { - "depends": {}, - "description": "A compile-time PCRE (almost) compatible regular expression matcher", - "git": { - "auto-lib": "hanickadot/ctre", - "ref": "v2.8.3", - "transform": [], - "url": "https://github.com/hanickadot/compile-time-regular-expressions.git" - } - }, - "2.8.4": { - "depends": {}, - "description": "A compile-time PCRE (almost) compatible regular expression matcher", - "git": { - "auto-lib": "hanickadot/ctre", - "ref": "v2.8.4", - "transform": [], - "url": "https://github.com/hanickadot/compile-time-regular-expressions.git" - } - } - }, - "fmt": { - "6.0.0": { - "depends": {}, - "description": "A modern formatting library : https://fmt.dev/", - "git": { - "auto-lib": "fmt/fmt", - "ref": "6.0.0", - "transform": [], - "url": "https://github.com/fmtlib/fmt.git" - } - }, - "6.1.0": { - "depends": {}, - "description": "A modern formatting library : https://fmt.dev/", - "git": { - "auto-lib": "fmt/fmt", - "ref": "6.1.0", - "transform": [], - "url": "https://github.com/fmtlib/fmt.git" - } - }, - "6.1.1": { - "depends": {}, - "description": "A modern formatting library : https://fmt.dev/", - "git": { - "auto-lib": "fmt/fmt", - "ref": "6.1.1", - "transform": [], - "url": "https://github.com/fmtlib/fmt.git" - } - }, - "6.1.2": { - "depends": {}, - "description": "A modern formatting library : https://fmt.dev/", - "git": { - "auto-lib": "fmt/fmt", - "ref": "6.1.2", - "transform": [], - "url": "https://github.com/fmtlib/fmt.git" - } - }, - "6.2.0": { - "depends": {}, - "description": "A modern formatting library : https://fmt.dev/", - "git": { - "auto-lib": "fmt/fmt", - "ref": "6.2.0", - "transform": [], - "url": "https://github.com/fmtlib/fmt.git" - } - }, - "6.2.1": { - "depends": {}, - "description": "A modern formatting library : https://fmt.dev/", - "git": { - "auto-lib": "fmt/fmt", - "ref": "6.2.1", - "transform": [], - "url": "https://github.com/fmtlib/fmt.git" - } - }, - "7.0.0": { - "depends": {}, - "description": "A modern formatting library : https://fmt.dev/", - "git": { - "auto-lib": "fmt/fmt", - "ref": "7.0.0", - "transform": [], - "url": "https://github.com/fmtlib/fmt.git" - } - }, - "7.0.1": { - "depends": {}, - "description": "A modern formatting library : https://fmt.dev/", - "git": { - "auto-lib": "fmt/fmt", - "ref": "7.0.1", - "transform": [], - "url": "https://github.com/fmtlib/fmt.git" - } - } - }, - "inja": { - "1.0.0": { - "depends": {}, - "description": "A Template Engine for Modern C++", - "git": { - "auto-lib": "inja/inja", - "ref": "v1.0.0", - "transform": [], - "url": "https://github.com/pantor/inja.git" - } - }, - "2.0.0": { - "depends": {}, - "description": "A Template Engine for Modern C++", - "git": { - "auto-lib": "inja/inja", - "ref": "v2.0.0", - "transform": [], - "url": "https://github.com/pantor/inja.git" - } - }, - "2.0.1": { - "depends": {}, - "description": "A Template Engine for Modern C++", - "git": { - "auto-lib": "inja/inja", - "ref": "v2.0.1", - "transform": [], - "url": "https://github.com/pantor/inja.git" - } - }, - "2.1.0": { - "depends": { - "nlohmann-json": "+0.0.0" - }, - "description": "A Template Engine for Modern C++", - "git": { - "ref": "v2.1.0", - "transform": [ - { - "write": { - "content": "{\"name\": \"inja\", \"namespace\": \"inja\", \"version\": \"2.1.0\", \"depends\": [\"nlohmann-json+0.0.0\"]}", - "path": "package.json" - } - }, - { - "write": { - "content": "{\"name\": \"inja\", \"uses\": [\"nlohmann/json\"]}", - "path": "library.json" - } - } - ], - "url": "https://github.com/pantor/inja.git" - } - }, - "2.2.0": { - "depends": { - "nlohmann-json": "+0.0.0" - }, - "description": "A Template Engine for Modern C++", - "git": { - "ref": "v2.2.0", - "transform": [ - { - "write": { - "content": "{\"name\": \"inja\", \"namespace\": \"inja\", \"version\": \"2.2.0\", \"depends\": [\"nlohmann-json+0.0.0\"]}", - "path": "package.json" - } - }, - { - "write": { - "content": "{\"name\": \"inja\", \"uses\": [\"nlohmann/json\"]}", - "path": "library.json" - } - } - ], - "url": "https://github.com/pantor/inja.git" - } - } - }, - "libsodium": { - "1.0.10": { - "depends": {}, - "description": "Sodium is a new, easy-to-use software library for encryption,\ndecryption, signatures, password hashing and more.", - "git": { - "auto-lib": "sodium/sodium", - "ref": "1.0.10", - "transform": [ - { - "edit": { - "edits": [ - { - "content": "#define SODIUM_STATIC 1", - "kind": "insert", - "line": 8 - } - ], - "path": "include/sodium/export.h" - }, - "move": { - "exclude": [], - "from": "src/libsodium/include", - "include": [], - "strip-components": 0, - "to": "include/" - } - }, - { - "copy": { - "exclude": [], - "from": "builds/msvc/version.h", - "include": [], - "strip-components": 0, - "to": "include/sodium/version.h" - }, - "move": { - "exclude": [], - "from": "src/libsodium", - "include": [], - "strip-components": 0, - "to": "src/" - }, - "remove": { - "only-matching": [], - "path": "src/libsodium" - } - }, - { - "copy": { - "exclude": [], - "from": "include", - "include": [], - "strip-components": 1, - "to": "src/" - } - } - ], - "url": "https://github.com/jedisct1/libsodium.git" - } - }, - "1.0.11": { - "depends": {}, - "description": "Sodium is a new, easy-to-use software library for encryption,\ndecryption, signatures, password hashing and more.", - "git": { - "auto-lib": "sodium/sodium", - "ref": "1.0.11", - "transform": [ - { - "edit": { - "edits": [ - { - "content": "#define SODIUM_STATIC 1", - "kind": "insert", - "line": 8 - } - ], - "path": "include/sodium/export.h" - }, - "move": { - "exclude": [], - "from": "src/libsodium/include", - "include": [], - "strip-components": 0, - "to": "include/" - } - }, - { - "copy": { - "exclude": [], - "from": "builds/msvc/version.h", - "include": [], - "strip-components": 0, - "to": "include/sodium/version.h" - }, - "move": { - "exclude": [], - "from": "src/libsodium", - "include": [], - "strip-components": 0, - "to": "src/" - }, - "remove": { - "only-matching": [], - "path": "src/libsodium" - } - }, - { - "copy": { - "exclude": [], - "from": "include", - "include": [], - "strip-components": 1, - "to": "src/" - } - } - ], - "url": "https://github.com/jedisct1/libsodium.git" - } - }, - "1.0.12": { - "depends": {}, - "description": "Sodium is a new, easy-to-use software library for encryption,\ndecryption, signatures, password hashing and more.", - "git": { - "auto-lib": "sodium/sodium", - "ref": "1.0.12", - "transform": [ - { - "edit": { - "edits": [ - { - "content": "#define SODIUM_STATIC 1", - "kind": "insert", - "line": 8 - } - ], - "path": "include/sodium/export.h" - }, - "move": { - "exclude": [], - "from": "src/libsodium/include", - "include": [], - "strip-components": 0, - "to": "include/" - } - }, - { - "copy": { - "exclude": [], - "from": "builds/msvc/version.h", - "include": [], - "strip-components": 0, - "to": "include/sodium/version.h" - }, - "move": { - "exclude": [], - "from": "src/libsodium", - "include": [], - "strip-components": 0, - "to": "src/" - }, - "remove": { - "only-matching": [], - "path": "src/libsodium" - } - }, - { - "copy": { - "exclude": [], - "from": "include", - "include": [], - "strip-components": 1, - "to": "src/" - } - } - ], - "url": "https://github.com/jedisct1/libsodium.git" - } - }, - "1.0.13": { - "depends": {}, - "description": "Sodium is a new, easy-to-use software library for encryption,\ndecryption, signatures, password hashing and more.", - "git": { - "auto-lib": "sodium/sodium", - "ref": "1.0.13", - "transform": [ - { - "edit": { - "edits": [ - { - "content": "#define SODIUM_STATIC 1", - "kind": "insert", - "line": 8 - } - ], - "path": "include/sodium/export.h" - }, - "move": { - "exclude": [], - "from": "src/libsodium/include", - "include": [], - "strip-components": 0, - "to": "include/" - } - }, - { - "copy": { - "exclude": [], - "from": "builds/msvc/version.h", - "include": [], - "strip-components": 0, - "to": "include/sodium/version.h" - }, - "move": { - "exclude": [], - "from": "src/libsodium", - "include": [], - "strip-components": 0, - "to": "src/" - }, - "remove": { - "only-matching": [], - "path": "src/libsodium" - } - }, - { - "copy": { - "exclude": [], - "from": "include", - "include": [], - "strip-components": 1, - "to": "src/" - } - } - ], - "url": "https://github.com/jedisct1/libsodium.git" - } - }, - "1.0.14": { - "depends": {}, - "description": "Sodium is a new, easy-to-use software library for encryption,\ndecryption, signatures, password hashing and more.", - "git": { - "auto-lib": "sodium/sodium", - "ref": "1.0.14", - "transform": [ - { - "edit": { - "edits": [ - { - "content": "#define SODIUM_STATIC 1", - "kind": "insert", - "line": 8 - } - ], - "path": "include/sodium/export.h" - }, - "move": { - "exclude": [], - "from": "src/libsodium/include", - "include": [], - "strip-components": 0, - "to": "include/" - } - }, - { - "copy": { - "exclude": [], - "from": "builds/msvc/version.h", - "include": [], - "strip-components": 0, - "to": "include/sodium/version.h" - }, - "move": { - "exclude": [], - "from": "src/libsodium", - "include": [], - "strip-components": 0, - "to": "src/" - }, - "remove": { - "only-matching": [], - "path": "src/libsodium" - } - }, - { - "copy": { - "exclude": [], - "from": "include", - "include": [], - "strip-components": 1, - "to": "src/" - } - } - ], - "url": "https://github.com/jedisct1/libsodium.git" - } - }, - "1.0.15": { - "depends": {}, - "description": "Sodium is a new, easy-to-use software library for encryption,\ndecryption, signatures, password hashing and more.", - "git": { - "auto-lib": "sodium/sodium", - "ref": "1.0.15", - "transform": [ - { - "edit": { - "edits": [ - { - "content": "#define SODIUM_STATIC 1", - "kind": "insert", - "line": 8 - } - ], - "path": "include/sodium/export.h" - }, - "move": { - "exclude": [], - "from": "src/libsodium/include", - "include": [], - "strip-components": 0, - "to": "include/" - } - }, - { - "copy": { - "exclude": [], - "from": "builds/msvc/version.h", - "include": [], - "strip-components": 0, - "to": "include/sodium/version.h" - }, - "move": { - "exclude": [], - "from": "src/libsodium", - "include": [], - "strip-components": 0, - "to": "src/" - }, - "remove": { - "only-matching": [], - "path": "src/libsodium" - } - }, - { - "copy": { - "exclude": [], - "from": "include", - "include": [], - "strip-components": 1, - "to": "src/" - } - } - ], - "url": "https://github.com/jedisct1/libsodium.git" - } - }, - "1.0.16": { - "depends": {}, - "description": "Sodium is a new, easy-to-use software library for encryption,\ndecryption, signatures, password hashing and more.", - "git": { - "auto-lib": "sodium/sodium", - "ref": "1.0.16", - "transform": [ - { - "edit": { - "edits": [ - { - "content": "#define SODIUM_STATIC 1", - "kind": "insert", - "line": 8 - } - ], - "path": "include/sodium/export.h" - }, - "move": { - "exclude": [], - "from": "src/libsodium/include", - "include": [], - "strip-components": 0, - "to": "include/" - } - }, - { - "copy": { - "exclude": [], - "from": "builds/msvc/version.h", - "include": [], - "strip-components": 0, - "to": "include/sodium/version.h" - }, - "move": { - "exclude": [], - "from": "src/libsodium", - "include": [], - "strip-components": 0, - "to": "src/" - }, - "remove": { - "only-matching": [], - "path": "src/libsodium" - } - }, - { - "copy": { - "exclude": [], - "from": "include", - "include": [], - "strip-components": 1, - "to": "src/" - } - } - ], - "url": "https://github.com/jedisct1/libsodium.git" - } - }, - "1.0.17": { - "depends": {}, - "description": "Sodium is a new, easy-to-use software library for encryption,\ndecryption, signatures, password hashing and more.", - "git": { - "auto-lib": "sodium/sodium", - "ref": "1.0.17", - "transform": [ - { - "edit": { - "edits": [ - { - "content": "#define SODIUM_STATIC 1", - "kind": "insert", - "line": 8 - } - ], - "path": "include/sodium/export.h" - }, - "move": { - "exclude": [], - "from": "src/libsodium/include", - "include": [], - "strip-components": 0, - "to": "include/" - } - }, - { - "copy": { - "exclude": [], - "from": "builds/msvc/version.h", - "include": [], - "strip-components": 0, - "to": "include/sodium/version.h" - }, - "move": { - "exclude": [], - "from": "src/libsodium", - "include": [], - "strip-components": 0, - "to": "src/" - }, - "remove": { - "only-matching": [], - "path": "src/libsodium" - } - }, - { - "copy": { - "exclude": [], - "from": "include", - "include": [], - "strip-components": 1, - "to": "src/" - } - } - ], - "url": "https://github.com/jedisct1/libsodium.git" - } - }, - "1.0.18": { - "depends": {}, - "description": "Sodium is a new, easy-to-use software library for encryption,\ndecryption, signatures, password hashing and more.", - "git": { - "auto-lib": "sodium/sodium", - "ref": "1.0.18", - "transform": [ - { - "edit": { - "edits": [ - { - "content": "#define SODIUM_STATIC 1", - "kind": "insert", - "line": 8 - } - ], - "path": "include/sodium/export.h" - }, - "move": { - "exclude": [], - "from": "src/libsodium/include", - "include": [], - "strip-components": 0, - "to": "include/" - } - }, - { - "copy": { - "exclude": [], - "from": "builds/msvc/version.h", - "include": [], - "strip-components": 0, - "to": "include/sodium/version.h" - }, - "move": { - "exclude": [], - "from": "src/libsodium", - "include": [], - "strip-components": 0, - "to": "src/" - }, - "remove": { - "only-matching": [], - "path": "src/libsodium" - } - }, - { - "copy": { - "exclude": [], - "from": "include", - "include": [], - "strip-components": 1, - "to": "src/" - } - } - ], - "url": "https://github.com/jedisct1/libsodium.git" - } - } - }, - "lua": { - "5.1.1": { - "depends": {}, - "description": "Lua is a powerful and fast programming language that is easy to learn and use and to embed into your application.", - "git": { - "auto-lib": "lua/lua", - "ref": "v5.1.1", - "transform": [ - { - "move": { - "exclude": [], - "from": ".", - "include": [ - "*.c", - "*.h" - ], - "strip-components": 0, - "to": "src/" - } - } - ], - "url": "https://github.com/lua/lua.git" - } - }, - "5.2.0": { - "depends": {}, - "description": "Lua is a powerful and fast programming language that is easy to learn and use and to embed into your application.", - "git": { - "auto-lib": "lua/lua", - "ref": "v5.2.0", - "transform": [ - { - "move": { - "exclude": [], - "from": ".", - "include": [ - "*.c", - "*.h" - ], - "strip-components": 0, - "to": "src/" - } - } - ], - "url": "https://github.com/lua/lua.git" - } - }, - "5.2.1": { - "depends": {}, - "description": "Lua is a powerful and fast programming language that is easy to learn and use and to embed into your application.", - "git": { - "auto-lib": "lua/lua", - "ref": "v5.2.1", - "transform": [ - { - "move": { - "exclude": [], - "from": ".", - "include": [ - "*.c", - "*.h" - ], - "strip-components": 0, - "to": "src/" - } - } - ], - "url": "https://github.com/lua/lua.git" - } - }, - "5.2.2": { - "depends": {}, - "description": "Lua is a powerful and fast programming language that is easy to learn and use and to embed into your application.", - "git": { - "auto-lib": "lua/lua", - "ref": "v5.2.2", - "transform": [ - { - "move": { - "exclude": [], - "from": ".", - "include": [ - "*.c", - "*.h" - ], - "strip-components": 0, - "to": "src/" - } - } - ], - "url": "https://github.com/lua/lua.git" - } - }, - "5.2.3": { - "depends": {}, - "description": "Lua is a powerful and fast programming language that is easy to learn and use and to embed into your application.", - "git": { - "auto-lib": "lua/lua", - "ref": "v5.2.3", - "transform": [ - { - "move": { - "exclude": [], - "from": ".", - "include": [ - "*.c", - "*.h" - ], - "strip-components": 0, - "to": "src/" - } - } - ], - "url": "https://github.com/lua/lua.git" - } - }, - "5.3.0": { - "depends": {}, - "description": "Lua is a powerful and fast programming language that is easy to learn and use and to embed into your application.", - "git": { - "auto-lib": "lua/lua", - "ref": "v5.3.0", - "transform": [ - { - "move": { - "exclude": [], - "from": ".", - "include": [ - "*.c", - "*.h" - ], - "strip-components": 0, - "to": "src/" - } - } - ], - "url": "https://github.com/lua/lua.git" - } - }, - "5.3.1": { - "depends": {}, - "description": "Lua is a powerful and fast programming language that is easy to learn and use and to embed into your application.", - "git": { - "auto-lib": "lua/lua", - "ref": "v5.3.1", - "transform": [ - { - "move": { - "exclude": [], - "from": ".", - "include": [ - "*.c", - "*.h" - ], - "strip-components": 0, - "to": "src/" - } - } - ], - "url": "https://github.com/lua/lua.git" - } - }, - "5.3.2": { - "depends": {}, - "description": "Lua is a powerful and fast programming language that is easy to learn and use and to embed into your application.", - "git": { - "auto-lib": "lua/lua", - "ref": "v5.3.2", - "transform": [ - { - "move": { - "exclude": [], - "from": ".", - "include": [ - "*.c", - "*.h" - ], - "strip-components": 0, - "to": "src/" - } - } - ], - "url": "https://github.com/lua/lua.git" - } - }, - "5.3.3": { - "depends": {}, - "description": "Lua is a powerful and fast programming language that is easy to learn and use and to embed into your application.", - "git": { - "auto-lib": "lua/lua", - "ref": "v5.3.3", - "transform": [ - { - "move": { - "exclude": [], - "from": ".", - "include": [ - "*.c", - "*.h" - ], - "strip-components": 0, - "to": "src/" - } - } - ], - "url": "https://github.com/lua/lua.git" - } - }, - "5.3.4": { - "depends": {}, - "description": "Lua is a powerful and fast programming language that is easy to learn and use and to embed into your application.", - "git": { - "auto-lib": "lua/lua", - "ref": "v5.3.4", - "transform": [ - { - "move": { - "exclude": [], - "from": ".", - "include": [ - "*.c", - "*.h" - ], - "strip-components": 0, - "to": "src/" - } - } - ], - "url": "https://github.com/lua/lua.git" - } - }, - "5.3.5": { - "depends": {}, - "description": "Lua is a powerful and fast programming language that is easy to learn and use and to embed into your application.", - "git": { - "auto-lib": "lua/lua", - "ref": "v5.3.5", - "transform": [ - { - "move": { - "exclude": [], - "from": ".", - "include": [ - "*.c", - "*.h" - ], - "strip-components": 0, - "to": "src/" - } - } - ], - "url": "https://github.com/lua/lua.git" - } - }, - "5.4.0": { - "depends": {}, - "description": "Lua is a powerful and fast programming language that is easy to learn and use and to embed into your application.", - "git": { - "auto-lib": "lua/lua", - "ref": "v5.4.0", - "transform": [ - { - "move": { - "exclude": [], - "from": ".", - "include": [ - "*.c", - "*.h" - ], - "strip-components": 0, - "to": "src/" - } - } - ], - "url": "https://github.com/lua/lua.git" - } - } - }, - "magic_enum": { - "0.5.0": { - "depends": {}, - "description": "Static reflection for enums", - "git": { - "auto-lib": "neargye/magic_enum", - "ref": "v0.5.0", - "transform": [], - "url": "https://github.com/Neargye/magic_enum.git" - } - }, - "0.6.0": { - "depends": {}, - "description": "Static reflection for enums", - "git": { - "auto-lib": "neargye/magic_enum", - "ref": "v0.6.0", - "transform": [], - "url": "https://github.com/Neargye/magic_enum.git" - } - }, - "0.6.1": { - "depends": {}, - "description": "Static reflection for enums", - "git": { - "auto-lib": "neargye/magic_enum", - "ref": "v0.6.1", - "transform": [], - "url": "https://github.com/Neargye/magic_enum.git" - } - }, - "0.6.2": { - "depends": {}, - "description": "Static reflection for enums", - "git": { - "auto-lib": "neargye/magic_enum", - "ref": "v0.6.2", - "transform": [], - "url": "https://github.com/Neargye/magic_enum.git" - } - }, - "0.6.3": { - "depends": {}, - "description": "Static reflection for enums", - "git": { - "auto-lib": "neargye/magic_enum", - "ref": "v0.6.3", - "transform": [], - "url": "https://github.com/Neargye/magic_enum.git" - } - }, - "0.6.4": { - "depends": {}, - "description": "Static reflection for enums", - "git": { - "auto-lib": "neargye/magic_enum", - "ref": "v0.6.4", - "transform": [], - "url": "https://github.com/Neargye/magic_enum.git" - } - }, - "0.6.5": { - "depends": {}, - "description": "Static reflection for enums", - "git": { - "auto-lib": "neargye/magic_enum", - "ref": "v0.6.5", - "transform": [], - "url": "https://github.com/Neargye/magic_enum.git" - } - }, - "0.6.6": { - "depends": {}, - "description": "Static reflection for enums", - "git": { - "auto-lib": "neargye/magic_enum", - "ref": "v0.6.6", - "transform": [], - "url": "https://github.com/Neargye/magic_enum.git" - } - } - }, - "ms-wil": { - "2020.03.16": { - "depends": {}, - "description": "The Windows Implementation Library", - "git": { - "ref": "dds/2020.03.16", - "transform": [], - "url": "https://github.com/vector-of-bool/wil.git" - } - } - }, - "nameof": { - "0.8.3": { - "depends": {}, - "description": "Nameof operator for modern C++", - "git": { - "auto-lib": "neargye/nameof", - "ref": "v0.8.3", - "transform": [], - "url": "https://github.com/Neargye/nameof.git" - } - }, - "0.9.0": { - "depends": {}, - "description": "Nameof operator for modern C++", - "git": { - "auto-lib": "neargye/nameof", - "ref": "v0.9.0", - "transform": [], - "url": "https://github.com/Neargye/nameof.git" - } - }, - "0.9.1": { - "depends": {}, - "description": "Nameof operator for modern C++", - "git": { - "auto-lib": "neargye/nameof", - "ref": "v0.9.1", - "transform": [], - "url": "https://github.com/Neargye/nameof.git" - } - }, - "0.9.2": { - "depends": {}, - "description": "Nameof operator for modern C++", - "git": { - "auto-lib": "neargye/nameof", - "ref": "v0.9.2", - "transform": [], - "url": "https://github.com/Neargye/nameof.git" - } - }, - "0.9.3": { - "depends": {}, - "description": "Nameof operator for modern C++", - "git": { - "auto-lib": "neargye/nameof", - "ref": "v0.9.3", - "transform": [], - "url": "https://github.com/Neargye/nameof.git" - } - }, - "0.9.4": { - "depends": {}, - "description": "Nameof operator for modern C++", - "git": { - "auto-lib": "neargye/nameof", - "ref": "v0.9.4", - "transform": [], - "url": "https://github.com/Neargye/nameof.git" - } - } - }, - "neo-concepts": { - "0.1.0": { - "depends": {}, - "description": "Minimal C++ concepts library. Contains many definitions from C++20.", - "git": { - "ref": "0.1.0", - "transform": [], - "url": "https://github.com/vector-of-bool/neo-concepts.git" - } - }, - "0.2.0": { - "depends": {}, - "description": "Minimal C++ concepts library. Contains many definitions from C++20.", - "git": { - "ref": "0.2.0", - "transform": [], - "url": "https://github.com/vector-of-bool/neo-concepts.git" - } - }, - "0.2.1": { - "depends": {}, - "description": "Minimal C++ concepts library. Contains many definitions from C++20.", - "git": { - "ref": "0.2.1", - "transform": [], - "url": "https://github.com/vector-of-bool/neo-concepts.git" - } - }, - "0.2.2": { - "depends": {}, - "description": "Minimal C++ concepts library. Contains many definitions from C++20.", - "git": { - "ref": "0.2.2", - "transform": [], - "url": "https://github.com/vector-of-bool/neo-concepts.git" - } - }, - "0.3.0": { - "depends": {}, - "description": "Minimal C++ concepts library. Contains many definitions from C++20.", - "git": { - "ref": "0.3.0", - "transform": [], - "url": "https://github.com/vector-of-bool/neo-concepts.git" - } - }, - "0.3.1": { - "depends": {}, - "description": "Minimal C++ concepts library. Contains many definitions from C++20.", - "git": { - "ref": "0.3.1", - "transform": [], - "url": "https://github.com/vector-of-bool/neo-concepts.git" - } - }, - "0.3.2": { - "depends": {}, - "description": "Minimal C++ concepts library. Contains many definitions from C++20.", - "git": { - "ref": "0.3.2", - "transform": [], - "url": "https://github.com/vector-of-bool/neo-concepts.git" - } - } - }, - "neo-fun": { - "0.1.0": { - "depends": {}, - "description": "Some library fundamentals that you might find useful", - "git": { - "ref": "0.1.0", - "transform": [], - "url": "https://github.com/vector-of-bool/neo-fun.git" - } - }, - "0.1.1": { - "depends": {}, - "description": "Some library fundamentals that you might find useful", - "git": { - "ref": "0.1.1", - "transform": [], - "url": "https://github.com/vector-of-bool/neo-fun.git" - } - }, - "0.2.0": { - "depends": {}, - "description": "Some library fundamentals that you might find useful", - "git": { - "ref": "0.2.0", - "transform": [], - "url": "https://github.com/vector-of-bool/neo-fun.git" - } - }, - "0.2.1": { - "depends": {}, - "description": "Some library fundamentals that you might find useful", - "git": { - "ref": "0.2.1", - "transform": [], - "url": "https://github.com/vector-of-bool/neo-fun.git" - } - }, - "0.3.0": { - "depends": {}, - "description": "Some library fundamentals that you might find useful", - "git": { - "ref": "0.3.0", - "transform": [], - "url": "https://github.com/vector-of-bool/neo-fun.git" - } - }, - "0.3.1": { - "depends": {}, - "description": "Some library fundamentals that you might find useful", - "git": { - "ref": "0.3.1", - "transform": [], - "url": "https://github.com/vector-of-bool/neo-fun.git" - } - }, - "0.3.2": { - "depends": {}, - "description": "Some library fundamentals that you might find useful", - "git": { - "ref": "0.3.2", - "transform": [], - "url": "https://github.com/vector-of-bool/neo-fun.git" - } - } - }, - "neo-sqlite3": { - "0.1.0": { - "depends": {}, - "description": "A modern and low-level C++ SQLite API", - "git": { - "ref": "0.1.0", - "transform": [], - "url": "https://github.com/vector-of-bool/neo-sqlite3.git" - } - }, - "0.2.0": { - "depends": {}, - "description": "A modern and low-level C++ SQLite API", - "git": { - "ref": "0.2.0", - "transform": [], - "url": "https://github.com/vector-of-bool/neo-sqlite3.git" - } - }, - "0.2.1": { - "depends": {}, - "description": "A modern and low-level C++ SQLite API", - "git": { - "ref": "0.2.1", - "transform": [], - "url": "https://github.com/vector-of-bool/neo-sqlite3.git" - } - }, - "0.2.2": { - "depends": {}, - "description": "A modern and low-level C++ SQLite API", - "git": { - "ref": "0.2.2", - "transform": [], - "url": "https://github.com/vector-of-bool/neo-sqlite3.git" - } - }, - "0.2.3": { - "depends": {}, - "description": "A modern and low-level C++ SQLite API", - "git": { - "ref": "0.2.3", - "transform": [], - "url": "https://github.com/vector-of-bool/neo-sqlite3.git" - } - }, - "0.3.0": { - "depends": {}, - "description": "A modern and low-level C++ SQLite API", - "git": { - "ref": "0.3.0", - "transform": [], - "url": "https://github.com/vector-of-bool/neo-sqlite3.git" - } - } - }, - "nlohmann-json": { - "3.7.1": { - "depends": {}, - "description": "JSON for Modern C++", - "git": { - "ref": "dds/3.7.1", - "transform": [], - "url": "https://github.com/vector-of-bool/json.git" - } - } - }, - "pcg-cpp": { - "0.98.1": { - "depends": {}, - "description": "PCG Randum Number Generation, C++ Edition", - "git": { - "auto-lib": "pcg/pcg-cpp", - "ref": "v0.98.1", - "transform": [], - "url": "https://github.com/imneme/pcg-cpp.git" - } - } - }, - "pegtl": { - "2.6.0": { - "depends": {}, - "description": "Parsing Expression Grammar Template Library", - "git": { - "auto-lib": "tao/pegtl", - "ref": "2.6.0", - "transform": [ - { - "remove": { - "only-matching": [], - "path": "src/" - } - } - ], - "url": "https://github.com/taocpp/PEGTL.git" - } - }, - "2.6.1": { - "depends": {}, - "description": "Parsing Expression Grammar Template Library", - "git": { - "auto-lib": "tao/pegtl", - "ref": "2.6.1", - "transform": [ - { - "remove": { - "only-matching": [], - "path": "src/" - } - } - ], - "url": "https://github.com/taocpp/PEGTL.git" - } - }, - "2.7.0": { - "depends": {}, - "description": "Parsing Expression Grammar Template Library", - "git": { - "auto-lib": "tao/pegtl", - "ref": "2.7.0", - "transform": [ - { - "remove": { - "only-matching": [], - "path": "src/" - } - } - ], - "url": "https://github.com/taocpp/PEGTL.git" - } - }, - "2.7.1": { - "depends": {}, - "description": "Parsing Expression Grammar Template Library", - "git": { - "auto-lib": "tao/pegtl", - "ref": "2.7.1", - "transform": [ - { - "remove": { - "only-matching": [], - "path": "src/" - } - } - ], - "url": "https://github.com/taocpp/PEGTL.git" - } - }, - "2.8.0": { - "depends": {}, - "description": "Parsing Expression Grammar Template Library", - "git": { - "auto-lib": "tao/pegtl", - "ref": "2.8.0", - "transform": [ - { - "remove": { - "only-matching": [], - "path": "src/" - } - } - ], - "url": "https://github.com/taocpp/PEGTL.git" - } - }, - "2.8.1": { - "depends": {}, - "description": "Parsing Expression Grammar Template Library", - "git": { - "auto-lib": "tao/pegtl", - "ref": "2.8.1", - "transform": [ - { - "remove": { - "only-matching": [], - "path": "src/" - } - } - ], - "url": "https://github.com/taocpp/PEGTL.git" - } - }, - "2.8.2": { - "depends": {}, - "description": "Parsing Expression Grammar Template Library", - "git": { - "auto-lib": "tao/pegtl", - "ref": "2.8.2", - "transform": [ - { - "remove": { - "only-matching": [], - "path": "src/" - } - } - ], - "url": "https://github.com/taocpp/PEGTL.git" - } - }, - "2.8.3": { - "depends": {}, - "description": "Parsing Expression Grammar Template Library", - "git": { - "auto-lib": "tao/pegtl", - "ref": "2.8.3", - "transform": [ - { - "remove": { - "only-matching": [], - "path": "src/" - } - } - ], - "url": "https://github.com/taocpp/PEGTL.git" - } - } - }, - "pubgrub": { - "0.1.2": { - "depends": {}, - "description": "A C++ implementation of the Pubgrub version solving algorithm", - "git": { - "ref": "0.1.2", - "transform": [], - "url": "https://github.com/vector-of-bool/pubgrub.git" - } - }, - "0.2.0": { - "depends": {}, - "description": "A C++ implementation of the Pubgrub version solving algorithm", - "git": { - "ref": "0.2.0", - "transform": [], - "url": "https://github.com/vector-of-bool/pubgrub.git" - } - }, - "0.2.1": { - "depends": {}, - "description": "A C++ implementation of the Pubgrub version solving algorithm", - "git": { - "ref": "0.2.1", - "transform": [], - "url": "https://github.com/vector-of-bool/pubgrub.git" - } - } - }, - "pybind11": { - "2.0.0": { - "depends": {}, - "description": "Seamless operability between C++11 and Python", - "git": { - "auto-lib": "pybind/pybind11", - "ref": "v2.0.0", - "transform": [], - "url": "https://github.com/pybind/pybind11.git" - } - }, - "2.0.1": { - "depends": {}, - "description": "Seamless operability between C++11 and Python", - "git": { - "auto-lib": "pybind/pybind11", - "ref": "v2.0.1", - "transform": [], - "url": "https://github.com/pybind/pybind11.git" - } - }, - "2.1.0": { - "depends": {}, - "description": "Seamless operability between C++11 and Python", - "git": { - "auto-lib": "pybind/pybind11", - "ref": "v2.1.0", - "transform": [], - "url": "https://github.com/pybind/pybind11.git" - } - }, - "2.1.1": { - "depends": {}, - "description": "Seamless operability between C++11 and Python", - "git": { - "auto-lib": "pybind/pybind11", - "ref": "v2.1.1", - "transform": [], - "url": "https://github.com/pybind/pybind11.git" - } - }, - "2.2.0": { - "depends": {}, - "description": "Seamless operability between C++11 and Python", - "git": { - "auto-lib": "pybind/pybind11", - "ref": "v2.2.0", - "transform": [], - "url": "https://github.com/pybind/pybind11.git" - } - }, - "2.2.1": { - "depends": {}, - "description": "Seamless operability between C++11 and Python", - "git": { - "auto-lib": "pybind/pybind11", - "ref": "v2.2.1", - "transform": [], - "url": "https://github.com/pybind/pybind11.git" - } - }, - "2.2.2": { - "depends": {}, - "description": "Seamless operability between C++11 and Python", - "git": { - "auto-lib": "pybind/pybind11", - "ref": "v2.2.2", - "transform": [], - "url": "https://github.com/pybind/pybind11.git" - } - }, - "2.2.3": { - "depends": {}, - "description": "Seamless operability between C++11 and Python", - "git": { - "auto-lib": "pybind/pybind11", - "ref": "v2.2.3", - "transform": [], - "url": "https://github.com/pybind/pybind11.git" - } - }, - "2.2.4": { - "depends": {}, - "description": "Seamless operability between C++11 and Python", - "git": { - "auto-lib": "pybind/pybind11", - "ref": "v2.2.4", - "transform": [], - "url": "https://github.com/pybind/pybind11.git" - } - }, - "2.3.0": { - "depends": {}, - "description": "Seamless operability between C++11 and Python", - "git": { - "auto-lib": "pybind/pybind11", - "ref": "v2.3.0", - "transform": [], - "url": "https://github.com/pybind/pybind11.git" - } - }, - "2.4.0": { - "depends": {}, - "description": "Seamless operability between C++11 and Python", - "git": { - "auto-lib": "pybind/pybind11", - "ref": "v2.4.0", - "transform": [], - "url": "https://github.com/pybind/pybind11.git" - } - }, - "2.4.1": { - "depends": {}, - "description": "Seamless operability between C++11 and Python", - "git": { - "auto-lib": "pybind/pybind11", - "ref": "v2.4.1", - "transform": [], - "url": "https://github.com/pybind/pybind11.git" - } - }, - "2.4.2": { - "depends": {}, - "description": "Seamless operability between C++11 and Python", - "git": { - "auto-lib": "pybind/pybind11", - "ref": "v2.4.2", - "transform": [], - "url": "https://github.com/pybind/pybind11.git" - } - }, - "2.4.3": { - "depends": {}, - "description": "Seamless operability between C++11 and Python", - "git": { - "auto-lib": "pybind/pybind11", - "ref": "v2.4.3", - "transform": [], - "url": "https://github.com/pybind/pybind11.git" - } - }, - "2.5.0": { - "depends": {}, - "description": "Seamless operability between C++11 and Python", - "git": { - "auto-lib": "pybind/pybind11", - "ref": "v2.5.0", - "transform": [], - "url": "https://github.com/pybind/pybind11.git" - } - } - }, - "range-v3": { - "0.10.0": { - "depends": {}, - "description": "Range library for C++14/17/20, basis for C++20's std::ranges", - "git": { - "auto-lib": "range-v3/range-v3", - "ref": "0.10.0", - "transform": [], - "url": "https://github.com/ericniebler/range-v3.git" - } - }, - "0.5.0": { - "depends": {}, - "description": "Range library for C++14/17/20, basis for C++20's std::ranges", - "git": { - "auto-lib": "range-v3/range-v3", - "ref": "0.5.0", - "transform": [], - "url": "https://github.com/ericniebler/range-v3.git" - } - }, - "0.9.0": { - "depends": {}, - "description": "Range library for C++14/17/20, basis for C++20's std::ranges", - "git": { - "auto-lib": "range-v3/range-v3", - "ref": "0.9.0", - "transform": [], - "url": "https://github.com/ericniebler/range-v3.git" - } - }, - "0.9.1": { - "depends": {}, - "description": "Range library for C++14/17/20, basis for C++20's std::ranges", - "git": { - "auto-lib": "range-v3/range-v3", - "ref": "0.9.1", - "transform": [], - "url": "https://github.com/ericniebler/range-v3.git" - } - } - }, - "semver": { - "0.2.1": { - "depends": {}, - "description": "A C++ library that implements Semantic Versioning parsing, emitting, types, ordering, and operations. See https://semver.org/", - "git": { - "ref": "0.2.1", - "transform": [], - "url": "https://github.com/vector-of-bool/semver.git" - } - }, - "0.2.2": { - "depends": {}, - "description": "A C++ library that implements Semantic Versioning parsing, emitting, types, ordering, and operations. See https://semver.org/", - "git": { - "ref": "0.2.2", - "transform": [], - "url": "https://github.com/vector-of-bool/semver.git" - } - } - }, - "sol2": { - "2.20.0": { - "depends": { - "lua": "+0.0.0" - }, - "description": "A C++ <-> Lua API wrapper with advanced features and top notch performance", - "git": { - "ref": "v2.20.0", - "transform": [ - { - "move": { - "exclude": [], - "from": "sol", - "include": [], - "strip-components": 0, - "to": "src/sol" - }, - "write": { - "content": "{\n \"name\": \"sol2\",\n \"namespace\": \"sol2\",\n \"version\": \"2.20.0\",\n \"depends\": [\n \"lua+0.0.0\"\n ]\n}", - "path": "package.json" - } - }, - { - "write": { - "content": "{\n \"name\": \"sol2\",\n \"uses\": [\n \"lua/lua\"\n ]\n}", - "path": "library.json" - } - } - ], - "url": "https://github.com/ThePhD/sol2.git" - } - }, - "2.20.1": { - "depends": { - "lua": "+0.0.0" - }, - "description": "A C++ <-> Lua API wrapper with advanced features and top notch performance", - "git": { - "ref": "v2.20.1", - "transform": [ - { - "move": { - "exclude": [], - "from": "sol", - "include": [], - "strip-components": 0, - "to": "src/sol" - }, - "write": { - "content": "{\n \"name\": \"sol2\",\n \"namespace\": \"sol2\",\n \"version\": \"2.20.1\",\n \"depends\": [\n \"lua+0.0.0\"\n ]\n}", - "path": "package.json" - } - }, - { - "write": { - "content": "{\n \"name\": \"sol2\",\n \"uses\": [\n \"lua/lua\"\n ]\n}", - "path": "library.json" - } - } - ], - "url": "https://github.com/ThePhD/sol2.git" - } - }, - "2.20.2": { - "depends": { - "lua": "+0.0.0" - }, - "description": "A C++ <-> Lua API wrapper with advanced features and top notch performance", - "git": { - "ref": "v2.20.2", - "transform": [ - { - "move": { - "exclude": [], - "from": "sol", - "include": [], - "strip-components": 0, - "to": "src/sol" - }, - "write": { - "content": "{\n \"name\": \"sol2\",\n \"namespace\": \"sol2\",\n \"version\": \"2.20.2\",\n \"depends\": [\n \"lua+0.0.0\"\n ]\n}", - "path": "package.json" - } - }, - { - "write": { - "content": "{\n \"name\": \"sol2\",\n \"uses\": [\n \"lua/lua\"\n ]\n}", - "path": "library.json" - } - } - ], - "url": "https://github.com/ThePhD/sol2.git" - } - }, - "2.20.3": { - "depends": { - "lua": "+0.0.0" - }, - "description": "A C++ <-> Lua API wrapper with advanced features and top notch performance", - "git": { - "ref": "v2.20.3", - "transform": [ - { - "move": { - "exclude": [], - "from": "sol", - "include": [], - "strip-components": 0, - "to": "src/sol" - }, - "write": { - "content": "{\n \"name\": \"sol2\",\n \"namespace\": \"sol2\",\n \"version\": \"2.20.3\",\n \"depends\": [\n \"lua+0.0.0\"\n ]\n}", - "path": "package.json" - } - }, - { - "write": { - "content": "{\n \"name\": \"sol2\",\n \"uses\": [\n \"lua/lua\"\n ]\n}", - "path": "library.json" - } - } - ], - "url": "https://github.com/ThePhD/sol2.git" - } - }, - "2.20.4": { - "depends": { - "lua": "+0.0.0" - }, - "description": "A C++ <-> Lua API wrapper with advanced features and top notch performance", - "git": { - "ref": "v2.20.4", - "transform": [ - { - "move": { - "exclude": [], - "from": "sol", - "include": [], - "strip-components": 0, - "to": "src/sol" - }, - "write": { - "content": "{\n \"name\": \"sol2\",\n \"namespace\": \"sol2\",\n \"version\": \"2.20.4\",\n \"depends\": [\n \"lua+0.0.0\"\n ]\n}", - "path": "package.json" - } - }, - { - "write": { - "content": "{\n \"name\": \"sol2\",\n \"uses\": [\n \"lua/lua\"\n ]\n}", - "path": "library.json" - } - } - ], - "url": "https://github.com/ThePhD/sol2.git" - } - }, - "2.20.5": { - "depends": { - "lua": "+0.0.0" - }, - "description": "A C++ <-> Lua API wrapper with advanced features and top notch performance", - "git": { - "ref": "v2.20.5", - "transform": [ - { - "move": { - "exclude": [], - "from": "sol", - "include": [], - "strip-components": 0, - "to": "src/sol" - }, - "write": { - "content": "{\n \"name\": \"sol2\",\n \"namespace\": \"sol2\",\n \"version\": \"2.20.5\",\n \"depends\": [\n \"lua+0.0.0\"\n ]\n}", - "path": "package.json" - } - }, - { - "write": { - "content": "{\n \"name\": \"sol2\",\n \"uses\": [\n \"lua/lua\"\n ]\n}", - "path": "library.json" - } - } - ], - "url": "https://github.com/ThePhD/sol2.git" - } - }, - "2.20.6": { - "depends": { - "lua": "+0.0.0" - }, - "description": "A C++ <-> Lua API wrapper with advanced features and top notch performance", - "git": { - "ref": "v2.20.6", - "transform": [ - { - "move": { - "exclude": [], - "from": "sol", - "include": [], - "strip-components": 0, - "to": "src/sol" - }, - "write": { - "content": "{\n \"name\": \"sol2\",\n \"namespace\": \"sol2\",\n \"version\": \"2.20.6\",\n \"depends\": [\n \"lua+0.0.0\"\n ]\n}", - "path": "package.json" - } - }, - { - "write": { - "content": "{\n \"name\": \"sol2\",\n \"uses\": [\n \"lua/lua\"\n ]\n}", - "path": "library.json" - } - } - ], - "url": "https://github.com/ThePhD/sol2.git" - } - }, - "3.0.2": { - "depends": { - "lua": "+0.0.0" - }, - "description": "A C++ <-> Lua API wrapper with advanced features and top notch performance", - "git": { - "ref": "v3.0.2", - "transform": [ - { - "write": { - "content": "{\n \"name\": \"sol2\",\n \"namespace\": \"sol2\",\n \"version\": \"3.0.2\",\n \"depends\": [\n \"lua+0.0.0\"\n ]\n}", - "path": "package.json" - } - }, - { - "write": { - "content": "{\n \"name\": \"sol2\",\n \"uses\": [\n \"lua/lua\"\n ]\n}", - "path": "library.json" - } - } - ], - "url": "https://github.com/ThePhD/sol2.git" - } - }, - "3.0.3": { - "depends": { - "lua": "+0.0.0" - }, - "description": "A C++ <-> Lua API wrapper with advanced features and top notch performance", - "git": { - "ref": "v3.0.3", - "transform": [ - { - "write": { - "content": "{\n \"name\": \"sol2\",\n \"namespace\": \"sol2\",\n \"version\": \"3.0.3\",\n \"depends\": [\n \"lua+0.0.0\"\n ]\n}", - "path": "package.json" - } - }, - { - "write": { - "content": "{\n \"name\": \"sol2\",\n \"uses\": [\n \"lua/lua\"\n ]\n}", - "path": "library.json" - } - } - ], - "url": "https://github.com/ThePhD/sol2.git" - } - }, - "3.2.0": { - "depends": { - "lua": "+0.0.0" - }, - "description": "A C++ <-> Lua API wrapper with advanced features and top notch performance", - "git": { - "ref": "v3.2.0", - "transform": [ - { - "write": { - "content": "{\n \"name\": \"sol2\",\n \"namespace\": \"sol2\",\n \"version\": \"3.2.0\",\n \"depends\": [\n \"lua+0.0.0\"\n ]\n}", - "path": "package.json" - } - }, - { - "write": { - "content": "{\n \"name\": \"sol2\",\n \"uses\": [\n \"lua/lua\"\n ]\n}", - "path": "library.json" - } - } - ], - "url": "https://github.com/ThePhD/sol2.git" - } - }, - "3.2.1": { - "depends": { - "lua": "+0.0.0" - }, - "description": "A C++ <-> Lua API wrapper with advanced features and top notch performance", - "git": { - "ref": "v3.2.1", - "transform": [ - { - "write": { - "content": "{\n \"name\": \"sol2\",\n \"namespace\": \"sol2\",\n \"version\": \"3.2.1\",\n \"depends\": [\n \"lua+0.0.0\"\n ]\n}", - "path": "package.json" - } - }, - { - "write": { - "content": "{\n \"name\": \"sol2\",\n \"uses\": [\n \"lua/lua\"\n ]\n}", - "path": "library.json" - } - } - ], - "url": "https://github.com/ThePhD/sol2.git" - } - } - }, - "spdlog": { - "1.0.0": { - "depends": {}, - "description": "Fast C++ logging library", - "git": { - "auto-lib": "spdlog/spdlog", - "ref": "v1.0.0", - "transform": [], - "url": "https://github.com/gabime/spdlog.git" - } - }, - "1.1.0": { - "depends": {}, - "description": "Fast C++ logging library", - "git": { - "auto-lib": "spdlog/spdlog", - "ref": "v1.1.0", - "transform": [], - "url": "https://github.com/gabime/spdlog.git" - } - }, - "1.2.0": { - "depends": {}, - "description": "Fast C++ logging library", - "git": { - "auto-lib": "spdlog/spdlog", - "ref": "v1.2.0", - "transform": [], - "url": "https://github.com/gabime/spdlog.git" - } - }, - "1.2.1": { - "depends": {}, - "description": "Fast C++ logging library", - "git": { - "auto-lib": "spdlog/spdlog", - "ref": "v1.2.1", - "transform": [], - "url": "https://github.com/gabime/spdlog.git" - } - }, - "1.3.0": { - "depends": {}, - "description": "Fast C++ logging library", - "git": { - "auto-lib": "spdlog/spdlog", - "ref": "v1.3.0", - "transform": [], - "url": "https://github.com/gabime/spdlog.git" - } - }, - "1.3.1": { - "depends": {}, - "description": "Fast C++ logging library", - "git": { - "auto-lib": "spdlog/spdlog", - "ref": "v1.3.1", - "transform": [], - "url": "https://github.com/gabime/spdlog.git" - } - }, - "1.4.0": { - "depends": {}, - "description": "Fast C++ logging library", - "git": { - "auto-lib": "spdlog/spdlog", - "ref": "v1.4.0", - "transform": [], - "url": "https://github.com/gabime/spdlog.git" - } - }, - "1.4.1": { - "depends": {}, - "description": "Fast C++ logging library", - "git": { - "auto-lib": "spdlog/spdlog", - "ref": "v1.4.1", - "transform": [], - "url": "https://github.com/gabime/spdlog.git" - } - }, - "1.4.2": { - "depends": {}, - "description": "Fast C++ logging library", - "git": { - "auto-lib": "spdlog/spdlog", - "ref": "v1.4.2", - "transform": [], - "url": "https://github.com/gabime/spdlog.git" - } - } - }, - "tomlpp": { - "1.0.0": { - "depends": {}, - "description": "Header-only TOML config file parser and serializer for modern C++", - "git": { - "auto-lib": "tomlpp/tomlpp", - "ref": "v1.0.0", - "transform": [], - "url": "https://github.com/marzer/tomlplusplus.git" - } - }, - "1.1.0": { - "depends": {}, - "description": "Header-only TOML config file parser and serializer for modern C++", - "git": { - "auto-lib": "tomlpp/tomlpp", - "ref": "v1.1.0", - "transform": [], - "url": "https://github.com/marzer/tomlplusplus.git" - } - }, - "1.2.0": { - "depends": {}, - "description": "Header-only TOML config file parser and serializer for modern C++", - "git": { - "auto-lib": "tomlpp/tomlpp", - "ref": "v1.2.0", - "transform": [], - "url": "https://github.com/marzer/tomlplusplus.git" - } - }, - "1.2.3": { - "depends": {}, - "description": "Header-only TOML config file parser and serializer for modern C++", - "git": { - "auto-lib": "tomlpp/tomlpp", - "ref": "v1.2.3", - "transform": [], - "url": "https://github.com/marzer/tomlplusplus.git" - } - }, - "1.2.4": { - "depends": {}, - "description": "Header-only TOML config file parser and serializer for modern C++", - "git": { - "auto-lib": "tomlpp/tomlpp", - "ref": "v1.2.4", - "transform": [], - "url": "https://github.com/marzer/tomlplusplus.git" - } - }, - "1.2.5": { - "depends": {}, - "description": "Header-only TOML config file parser and serializer for modern C++", - "git": { - "auto-lib": "tomlpp/tomlpp", - "ref": "v1.2.5", - "transform": [], - "url": "https://github.com/marzer/tomlplusplus.git" - } - }, - "1.3.0": { - "depends": {}, - "description": "Header-only TOML config file parser and serializer for modern C++", - "git": { - "auto-lib": "tomlpp/tomlpp", - "ref": "v1.3.0", - "transform": [], - "url": "https://github.com/marzer/tomlplusplus.git" - } - }, - "1.3.3": { - "depends": {}, - "description": "Header-only TOML config file parser and serializer for modern C++", - "git": { - "auto-lib": "tomlpp/tomlpp", - "ref": "v1.3.3", - "transform": [], - "url": "https://github.com/marzer/tomlplusplus.git" - } - } - }, - "vob-json5": { - "0.1.5": { - "depends": {}, - "description": "A C++ implementation of a JSON5 parser", - "git": { - "ref": "0.1.5", - "transform": [], - "url": "https://github.com/vector-of-bool/json5.git" - } - } - }, - "vob-semester": { - "0.1.0": { - "depends": { - "neo-concepts": "^0.2.1", - "neo-fun": "^0.1.0" - }, - "description": "A C++ library to process recursive dynamic data", - "git": { - "ref": "0.1.0", - "transform": [], - "url": "https://github.com/vector-of-bool/semester.git" - } - }, - "0.1.1": { - "depends": { - "neo-concepts": "^0.2.2", - "neo-fun": "^0.1.1" - }, - "description": "A C++ library to process recursive dynamic data", - "git": { - "ref": "0.1.1", - "transform": [], - "url": "https://github.com/vector-of-bool/semester.git" - } - }, - "0.2.0": { - "depends": { - "neo-concepts": "^0.3.2", - "neo-fun": "^0.3.2" - }, - "description": "A C++ library to process recursive dynamic data", - "git": { - "ref": "0.2.0", - "transform": [], - "url": "https://github.com/vector-of-bool/semester.git" - } - }, - "0.2.1": { - "depends": { - "neo-concepts": "^0.3.2", - "neo-fun": "^0.3.2" - }, - "description": "A C++ library to process recursive dynamic data", - "git": { - "ref": "0.2.1", - "transform": [], - "url": "https://github.com/vector-of-bool/semester.git" - } - } - }, - "zlib": { - "1.0.1": { - "depends": {}, - "description": "A massively spiffy yet delicately unobtrusive compression library", - "git": { - "auto-lib": "zlib/zlib", - "ref": "v1.0.1", - "transform": [ - { - "move": { - "exclude": [], - "from": ".", - "include": [ - "*.c", - "*.h" - ], - "strip-components": 0, - "to": "src/" - } - }, - { - "move": { - "exclude": [], - "from": "src/", - "include": [ - "zlib.h", - "zconf.h" - ], - "strip-components": 0, - "to": "include/" - } - } - ], - "url": "https://github.com/madler/zlib.git" - } - }, - "1.0.2": { - "depends": {}, - "description": "A massively spiffy yet delicately unobtrusive compression library", - "git": { - "auto-lib": "zlib/zlib", - "ref": "v1.0.2", - "transform": [ - { - "move": { - "exclude": [], - "from": ".", - "include": [ - "*.c", - "*.h" - ], - "strip-components": 0, - "to": "src/" - } - }, - { - "move": { - "exclude": [], - "from": "src/", - "include": [ - "zlib.h", - "zconf.h" - ], - "strip-components": 0, - "to": "include/" - } - } - ], - "url": "https://github.com/madler/zlib.git" - } - }, - "1.0.4": { - "depends": {}, - "description": "A massively spiffy yet delicately unobtrusive compression library", - "git": { - "auto-lib": "zlib/zlib", - "ref": "v1.0.4", - "transform": [ - { - "move": { - "exclude": [], - "from": ".", - "include": [ - "*.c", - "*.h" - ], - "strip-components": 0, - "to": "src/" - } - }, - { - "move": { - "exclude": [], - "from": "src/", - "include": [ - "zlib.h", - "zconf.h" - ], - "strip-components": 0, - "to": "include/" - } - } - ], - "url": "https://github.com/madler/zlib.git" - } - }, - "1.0.5": { - "depends": {}, - "description": "A massively spiffy yet delicately unobtrusive compression library", - "git": { - "auto-lib": "zlib/zlib", - "ref": "v1.0.5", - "transform": [ - { - "move": { - "exclude": [], - "from": ".", - "include": [ - "*.c", - "*.h" - ], - "strip-components": 0, - "to": "src/" - } - }, - { - "move": { - "exclude": [], - "from": "src/", - "include": [ - "zlib.h", - "zconf.h" - ], - "strip-components": 0, - "to": "include/" - } - } - ], - "url": "https://github.com/madler/zlib.git" - } - }, - "1.0.7": { - "depends": {}, - "description": "A massively spiffy yet delicately unobtrusive compression library", - "git": { - "auto-lib": "zlib/zlib", - "ref": "v1.0.7", - "transform": [ - { - "move": { - "exclude": [], - "from": ".", - "include": [ - "*.c", - "*.h" - ], - "strip-components": 0, - "to": "src/" - } - }, - { - "move": { - "exclude": [], - "from": "src/", - "include": [ - "zlib.h", - "zconf.h" - ], - "strip-components": 0, - "to": "include/" - } - } - ], - "url": "https://github.com/madler/zlib.git" - } - }, - "1.0.8": { - "depends": {}, - "description": "A massively spiffy yet delicately unobtrusive compression library", - "git": { - "auto-lib": "zlib/zlib", - "ref": "v1.0.8", - "transform": [ - { - "move": { - "exclude": [], - "from": ".", - "include": [ - "*.c", - "*.h" - ], - "strip-components": 0, - "to": "src/" - } - }, - { - "move": { - "exclude": [], - "from": "src/", - "include": [ - "zlib.h", - "zconf.h" - ], - "strip-components": 0, - "to": "include/" - } - } - ], - "url": "https://github.com/madler/zlib.git" - } - }, - "1.0.9": { - "depends": {}, - "description": "A massively spiffy yet delicately unobtrusive compression library", - "git": { - "auto-lib": "zlib/zlib", - "ref": "v1.0.9", - "transform": [ - { - "move": { - "exclude": [], - "from": ".", - "include": [ - "*.c", - "*.h" - ], - "strip-components": 0, - "to": "src/" - } - }, - { - "move": { - "exclude": [], - "from": "src/", - "include": [ - "zlib.h", - "zconf.h" - ], - "strip-components": 0, - "to": "include/" - } - } - ], - "url": "https://github.com/madler/zlib.git" - } - }, - "1.1.0": { - "depends": {}, - "description": "A massively spiffy yet delicately unobtrusive compression library", - "git": { - "auto-lib": "zlib/zlib", - "ref": "v1.1.0", - "transform": [ - { - "move": { - "exclude": [], - "from": ".", - "include": [ - "*.c", - "*.h" - ], - "strip-components": 0, - "to": "src/" - } - }, - { - "move": { - "exclude": [], - "from": "src/", - "include": [ - "zlib.h", - "zconf.h" - ], - "strip-components": 0, - "to": "include/" - } - } - ], - "url": "https://github.com/madler/zlib.git" - } - }, - "1.1.1": { - "depends": {}, - "description": "A massively spiffy yet delicately unobtrusive compression library", - "git": { - "auto-lib": "zlib/zlib", - "ref": "v1.1.1", - "transform": [ - { - "move": { - "exclude": [], - "from": ".", - "include": [ - "*.c", - "*.h" - ], - "strip-components": 0, - "to": "src/" - } - }, - { - "move": { - "exclude": [], - "from": "src/", - "include": [ - "zlib.h", - "zconf.h" - ], - "strip-components": 0, - "to": "include/" - } - } - ], - "url": "https://github.com/madler/zlib.git" - } - }, - "1.1.2": { - "depends": {}, - "description": "A massively spiffy yet delicately unobtrusive compression library", - "git": { - "auto-lib": "zlib/zlib", - "ref": "v1.1.2", - "transform": [ - { - "move": { - "exclude": [], - "from": ".", - "include": [ - "*.c", - "*.h" - ], - "strip-components": 0, - "to": "src/" - } - }, - { - "move": { - "exclude": [], - "from": "src/", - "include": [ - "zlib.h", - "zconf.h" - ], - "strip-components": 0, - "to": "include/" - } - } - ], - "url": "https://github.com/madler/zlib.git" - } - }, - "1.1.3": { - "depends": {}, - "description": "A massively spiffy yet delicately unobtrusive compression library", - "git": { - "auto-lib": "zlib/zlib", - "ref": "v1.1.3", - "transform": [ - { - "move": { - "exclude": [], - "from": ".", - "include": [ - "*.c", - "*.h" - ], - "strip-components": 0, - "to": "src/" - } - }, - { - "move": { - "exclude": [], - "from": "src/", - "include": [ - "zlib.h", - "zconf.h" - ], - "strip-components": 0, - "to": "include/" - } - } - ], - "url": "https://github.com/madler/zlib.git" - } - }, - "1.1.4": { - "depends": {}, - "description": "A massively spiffy yet delicately unobtrusive compression library", - "git": { - "auto-lib": "zlib/zlib", - "ref": "v1.1.4", - "transform": [ - { - "move": { - "exclude": [], - "from": ".", - "include": [ - "*.c", - "*.h" - ], - "strip-components": 0, - "to": "src/" - } - }, - { - "move": { - "exclude": [], - "from": "src/", - "include": [ - "zlib.h", - "zconf.h" - ], - "strip-components": 0, - "to": "include/" - } - } - ], - "url": "https://github.com/madler/zlib.git" - } - }, - "1.2.0": { - "depends": {}, - "description": "A massively spiffy yet delicately unobtrusive compression library", - "git": { - "auto-lib": "zlib/zlib", - "ref": "v1.2.0.8", - "transform": [ - { - "move": { - "exclude": [], - "from": ".", - "include": [ - "*.c", - "*.h" - ], - "strip-components": 0, - "to": "src/" - } - }, - { - "move": { - "exclude": [], - "from": "src/", - "include": [ - "zlib.h", - "zconf.h" - ], - "strip-components": 0, - "to": "include/" - } - } - ], - "url": "https://github.com/madler/zlib.git" - } - }, - "1.2.1": { - "depends": {}, - "description": "A massively spiffy yet delicately unobtrusive compression library", - "git": { - "auto-lib": "zlib/zlib", - "ref": "v1.2.1.2", - "transform": [ - { - "move": { - "exclude": [], - "from": ".", - "include": [ - "*.c", - "*.h" - ], - "strip-components": 0, - "to": "src/" - } - }, - { - "move": { - "exclude": [], - "from": "src/", - "include": [ - "zlib.h", - "zconf.h" - ], - "strip-components": 0, - "to": "include/" - } - } - ], - "url": "https://github.com/madler/zlib.git" - } - }, - "1.2.10": { - "depends": {}, - "description": "A massively spiffy yet delicately unobtrusive compression library", - "git": { - "auto-lib": "zlib/zlib", - "ref": "v1.2.10", - "transform": [ - { - "move": { - "exclude": [], - "from": ".", - "include": [ - "*.c", - "*.h" - ], - "strip-components": 0, - "to": "src/" - } - }, - { - "move": { - "exclude": [], - "from": "src/", - "include": [ - "zlib.h", - "zconf.h" - ], - "strip-components": 0, - "to": "include/" - } - } - ], - "url": "https://github.com/madler/zlib.git" - } - }, - "1.2.11": { - "depends": {}, - "description": "A massively spiffy yet delicately unobtrusive compression library", - "git": { - "auto-lib": "zlib/zlib", - "ref": "v1.2.11", - "transform": [ - { - "move": { - "exclude": [], - "from": ".", - "include": [ - "*.c", - "*.h" - ], - "strip-components": 0, - "to": "src/" - } - }, - { - "move": { - "exclude": [], - "from": "src/", - "include": [ - "zlib.h", - "zconf.h" - ], - "strip-components": 0, - "to": "include/" - } - } - ], - "url": "https://github.com/madler/zlib.git" - } - }, - "1.2.2": { - "depends": {}, - "description": "A massively spiffy yet delicately unobtrusive compression library", - "git": { - "auto-lib": "zlib/zlib", - "ref": "v1.2.2.4", - "transform": [ - { - "move": { - "exclude": [], - "from": ".", - "include": [ - "*.c", - "*.h" - ], - "strip-components": 0, - "to": "src/" - } - }, - { - "move": { - "exclude": [], - "from": "src/", - "include": [ - "zlib.h", - "zconf.h" - ], - "strip-components": 0, - "to": "include/" - } - } - ], - "url": "https://github.com/madler/zlib.git" - } - }, - "1.2.3": { - "depends": {}, - "description": "A massively spiffy yet delicately unobtrusive compression library", - "git": { - "auto-lib": "zlib/zlib", - "ref": "v1.2.3.8", - "transform": [ - { - "move": { - "exclude": [], - "from": ".", - "include": [ - "*.c", - "*.h" - ], - "strip-components": 0, - "to": "src/" - } - }, - { - "move": { - "exclude": [], - "from": "src/", - "include": [ - "zlib.h", - "zconf.h" - ], - "strip-components": 0, - "to": "include/" - } - } - ], - "url": "https://github.com/madler/zlib.git" - } - }, - "1.2.4": { - "depends": {}, - "description": "A massively spiffy yet delicately unobtrusive compression library", - "git": { - "auto-lib": "zlib/zlib", - "ref": "v1.2.4.5", - "transform": [ - { - "move": { - "exclude": [], - "from": ".", - "include": [ - "*.c", - "*.h" - ], - "strip-components": 0, - "to": "src/" - } - }, - { - "move": { - "exclude": [], - "from": "src/", - "include": [ - "zlib.h", - "zconf.h" - ], - "strip-components": 0, - "to": "include/" - } - } - ], - "url": "https://github.com/madler/zlib.git" - } - }, - "1.2.5": { - "depends": {}, - "description": "A massively spiffy yet delicately unobtrusive compression library", - "git": { - "auto-lib": "zlib/zlib", - "ref": "v1.2.5.3", - "transform": [ - { - "move": { - "exclude": [], - "from": ".", - "include": [ - "*.c", - "*.h" - ], - "strip-components": 0, - "to": "src/" - } - }, - { - "move": { - "exclude": [], - "from": "src/", - "include": [ - "zlib.h", - "zconf.h" - ], - "strip-components": 0, - "to": "include/" - } - } - ], - "url": "https://github.com/madler/zlib.git" - } - }, - "1.2.6": { - "depends": {}, - "description": "A massively spiffy yet delicately unobtrusive compression library", - "git": { - "auto-lib": "zlib/zlib", - "ref": "v1.2.6.1", - "transform": [ - { - "move": { - "exclude": [], - "from": ".", - "include": [ - "*.c", - "*.h" - ], - "strip-components": 0, - "to": "src/" - } - }, - { - "move": { - "exclude": [], - "from": "src/", - "include": [ - "zlib.h", - "zconf.h" - ], - "strip-components": 0, - "to": "include/" - } - } - ], - "url": "https://github.com/madler/zlib.git" - } - }, - "1.2.7": { - "depends": {}, - "description": "A massively spiffy yet delicately unobtrusive compression library", - "git": { - "auto-lib": "zlib/zlib", - "ref": "v1.2.7.3", - "transform": [ - { - "move": { - "exclude": [], - "from": ".", - "include": [ - "*.c", - "*.h" - ], - "strip-components": 0, - "to": "src/" - } - }, - { - "move": { - "exclude": [], - "from": "src/", - "include": [ - "zlib.h", - "zconf.h" - ], - "strip-components": 0, - "to": "include/" - } - } - ], - "url": "https://github.com/madler/zlib.git" - } - }, - "1.2.8": { - "depends": {}, - "description": "A massively spiffy yet delicately unobtrusive compression library", - "git": { - "auto-lib": "zlib/zlib", - "ref": "v1.2.8", - "transform": [ - { - "move": { - "exclude": [], - "from": ".", - "include": [ - "*.c", - "*.h" - ], - "strip-components": 0, - "to": "src/" - } - }, - { - "move": { - "exclude": [], - "from": "src/", - "include": [ - "zlib.h", - "zconf.h" - ], - "strip-components": 0, - "to": "include/" - } - } - ], - "url": "https://github.com/madler/zlib.git" - } - }, - "1.2.9": { - "depends": {}, - "description": "A massively spiffy yet delicately unobtrusive compression library", - "git": { - "auto-lib": "zlib/zlib", - "ref": "v1.2.9", - "transform": [ - { - "move": { - "exclude": [], - "from": ".", - "include": [ - "*.c", - "*.h" - ], - "strip-components": 0, - "to": "src/" - } - }, - { - "move": { - "exclude": [], - "from": "src/", - "include": [ - "zlib.h", - "zconf.h" - ], - "strip-components": 0, - "to": "include/" - } - } - ], - "url": "https://github.com/madler/zlib.git" - } - } - } - }, - "version": 1 -} \ No newline at end of file diff --git a/data/neo-url@0.2.1.tar.gz b/data/neo-url@0.2.1.tar.gz new file mode 100644 index 00000000..203c0d0d Binary files /dev/null and b/data/neo-url@0.2.1.tar.gz differ diff --git a/docs/conf.py b/docs/conf.py index 58cda30d..a7a601a4 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -11,16 +11,20 @@ # The short X.Y version version = '' # The full version, including alpha/beta/rc tags -release = '0.1.0-alpha.5' +release = '0.1.0-alpha.6' # -- General configuration --------------------------------------------------- -extensions = [] +extensions = ['sphinx.ext.autodoc', 'sphinx.ext.intersphinx'] templates_path = [] source_suffix = '.rst' master_doc = 'index' language = None exclude_patterns = ['_build', 'Thumbs.db', '.DS_Store'] pygments_style = None +intersphinx_mapping = { + 'python': ('https://docs.python.org/3', None), + 'pytest': ('https://docs.pytest.org/en/latest/', None), +} # -- Options for HTML output ------------------------------------------------- html_theme = 'nature' diff --git a/docs/design.rst b/docs/design.rst index d39ee3e2..c47f401b 100644 --- a/docs/design.rst +++ b/docs/design.rst @@ -3,13 +3,14 @@ ``dds`` has been designed from the very beginning as an extremely opinionated hybrid *build system* and *package manager*. Unlike most build systems however, -``dds`` has a hyper-specific focus on a particular aspect of software -development: C and C++ libraries. +``dds`` has a strong focus on a particular aspect of software development: C and +C++ libraries. This may sound pointless, right? Libraries are useless unless we can use them to build applications! -Indeed, applications *are* essential, but that is "not our job" with ``dds``. +Indeed, applications *are* essential, and ``dds`` is able to build those as +well. Another design decision is that ``dds`` is built to be driven by automated tools as well as humans. ``dds`` is not designed to entirely replace existing @@ -32,8 +33,8 @@ incredible implementation challenges. Despite the vast amount of work put into build systems and tooling, virtually all developers are using them *incorrectly* and/or *dangerously* without -realizing it. Despite this work, we seem to be a great distance from a unified -library package distribution and consumption mechanism. +realizing it, and we seem to be still a great distance from a unified library +package distribution and consumption mechanism. Tabula Rasa @@ -46,7 +47,7 @@ If you opt-in to have your library built by ``dds``, you forgoe *customizability* in favor of *simplicity* and *ease*. ``dds`` takes a look at what is needed to build and develop *libraries* and -hyper-optimizes for that use case. It is also built with a very strong, very +optimizes for that use case. It is also built with a very strong, very opinionated idea of *how* libraries should be constructed and used. These prescriptions are not at all arbitrary, though. They are built upon the observations of the strengths and weaknesses of build systems in use throughout @@ -69,14 +70,14 @@ different, despite both using the same underlying "Build System." ``dds`` takes a massive divergence at this point. One project using ``dds`` as their build system has a nearly identical build process to every other project -using ``dds``. Simply running :code:`dds build -t ` should be enough +using ``dds``. Simply running ``dds build`` should be enough to build *any* ``dds`` project. In order to reach this uniformity and simplicity, ``dds`` drops almost all aspects of project-by-project customizability. Instead, ``dds`` affords the developer a contract: - If you play by my rules, you get to play in my space. + If you play by the rules, you get to play in this space. .. _design.rules: @@ -91,7 +92,7 @@ imposes, but what are they? .. _design.rules.not-apps: ``dds`` Is not Made for Complex Applications -=============================================== +============================================ Alright, this one isn't a "rule" as much as a recommendation: If you are building an application that *needs* some build process functionality that @@ -105,22 +106,28 @@ violate any of the other existing rules. customization features to permit the rules to be bent arbitrarily: Read on. -``dds`` contains a minimal amount of functionality for building simple -applications, but it is certainly not its primary purpose. +``dds`` *does* contain functionality for building applications, but they must +also play by the rules. + +If you want to build a complex application with ``dds`` that uses lots of +platform-specific sources, code generation, and conditional components, a good +option is to use an external build script that prepares the project tree before +invoking ``dds``. .. _design.rules.change: -*Your* Code Should Be Changed Before ``dds`` Should Be Changed -================================================================= +*Your Code* Should Be Changed Before ``dds`` Should Be Changed +============================================================== -The wording of this rule means that the onus is on the library developer to -meet the expectations that ``dds`` prescribes in order to make the build -work. +The wording of this rule means that the onus is on the developer to meet the +expectations that ``dds`` prescribes in order to make the build work. -If your library meets all the requirements outlined in this document but you -still find trouble in making your build work, this is grounds for change in -``dds``, either in clarifying the rules or tweaking ``dds`` functionality. +If your project meets all the requirements outlined in this document but you +still find trouble in making your build work, or if you *cannot* see *any* +possible way for your project to be built by ``dds`` regardless of what changes +you make, then it this is grounds for change in ``dds``, either in clarifying +the rules or tweaking ``dds`` functionality .. _design.rules.layout: @@ -154,9 +161,8 @@ conditional compilation. All Code Must Be in Place Before Building ========================================= -``dds`` does not provide code-generation functionality. Instead, any -generated code should be generated and committed to the repository to be only -ever modified through such generation scripts. +``dds`` does not provide code-generation functionality. Instead, any generated +code should be generated by separate build steps before ``dds`` is executed. .. _design.rules.one-binary-per-src: @@ -176,7 +182,7 @@ No Arbitrary ``#include`` Directories ===================================== Only ``src/`` and ``include/`` will ever be used as the basis for header -resolution while building a library, so all ``#include`` directives should be +resolution while building a project, so all ``#include`` directives should be relative to those directories. Refer to :ref:`pkg.source-root`. @@ -185,7 +191,7 @@ relative to those directories. Refer to :ref:`pkg.source-root`. All Files Compile with the Same Options ======================================= -When DDS compiles a library, every source file will be compiled with an +When DDS compiles a project, every source file will be compiled with an identical set of options. Additionally, when DDS compiles a dependency tree, every library in that dependency tree will be compiled with an identical set of options. Refer to the :doc:`guide/toolchains` page for more information. diff --git a/docs/dev/building.rst b/docs/dev/building.rst index e5511581..95d956a7 100644 --- a/docs/dev/building.rst +++ b/docs/dev/building.rst @@ -1,209 +1,133 @@ Building ``dds`` from Source ############################ -While prebuilt ``dds`` executables are `available on the GitHub page -`_, one may wish to build ``dds`` from source. - -.. _releases: https://github.com/vector-of-bool/dds/releases - -The ``dds`` build process is designed to be as turn-key simple as possible. - - -Platform Support -**************** - -``dds`` aims to be as cross-platform as possible. It currently build and -executes on Windows, macOS, Linux, and FreeBSD. Support for additional -platforms is possible but will require modifications to ``bootstrap.py`` that -will allow it to be built on such platforms. - - -Build Requirements -****************** - -Building ``dds`` has a simple set of requirements: - -- **Python 3.6** or newer to run the bootstrap/CI scripts. -- A C++ compiler that has rudimentary support for C++20 concepts. Newer - releases of Visual C++ that ship with **VS 2019** will be sufficient on - Windows, as will **GCC 9** with ``-fconcepts`` on other platforms. - .. note:: - On Windows, you will need to execute the build from within a Visual C++ - enabled environment. This will involve launching the build from a Visual - Studio Command Prompt. - -.. note:: - At the time of writing, C++20 Concepts has not yet been released in Clang, - but should be available in LLVM/Clang 11 and newer. - - -Build Scripts and the CI Process -******************************** - -The main CI process is driven by Python. The root CI script is ``tools/ci.py``, -and it accepts several command-line parameters. Only a few of are immediate -interest: - -``--bootstrap-with=`` or ``-B `` - Tell ``ci.py`` how to obtain the previous ``dds`` executable that can build - the *current* ``dds`` source tree. This accepts one of three values: - ``skip``, ``download``, or ``build``. Refer to :ref:`bootstrapping`. - -``--build-only`` - A flag that tells ``ci.py`` to exit after it has successfully built the - current source tree, and to not execute the phase-2 build nor the automated - tests. - -``--toolchain=`` or ``-T `` - Tell ``ci.py`` what toolchain to give to the prior ``dds`` to build the - current ``dds``. - -The ``ci.py`` script performs the following actions, in order: - -#. Prepare the build output directory -#. Prepare the prior version of ``dds`` that will build the current version. -#. Import the embedded ``catalog.json`` into a catalog database stored within - ``_prebuilt/``. This will be used to resolve the third-party packages that - ``dds`` itself uses. -#. Invoke the build of ``dds`` using the prebuilt ``dds`` from the prior - bootstrap phase. If ``--build-only`` was specified, the CI script stops - here. -#. Use the new ``dds`` executable to rebuild itself *again* (phase-2 self-build - test). A bit of a "sanity test." -#. Execute the test suite using ``pytest``. - -.. _bootstrapping: + This page assumes that you have ready the :doc:`env` page, and that you are + running all commands from within the Poetry-generated virtual environment. -Bootstrapping ``dds`` -********************* +The main entrypoint for the ``dds`` CI process is the ``dds-ci`` command, which +will build and test the ``dds`` from the repository sources. ``dds-ci`` accepts +several optional command-line arguments to tweak its behavior. -In the beginning, ``dds`` was built by a Python script that globbed the sources -and invoked the compiler+linker on those sources. Once ``dds`` was able to -build and link itself, this Python script was replaced instead with ``dds`` -building itself. ``dds`` has never used another build system. -The ``ci.py`` script accepts one of three methods for the ``--bootstrap-with`` -flag: ``skip``, ``download``, or ``build``. +Running a Build *Only* +********************** -Once bootstrapping is complete, a ``dds`` executable will be written to -``_prebuilt/dds``. This executable refers to a **previous** version of ``dds`` -that is able to build the newer ``dds`` source tree. +If you only wish to obtain a built ``dds`` executable, the ``--no-test`` +parameter can be given:: -.. note:: - For all development work on ``dds``, the ``_prebuilt/dds`` executable should - always be used. This means that newer ``dds`` features are not available - for use within the ``dds`` repository. + $ dds-ci --no-test +This will skip the audit-build and testing phases of CI and build only the final +``dds`` executable. -Bootstrap: ``skip`` -=================== -If given ``skip``, ``ci.py`` will not perform any bootstrapping steps. It will -assume that there is an existing ``_prebuilt/dds`` executable. This option -should be used once bootstrapping has been performed at least once with another -method, as this is much faster than rebuilding/redownloading every time. +Rapid Iterations for Development +******************************** +If you are making frequent changes to ``dds``'s source code and want a fast +development process, use ``--rapid``:: -Bootstrap: ``download`` -======================= + $ dds-ci --rapid -The ``ci.py`` script has a reference to a download URL of the prior version of -``dds`` that has been designated for the bootstrap. These executables originate -from `the GitHub releases `_ page. +This will build the build step only, and builds an executable with maximum debug +and audit information, including AddressSanitizer and +UndefinedBehaviorSanitizer. This will also execute the unit tests, which should +run completely in under two seconds (if they are slower, then it may be a bug). -If given ``download``, then ``ci.py`` will download a predetermined ``dds`` -executable and use it to perform the remainder of the build. +Toolchain Control +***************** -Bootstrap: ``build`` -==================== +``dds-ci`` will automatically select and build with an appropriate +:doc:`toolchain ` based on what it detects of the host +platform, but you may want to tweak those options. -Another script, ``tools/bootstrap.py`` is able to build ``dds`` from the ground -up. It works by progressively cloning previous versions of the ``dds`` -repository and using them to build the next commit in the chain. +The ``dds-ci`` script accepts two toolchain options: -While this is a neat trick, it isn't necessary for most development, as the -resulting executable will be derived from the same commit as the executable -that would be obtained using the ``download`` method. This is also more fragile -as the past commits may make certain assumptions about the system that might -not be true outside of the CI environment. The build process may be tweaked in -the future to correct these assumptions. +``--main-toolchain`` + This is the toolchain that is used to create a final release-built executable. + If you build with ``--no-test``, this toolchain will be used. +``--test-toolchain`` This is the toolchain that is used to create an auditing +and debuggable executable of ``dds``. This is the toolchain that is used if you +build with ``--rapid``. -Selecting a Build Toolchain -*************************** +If you build with neither ``--rapid`` nor ``--no-test``, then ``dds-ci`` will +build *two* ``dds`` executables: One with the ``--test-toolchain`` that is +passed through the test suite, and another for ``--main-toolchain`` that is +built for distribution. -``dds`` includes three toolchains that it uses to build itself in its CI -environment: ``tools/gcc-9.jsonc`` for Linux and macOS, -``tools/freebsd-gcc-9.jsonc`` for FreeBSD, and ``tools/msvc.jsonc`` for -Windows. +The default toolchains are files contained within the ``tools/`` directory of +the repository. When ``dds-ci`` builds ``dds``, it will print the path to the +toolchain file that is selected for that build. -While these toolchains will work perfectly well in CI, you may need to tweak -these for your build setup. For example: ``gcc-9.jsonc`` assumes that the GCC 9 -executables are named ``gcc-9`` and ``g++-9``, which is incorrect on some -Linux distributions. +While these provided toolchains will work perfectly well in CI, you may need to +tweak these for your build setup. For example: ``gcc-9-*.jsonc`` toolchains +assume that the GCC 9 executables are named ``gcc-9`` and ``g++-9``, which is +incorrect on some Unix and Linux distributions. It is recommended to tweak these files as necessary to get the build working on -your system. However, do not include those tweaks in a commit unless they are -necessary to get the build running in CI. - +your system. However, **do not** include those tweaks in a commit unless they +are necessary to get the build running in CI. -Giving a Toolchain to ``ci.py`` -=============================== -Just like passing a toolchain to ``dds``, ``ci.py`` also requires a toolchain. -Simply pass the path to your desired toolchain using the ``--toolchain``/ -``-T`` argument: +What's Happening? +***************** -.. code-block:: bash +The ``dds-ci`` script performs the following actions, in order: - $ python3 tools/ci.py [...] -T tools/gcc-9.jsonc +#. If given ``--clean``, remove any prior build output and downloaded + dependencies. +#. Prepare the prior version of ``dds`` that will build the current version + (usually, just download it). This is placed in ``_prebuilt/``. +#. Import the ``old-catalog.json`` into a catalog database stored within + ``_prebuilt/``. This will be used to resolve the third-party packages that + ``dds`` itself uses. +#. Invoke the build of ``dds`` using the prebuilt ``dds`` obtained from the + prior bootstrap phase. If ``--no-test`` or ``--rapid`` was specified, the CI + script stops here. +#. Launch ``pytest`` with the generated ``dds`` executable and start the final + release build simultaneously, and wait for both to finish. -Building for Development -************************ +Unit Tests +********** -While ``ci.py`` is rigorous in maintaining a clean and reproducible environment, -we often don't need such rigor for a rapid development iteration cycle. Instead -we can invoke the build command directly in the same way that ``ci.py`` does -it: +Various pieces of ``dds`` contain unit tests. These are stored within the +``src/`` directory itself in ``*.test.cpp`` files. They are built and executed +as part of the iteration cycle *unconditionally*. These tests execute in +milliseconds so as not to burden the development iteration cycle. The more +rigorous tests are executed separately by PyTest. -.. code-block:: bash - $ _prebuilt/dds build -t [toolchain] \ - --catalog _prebuilt/catalog.db \ - --repo-dir _prebuilt/ci-repo +Speeding Up the Build +********************* -The ``--catalog`` and ``--repo-dir`` arguments are not strictly necessary, but -help to isolate the ``dds`` dev environment from the user-local ``dds`` -environment. This is important if modifications are made to the catalog -database schema that would conflict with the one of an external ``dds`` -version. +``dds``'s build is unfortunately demanding, but can be sped up by additional +tools: -.. note:: - You'll likely want to run ``ci.py`` *at least once* for it to prepare the - necessary ``catalog.db``. -.. note:: - As mentioned previously, if using MSVC, the above command must execute with - the appropriate VS development environment enabled. +Use the LLVM ``lld`` Linker +=========================== +Installing the LLVM ``lld`` linker will *significantly* improve the time it +takes for ``dds`` and its unit test executables to link. ``dds-ci`` will +automatically recognize the presence of ``lld`` if it has been installed +properly. -Running the Test Suite -********************** +.. note:: -The ``--build-only`` flag for ``ci.py`` will disable test execution. When this -flag is omitted, ``ci.py`` will execute a self-build sanity test and then -execute the main test suite, which is itself written as a set of ``pytest`` -tests in the ``tests/`` subdirectory. + ``dds-ci`` (and GCC) look for an executable called ``ld.ldd`` on the + executable PATH (no version suffix!). You may need to symlink the + version-suffixed executable with ``ld.ldd`` in another location on PATH so + that ``dds-ci`` (and GCC) can find it. -Unit Tests -========== +Use ``ccache`` +============== -Various pieces of ``dds`` contain unit tests. These are stored within the -``src/`` directory itself in ``*.test.cpp`` files. They are built and executed -by the bootstrapped ``dds`` executable unconditionally. These tests execute -in milliseconds and do not burden the development iteration cycle. +``dds-ci`` will also recognize ``ccache`` and add it as a compiler-launcher if +it is installed on your PATH. This won't improve initial compilation times, but +can make subsequent compilations significantly faster when files are unchanged. diff --git a/docs/dev/ci-api.rst b/docs/dev/ci-api.rst new file mode 100644 index 00000000..1154b481 --- /dev/null +++ b/docs/dev/ci-api.rst @@ -0,0 +1,79 @@ +DDS CI Scripts Python API +######################### + +Types from pytest +***************** + +These types are defined by pytest, but are used extensively within the testing +scripts. + +.. class:: _pytest.fixtures.FixtureRequest + + .. seealso:: :class:`pytest.FixtureRequest` + +.. class:: _pytest.tmpdir.TempPathFactory + + .. seealso:: :class:`pytest.TempPathFactory` + + +Test Fixtures +************* + +The following test fixtures are defined: + +- :func:`~dds_ci.testing.fixtures.dds` - :class:`dds_ci.dds.DDSWrapper` - A + wrapper around the ``dds`` executable under test. +- :func:`~dds_ci.testing.fixtures.tmp_project` - + :class:`dds_ci.testing.fixtures.Project` - Create a new empty directory to be + used as a test project for ``dds`` to execute. +- :func:`~dds_ci.testing.http.http_repo` - + :class:`dds_ci.testing.http.RepoServer` - Create a new dds repository and + spawn an HTTP server to serve it. + +Module: ``dds_ci`` +****************** + +.. automodule:: dds_ci + :members: + + +Module: ``dds_ci.dds`` +********************** + +.. automodule:: dds_ci.dds + :members: + + +Module: ``dds_ci.proc`` +*********************** + +.. automodule:: dds_ci.proc + :members: + + +Module: ``dds_ci.testing`` +************************** + +.. automodule:: dds_ci.testing + :members: + + +Module: ``dds_ci.testing.http`` +******************************* + +.. automodule:: dds_ci.testing.http + :members: + + +Module: ``dds_ci.testing.fixtures`` +*********************************** + +.. automodule:: dds_ci.testing.fixtures + :members: + + +Module: ``dds_ci.testing.error`` +******************************** + +.. automodule:: dds_ci.testing.error + :members: diff --git a/docs/dev/env.rst b/docs/dev/env.rst new file mode 100644 index 00000000..2d39c158 --- /dev/null +++ b/docs/dev/env.rst @@ -0,0 +1,91 @@ +Setting Up a Build/Development Environment +########################################## + +While ``dds`` is able to build itself, several aspects of build infrastructure +are controlled via Python scripts. You will need Python 3.6 or later available +on your system to get started. + + +.. _Poetry: python-poetry.org + +Getting Started with *Poetry* +***************************** + +``dds`` CI runs atop `Poetry`_, a Python project management tool. While designed +for Python projects, it serves our purposes well. + + +Installing Poetry +================= + +If you do not have Poetry already installed, it can be obtained easily for most +any platform. +`Refer to the Poetry "Installation" documentation to learn how to get Poetry on your platform `_. + +The remainder of this documentation will assume you are able to execute +``poetry`` on your command-line. + + +Setting Up the Environment +========================== + +To set up the scripts and Python dependencies required for CI and development, +simply execute the following command from within the root directory of the +project:: + + $ poetry install + +Poetry will then create a Python virtual environment that contains the Python +scripts and tools required for building and developing ``dds``. + +The Python virtual environment that Poetry created can be inspected using +``poetry env info``, and can be deleted from the system using +``poetry env remove``. Refer to +`the Poetry documentation `_ for more +information about using Poetry. + + +Using the Poetry Environment +**************************** + +Once the ``poetry install`` command has been executed, you will now be ready to +run the ``dds`` CI scripts and tools. + +The scripts are installed into the virtual environment, and need not be globally +installed anywhere else on the system. You can only access these scripts by +going through Poetry. To run any individual command within the virtual +environment, use ``poetry run``:: + + $ poetry run + +This will load the virtual environment, execute ````, then exit +the environment. This is useful for running CI scripts from outside of the +virtualenv. + +**Alternatively**, the environment can be loaded persistently into a shell +session by using ``poetry shell``:: + + $ poetry shell + +This will spawn a new interactive shell process with the virtual environment +loaded, and you can now run any CI or development script without needing to +prefix them with ``poetry run``. + +Going forward, the documentation will assume you have the environment loaded +as-if by ``poetry shell``, but any ``dds``-CI-specific command can also be +executed by prefixing the command with ``poetry run``. + + +Working With an MSVC Environment in VSCode +========================================== + +If you use Visual Studio Code as your editor and MSVC as your C++ toolchain, +you'll need to load the MSVC environment as part of your build task. ``dds`` CI +has a script designed for this purpose. To use it, first load up a shell within +the Visual C++ environment, then, from within the previously create Poetry +environment, run ``gen-msvs-vsc-task``. This program will emit a Visual Studio +Code JSON build task that builds ``dds`` and also contains the environment +variables required for the MSVC toolchain to compile and link programs. You can +save this JSON task into ``.vscode/tasks.json`` to use as your primary build +task while hacking on ``dds``. + diff --git a/docs/dev/index.rst b/docs/dev/index.rst index 204875e4..b9f2fa38 100644 --- a/docs/dev/index.rst +++ b/docs/dev/index.rst @@ -1,9 +1,20 @@ ``dds`` Development ################### +While prebuilt ``dds`` executables are `available on the GitHub page +`_, one may wish to build ``dds`` from source. + +.. _releases: https://github.com/vector-of-bool/dds/releases + +The ``dds`` build process is designed to be as turn-key simple as possible. + This section will discuss how to modify and build ``dds`` itself. .. toctree:: :maxdepth: 2 - building \ No newline at end of file + reqs + env + building + testing + ci-api diff --git a/docs/dev/reqs.rst b/docs/dev/reqs.rst new file mode 100644 index 00000000..ef380a0c --- /dev/null +++ b/docs/dev/reqs.rst @@ -0,0 +1,29 @@ +Supported Platforms and Build Requirements +########################################## + +``dds`` aims to be as cross-platform as possible. It currently build and +executes on **Windows**, **macOS**, **Linux**, and **FreeBSD**. Support for +additional platforms is possible but will require modifications to +``bootstrap.py`` that will allow it to be built on such platforms. + + +Build Requirements +****************** + +Building ``dds`` has a simple set of requirements: + +- **Python 3.6** or newer to run the bootstrap/CI scripts. +- A C++ compiler that has rudimentary support for several C++20 features, + including Concepts. Newer releases of Visual C++ that ship with **VS + 2019** will be sufficient on Windows, as will **GCC 9** with ``-fconcepts`` on + other platforms. + +.. note:: + On Windows, you will need to execute the build from within a Visual C++ + enabled environment. This may involve launching the build from a Visual + Studio Command Prompt. + +.. note:: + At the time of writing, C++20 Concepts has not yet been released in Clang, + but should be available in LLVM/Clang 11 and newer. + diff --git a/docs/dev/testing.rst b/docs/dev/testing.rst new file mode 100644 index 00000000..1440d3ce --- /dev/null +++ b/docs/dev/testing.rst @@ -0,0 +1,74 @@ +Testing with ``pytest`` +####################### + +For ``dds``'s more rigorous test suite, we use the ``pytest`` testing framework. +These tests are stored in the ``tests/`` directory and written in ``test_*.py`` +files. + +The test suite can be run separately without ``dds-ci`` by executing ``pytest`` +from within the :doc:`Poetry virtual environment `:: + + $ pytest tests/ + +Note that individual tests can take between a few seconds and a few minutes to +execute, so it may be useful to execute only a subset of the tests based on the +functionality you want to test. Refer to +`the pytest documentation ` for more +information about using and executing ``pytest``. If you are running the full +test suite, you may also want to pass the ``-n`` argument with a number of +parallel jobs to execute. + + +.. highlight:: python + +Writing Tests +************* + +If a particular aspect of ``dds`` can be tested in isolation and within a few +dozen milliseconds, you should prefer to test it as a unit test in a +``*.test.cpp`` file. The ``pytest`` tests are intended to perform full +end-to-end feature and error handling tests. + +Tests are grouped into individual Python files in the ``tests/`` directory. Any +Python file containing tests must have a filename beginning with ``test_``. +Individual test functions should begin with ``test_``. All test functions should +be properly type-annotated and successfully check via ``mypy``. + +The ``dds`` test suite has access to a set of test fixtures that can be used +throughout tests to perform complex setup and teardown for complete test-by-test +isolation. + +Here is a simple test that simple executes ``dds`` with ``--help``:: + + def test_get_help(dds: DDSWrapper) -> None: + dds.run(['--help']) + +In this test function, :func:`the dds object is a test fixture +` that wraps the ``dds`` executable under test. + + +Testing Error Handling +********************** + +It is important that ``dds`` handle errors correctly, of course, including user +error. It is not simply enough to check that a certain operation fails: We must +be sure that it fails *correctly*. To check that the correct code path is +executed, ``dds`` can write a file containing a simple constant string +designating the error handling path that was taken. The file will be written to +the path indicated by the ``DDS_WRITE_ERROR_MARKER`` environment variable. + +For examples of these error strings, search for usage of ``write_error_marker`` +in the ``dds`` source code. These should only execute within error-handling +contexts, should appear near the log messages that issue diagnostics, and should +be specific to the error at hand. + +To write a test that checks for a given error-handling path, use the +:func:`~dds_ci.testing.error.expect_error_marker` context manager function:: + + def test_sdist_invalid_project(tmp_project: Project) -> None: + # Trying to create a package archive from a project without a + # package.json5 is invalid. Check that it creates the correct + # error-message string + with error.expect_error_marker('no-package-json5'): + tmp_project.pkg_create() + diff --git a/docs/err/git-url-ref-mutual-req.rst b/docs/err/git-url-ref-mutual-req.rst index 9d9c710a..b72f858b 100644 --- a/docs/err/git-url-ref-mutual-req.rst +++ b/docs/err/git-url-ref-mutual-req.rst @@ -12,4 +12,4 @@ as the ``ref`` requires support from the remote Git server, and it is often unavailable in most setups). Using a Git tag is strongly recommended. .. seealso:: - Refer to the documentation on :doc:`/guide/catalog`. \ No newline at end of file + Refer to the documentation on :doc:`/guide/remote-pkgs`. \ No newline at end of file diff --git a/docs/err/invalid-catalog-json.rst b/docs/err/invalid-catalog-json.rst deleted file mode 100644 index 3bf9da60..00000000 --- a/docs/err/invalid-catalog-json.rst +++ /dev/null @@ -1,9 +0,0 @@ -Error: Invalid catalog JSON -########################### - -This error occurs when the JSON data given to import into the package catalog -is in some way invalid. Refer to the catalog documentation for a description of -the proper JSON format. - -.. seealso:: - :ref:`catalog.adding` \ No newline at end of file diff --git a/docs/err/invalid-remote-url.rst b/docs/err/invalid-remote-url.rst new file mode 100644 index 00000000..54c62f43 --- /dev/null +++ b/docs/err/invalid-remote-url.rst @@ -0,0 +1,14 @@ +Error: Invalid Remote/Package URL +################################# + +``dds`` encodes a lot of information about remotes repositories and remote +packages in URLs. If you received this error, it may be because: + +1. The URL syntax is invalid. Make sure that you have spelled it correctly. +2. The URL scheme (the part at the beginning, before the ``://``) is unsupported + by ``dds``. ``dds`` only supports a subset of possible URL schemes in + different contexts. Check the output carefully and read the documentation + about the task you are trying to solve. +3. There are missing URL components that the task is expecting. For example, + ``git`` remote URLs require that the URL have a URL fragment specifying the + tag/branch to clone. (The fragment is the final ``#`` component.) diff --git a/docs/err/invalid-repo-transform.rst b/docs/err/invalid-repo-transform.rst deleted file mode 100644 index dd0d4525..00000000 --- a/docs/err/invalid-repo-transform.rst +++ /dev/null @@ -1,10 +0,0 @@ -Error: A repository filesystem transformation is invalid -######################################################## - -In ``dds``, a catalog entry can have a list of attached "transforms" that will -be applies to the root directory of the package before ``dds`` tries to build -and use it. - -.. seealso:: - For information on the shape and purpose of transforms, refer to - :ref:`catalog.fs-transform` on the :doc:`/guide/catalog` page. diff --git a/docs/err/no-catalog-remote-info.rst b/docs/err/no-catalog-remote-info.rst index ca6bcd15..75659f82 100644 --- a/docs/err/no-catalog-remote-info.rst +++ b/docs/err/no-catalog-remote-info.rst @@ -6,5 +6,3 @@ requires some information regarding how to actually *acquire* that package when it is requested. If such information is not provided, ``dds`` will issue an error. - -.. seealso:: :ref:`catalog.adding`. \ No newline at end of file diff --git a/docs/err/no-such-catalog-package.rst b/docs/err/no-such-catalog-package.rst index a15ff633..1648244d 100644 --- a/docs/err/no-such-catalog-package.rst +++ b/docs/err/no-such-catalog-package.rst @@ -8,10 +8,3 @@ in the catalog. It is possible that the intended package *does exist* but that the spelling of the package name or version number is incorrect. Firstly, check your spelling and that the version number you have requested is correct. - -In another case, it is possible that the package *exists somewhere*, but has -not been loaded into the local catalog. As of this writing, ``dds`` does not -automatically maintain the catalog against a central package repository, so -package entries must be loaded and imported manually. If you believe this to be -the case, refer to the section on the :doc:`/guide/catalog`, especially the -section :ref:`catalog.adding`. diff --git a/docs/err/sdist-exists.rst b/docs/err/sdist-exists.rst index 99eb5b9a..5161063f 100644 --- a/docs/err/sdist-exists.rst +++ b/docs/err/sdist-exists.rst @@ -19,7 +19,7 @@ write a source distribution to the named path, it would be required to delete whatever exists there before creating the source distribution. .. warning:: - When using ``dds sdist create`` with the ``--out `` parameter, the + When using ``dds pkg create`` with the ``--out `` parameter, the ```` given **is not the directory in which to place the source distribution, but the filepath to the source distribution itself**! @@ -27,7 +27,7 @@ whatever exists there before creating the source distribution. distribution in that directory, **the following command is incorrect**:: # Do not do this: - dds sdist create --out foo/ + dds pkg create --out foo/ If you pass ``--replace`` to the above command, ``dds`` will **destroy the existing directory** and replace it with the source distribution! @@ -35,4 +35,4 @@ whatever exists there before creating the source distribution. You **must** provide the full path to the source distribution:: # Do this: - dds sdist create --out foo/my-project.dsd + dds pkg create --out foo/my-project.tar.gz diff --git a/docs/guide/build-deps.rst b/docs/guide/build-deps.rst new file mode 100644 index 00000000..efe778be --- /dev/null +++ b/docs/guide/build-deps.rst @@ -0,0 +1,187 @@ +Building and Using ``dds`` in Another Build System +################################################## + +One of ``dds``'s primary goals is to inter-operate with other build systems +cleanly. One of ``dds``'s primary outputs is *libman* package indices. These +package indices can be imported into other build systems that support the +`libman`_ format. (At the time of writing there is a CMake module which can do +the import, but other build systems are planned.) + +.. _libman: https://api.csswg.org/bikeshed/?force=1&url=https://raw.githubusercontent.com/vector-of-bool/libman/develop/data/spec.bs + +.. _PMM: https://github.com/vector-of-bool/PMM + +.. _CMakeCM: https://github.com/vector-of-bool/CMakeCM + +.. _lm-cmake: https://raw.githubusercontent.com/vector-of-bool/libman/develop/cmake/libman.cmake + + +.. _build-deps.gen-libman: + +Generating a libman Index +************************* + +Importing libman packages into a build system requires that we have a libman +index generated on the filesystem. **This index is not generated globally**: It +is generated on a per-build basis as part of the build setup. The index will +describe in build-system-agnostic terms how to include a set of packages and +libraries as part of a build. + +``dds`` has first-class support for generating this index. The ``build-deps`` +subcommand of ``dds`` will download and build a set of dependencies, and places +an ``INDEX.lmi`` file that can be used to import the built results. + + +Declaring Dependencies +====================== + +``dds build-deps`` accepts a list of dependency statements as command line +arguments, but it may be useful to specify those requirements in a file. + +``dds build-deps`` accepts a JSON5 file describing the dependencies of a +project as well. This file is similar to a very stripped-down version of a +``dds`` :ref:`package manifest `, and only includes the ``depends`` +key. (The presence of any other key is an error.) + +Here is a simple dependencies file that declares a single requirement: + +.. code-block:: js + :caption: ``dependencies.json5`` + + { + depends: [ + 'neo-sqlite3^0.2.0', + ] + } + + +Building Dependencies and the Index +=================================== + +We can invoke ``dds build-deps`` and give it the path to this file: + +.. code-block:: bash + + $ dds build-deps --deps-file dependencies.json5 + +When finished, ``dds`` will write the build results into a subdirectory called +``_deps`` and generate a file named ``INDEX.lmi``. This file is ready to be +imported into any build system that can understand libman files. + +.. note:: + The output directory and index filepath can be controlled with the + ``--out`` and ``--lmi-path`` flags, respectively. + + +Importing an Index: CMake +************************* + +.. highlight:: cmake + +.. note:: + + This section discusses how to import ``INDEX.lmi`` into CMake, but ``dds`` + also has built-in support for generating a CMake targets file. See + :doc:`/howto/cmake` and :doc:`cmake` for even simpler integration steps. + +Supposed that we've generated a libman index and set of packages, and we want to +import them into CMake. CMake doesn't know how to do this natively, but there +exists a single-file module for CMake that allows CMake to import libraries from +libman indices without any additional work. + +The module is not shipped with CMake, but is available online as a single +stand-alone file. The `libman.cmake `_ file can be downloaded and +added to a project directly, or it can be obtained automatically through a +CMake tool like `PMM`_ (recommended). + + +Getting ``libman.cmake`` via PMM +================================ + +Refer to the ``README.md`` file in `the PMM repo `_ for information on how +to get PMM into your CMake project. In short, download and place the +``pmm.cmake`` file in your repository, and ``include()`` the file near the top +of your ``CMakeLists.txt``:: + + include(pmm.cmake) + +Once it has been included, you can call the ``pmm()`` function. To obtain +*libman*, we need to start by enabling `CMakeCM`_:: + + pmm(CMakeCM ROLLING) + +.. warning:: + It is not recommended to use the ``ROLLING`` mode, but it is the easiest to + use when getting started. For reproducible and reliable builds, you should + pin your CMakeCM version using the ``FROM `` argument. + +Enabling CMakeCM will make available all of the CMake modules available in `the +CMakeCM repository `_, which includes `libman.cmake `_. + +After the call to ``pmm()``, simply ``include()`` the ``libman`` module:: + + include(libman) + +That's it! The only function from the module that we will care about for now +is the ``import_packages()`` function. + + +Importing Our Dependencies' Packages +==================================== + +To import a package from a libman tree, we need only know the *name* of the +package we wish to import. In our example case above, we depend on +``neo-sqlite3``, so we simply call the libman-CMake function +``import_packages()`` with that package name:: + + import_packages("neo-sqlite3") + +You'll note that we don't request any particular version of the package: All +versioning resolution is handled by ``dds``. You'll also note that we don't +need to specify our transitive dependencies: This is handled by the libman +index that was generated by ``dds``: It will automatically ``import_packages()`` +any of the transitive dependencies required. + +More than one package name can be provided to a single call to +``import_packages()``, and ``import_packages()`` may be called multiple times +within a CMake project. + + +Using Our Dependencies' Libraries +================================= + +Like with ``dds``, CMake wants us to explicitly declare how our build targets +*use* other libraries. When we import a package from a libman index, the +import will generate CMake ``IMPORTED`` targets that can be linked against. + +In ``dds`` and in libman, a library is identified by a combination of +*namespace* and *name*, joined together with a slash ``/`` character. This +*qualified name* of a library is decided by the original package author, and +should be documented. In the case of ``neo-sqlite3``, the only library is +``neo/sqlite3``. + +When the libman CMake module imports a library, it creates a qualified name +using a double-colon "``::``" instead of a slash. As such, our ``neo/sqlite3`` +is imported in CMake as ``neo::sqlite3``. We can link against it as we would +with any other target:: + + add_executable(my-application app.cpp) + target_link_libraries(my-application PRIVATE neo::sqlite3) + +Altogether, here is the final CMake file: + +.. code-block:: + :caption: ``CMakeLists.txt`` + :linenos: + + cmake_minimum_required(VERSION 3.15) + project(MyApplication VERSION 1.0.0) + + include(pmm.cmake) + pmm(CMakeCM ROLLING) + + include(libman) + import_packages("neo-sqlite3") + + add_executable(my-application app.cpp) + target_link_libraries(my-application PRIVATE neo::sqlite3) diff --git a/docs/guide/catalog.rst b/docs/guide/catalog.rst deleted file mode 100644 index cb6ef3c5..00000000 --- a/docs/guide/catalog.rst +++ /dev/null @@ -1,286 +0,0 @@ -The Package Catalog -################### - -``dds`` stores a catalog of available packages, along with their dependency -statements and information about how a source distribution thereof may be -maintained. - - -Viewing Catalog Contents -************************ - -The default catalog database is stored in a user-local location, and the -package IDs available can be listed with ``dds catalog list``. This will only -list the IDs of the packages, but none of the additional metadata about them. - - -.. _catalog.adding: - -Adding Packages to the Catalog -****************************** - -The ``dds catalog import`` supports a ``--json`` flag that specifies a JSON5 -file from which catalog entries will be generated. - -.. note:: - The ``--json`` flag can be passed more than once to import multiple JSON - files at once. - -The JSON file has the following structure: - -.. code-block:: javascript - - { - // Import version spec. - version: 1, - // Packages section - packages: { - // Subkeys are package names - "acme-gadgets": { - // Keys within the package names are the versions that are - // available for each package. - "0.4.2": { - // `depends` is an array of dependency statements for this - // particular version of the package. (Optional) - depends: [ - "acme-widgets^1.4.1" - ], - // `description` is an attribute to give a string to describe - // the package. (Optional) - description: "A collection of useful gadgets.", - // Specify the Git remote information - git: { - // `url` and `ref` are required. - url: "http://example.com/git/repo/acme-gadgets.git", - ref: "v0.4.2-stable", - // The `auto-lib` is optional, to specify an automatic - // library name/namespace pair to generate for the - // root library - "auto-lib": "Acme/Gadgets", - // List of filesystem transformations to apply to the repository - // (optional) - transform: [ - // ... (see below) ... - ] - } - } - } - } - } - - -.. _catalog.fs-transform: - -Filesystem Transformations -************************** - -.. note:: - Filesystem transformations is a transitional feature that is likely to be - removed in a future release, and replaced with a more robust system when - ``dds`` has a better way to download packages. Its aim is to allow ``dds`` - projects to use existing libraries that might not meet the layout - requirements that ``dds`` imposes, but can otherwise be consumed by ``dds`` - with a few tweaks. - -A catalog entry can have a set of filesystem transformations attached to its -remote information (e.g. the ``git`` property). When ``dds`` is obtaining a -copy of the code for the package, it will apply the associated transformations -to the filesystem based in the directory of the downloaded/cloned directory. In -this way, ``dds`` can effectively "patch" the filesystem structure of a project -arbitrarily. This allows many software projects to be imported into ``dds`` -without needing to patch/fork the original project to support the required -filesystem structure. - -.. important:: - While ``dds`` allows you to patch directories downloaded via the catalog, a - native ``dds`` project must still follow the layout rules. - - The intention of filesystem transformations is to act as a "bridge" that will allow ``dds`` projects to more easily utilize existing libraries. - - -Available Transformations -========================= - -At time of writing, there are five transformations available to catalog entries: - -``copy`` and ``move`` - Copies or moves a set of files/directories from one location to another. Allows the following options: - - - ``from`` - The path from which to copy/move. **Required** - - ``to`` - The destination path for the copy/move. **Required** - - ``include`` - A list of globbing expressions for files to copy/move. If - omitted, then all files will be included. - - ``exclude`` - A list of globbing expressions of files to exclude from the - copy/move. If omitted, then no files will be excluded. **If both** ``include`` and ``exclude`` are provided, ``include`` will be checked *before* ``exclude``. - - ``strip-components`` - A positive integer (or zero, the default). When the - ``from`` path identifies a directory, its contents will be copied/moved - into the destination and maintain their relative path from the source path as their relative path within the destination. If ``strip-components`` is set to an integer ``N``, then the first ``N`` path components of that relative path will be removed when copying/moving the files in a directory. If a file's relative path has less than ``N`` components, then that file will be excluded from the ``copy/move`` operation. - -``remove`` - Delete files and directories from the package source. Has the following options: - - - ``path`` - The path of the file/directory to remove. **Required** - - ``only-matching`` - A list of globbing expressions for files to remove. If omitted and the path is a directory, then the entire directory will be deleted. If at least one pattern is provided, then directories will be left intact and only non-directory files will be removed. If ``path`` names a non-directory file, then this option has no effect. - -``write`` - Write the contents of a string to a file in the package source. Has the following options: - - - ``path`` - The path of the file to write. **Required** - - ``content`` - A string that will be written to the file. **Required** - - If the file exists and is not a directory, the file will be replaced. If the - path names an existing directory, an error will be generated. - -``edit`` - Modifies the contents of the files in the package. - - - ``path`` - Path to the file to edit. **Required** - - ``edits`` - An array of edit objects, applied in order, with the following - keys: - - - ``kind`` - One of ``insert`` or ``delete`` to insert/delete lines, - respectively. **Required** - - ``line`` - The line at which to perform the insert/delete. The first line - of the file is line one, *not* line zero. **Required** - - ``content`` - For ``insert``, the string content to insert into the file. - A newline will be appended after the content has been inserted. - -Transformations are added as a JSON array to the JSON object that specifies -the remote information for the package. Each element of the array is an -object, with one or more of the keys listed above. If an object features more -than one of the above keys, they are applied in the same order as they have -been listed. - - -Example: Crypto++ -================= - -The following catalog entry will build and import `Crypto++`_ for use by a -``dds`` project. This uses the unmodified Crypto++ repository, which ``dds`` -doesn't know how to build immediately. With some simple moving of files, we -end up with something ``dds`` can build directly: - -.. code-block:: javascript - - "cryptopp": { - "8.2.0": { - "git": { - "url": "https://github.com/weidai11/cryptopp.git", - "ref": "CRYPTOPP_8_2_0", - "auto-lib": "cryptopp/cryptopp", - "transform": [ - { - // Crypto++ has no source directories at all, and everything lives - // at the top level. No good for dds. - // - // Clients are expected to #include files with a `cryptopp/` prefix, - // so we need to move the files around so that they match the - // expected layout: - "move": { - // Move from the root of the repo: - "from": ".", - // Move files *into* `src/cryptopp` - "to": "src/cryptopp", - // Only move the C++ sources and headers: - "include": [ - "*.c", - "*.cpp", - "*.h" - ] - } - } - ] - } - } - } - - -Example: libsodium -================== - -For example, this catalog entry will build and import `libsodium`_ for use in -a ``dds`` project. This uses the upstream libsodium repository, which does not -meet the layout requirements needed by ``dds``. With a few simple -transformations, we can allow ``dds`` to build and consume libsodium -successfully: - -.. code-block:: javascript - - "libsodium": { - "1.0.18": { - "git": { - "url": "https://github.com/jedisct1/libsodium.git", - "ref": "1.0.18", - "auto-lib": "sodium/sodium", - /// Make libsodium look as dds expects of a project. - "transform": [ - // libsodium has a `src` directory, but it does not look how dds - // expects it to. The public `#include` root of libsodium lives in - // a nested subdirectory of `src/` - { - "move": { - // Move the public header root out from that nested subdirectory - "from": "src/libsodium/include", - // Put it at `include/` in the top-level - "to": "include/" - } - }, - // libsodium has some files whose contents are generated by a - // configure script. For demonstration purposes, we don't need most - // of them, and we can just swipe an existing pre-configured file - // that is already in the source repository and put it into the - // public header root. - { - "copy": { - // Generated version header committed to the repository: - "from": "builds/msvc/version.h", - // Put it where the configure script would put it: - "to": "include/sodium/version.h" - } - }, - // The subdirectory `src/libsodium/` is no good. It now acts as an - // unnecessary layer of indirection. We want `src/` to be the root. - // We can just "lift" the subdirectory: - { - // Up we go: - "move": { - "from": "src/libsodium", - "to": "src/" - }, - // Delete the now-unused subdirectory: - "remove": { - "path": "src/libsodium" - } - }, - // Lastly, libsodium's source files expect to resolve their header - // paths differently than they expect of their clients (Bad!!!). - // Fortunately, we can do a hack to allow the files in `src/` to - // resolve its headers. The source files use #include as if the - // header root was `include/sodium/`, rather than `include/`. - // To work around this, generate a copy of each header file in the - // source root, but remove the leading path element. - // Because we have a separate `include/` and `src/` directory, dds - // will only expose the `include/` directory to clients, and the - // header copies in `src/` are not externally visible. - // - // For example, the `include/sodium/version.h` file is visible to - // clients as `sodium/version.h`, but libsodium itself tries to - // include it as `version.h` within its source files. When we copy - // from `include/`, we grab the relative path to `sodium/version.h`, - // strip the leading components to get `version.h`, and then join that - // path with the `to` path to generate the full destination at - // `src/version.h` - { - "copy": { - "from": "include/", - "to": "src/", - "strip-components": 1 - } - } - ] - } - } - } - -.. _libsodium: https://doc.libsodium.org/ -.. _Crypto++: https://cryptopp.com/ diff --git a/docs/guide/cmake.rst b/docs/guide/cmake.rst index 7a70de4b..4a3b10fb 100644 --- a/docs/guide/cmake.rst +++ b/docs/guide/cmake.rst @@ -1,240 +1,82 @@ .. highlight:: cmake -Using ``dds`` Packages in a CMake Project -######################################### +Using ``dds`` in a CMake Project +################################ One of ``dds``'s primary goals is to inter-operate with other build systems -cleanly. One of ``dds``'s primary outputs is *libman* package indices. These -package indices can be imported into other build systems that support the -*libman* format. +cleanly. Because of CMakes ubiquity, ``dds`` includes built-in support for +emitting files that can be imported into CMake. -.. note:: - ``dds`` doesn't (yet) have a ready-made central repository of packages that - can be downloaded. You'll need to populate the local package catalog - appropriately. The default catalog file contains a limited set of useful - packages, but you may wish to add more for yourself. +.. seealso:: - .. seealso:: Refer to :doc:`catalog` for information about remote packages. + Before reading this page, be sure to read the :ref:`build-deps.gen-libman` + section of the :doc:`build-deps` page, which will discuss how to use the + ``dds build-deps`` subcommand. -.. _PMM: https://github.com/vector-of-bool/PMM - -.. _CMakeCM: https://github.com/vector-of-bool/CMakeCM - -.. _lm-cmake: https://raw.githubusercontent.com/vector-of-bool/libman/develop/cmake/libman.cmake - - -Generating a libman Index -************************* - -Importing libman packages into a build system requires that we have a libman -index generated on the filesystem. **This index is not generated globally**: It -is generated on a per-build basis as part of the build setup. The index will -describe in build-system-agnostic terms how to include a set of packages and -libraries as part of a build. - -``dds`` has first-class support for generating this index. The ``build-deps`` -subcommand of ``dds`` will download and build a set of dependencies, and places -an ``INDEX.lmi`` file that can be used to import the built results. +.. seealso:: + This page presents an involved and detailed process for importing + dependencies, but there's also an *easy mode* for a one-line solution. See: + :doc:`/howto/cmake`. -Declaring Dependencies -====================== - -``dds build-deps`` accepts a list of dependency statements as commnad line -arguments, but it may be useful to specify those requirements in a file. - -``dds build-deps`` accepts a JSON5 file describing the dependencies of a -project as well. This file is similar to a very stripped-down version of a -``dds`` :ref:`package manifest `, and only includes the ``depends`` -key. (The presence of any other key is an error.) - -Here is a simple dependencies file that declares a single requirement: - -.. code-block:: js - :caption: ``dependencies.json5`` - - { - depends: [ - 'neo-sqlite3^0.2.0', - ] - } +.. _PMM: https://github.com/vector-of-bool/PMM -Building Dependencies and the Index -=================================== +Generating a CMake Import File +****************************** -We can invoke ``dds build-deps`` and give it the path to this file: +``build-deps`` accepts an ``--lmi-path`` argument, but also accepts a +``--cmake=`` argument that serves a similar purpose: It will write a CMake +file to ```` that can be ``include()``'d into a CMake project: .. code-block:: bash - $ dds build-deps --deps dependencies.json5 - -When finished, ``dds`` will write the build results into a subdirectory called -``_deps`` and generate a file named ``INDEX.lmi``. This file is ready to be -imported into any build system that can understand libman files (in our case, -CMake). - -.. note:: - The output directory and index filepath can be controlled with the - ``--out`` and ``--lmi-path`` flags, respectively. - - -Importing into CMake -******************** - -We've generated a libman index and set of packages, and we want to import -them into CMake. CMake doesn't know how to do this natively, but there exists a -single-file module for CMake that allows CMake to import libraries from libman -indices without any additional work. - -The module is not shipped with CMake, but is available online as a single -stand-alone file. The `libman.cmake `_ file can be downloaded and -added to a project directly, or it can be obtained automatically through a -CMake tool like `PMM`_ (recommended). - - -Enabling *libman* Support in CMake via PMM -========================================== - -Refer to the ``README.md`` file in `the PMM repo `_ for information on how -to get PMM into your CMake project. In short, download and place the -``pmm.cmake`` file in your repository, and ``include()`` the file near the top -of your ``CMakeLists.txt``:: - - include(pmm.cmake) - -Once it has been included, you can call the ``pmm()`` function. To obtain -*libman*, we need to start by enabling `CMakeCM`_:: - - pmm(CMakeCM ROLLING) + $ dds build-deps "neo-sqlite3^0.2.0" --cmake=deps.cmake -.. warning:: - It is not recommended to use the ``ROLLING`` mode, but it is the easiest to - use when getting started. For reproducible and reliable builds, you should - pin your CMakeCM version using the ``FROM `` argument. +This will write a file ``./deps.cmake`` that we can ``include()`` from a CMake +project, which will then expose the ``neo-sqlite3`` package as a set of imported +targets. -Enabling CMakeCM will make available all of the CMake modules available in `the -CMakeCM repository `_, which includes `libman.cmake `_. -After the call to ``pmm()``, simply ``include()`` the ``libman`` module:: +Using the CMake Import File +=========================== - include(libman) +Once we have generated the CMake import file using ``dds build-deps``, we can +simply import it in our ``CMakeLists.txt``:: -That's it! The only function from the module that we will care about for now -is the ``import_packages()`` function. - - -Importing Our Dependencies' Packages -==================================== - -To import a package from a libman tree, we need only know the *name* of the -package we wish to import. In our example case above, we depend on -``neo-sqlite3``, so we simply call the libman-CMake function -``import_packages()`` with that package name:: - - import_packages("neo-sqlite3") - -You'll note that we don't request any particular version of the package: All -versioning resolution is handled by ``dds``. You'll also note that we don't -need to specify our transitive dependencies: This is handled by the libman -index that was generated by ``dds``: It will automatically ``import_packages()`` -any of the transitive dependencies required. - - -Using Our Dependencies' Libraries -================================= + include(deps.cmake) Like with ``dds``, CMake wants us to explicitly declare how our build targets -*use* other libraries. When we import a package from a libman index, the -import will generate CMake ``IMPORTED`` targets that can be linked against. +*use* other libraries. When we ``include()`` the generated CMake file, it will +generate ``IMPORTED`` targets that can be linked against. -In ``dds`` and in libman, a library is identified by a combination of +In ``dds`` (and in libman), a library is identified by a combination of *namespace* and *name*, joined together with a slash ``/`` character. This *qualified name* of a library is decided by the original package author, and -should be documented. In the case of ``neo-sqlite3``, the only target is +should be documented. In the case of ``neo-sqlite3``, the only library is ``neo/sqlite3``. -When the libman CMake module imports a library, it creates a qualified name +When the generated import file imports a library, it creates a qualified name using a double-colon "``::``" instead of a slash. As such, our ``neo/sqlite3`` is imported in CMake as ``neo::sqlite3``. We can link against it as we would with any other target:: - add_executable(my-application app.cpp) - target_link_libraries(my-application PRIVATE neo::sqlite3) - -Altogether, here is the final CMake file: - -.. code-block:: - :caption: ``CMakeLists.txt`` - :linenos: - - cmake_minimum_required(VERSION 3.15) - project(MyApplication VERSION 1.0.0) - - include(pmm.cmake) - pmm(CMakeCM ROLLING) - - include(libman) - import_packages("neo-sqlite3") - - add_executable(my-application app.cpp) - target_link_libraries(my-application PRIVATE neo::sqlite3) - - -Additional PMM Support -********************** - -The ``pmm()`` function also supports ``dds`` directly, similar to ``CMakeCM`` -mode. This will automatically download a prebuilt ``dds`` for the host platform -and invoke ``dds build-deps`` in a single pass as part of CMake's configure -process. This is especially useful for a CI environment where you want to have -a stable ``dds`` version and always have your dependencies obtained -just-in-time. - -To start, pass the ``DDS`` argument to ``pmm()`` to use it:: - - pmm(DDS) - -.. note:: - The ``_deps`` directory and ``INDEX.lmi`` file will be placed in the CMake - build directory, out of the way of the rest of the project. - -.. note:: - The version of ``dds`` that PMM downloads depends on the version of PMM - that is in use. - -This alone won't do anything useful, because you'll need to tell it what -dependencies we want to install:: - - pmm(DDS DEP_FILES dependencies.json5) - -You can also list your dependencies as an inline string in your CMakeLists.txt -instead of a separate file:: - - pmm(DDS DEPENDS neo-sqlite3^0.2.2) - -Since you'll probably want to be using ``libman.cmake`` at the same time, the -calls for ``CMakeCM`` and ``DDS`` can simply be combined. This is how our new -CMake project might look: + add_executable(my-application app.cpp) + target_link_libraries(my-application PRIVATE neo::sqlite3) -.. code-block:: - :caption: ``CMakeLists.txt`` - :linenos: - cmake_minimum_required(VERSION 3.15) - project(MyApplication VERSION 1.0.0) +.. _cmake.pmm: - include(pmm.cmake) - pmm(CMakeCM ROLLING - DDS DEPENDS neo-sqlite3^0.2.2 - ) +*Easy* Mode: PMM Support +************************ - include(libman) - import_packages("neo-sqlite3") +`PMM`_ is the *package package manager*, and can be used to control and access +package managers from within CMake scripts. This includes controlling ``dds``. +With PMM, we can automate all of the previous steps into a single line. - add_executable(my-application app.cpp) - target_link_libraries(my-application PRIVATE neo::sqlite3) +For a complete rundown on using PMM to get dependencies via ``dds``, refer to +the :doc:`/howto/cmake` page. -This removes the requirement that we write a separate dependencies file, and we -no longer need to invoke ``dds build-deps`` externally, as it is all handled -by ``pmm``. +Using PMM removes the requirement that we write a separate dependencies file, +and we no longer need to invoke ``dds build-deps`` externally, as it is all +handled by PMM. diff --git a/docs/guide/index.rst b/docs/guide/index.rst index 3ed75692..bb915f4f 100644 --- a/docs/guide/index.rst +++ b/docs/guide/index.rst @@ -9,7 +9,8 @@ User Guide packages toolchains source-dists - repo - catalog + pkg-cache + remote-pkgs interdeps + build-deps cmake diff --git a/docs/guide/interdeps.rst b/docs/guide/interdeps.rst index 838d36de..dea65d26 100644 --- a/docs/guide/interdeps.rst +++ b/docs/guide/interdeps.rst @@ -85,8 +85,8 @@ versions of the dependency are supported. Refer to: :ref:`deps.ranges.why-lowest`. ``dds`` compatible-version ranges are similar to the shorthand range specifiers -supported by ``npm`` and ``npm``-like tools. There are five (and a half) -version range formats available, listed in order of most-to-least restrictive: +supported by ``npm`` and ``npm``-like tools. There are four version range kinds +available, listed in order of most-to-least restrictive: Exact: ``@1.2.3`` Specifies an *exact* requirement. The dependency must match the named diff --git a/docs/guide/packages.rst b/docs/guide/packages.rst index 2e9dff62..21ef135c 100644 --- a/docs/guide/packages.rst +++ b/docs/guide/packages.rst @@ -56,7 +56,7 @@ If a file's extension is not listed in the table above, ``dds`` will ignore it. .. note:: Although headers are not compiled, this does not mean they are ignored. ``dds`` still understands and respects headers, and they are collected - together as part of *source distribution*. + together as part of a *source distribution*. .. _pkgs.apps-tests: @@ -65,15 +65,42 @@ Applications and Tests ********************** ``dds`` will recognize certain compilable source files as belonging to -applications and tests. If a compilable source file stem ends with ``.main`` or -``.test``, that source file is assumed to correspond to an executable to -generate. The filename stem before the ``.main`` or ``.test`` will be used as -the name of the generated executable. For example: +applications and tests, depending on the filenames "stem," which is the part of +the filename not including the outer-most file extension. If a compilable source +filename stem ends with ``.main`` or ``.test``, that source file is assumed to +correspond to an executable to generate. The filename second-inner stem before +the ``.main`` or ``.test`` will be used as the name of the generated executable. +For example: -- ``foo.main.cpp`` will generate an executable named ``foo``. -- ``bar.test.cpp`` will generate an executable named ``bar``. -- ``cat-meow.main.cpp`` will generate an executable named ``cat-meow``. -- ``cats.musical.test.cpp`` will generate an executable named ``cats.musical``. +- Given ``foo.main.cpp`` + + - The stem is ``foo.main``, whose extension is ``.main``, so we will generate + an application. + - The stem of ``foo.main`` is ``foo``, so the executable will be named + ``foo``. + +- Given ``bar.test.cpp`` + + - The stem is ``bar.test``, whose extension is ``.test``, so we will generate + a test. + - The stem of ``bar.test`` is ``bar``, so will generate an executable named + ``bar``. + +- Given ``cat-meow.main.cpp`` + + - The stem is ``cat-meow.main``, which has extension ``.main``, so it is an + application. + - The stem of ``cat-meow.main`` is ``cat-meow``, so will generate an + executable named ``cat-meow``. + +- Given ``cats.musical.test.cpp`` + + - The stem is ``cats.musical.test``, which has extension ``.test``, so this is + a text executable. + - The stem of ``cats.musical.test`` is ``cats.musical``, so we will generate + an executable named ``cats.musical``. + - Note that the dot in ``cats.musical`` is not significant, as ``dds`` does + strip any further extensions. .. note:: ``dds`` will automatically append the appropriate filename extension to the @@ -161,7 +188,7 @@ In order for any code to compile and resolve these ``#include`` directives, the ``src/`` directory must be added to their *include search path*. Because the ``#include`` directives are based on the *portable* source root, -the exactly location of ``src/`` is not important to the content of the +the exact location of ``src/`` is not important to the content of the consuming source code, and can thus be relocated and renamed as necessary. Consumers only need to update the path of the *include search path* in a single location rather than modifying their source code. @@ -285,8 +312,8 @@ The primary distribution format of packages that is used by ``dds`` is the Packages are identified by a name/version pair, joined together by an ``@`` symbol. The version of a package must be a semantic version string. Together, -the ``name@version`` string forms the *package ID*, and it must be unique -within a repository or package catalog. +the ``name@version`` string forms the *package ID*, and it must be unique within +a repository or local package cache. In order for a package to be exported by ``dds`` it must have a ``package.json5`` file at its package root. Three keys are required to be diff --git a/docs/guide/pkg-cache.rst b/docs/guide/pkg-cache.rst new file mode 100644 index 00000000..279d0fe6 --- /dev/null +++ b/docs/guide/pkg-cache.rst @@ -0,0 +1,90 @@ +The Local Package Cache +####################### + +``dds`` maintains a local cache of packages that it has obtained at the request +of a user. The packages themselves are stored as +:doc:`source distributions ` (``dds`` does not store the binaries +that it builds within this package cache). + + +Reading Repository Contents +*************************** + +Most times, ``dds`` will manage the cache content silently, but it may be useful +to see what ``dds`` is currently storing away. + +The content of the cache can be seen with the ``pkg ls`` subcommand:: + +> dds pkg ls + +This will print the names of packages that ``dds`` has downloaded, as well as +the versions of each. + + +Obtaining Packages +****************** + +.. seealso:: See also: :doc:`remote-pkgs` + +When ``dds`` builds a package, it will also build the dependency libraries of +that package. In order for the dependency build to succeed, it must have a +local copy of the source distribution of that dependency. + +When ``dds`` performs dependency resolution, it will consider both locally +cached packages, as well as packages that are available from any +:doc:`remote packages `. If the dependency solution requires any +packages that are not in the local cache, it will use the information in its +catalog database to obtain a source distribution for each missing package. These +source distributions will automatically be added to the local cache, and later +dependency resolutions will not need to download that package again. + +This all happens automatically when a project is built: There is **no** +"``dds install``" subcommand. + + +Manually Downloading a Dependency +================================= + +It may be useful to obtain a copy of the source distribution of a package +from a remote. The ``pkg get`` command can be used to do this:: + +> dds pkg get @ + +This will obtain the source distribution of the package matching the given +package ID and place that distribution in current working directory, using the +package ID as the name of the source distribution directory:: + + $ dds pkg get spdlog@1.4.2 + [ ... ] + + $ ls . + . + .. + spdlog@1.4.2 + + $ ls ./spdlog@1.4.2/ + include/ + src/ + library.json5 + package.json5 + + +.. _repo.import-local: + +Exporting a Project into the Repository +*************************************** + +``dds`` can only use packages that are available in the local cache. For +packages that have a listing in the catalog, this is not a problem. But if one +is developing a local package and wants to allow it to be used in another local +package, that can be done by importing that project into the package cache as a +regular package, as detailed in :ref:`sdist.import`:: + +> dds pkg import /path/to/project + +This command will create a source distribution and place it in the local cache. +The package is now available to other projects on the local system. + +.. note:: + This doesn't import in "editable" mode: A snapshot of the package root + will be taken and imported to the local cache. diff --git a/docs/guide/remote-pkgs.rst b/docs/guide/remote-pkgs.rst new file mode 100644 index 00000000..5fee81b8 --- /dev/null +++ b/docs/guide/remote-pkgs.rst @@ -0,0 +1,231 @@ +Remote Packages and Repositories +################################ + +.. highlight:: bash + +``dds`` stores a local database of available packages, along with their +dependency statements and information about how a source distribution thereof +may be obtained. + +Inside the database are *package repositories*, which are remote servers that +contain their own database of packages, and may also contain the packages +themselves. An arbitrary number of package repositories may be added to the +local database. When ``dds`` updates its package information, it will download +the package database from each registered remote and import the listings into +its own local database, making them available for download. + + +Viewing Available Packages +************************** + +The default catalog database is stored in a user-local location, and the +available packages can be listed with ``dds pkg search``:: + + $ dds pkg search + Name: abseil + Versions: 2018.6.0, 2019.8.8, 2020.2.25 + From: repo-1.dds.pizza + + Name: asio + Versions: 1.12.0, 1.12.1, 1.12.2, 1.13.0, 1.14.0, 1.14.1, 1.16.0, 1.16.1 + From: repo-1.dds.pizza + + Name: boost.leaf + Versions: 0.1.0, 0.2.0, 0.2.1, 0.2.2, 0.2.3, 0.2.4, 0.2.5, 0.3.0 + From: repo-1.dds.pizza + + Name: boost.mp11 + Versions: 1.70.0, 1.71.0, 1.72.0, 1.73.0 + From: repo-1.dds.pizza + +Optionally, one can search with a glob/fnmatch-style pattern:: + + $ dds pkg search 'neo-*' + Name: neo-buffer + Versions: 0.2.1, 0.3.0, 0.4.0, 0.4.1, 0.4.2 + From: repo-1.dds.pizza + + Name: neo-compress + Versions: 0.1.0, 0.1.1, 0.2.0 + From: repo-1.dds.pizza + + Name: neo-concepts + Versions: 0.2.2, 0.3.0, 0.3.1, 0.3.2, 0.4.0 + From: repo-1.dds.pizza + + +Remote Repositories +******************* + +A remote package repository consists of an HTTP(S) server serving the following: + +1. An accessible directory containing source distributions of various packages, + and +2. An accessible database file that contains a listing of packages and some + repository metadata. + +The exact details of the directory layout and database are not covered here, and +are not necessary to make use of a repository. + +When ``dds`` uses a repository, it pulls down the database file and imports its +contents into its own local database, associating the imported package listings +with the remote repository which provides them. Pulling the entire database at +once allows ``dds`` to perform much faster dependency resolution and reduces +the round-trips associated with using a dynamic package repository. + + +Adding a Repository +=================== + +Adding a remote repository to the local database is a simple single command:: + + $ dds pkg repo add "https://repo-1.dds.pizza" + [info ] Pulling repository contents for repo-1.dds.pizza [https://repo-1.dds.pizza/] + +This will tell ``dds`` to add ``https://repo-1.dds.pizza`` as a remote +repository and immediately pull its package listings for later lookup. This +initial update can be suppressed with the ``--no-update`` flag. + +.. note:: + + After the initial ``pkg repo add``, the repository is *not* identified by its + URL, but by its *name*, which is provided by the repository itself. The name + is printed the first time it is added, and can be seen using ``pkg repo ls``. + + +Listing Repositories +==================== + +A list of package repositories can be seen with the ``pkg repo ls`` subcommand:: + + $ dds pkg repo ls + + +Removing Repositories +===================== + +A repository can be removed by the ``pkg repo remove`` subcommand:: + + $ dds pkg repo remove + +Where ```` is given as the *name* (not URL!) of the repository. + +**Note** that removing a repository will make all of its corresponding remote +packages unavailable, while packages that have been pulled into the local cache +will remain available even after removing a repository. + + +Updating Repository Data +======================== + +Repository data and package listings can be updated with the ``pkg repo update`` +subcommand:: + + $ dds pkg repo update + +This will pull down the databases of all registered remote repositories. If +``dds`` can detect that a repository's database is unchanged since a prior +update, that update will be skipped. + + +The Default Repository +********************** + +When ``dds`` first initializes its local package database, it will add a single +remote repository: ``https://repo-1.dds.pizza/``, which has the name +``repo-1.dds.pizza``. At the time of writing, this is the only official ``dds`` +repository, and is populated sparsely with hand-curated and prepared packages. +In the future, the catalog of packages will grow and be partially automated. + +There is nothing intrinsically special about this repository other than it being +the default when ``dds`` first creates its package database. It can be removed +as any other, should one want tighter control over package availability. + + +Managing a Repository +********************* + +A ``dds`` repository is simply a directory of static files, so any HTTP server +that can serve from a filesystem can be used as a repository. ``dds`` also +ships with a subcommand, ``repoman``, that can be used to manage a repository +directory. + + +Initializing a Repository +========================= + +Before anything can be done, a directory should be converted to a repository by +using ``repoman init``:: + + $ dds repoman init ./my-repo-dir --name=my-experimental-repo + +This will add the basic metadata into ``./my-repo-dir`` such that ``dds`` will +be able to pull package data from it. + +The ``--name`` argument should be used to give the repository a unique name. The +name should be globally unique to avoid collisions: When ``dds`` pulls a +repository that declares a given name, it will *replace* the package listings +associated with any repository of that name. As such, generic names like +``main`` or ``packages`` shouldn't be used in production. + + +Listing Contents +================ + +The packages in a repository can be listed using ``dds repoman ls ``. +This will simply print each package identifier that is present in the +repository. + + +Importing Source Distributions +============================== + +If you have a source distribution archive, it can be imported with the +appropriately named ``dds repoman import`` command:: + + $ dds repoman import ./my-repo some-pkg@1.2.3.tar.gz + +Multiple archive paths may be provided to import them all at once. + + +Adding a Package by URL +======================= + +A repository can also list packages that it does not host itself. Such a package +listing can be added "by URL," where the URL tells ``dds`` how to pull the +source distribution of the package. Beyond basic HTTP(S) URLs, ``dds`` can also +clone packages via ``git``:: + + $ dds repoman add ./my-repo git+https://github.com/vector-of-bool/neo-fun.git#0.5.2 + +The above URL tells ``dds`` that it can use ``git clone`` against +``https://github.com/vector-of-bool/neo-fun.git`` and ask for tag ``0.5.2`` to +get a source distribution directory that can be imported. Note the fragment on +``git`` URLs! The fragment is required to specify the branch or tag to clone. + +If the package is available on GitHub, ``dds`` has a shorthand URL for that:: + + $ dds repoman add ./my-repo github:vector-of-bool/neo-fun/0.6.0 + +The ``github:`` URL scheme tells ``dds`` to clone from GitHub. A ``github:`` URL +must have exactly three path elements to determine *what* to download: +``github:{owner}/{repository}/{branch-or-tag}``. + +.. note:: + + The ``github:`` URL lacks an *authority* element, and as such *does not* use + the double-slash. + +.. note:: + + ``repoman add`` will immediately attempt to pull a source distribution from + the given URL so that it may import the package's metadata into its listing + database. You cannot add a URL that is not already accessible. + + +Removing Packages +================= + +A package can be removed from a repository with +``dds repoman remove ``, where ```` is the +``@`` of the package to remove. \ No newline at end of file diff --git a/docs/guide/repo.rst b/docs/guide/repo.rst deleted file mode 100644 index 78e95136..00000000 --- a/docs/guide/repo.rst +++ /dev/null @@ -1,92 +0,0 @@ -The Local Package Repository -############################ - -``dds`` maintains a local repository of packages that it has obtained at the -request of a user. The packages themselves are stored as -:doc:`source distributions ` (``dds`` does not store the binaries -that it builds within the repository). - - -Reading Repository Contents -*************************** - -Most times, ``dds`` will manage the repository content silently, but it may be -useful to see what ``dds`` is currently storing away. - -The content of the repostiory can be seen with the ``repo`` subcommand:: - -> dds repo ls - -This will print the names of packages that ``dds`` has downloaded, as well as -the versions of each. - - -Obtaining Packages -****************** - -.. seealso:: See also: :doc:`catalog` - -When ``dds`` builds a package, it will also build the dependency libraries of -that package. In order for the dependency build to succeed, it must have a -local copy of the source distribution of that dependency. - -When ``dds`` performs dependency resolution, it will consider both existing -packages in the local repository, as well as packages that are available from -the :doc:`package catalog `. If the dependency solution requires any -packages that are not in the local repository, it will use the information in -the catalog to obtain a source distribution for each missing package. These -source distributions will automatically be added to the local repository, and -later dependency resolutions will not need to download that package again. - - -Manually Downloading a Dependency -================================= - -It may be useful to obtain a copy of the source distribution of a package -contained in the catalog. The ``catalog get`` command can be used to do this:: - -> dds catalog get @ - -This will obtain the source distribution of the package matching the named -identifier and place that distribution in current working directory, using the -package ID as the name of the source distribution directory:: - - $ dds catalog get spdlog@1.4.2 - [ ... ] - - $ ls . - . - .. - spdlog@1.4.2 - - $ ls ./spdlog@1.4.2/ - include/ - src/ - library.json5 - package.json5 - - -.. _repo.export-local: - -Exporting a Project into the Repository -*************************************** - -``dds`` can only use packages that are available in the local repository. For -packages that have a listing in the catalog, this is not a problem. But if one -is developing a local package and wants to allow it to be used in another local -package, that can be done by exporting a source distribution from the package -root:: - -> dds sdist export - -This command will create a source distribution and place it in the local -repository. The package is now available to other projects on the local system. - -.. note:: - This doesn't export in "editable" mode: A snapshot of the package root - will be taken and exported to the local repository. - -If one tries to export a package root into a repository that already contains -a package with a matching identifier, ``dds`` will issue an error. If the -``--replace`` flag is specified with ``sdist export``, then ``dds`` will -forcibly replace the package in the local repository with a new copy. diff --git a/docs/guide/source-dists.rst b/docs/guide/source-dists.rst index e777a194..32c214ec 100644 --- a/docs/guide/source-dists.rst +++ b/docs/guide/source-dists.rst @@ -1,9 +1,9 @@ Source Distributions #################### -A *source distribution* is ``dds``'s primary format for consuming and -distributing packages. A source distribution, in essence, is a -:ref:`package root ` archive that contains only the files +A *source distribution* (often abbreviated as "sdist") is ``dds``'s primary +format for consuming and distributing packages. A source distribution, in +essence, is a :ref:`package root ` that contains only the files necessary for ``dds`` to reproduce the full build of all libraries in the package. The source distribution retains the directory structure of every :ref:`source root ` of the original package, and thus retains @@ -18,7 +18,7 @@ Generating a Source Distribution Generating a source distribution from a project directory is done with the ``sdist`` subcommand:: -> dds sdist create +> dds pkg create The above command can be executed within a package root, and the result will be a gzip'd tar archive that reproduces the package's filesystem structure, but @@ -26,8 +26,8 @@ only maintaining the files that are necessary for ``dds`` to reproduce a build of that package. The ``--project=`` flag can be provided to override the directory that -``dds`` will use as the package root. The default is the working directory of -the project. +``dds`` will use as the package root. The default is the current working +directory. The ``--out=`` flag can be provided to override the destination path of the archive. The path should not name an existing file or directory. By default, @@ -37,10 +37,32 @@ then ``dds`` will overwrite the destination if it names an existing file or directory. -Importing a Source Ditsribution +.. _sdist.import: + +Importing a Source Distribution ******************************* Given a source distribution archive, one can import the package into the local -repository with a single command:: +package cache with a single command:: + +> dds pkg import some-package@1.2.3.tar.gz + +You can also specify an HTTP or HTTPS URL to download a source distribution +archive to import without downloading it separately:: + +> dds pkg import https://example.org/path/to/sdist.tar.gz + +Alternatively, if a directory correctly models a source distribution, then +that directory can be imported in the same manner:: + +> dds pkg import /path/to/some/project + +Importing a package will allow projects on the system to use the imported +package as a dependency. + +.. note:: -> dds repo import some-package@1.2.3.tar.gz + If one tries to import a package root into the cache that already contains a + package with a matching identifier, ``dds`` will issue an error. This + behavior can be overridden by providing ``--if-exists=replace`` on the + command-line. diff --git a/docs/guide/toolchains.rst b/docs/guide/toolchains.rst index fabf9e9c..26282e89 100644 --- a/docs/guide/toolchains.rst +++ b/docs/guide/toolchains.rst @@ -299,6 +299,16 @@ Specify *additional* compiler options, possibly per-language. Specify *additional* link options to use when linking executables. +.. note:: + + ``dds`` does not invoke the linker directly, but instead invokes the + compiler with the appropriate flags to perform linking. If you need to pass + flags directly to the linker, you will need to use the compiler's options to + direct flags through to the linker. On GNU-style, this is + ``-Wl,``. With MSVC, a separate flag ``/LINK`` must be + specified, and all following options are passed to the underlying + ``link.exe``. + ``optimize`` ------------ diff --git a/docs/howto/cmake.rst b/docs/howto/cmake.rst new file mode 100644 index 00000000..57e40d36 --- /dev/null +++ b/docs/howto/cmake.rst @@ -0,0 +1,214 @@ +How Do I Use ``dds`` in a CMake Project? +######################################## + +.. highlight:: cmake + +If you have a CMake project and you wish to pull your dependencies via ``dds``, +you're in luck: Such a process is explicitly supported. Here's the recommended +approach: + +#. Download `PMM`_ and place and commit `the PMM script `_ into your + CMake project. [#f1]_ +#. In your ``CMakeLists.txt``, ``include()`` ``pmm.cmake``. +#. Call ``pmm(DDS)`` and list your dependencies. + +Below, we'll walk through this in more detail. + +.. note:: + + You don't even have to have ``dds`` downloaded and present on your system to + use ``dds`` in PMM! Read on... + + +Using PMM +********* + +`PMM`_ is the *Package Manager Manager* for CMake, and is designed to offer +greater integration between a CMake build and an external package management +tool. `PMM`_ supports Conan, vcpkg, and, of course, ``dds``. + +.. seealso:: + + Refer to the ``README.md`` file in `the PMM repo `_ for information on + how to use PMM. + + +Getting PMM +=========== + +To use PMM, you need to download one only file and commit it to your project: +`pmm.cmake`_, the entrypoint for PMM [#f1]_. It is not significant where the +``pmm.cmake`` script is placed, but it should be noted for inclusion. + +``pmm.cmake`` should be committed to the project because it contains version +pinning settings for PMM and can be customized on a per-project basis to alter +its behavior for a particular project's needs. + + +Including PMM +============= + +Suppose I have downloaded and committed `pmm.cmake`_ into the ``tools/`` +subdirectory of my CMake project. To use it in CMake, I first need to +``include()`` the script. The simplest way is to simply ``include()`` the file + +.. code-block:: + :caption: CMakeLists.txt + :emphasize-lines: 4 + + cmake_minimum_required(VERSION 3.12) + project(MyApplication VERSION 2.1.3) + + include(tools/pmm.cmake) + +The ``include()`` command should specify the path to ``pmm.cmake``, including +the file extension, relative to the directory that contains the CMake script +that contains the ``include()`` command. + + +Running PMM +=========== + +Simply ``include()``-ing PMM won't do much, because we need to actually *invoke +it*. + +PMM's main CMake command is ``pmm()``. It takes a variety of options and +arguments for the package managers it supports, but we'll only focus on ``dds`` +for now. + +The basic signature of the ``pmm(DDS)`` command looks like this:: + + pmm(DDS [DEP_FILES [filepaths...]] + [DEPENDS [dependencies...]] + [TOOLCHAIN file-or-id]) + +The most straightforward usage is to use only the ``DEPENDS`` argument. For +example, if we want to import `{fmt} `_:: + + pmm(DDS DEPENDS "fmt^7.0.3") + +When CMake executes the ``pmm(DDS ...)`` line above, PMM will download the +appropriate ``dds`` executable for your platform, generate +:doc:`a dds toolchain ` based on the CMake environment, and +then invoke ``dds build-deps`` to build the dependencies that were listed in the +``pmm()`` invocation. The results from ``build-deps`` are then imported into +CMake as ``IMPORTED`` targets that can be used by the containing CMake project. + +.. seealso:: + + For more in-depth discussion on ``dds build-deps``, refer to + :doc:`/guide/build-deps`. + +.. note:: + The ``_deps`` directory and generated CMake imports file will be placed in + the CMake build directory, out of the way of the rest of the project. + +.. note:: + The version of ``dds`` that PMM downloads depends on the version of PMM + that is in use. + + +Using the ``IMPORTED`` Targets +============================== + +Like with ``dds``, CMake wants us to explicitly declare how our build targets +*use* other libraries. After ``pmm(DDS)`` executes, there will be ``IMPORTED`` +targets that can be linked against. + +In ``dds`` (and in libman), a library is identified by a combination of +*namespace* and *name*, joined together with a slash ``/`` character. This +*qualified name* of a library is decided by the original package author or +maintainer, and should be documented. In the case of ``fmt``, the only library +is ``fmt/fmt``. + +When ``pmm(DDS)`` imports a library, it creates a qualified name using a +double-colon "``::``" instead of a slash. As such, our ``fmt/fmt`` is imported +in CMake as ``fmt::fmt``. We can link against it as we would with any other +target:: + + add_executable(my-application app.cpp) + target_link_libraries(my-application PRIVATE fmt::fmt) + +This will allow us to use **{fmt}** in our CMake project as an external +dependency. + +In all, this is our final ``CMakeLists.txt``: + +.. code-block:: + :caption: ``CMakeLists.txt`` + + cmake_minimum_required(VERSION 3.12) + project(MYApplication VERSION 2.1.3) + + include(tools/pmm.cmake) + pmm(DDS DEPENDS fmt^7.0.3) + + add_executable(my-application app.cpp) + target_link_libraries(my-application PRIVATE fmt::fmt) + + +Changing Compile Options +************************ + +``dds`` supports setting compilation options using +:doc:`toolchains `. PMM supports specifying a toolchain using +the ``TOOLCHAIN`` argument:: + + pmm(DDS DEPENDS fmt^7.0.3 TOOLCHAIN my-toolchain.json5) + +Of course, writing a separate toolchain file just for your dependencies can be +tedious. For this reason, PMM will write a toolchain file on-the-fly when it +executes ``dds``. The generated toolchain is created based on the current CMake +settings when ``pmm()`` was executed. + +To add compile options, simply ``add_compile_options``:: + + add_compile_options(-fsanitize=address) + pmm(DDS ...) + +The above will cause all ``dds``-built dependencies to compile with +``-fsanitize=address`` as a command-line option. + +The following CMake variables and directory properties are used to generate the +``dds`` toolchain: + +``COMPILE_OPTIONS`` + Adds additional compiler options. Should be provided by + ``add_compile_options``. + +``COMPILE_DEFINITIONS`` + Add preprocessor definitions. Should be provided by + ``add_compile_definitions`` + +``CXX_STANDARD`` + Control the ``cxx_version`` in the toolchian + +``CMAKE_MSVC_RUNTIME_LIBRARY`` + Sets the ``runtime`` option. This option has limited support for generator + expressions. + +``CMAKE_C_FLAGS`` and ``CMAKE_CXX_FLAGS``, and their per-config variants + Set the basic compile flags for the respective file sypes + +``CXX_COMPILE_LAUNCHER`` + Allow providing a compiler launcher, e.g. ``ccache``. + +.. note:: + + Calls to ``add_compile_options``, ``add_compile_definitions``, or other CMake + settings should appear *before* calling ``pmm(DDS)``, since the toolchain file + is generated and dependencies are built at that point. + + ``add_link_options`` has no effect on the ``dds`` toolchain, as ``dds`` does + not generate any runtime binaries. + +.. rubric:: Footnotes + +.. [#f1] + Do not use ``file(DOWNLOAD)`` to "automatically" obtain `pmm.cmake`_. The + ``pmm.cmake`` script is already built to do this for the rest of PMM. The + `pmm.cmake`_ script itself is very small and is *designed* to be copy-pasted + and committed into other projects. + +.. _PMM: https://github.com/vector-of-bool/pmm +.. _pmm.cmake: https://github.com/vector-of-bool/pmm/raw/master/pmm.cmake diff --git a/docs/howto/deps.rst b/docs/howto/deps.rst new file mode 100644 index 00000000..680d5f38 --- /dev/null +++ b/docs/howto/deps.rst @@ -0,0 +1,124 @@ +How Do I Use Other Libraries as Dependencies? +############################################# + +Of course, fundamental to any build system is the question of consuming +dependencies. ``dds`` takes an approach that is both familiar and novel. + +The *Familiar*: + Dependencies are listed in a project's package manifest file + (``package.json5``, for ``dds``). + + A range of acceptable versions is provided in the package manifest, which + tells ``dds`` and your consumers what versions of a particular dependency are + allowed to be used with your package. + + Transitive dependencies are resolved and pulled the same as if they were + listed in the manifest as well. + +The *Novel*: + ``dds`` does not have a separate "install" step. Instead, whenever a ``dds + build`` is executed, the dependencies are resolved, downloaded, extracted, + and compiled. Of course, ``dds`` caches every step of this process, so you'll + only see the download, extract, and compilation when you add a new dependency, + + Additionally, changes in the toolchain will necessitate that all the + dependencies be re-compiled. Since the compilation of dependencies happens + alongside the main project, the same caching layer that provides incremental + compilation to your own project will be used to perform incremental + compilation of your dependencies as well. + +.. seealso:: :doc:`/guide/interdeps` + + +Listing Package Dependencies +**************************** + +Suppose you have a project and you wish to use +`spdlog `_ for your logging. To begin, we need +to find a ``spdlog`` package. We can search via ``dds pkg search``:: + + $ dds pkg search spdlog + Name: spdlog + Versions: 1.4.0, 1.4.1, 1.4.2, 1.5.0, 1.6.0, 1.6.1, 1.7.0 + From: repo-1.dds.pizza + No description + +.. note:: + If you do not see any results, you may need to add the main repository to + your package database. Refer to :doc:`/guide/remote-pkgs`. + +In the output above, we can see one ``spdlog`` group with several available +versions. Let's pick the newest available, ``1.7.0``. + +If you've followed at least the :doc:`Hello, World tutorial `, +you should have at least a ``package.json5`` file present. Dependencies are +listed in the ``package.json5`` file under the ``depends`` key as an array of +dependency statement strings: + +.. code-block:: js + :emphasize-lines: 5-7 + + { + name: 'my-application', + version: '1.2.3', + namespace: 'myself', + depends: [ + "spdlog^1.7.0" + ] + } + +The string ``"spdlog^1.7.0"`` is a *dependency statement*, and says that we want +``spdlog``, with minimum version ``1.7.0``, but less than version ``2.0.0``. +Refer to :ref:`deps.ranges` for information on the version range syntax. + +This is enough that ``dds`` knows about our dependency, but there is another +step that we need to take: + + +Listing Usage Requirements +************************** + +The ``depends`` is a package-level dependency, but we need to tell ``dds`` that +we want to *use* a library from that package. For this, we need to provide a +``library.json5`` file alongside the ``package.json5`` file. + +.. seealso:: + The ``library.json5`` file is discussed in :ref:`pkgs.libs` and + :ref:`deps.lib-deps`. + +We use the aptly-named ``uses`` key in ``library.json5`` to specify what +libraries we wish to use from our package dependencies. In this case, the +library from ``spdlog`` is named ``spdlog/spdlog``: + +.. code-block:: js + + { + name: 'my-application', + uses: [ + 'spdlog/spdlog' + ] + } + + +Using Dependencies +****************** + +We've prepared our ``package.json5`` and our ``library.json5``, so how do we get +the dependencies and use them in our application? + +Simply *use them*. There is no separate "install" step. Write your application +as normal: + +.. code-block:: cpp + :caption: src/app.main.cpp + + #include + + int main() { + spdlog::info("Hello, dependency!"); + } + +Now, when you run ``dds build``, you'll see ``dds`` automatically download +``spdlog`` *as well as* ``fmt`` (a dependency of ``spdlog``), and then build all +three components *simultaneously*. The result will be an ``app`` executable that +uses ``spdlog``. diff --git a/docs/howto/index.rst b/docs/howto/index.rst new file mode 100644 index 00000000..a57cbbb8 --- /dev/null +++ b/docs/howto/index.rst @@ -0,0 +1,11 @@ +How-To's +######## + +These pages will discuss some common "How-do-I...?" questions. + + +.. toctree:: + :maxdepth: 2 + + deps + cmake diff --git a/docs/index.rst b/docs/index.rst index 840d3c42..48cd11de 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -15,6 +15,7 @@ the :doc:`tut/index` page. :maxdepth: 2 tut/index + howto/index guide/index design dev/index diff --git a/docs/tut/hello-test.rst b/docs/tut/hello-test.rst index 6210e33e..7996233e 100644 --- a/docs/tut/hello-test.rst +++ b/docs/tut/hello-test.rst @@ -98,7 +98,7 @@ leave the condition the same, though: Now running ``dds build`` will print more output that Catch has generated as part of test execution, and we can see the reason for the failing test:: - [16:41:45] [error] Test /_build/test/hello/strings failed! Output: + [error] Test /_build/test/hello/strings failed! Output: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ strings is a Catch v2.10.2 host application. diff --git a/docs/tut/hello-world.rst b/docs/tut/hello-world.rst index 38723285..4cd44311 100644 --- a/docs/tut/hello-world.rst +++ b/docs/tut/hello-world.rst @@ -168,9 +168,9 @@ If you run the ``dds build`` command again, you will now see an error: .. code-block:: text - [12:55:25] [info ] [dds-hello] Link: hello-world - [12:55:25] [info ] [dds-hello] Link: hello-world - 57ms - [12:55:25] [error] Failed to link executable '/_build/hello-world'. + [info ] [dds-hello] Link: hello-world + [info ] [dds-hello] Link: hello-world - 57ms + [error] Failed to link executable '/_build/hello-world'. ... @@ -238,6 +238,10 @@ package root: Rebuilding the project will show no difference at the moment. +.. note:: + You may also use a ``.jsonc`` or ``.json`` file extension. ``dds`` will + search for all of these files, but they will all be parsed as JSON5. + .. seealso:: Creating a single application executable is fine and all, but what if we want to create libraries? See the next page: :doc:`hello-lib` diff --git a/docs/tut/index.rst b/docs/tut/index.rst index 82d392f3..308f2749 100644 --- a/docs/tut/index.rst +++ b/docs/tut/index.rst @@ -5,15 +5,20 @@ The child pages here contain introductory material for getting started with using ``dds``. If you don't know where to start, this will be a good place to begin! +.. seealso:: + + For more focused "how-do-i" topics, refer to :doc:`/howto/index`. + .. note:: - The shell samples in these pages are written with Unix-flavored commands, - but the analogous process will work just as well on Windows systems. - Translate as appropriate. + The shell samples in these pages are written with Unix-flavored commands, + but the analogous process will work just as well on Windows systems. + Translate as appropriate. .. toctree:: - :maxdepth: 2 + :maxdepth: 2 - hello-world - hello-lib - hello-test + install + hello-world + hello-lib + hello-test diff --git a/docs/tut/install.rst b/docs/tut/install.rst new file mode 100644 index 00000000..c1fc2dae --- /dev/null +++ b/docs/tut/install.rst @@ -0,0 +1,154 @@ +Getting/Installing ``dds`` +########################## + +``dds`` ships as a single statically linked executable. It does not have any +installer or distribution package. + + +Downloading +*********** + +Downloads are available on `the main dds website `_ +as well as +`the GitHub Releases page `_. Select the executable appropriate for your platform. + +Alternatively, the appropriate executable can be downloaded directly from the +command-line with an easy-to-remember URL. Using ``curl``: + +.. code-block:: sh + + # For Linux, writes a file in the working directory called "dds" + curl dds.pizza/get/linux -Lo dds + + # For macOS, writes a file in the working directory called "dds" + curl dds.pizza/get/macos -Lo dds + +Or using PowerShell on Windows: + +.. code-block:: powershell + + # Writes a file in the working directory called "dds.exe" + Invoke-WebRequest dds.pizza/get/windows -OutFile dds.exe + +**On Linux, macOS, or other Unix-like system**, you will need to mark the +downloaded file as executable: + +.. code-block:: sh + + # Add the executable bit to the file mode for the file named "dds" + chmod +x dds + + +Installing +********** + +Note that it is not necessary to "install" ``dds`` before it can be used. +``dds`` is a single standalone executable that can be executed in whatever +directory it is placed. If you are running a CI process and need ``dds``, it is +viable to simply download the executable and place it in your source tree and +execute it from that directory. + +**However:** If you want to be able to execute ``dds`` with an unqualified +command name from any shell interpreter, you will need to place ``dds`` on a +directory on your shell's ``PATH`` environment variable. + + +Easy Mode: ``install-yourself`` +=============================== + +``dds`` includes a subcommand "``install-yourself``" that will move its own +executable to a predetermined directory and ensure that it exists on your +``PATH`` environment variable. It is simple enough to run the command:: + + $ ./dds install-yourself + +This will copy the executable ``./dds`` into a user-local directory designated +for containing user-local executable binaries. On Unix-like systems, this is +``~/.local/bin``, and on Windows this is ``%LocalAppData%/bin``. ``dds`` will +also ensure that the destination directory is available on the ``PATH`` +environment variable for your user profile. + +.. note:: + + If ``dds`` reports that is has modified your PATH, you will need to restart + your command line and any other applications that wish to see ``dds`` on your + ``PATH``. + + +Manually: On Unix-like Systems +============================== + +For an **unprivileged, user-specific installation (preferred)**, we recommend +placing ``dds`` in ``~/.local/bin`` (Where ``~`` represents the ``$HOME`` +directory of the current user). + +Although not officially standardized, +`the XDG Base Directory specification `_ +recommends several related directories to live within ``~/.local`` (and ``dds`` +itself follows those recommendations for the most part). +`The systemd file heirarchy `_ +also recommends placing user-local binaries in ``~/.local/bin``, and several +Linux distribution's shell packages add ``~/.local/bin`` to the startup +``$PATH``. + +Placing a file in ``~/.local/bin`` requires no privileges beyond what the +current user can execute, and gives a good isolation to other users on the +system. Other tools (e.g. ``pip``) will also use ``~/.local/bin`` for the +installation of user-local scripts and commands. + +.. note:: + + On some shells, ``~/.local/bin`` is not an entry on ``$PATH`` by default. + Check if your shell's default ``$PATH`` environment variable contains + ``.local/bin``. If it does not, refer to your shell's documentation on how to + add this directory to the startup ``$PATH``. + +For a **system-wide installation**, place the downloaded ``dds`` executable +within the ``/usr/local/bin/`` directory. This will be a directory on the +``PATH`` for any Unix-like system. + +.. note:: + + **DO NOT** place ``dds`` in ``/usr/bin`` or ``/bin``: These are reserved for + your system's package management utilities. + + +Manually: On Windows +==================== + +Unlike Unix-like systems, Windows does not have a directory designated for +user-installed binaries that lives on the ``PATH``. If you have a directory that +you use for custom binaries, simply place ``dds.exe`` in that directory. + +If you are unfamiliar with placing binaries and modifying your ``PATH``, read +on: + +For an **unprivileged, user-specific installation**, ``dds`` should be placed in +a user-local directory, and that directory should be added to the user ``PATH``. + +To emulate what ``dds install-yourself`` does, follow the following steps: + +#. Create a directory ``%LocalAppData%\bin\`` if it does not exist. + + For ``cmd.exe`` + + .. code-block:: batch + + md %LocalAppData%\bin + + Or for PowerShell: + + .. code-block:: powershell + + md $env:LocalAppData\bin + +#. Copy ``dds.exe`` into the ``%LocalAppData%\bin`` directory. +#. Go to the Start Menu, and run "Edit environment variables for your account" +#. In the upper area, find and open the entry for the "Path" variable. +#. Add an entry in "Path" for ``%LocalAppData%\bin``. +#. Confirm your edits. +#. Restart any applications that require the modified environment, including + command-lines. + +If the above steps are performed successfully, you should be able to open a new +command window and execute ``dds --help`` to get the help output. diff --git a/library.jsonc b/library.jsonc index 0d9df8e3..fc5b8fe4 100644 --- a/library.jsonc +++ b/library.jsonc @@ -6,17 +6,21 @@ "microsoft/wil", "range-v3/range-v3", "nlohmann/json", - "neo/sqlite3", "neo/fun", + "neo/sqlite3", "vob/semver", "vob/pubgrub", "vob/json5", "vob/semester", "hanickadot/ctre", - // "neo/io", + "neo/io", + "neo/http", + "neo/url", + "boost/leaf", // Explicit zlib link is required due to linker input order bug. // Can be removed after alpha.5 "zlib/zlib", - "neo/compress" + "neo/compress", + "neargye/magic_enum", ] } \ No newline at end of file diff --git a/mypy.ini b/mypy.ini new file mode 100644 index 00000000..37f011b0 --- /dev/null +++ b/mypy.ini @@ -0,0 +1,6 @@ +[mypy] +strict=True +ignore_missing_imports=True +incremental=True +sqlite_cache=True +mypy_path = tools/ \ No newline at end of file diff --git a/catalog.json b/old-catalog.json similarity index 95% rename from catalog.json rename to old-catalog.json index b2160426..04913f25 100644 --- a/catalog.json +++ b/old-catalog.json @@ -2201,6 +2201,18 @@ "transform": [], "url": "https://github.com/vector-of-bool/neo-buffer.git" } + }, + "0.4.2": { + "depends": [ + "neo-concepts^0.4.0", + "neo-fun^0.4.1" + ], + "description": "Buffer and byte algorithms/types based on those of Asio", + "git": { + "ref": "0.4.2", + "transform": [], + "url": "https://github.com/vector-of-bool/neo-buffer.git" + } } }, "neo-compress": { @@ -2216,6 +2228,32 @@ "transform": [], "url": "https://github.com/vector-of-bool/neo-compress.git" } + }, + "0.1.1": { + "depends": [ + "neo-buffer^0.4.1", + "neo-fun^0.5.0", + "zlib^1.2.9" + ], + "description": "Compression, archiving, etc. for C++20", + "git": { + "ref": "0.1.1", + "transform": [], + "url": "https://github.com/vector-of-bool/neo-compress.git" + } + }, + "0.2.0": { + "depends": [ + "neo-buffer^0.4.1", + "neo-fun^0.5.0", + "zlib^1.2.9" + ], + "description": "Compression, archiving, etc. for C++20", + "git": { + "ref": "0.2.0", + "transform": [], + "url": "https://github.com/vector-of-bool/neo-compress.git" + } } }, "neo-concepts": { @@ -2337,6 +2375,118 @@ "transform": [], "url": "https://github.com/vector-of-bool/neo-fun.git" } + }, + "0.4.2": { + "depends": [], + "description": "Some library components that didn't quite fit anywhere else...", + "git": { + "ref": "0.4.2", + "transform": [], + "url": "https://github.com/vector-of-bool/neo-fun.git" + } + }, + "0.5.0": { + "depends": [], + "description": "Some library components that didn't quite fit anywhere else...", + "git": { + "ref": "0.5.0", + "transform": [], + "url": "https://github.com/vector-of-bool/neo-fun.git" + } + }, + "0.5.1": { + "depends": [], + "description": "Some library components that didn't quite fit anywhere else...", + "git": { + "ref": "0.5.1", + "transform": [], + "url": "https://github.com/vector-of-bool/neo-fun.git" + } + }, + "0.5.2": { + "depends": [], + "description": "Some library components that didn't quite fit anywhere else...", + "git": { + "ref": "0.5.2", + "transform": [], + "url": "https://github.com/vector-of-bool/neo-fun.git" + } + }, + "0.5.3": { + "depends": [], + "description": "Some library components that didn't quite fit anywhere else...", + "git": { + "ref": "0.5.3", + "transform": [], + "url": "https://github.com/vector-of-bool/neo-fun.git" + } + }, + "0.5.4": { + "depends": [], + "description": "Some library components that didn't quite fit anywhere else...", + "git": { + "ref": "0.5.4", + "transform": [], + "url": "https://github.com/vector-of-bool/neo-fun.git" + } + }, + "0.5.5": { + "depends": [], + "description": "Some library components that didn't quite fit anywhere else...", + "git": { + "ref": "0.5.5", + "transform": [], + "url": "https://github.com/vector-of-bool/neo-fun.git" + } + }, + "0.6.0": { + "depends": [], + "description": "Some library components that didn't quite fit anywhere else...", + "git": { + "ref": "0.6.0", + "transform": [], + "url": "https://github.com/vector-of-bool/neo-fun.git" + } + } + }, + "neo-http": { + "0.1.0": { + "depends": [ + "neo-buffer^0.4.2", + "neo-fun^0.5.4" + ], + "description": "A modern HTTP library", + "git": { + "ref": "0.1.0", + "transform": [], + "url": "https://github.com/vector-of-bool/neo-http.git" + } + } + }, + "neo-io": { + "0.1.0": { + "depends": [ + "neo-fun~0.5.4", + "neo-buffer~0.4.2" + ], + "description": "A modern IO library", + "git": { + "ref": "0.1.0", + "transform": [], + "url": "https://github.com/vector-of-bool/neo-io.git" + } + }, + "0.1.1": { + "depends": [ + "neo-fun^0.6.0", + "neo-buffer^0.4.2" + ], + "description": "A modern IO library", + "git": { + "ref": "0.1.1", + "transform": [], + "url": "https://github.com/vector-of-bool/neo-io.git" + } } }, "neo-sqlite3": { @@ -2357,6 +2507,107 @@ "transform": [], "url": "https://github.com/vector-of-bool/neo-sqlite3.git" } + }, + "0.4.0": { + "depends": [ + "neo-fun^0.5.0" + ], + "description": "A modern and low-level C++ SQLite API", + "git": { + "ref": "0.4.0", + "transform": [], + "url": "https://github.com/vector-of-bool/neo-sqlite3.git" + } + }, + "0.4.1": { + "depends": [ + "neo-fun^0.5.0" + ], + "description": "A modern and low-level C++ SQLite API", + "git": { + "ref": "0.4.1", + "transform": [], + "url": "https://github.com/vector-of-bool/neo-sqlite3.git" + } + } + }, + "neo-url": { + "0.1.0": { + "depends": [ + "neo-fun^0.4.1" + ], + "description": "URL parsing and handling library.", + "git": { + "ref": "0.1.0", + "transform": [], + "url": "https://github.com/vector-of-bool/neo-url.git" + } + }, + "0.1.1": { + "depends": [ + "neo-fun^0.4.3" + ], + "description": "URL parsing and handling library.", + "git": { + "ref": "0.1.1", + "transform": [], + "url": "https://github.com/vector-of-bool/neo-url.git" + } + }, + "0.1.2": { + "depends": [ + "neo-fun^0.4.3" + ], + "description": "URL parsing and handling library.", + "git": { + "ref": "0.1.2", + "transform": [], + "url": "https://github.com/vector-of-bool/neo-url.git" + } + }, + "0.2.0": { + "depends": [ + "neo-fun^0.5.5" + ], + "description": "URL parsing and handling library.", + "git": { + "ref": "0.2.0", + "transform": [], + "url": "https://github.com/vector-of-bool/neo-url.git" + } + }, + "0.2.1": { + "depends": [ + "neo-fun^0.5.5" + ], + "description": "URL parsing and handling library.", + "git": { + "ref": "0.2.1", + "transform": [], + "url": "https://github.com/vector-of-bool/neo-url.git" + } + }, + "0.2.2": { + "depends": [ + "neo-fun^0.5.5" + ], + "description": "URL parsing and handling library.", + "git": { + "ref": "0.2.2", + "transform": [], + "url": "https://github.com/vector-of-bool/neo-url.git" + } + }, + "0.2.3": { + "depends": [ + "neo-fun^0.5.5" + ], + "description": "URL parsing and handling library.", + "git": { + "ref": "0.2.3", + "transform": [], + "url": "https://github.com/vector-of-bool/neo-url.git" + } } }, "nlohmann-json": { diff --git a/package.jsonc b/package.jsonc index 987114da..71477be8 100644 --- a/package.jsonc +++ b/package.jsonc @@ -1,22 +1,27 @@ { "$schema": "./res/package-schema.json", "name": "dds", - "version": "0.1.0-alpha.5", + "version": "0.1.0-alpha.6", "namespace": "dds", "depends": [ "spdlog@1.7.0", "ms-wil@2020.3.16", "range-v3@0.11.0", "nlohmann-json@3.7.1", - "neo-sqlite3@0.2.3", - "neo-fun^0.3.2", - "neo-compress^0.1.0", + "neo-sqlite3@0.4.1", + "neo-fun~0.6.0", + "neo-compress~0.2.0", + "neo-url~0.2.3", "semver@0.2.2", "pubgrub@0.2.1", "vob-json5@0.1.5", "vob-semester@0.2.2", "ctre@2.8.1", - "fmt^7.0.3" + "fmt^7.0.3", + "neo-http^0.1.0", + "neo-io^0.1.1", + "boost.leaf~0.3.0", + "magic_enum+0.0.0", ], "test_driver": "Catch-Main" } \ No newline at end of file diff --git a/poetry.lock b/poetry.lock new file mode 100644 index 00000000..a4435521 --- /dev/null +++ b/poetry.lock @@ -0,0 +1,902 @@ +[[package]] +name = "alabaster" +version = "0.7.12" +description = "A configurable sidebar-enabled Sphinx theme" +category = "dev" +optional = false +python-versions = "*" + +[[package]] +name = "apipkg" +version = "1.5" +description = "apipkg: namespace control and lazy-import mechanism" +category = "main" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" + +[[package]] +name = "astroid" +version = "2.4.2" +description = "An abstract syntax tree for Python with inference support." +category = "dev" +optional = false +python-versions = ">=3.5" + +[package.dependencies] +lazy-object-proxy = ">=1.4.0,<1.5.0" +six = ">=1.12,<2.0" +typed-ast = {version = ">=1.4.0,<1.5", markers = "implementation_name == \"cpython\" and python_version < \"3.8\""} +wrapt = ">=1.11,<2.0" + +[[package]] +name = "atomicwrites" +version = "1.4.0" +description = "Atomic file writes." +category = "main" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" + +[[package]] +name = "attrs" +version = "20.3.0" +description = "Classes Without Boilerplate" +category = "main" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" + +[package.extras] +dev = ["coverage[toml] (>=5.0.2)", "hypothesis", "pympler", "pytest (>=4.3.0)", "six", "zope.interface", "furo", "sphinx", "pre-commit"] +docs = ["furo", "sphinx", "zope.interface"] +tests = ["coverage[toml] (>=5.0.2)", "hypothesis", "pympler", "pytest (>=4.3.0)", "six", "zope.interface"] +tests_no_zope = ["coverage[toml] (>=5.0.2)", "hypothesis", "pympler", "pytest (>=4.3.0)", "six"] + +[[package]] +name = "babel" +version = "2.9.0" +description = "Internationalization utilities" +category = "dev" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" + +[package.dependencies] +pytz = ">=2015.7" + +[[package]] +name = "certifi" +version = "2020.12.5" +description = "Python package for providing Mozilla's CA Bundle." +category = "dev" +optional = false +python-versions = "*" + +[[package]] +name = "chardet" +version = "4.0.0" +description = "Universal encoding detector for Python 2 and 3" +category = "dev" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" + +[[package]] +name = "colorama" +version = "0.4.4" +description = "Cross-platform colored terminal text." +category = "main" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" + +[[package]] +name = "distro" +version = "1.5.0" +description = "Distro - an OS platform information API" +category = "main" +optional = false +python-versions = "*" + +[[package]] +name = "docutils" +version = "0.16" +description = "Docutils -- Python Documentation Utilities" +category = "dev" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" + +[[package]] +name = "execnet" +version = "1.7.1" +description = "execnet: rapid multi-Python deployment" +category = "main" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" + +[package.dependencies] +apipkg = ">=1.4" + +[package.extras] +testing = ["pre-commit"] + +[[package]] +name = "idna" +version = "2.10" +description = "Internationalized Domain Names in Applications (IDNA)" +category = "dev" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" + +[[package]] +name = "imagesize" +version = "1.2.0" +description = "Getting image size from png/jpeg/jpeg2000/gif file" +category = "dev" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" + +[[package]] +name = "importlib-metadata" +version = "3.1.1" +description = "Read metadata from Python packages" +category = "main" +optional = false +python-versions = ">=3.6" + +[package.dependencies] +zipp = ">=0.5" + +[package.extras] +docs = ["sphinx", "jaraco.packaging (>=3.2)", "rst.linker (>=1.9)"] +testing = ["pytest (>=3.5,!=3.7.3)", "pytest-checkdocs (>=1.2.3)", "pytest-flake8", "pytest-cov", "jaraco.test (>=3.2.0)", "packaging", "pep517", "pyfakefs", "flufl.flake8", "pytest-black (>=0.3.7)", "pytest-mypy", "importlib-resources (>=1.3)"] + +[[package]] +name = "iniconfig" +version = "1.1.1" +description = "iniconfig: brain-dead simple config-ini parsing" +category = "main" +optional = false +python-versions = "*" + +[[package]] +name = "isort" +version = "5.6.4" +description = "A Python utility / library to sort Python imports." +category = "dev" +optional = false +python-versions = ">=3.6,<4.0" + +[package.extras] +pipfile_deprecated_finder = ["pipreqs", "requirementslib"] +requirements_deprecated_finder = ["pipreqs", "pip-api"] +colors = ["colorama (>=0.4.3,<0.5.0)"] + +[[package]] +name = "jinja2" +version = "2.11.2" +description = "A very fast and expressive template engine." +category = "dev" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" + +[package.dependencies] +MarkupSafe = ">=0.23" + +[package.extras] +i18n = ["Babel (>=0.8)"] + +[[package]] +name = "json5" +version = "0.9.5" +description = "A Python implementation of the JSON5 data format." +category = "main" +optional = false +python-versions = "*" + +[package.extras] +dev = ["hypothesis"] + +[[package]] +name = "lazy-object-proxy" +version = "1.4.3" +description = "A fast and thorough lazy object proxy." +category = "dev" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" + +[[package]] +name = "markupsafe" +version = "1.1.1" +description = "Safely add untrusted strings to HTML/XML markup." +category = "dev" +optional = false +python-versions = ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*" + +[[package]] +name = "mccabe" +version = "0.6.1" +description = "McCabe checker, plugin for flake8" +category = "dev" +optional = false +python-versions = "*" + +[[package]] +name = "mypy" +version = "0.790" +description = "Optional static typing for Python" +category = "dev" +optional = false +python-versions = ">=3.5" + +[package.dependencies] +mypy-extensions = ">=0.4.3,<0.5.0" +typed-ast = ">=1.4.0,<1.5.0" +typing-extensions = ">=3.7.4" + +[package.extras] +dmypy = ["psutil (>=4.0)"] + +[[package]] +name = "mypy-extensions" +version = "0.4.3" +description = "Experimental type system extensions for programs checked with the mypy typechecker." +category = "dev" +optional = false +python-versions = "*" + +[[package]] +name = "packaging" +version = "20.7" +description = "Core utilities for Python packages" +category = "main" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" + +[package.dependencies] +pyparsing = ">=2.0.2" + +[[package]] +name = "pluggy" +version = "0.13.1" +description = "plugin and hook calling mechanisms for python" +category = "main" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" + +[package.dependencies] +importlib-metadata = {version = ">=0.12", markers = "python_version < \"3.8\""} + +[package.extras] +dev = ["pre-commit", "tox"] + +[[package]] +name = "py" +version = "1.9.0" +description = "library with cross-python path, ini-parsing, io, code, log facilities" +category = "main" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" + +[[package]] +name = "pygments" +version = "2.7.3" +description = "Pygments is a syntax highlighting package written in Python." +category = "dev" +optional = false +python-versions = ">=3.5" + +[[package]] +name = "pylint" +version = "2.6.0" +description = "python code static checker" +category = "dev" +optional = false +python-versions = ">=3.5.*" + +[package.dependencies] +astroid = ">=2.4.0,<=2.5" +colorama = {version = "*", markers = "sys_platform == \"win32\""} +isort = ">=4.2.5,<6" +mccabe = ">=0.6,<0.7" +toml = ">=0.7.1" + +[[package]] +name = "pyparsing" +version = "2.4.7" +description = "Python parsing module" +category = "main" +optional = false +python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*" + +[[package]] +name = "pytest" +version = "6.1.2" +description = "pytest: simple powerful testing with Python" +category = "main" +optional = false +python-versions = ">=3.5" + +[package.dependencies] +atomicwrites = {version = ">=1.0", markers = "sys_platform == \"win32\""} +attrs = ">=17.4.0" +colorama = {version = "*", markers = "sys_platform == \"win32\""} +importlib-metadata = {version = ">=0.12", markers = "python_version < \"3.8\""} +iniconfig = "*" +packaging = "*" +pluggy = ">=0.12,<1.0" +py = ">=1.8.2" +toml = "*" + +[package.extras] +checkqa_mypy = ["mypy (==0.780)"] +testing = ["argcomplete", "hypothesis (>=3.56)", "mock", "nose", "requests", "xmlschema"] + +[[package]] +name = "pytest-asyncio" +version = "0.14.0" +description = "Pytest support for asyncio." +category = "main" +optional = false +python-versions = ">= 3.5" + +[package.dependencies] +pytest = ">=5.4.0" + +[package.extras] +testing = ["async-generator (>=1.3)", "coverage", "hypothesis (>=5.7.1)"] + +[[package]] +name = "pytest-forked" +version = "1.3.0" +description = "run tests in isolated forked subprocesses" +category = "main" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" + +[package.dependencies] +py = "*" +pytest = ">=3.10" + +[[package]] +name = "pytest-xdist" +version = "2.1.0" +description = "pytest xdist plugin for distributed testing and loop-on-failing modes" +category = "main" +optional = false +python-versions = ">=3.5" + +[package.dependencies] +execnet = ">=1.1" +pytest = ">=6.0.0" +pytest-forked = "*" + +[package.extras] +psutil = ["psutil (>=3.0)"] +testing = ["filelock"] + +[[package]] +name = "pytz" +version = "2020.5" +description = "World timezone definitions, modern and historical" +category = "dev" +optional = false +python-versions = "*" + +[[package]] +name = "requests" +version = "2.25.1" +description = "Python HTTP for Humans." +category = "dev" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" + +[package.dependencies] +certifi = ">=2017.4.17" +chardet = ">=3.0.2,<5" +idna = ">=2.5,<3" +urllib3 = ">=1.21.1,<1.27" + +[package.extras] +security = ["pyOpenSSL (>=0.14)", "cryptography (>=1.3.4)"] +socks = ["PySocks (>=1.5.6,!=1.5.7)", "win-inet-pton"] + +[[package]] +name = "rope" +version = "0.18.0" +description = "a python refactoring library..." +category = "dev" +optional = false +python-versions = "*" + +[package.extras] +dev = ["pytest"] + +[[package]] +name = "semver" +version = "2.13.0" +description = "Python helper for Semantic Versioning (http://semver.org/)" +category = "main" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" + +[[package]] +name = "six" +version = "1.15.0" +description = "Python 2 and 3 compatibility utilities" +category = "dev" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*" + +[[package]] +name = "snowballstemmer" +version = "2.0.0" +description = "This package provides 26 stemmers for 25 languages generated from Snowball algorithms." +category = "dev" +optional = false +python-versions = "*" + +[[package]] +name = "sphinx" +version = "3.4.1" +description = "Python documentation generator" +category = "dev" +optional = false +python-versions = ">=3.5" + +[package.dependencies] +alabaster = ">=0.7,<0.8" +babel = ">=1.3" +colorama = {version = ">=0.3.5", markers = "sys_platform == \"win32\""} +docutils = ">=0.12" +imagesize = "*" +Jinja2 = ">=2.3" +packaging = "*" +Pygments = ">=2.0" +requests = ">=2.5.0" +snowballstemmer = ">=1.1" +sphinxcontrib-applehelp = "*" +sphinxcontrib-devhelp = "*" +sphinxcontrib-htmlhelp = "*" +sphinxcontrib-jsmath = "*" +sphinxcontrib-qthelp = "*" +sphinxcontrib-serializinghtml = "*" + +[package.extras] +docs = ["sphinxcontrib-websupport"] +lint = ["flake8 (>=3.5.0)", "isort", "mypy (>=0.790)", "docutils-stubs"] +test = ["pytest", "pytest-cov", "html5lib", "cython", "typed-ast"] + +[[package]] +name = "sphinxcontrib-applehelp" +version = "1.0.2" +description = "sphinxcontrib-applehelp is a sphinx extension which outputs Apple help books" +category = "dev" +optional = false +python-versions = ">=3.5" + +[package.extras] +lint = ["flake8", "mypy", "docutils-stubs"] +test = ["pytest"] + +[[package]] +name = "sphinxcontrib-devhelp" +version = "1.0.2" +description = "sphinxcontrib-devhelp is a sphinx extension which outputs Devhelp document." +category = "dev" +optional = false +python-versions = ">=3.5" + +[package.extras] +lint = ["flake8", "mypy", "docutils-stubs"] +test = ["pytest"] + +[[package]] +name = "sphinxcontrib-htmlhelp" +version = "1.0.3" +description = "sphinxcontrib-htmlhelp is a sphinx extension which renders HTML help files" +category = "dev" +optional = false +python-versions = ">=3.5" + +[package.extras] +lint = ["flake8", "mypy", "docutils-stubs"] +test = ["pytest", "html5lib"] + +[[package]] +name = "sphinxcontrib-jsmath" +version = "1.0.1" +description = "A sphinx extension which renders display math in HTML via JavaScript" +category = "dev" +optional = false +python-versions = ">=3.5" + +[package.extras] +test = ["pytest", "flake8", "mypy"] + +[[package]] +name = "sphinxcontrib-qthelp" +version = "1.0.3" +description = "sphinxcontrib-qthelp is a sphinx extension which outputs QtHelp document." +category = "dev" +optional = false +python-versions = ">=3.5" + +[package.extras] +lint = ["flake8", "mypy", "docutils-stubs"] +test = ["pytest"] + +[[package]] +name = "sphinxcontrib-serializinghtml" +version = "1.1.4" +description = "sphinxcontrib-serializinghtml is a sphinx extension which outputs \"serialized\" HTML files (json and pickle)." +category = "dev" +optional = false +python-versions = ">=3.5" + +[package.extras] +lint = ["flake8", "mypy", "docutils-stubs"] +test = ["pytest"] + +[[package]] +name = "toml" +version = "0.10.2" +description = "Python Library for Tom's Obvious, Minimal Language" +category = "main" +optional = false +python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*" + +[[package]] +name = "typed-ast" +version = "1.4.1" +description = "a fork of Python 2 and 3 ast modules with type comment support" +category = "dev" +optional = false +python-versions = "*" + +[[package]] +name = "typing-extensions" +version = "3.7.4.3" +description = "Backported and Experimental Type Hints for Python 3.5+" +category = "main" +optional = false +python-versions = "*" + +[[package]] +name = "urllib3" +version = "1.26.2" +description = "HTTP library with thread-safe connection pooling, file post, and more." +category = "dev" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, <4" + +[package.extras] +brotli = ["brotlipy (>=0.6.0)"] +secure = ["pyOpenSSL (>=0.14)", "cryptography (>=1.3.4)", "idna (>=2.0.0)", "certifi", "ipaddress"] +socks = ["PySocks (>=1.5.6,!=1.5.7,<2.0)"] + +[[package]] +name = "wrapt" +version = "1.12.1" +description = "Module for decorators, wrappers and monkey patching." +category = "dev" +optional = false +python-versions = "*" + +[[package]] +name = "yapf" +version = "0.30.0" +description = "A formatter for Python code." +category = "dev" +optional = false +python-versions = "*" + +[[package]] +name = "zipp" +version = "3.4.0" +description = "Backport of pathlib-compatible object wrapper for zip files" +category = "main" +optional = false +python-versions = ">=3.6" + +[package.extras] +docs = ["sphinx", "jaraco.packaging (>=3.2)", "rst.linker (>=1.9)"] +testing = ["pytest (>=3.5,!=3.7.3)", "pytest-checkdocs (>=1.2.3)", "pytest-flake8", "pytest-cov", "jaraco.test (>=3.2.0)", "jaraco.itertools", "func-timeout", "pytest-black (>=0.3.7)", "pytest-mypy"] + +[metadata] +lock-version = "1.1" +python-versions = "^3.6" +content-hash = "d762128dfce333176ad89e2c60a91113c56efff1539f9ca1c7ab490c7ac05067" + +[metadata.files] +alabaster = [ + {file = "alabaster-0.7.12-py2.py3-none-any.whl", hash = "sha256:446438bdcca0e05bd45ea2de1668c1d9b032e1a9154c2c259092d77031ddd359"}, + {file = "alabaster-0.7.12.tar.gz", hash = "sha256:a661d72d58e6ea8a57f7a86e37d86716863ee5e92788398526d58b26a4e4dc02"}, +] +apipkg = [ + {file = "apipkg-1.5-py2.py3-none-any.whl", hash = "sha256:58587dd4dc3daefad0487f6d9ae32b4542b185e1c36db6993290e7c41ca2b47c"}, + {file = "apipkg-1.5.tar.gz", hash = "sha256:37228cda29411948b422fae072f57e31d3396d2ee1c9783775980ee9c9990af6"}, +] +astroid = [ + {file = "astroid-2.4.2-py3-none-any.whl", hash = "sha256:bc58d83eb610252fd8de6363e39d4f1d0619c894b0ed24603b881c02e64c7386"}, + {file = "astroid-2.4.2.tar.gz", hash = "sha256:2f4078c2a41bf377eea06d71c9d2ba4eb8f6b1af2135bec27bbbb7d8f12bb703"}, +] +atomicwrites = [ + {file = "atomicwrites-1.4.0-py2.py3-none-any.whl", hash = "sha256:6d1784dea7c0c8d4a5172b6c620f40b6e4cbfdf96d783691f2e1302a7b88e197"}, + {file = "atomicwrites-1.4.0.tar.gz", hash = "sha256:ae70396ad1a434f9c7046fd2dd196fc04b12f9e91ffb859164193be8b6168a7a"}, +] +attrs = [ + {file = "attrs-20.3.0-py2.py3-none-any.whl", hash = "sha256:31b2eced602aa8423c2aea9c76a724617ed67cf9513173fd3a4f03e3a929c7e6"}, + {file = "attrs-20.3.0.tar.gz", hash = "sha256:832aa3cde19744e49938b91fea06d69ecb9e649c93ba974535d08ad92164f700"}, +] +babel = [ + {file = "Babel-2.9.0-py2.py3-none-any.whl", hash = "sha256:9d35c22fcc79893c3ecc85ac4a56cde1ecf3f19c540bba0922308a6c06ca6fa5"}, + {file = "Babel-2.9.0.tar.gz", hash = "sha256:da031ab54472314f210b0adcff1588ee5d1d1d0ba4dbd07b94dba82bde791e05"}, +] +certifi = [ + {file = "certifi-2020.12.5-py2.py3-none-any.whl", hash = "sha256:719a74fb9e33b9bd44cc7f3a8d94bc35e4049deebe19ba7d8e108280cfd59830"}, + {file = "certifi-2020.12.5.tar.gz", hash = "sha256:1a4995114262bffbc2413b159f2a1a480c969de6e6eb13ee966d470af86af59c"}, +] +chardet = [ + {file = "chardet-4.0.0-py2.py3-none-any.whl", hash = "sha256:f864054d66fd9118f2e67044ac8981a54775ec5b67aed0441892edb553d21da5"}, + {file = "chardet-4.0.0.tar.gz", hash = "sha256:0d6f53a15db4120f2b08c94f11e7d93d2c911ee118b6b30a04ec3ee8310179fa"}, +] +colorama = [ + {file = "colorama-0.4.4-py2.py3-none-any.whl", hash = "sha256:9f47eda37229f68eee03b24b9748937c7dc3868f906e8ba69fbcbdd3bc5dc3e2"}, + {file = "colorama-0.4.4.tar.gz", hash = "sha256:5941b2b48a20143d2267e95b1c2a7603ce057ee39fd88e7329b0c292aa16869b"}, +] +distro = [ + {file = "distro-1.5.0-py2.py3-none-any.whl", hash = "sha256:df74eed763e18d10d0da624258524ae80486432cd17392d9c3d96f5e83cd2799"}, + {file = "distro-1.5.0.tar.gz", hash = "sha256:0e58756ae38fbd8fc3020d54badb8eae17c5b9dcbed388b17bb55b8a5928df92"}, +] +docutils = [ + {file = "docutils-0.16-py2.py3-none-any.whl", hash = "sha256:0c5b78adfbf7762415433f5515cd5c9e762339e23369dbe8000d84a4bf4ab3af"}, + {file = "docutils-0.16.tar.gz", hash = "sha256:c2de3a60e9e7d07be26b7f2b00ca0309c207e06c100f9cc2a94931fc75a478fc"}, +] +execnet = [ + {file = "execnet-1.7.1-py2.py3-none-any.whl", hash = "sha256:d4efd397930c46415f62f8a31388d6be4f27a91d7550eb79bc64a756e0056547"}, + {file = "execnet-1.7.1.tar.gz", hash = "sha256:cacb9df31c9680ec5f95553976c4da484d407e85e41c83cb812aa014f0eddc50"}, +] +idna = [ + {file = "idna-2.10-py2.py3-none-any.whl", hash = "sha256:b97d804b1e9b523befed77c48dacec60e6dcb0b5391d57af6a65a312a90648c0"}, + {file = "idna-2.10.tar.gz", hash = "sha256:b307872f855b18632ce0c21c5e45be78c0ea7ae4c15c828c20788b26921eb3f6"}, +] +imagesize = [ + {file = "imagesize-1.2.0-py2.py3-none-any.whl", hash = "sha256:6965f19a6a2039c7d48bca7dba2473069ff854c36ae6f19d2cde309d998228a1"}, + {file = "imagesize-1.2.0.tar.gz", hash = "sha256:b1f6b5a4eab1f73479a50fb79fcf729514a900c341d8503d62a62dbc4127a2b1"}, +] +importlib-metadata = [ + {file = "importlib_metadata-3.1.1-py3-none-any.whl", hash = "sha256:6112e21359ef8f344e7178aa5b72dc6e62b38b0d008e6d3cb212c5b84df72013"}, + {file = "importlib_metadata-3.1.1.tar.gz", hash = "sha256:b0c2d3b226157ae4517d9625decf63591461c66b3a808c2666d538946519d170"}, +] +iniconfig = [ + {file = "iniconfig-1.1.1-py2.py3-none-any.whl", hash = "sha256:011e24c64b7f47f6ebd835bb12a743f2fbe9a26d4cecaa7f53bc4f35ee9da8b3"}, + {file = "iniconfig-1.1.1.tar.gz", hash = "sha256:bc3af051d7d14b2ee5ef9969666def0cd1a000e121eaea580d4a313df4b37f32"}, +] +isort = [ + {file = "isort-5.6.4-py3-none-any.whl", hash = "sha256:dcab1d98b469a12a1a624ead220584391648790275560e1a43e54c5dceae65e7"}, + {file = "isort-5.6.4.tar.gz", hash = "sha256:dcaeec1b5f0eca77faea2a35ab790b4f3680ff75590bfcb7145986905aab2f58"}, +] +jinja2 = [ + {file = "Jinja2-2.11.2-py2.py3-none-any.whl", hash = "sha256:f0a4641d3cf955324a89c04f3d94663aa4d638abe8f733ecd3582848e1c37035"}, + {file = "Jinja2-2.11.2.tar.gz", hash = "sha256:89aab215427ef59c34ad58735269eb58b1a5808103067f7bb9d5836c651b3bb0"}, +] +json5 = [ + {file = "json5-0.9.5-py2.py3-none-any.whl", hash = "sha256:af1a1b9a2850c7f62c23fde18be4749b3599fd302f494eebf957e2ada6b9e42c"}, + {file = "json5-0.9.5.tar.gz", hash = "sha256:703cfee540790576b56a92e1c6aaa6c4b0d98971dc358ead83812aa4d06bdb96"}, +] +lazy-object-proxy = [ + {file = "lazy-object-proxy-1.4.3.tar.gz", hash = "sha256:f3900e8a5de27447acbf900b4750b0ddfd7ec1ea7fbaf11dfa911141bc522af0"}, + {file = "lazy_object_proxy-1.4.3-cp27-cp27m-macosx_10_13_x86_64.whl", hash = "sha256:a2238e9d1bb71a56cd710611a1614d1194dc10a175c1e08d75e1a7bcc250d442"}, + {file = "lazy_object_proxy-1.4.3-cp27-cp27m-win32.whl", hash = "sha256:efa1909120ce98bbb3777e8b6f92237f5d5c8ea6758efea36a473e1d38f7d3e4"}, + {file = "lazy_object_proxy-1.4.3-cp27-cp27m-win_amd64.whl", hash = "sha256:4677f594e474c91da97f489fea5b7daa17b5517190899cf213697e48d3902f5a"}, + {file = "lazy_object_proxy-1.4.3-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:0c4b206227a8097f05c4dbdd323c50edf81f15db3b8dc064d08c62d37e1a504d"}, + {file = "lazy_object_proxy-1.4.3-cp34-cp34m-manylinux1_x86_64.whl", hash = "sha256:d945239a5639b3ff35b70a88c5f2f491913eb94871780ebfabb2568bd58afc5a"}, + {file = "lazy_object_proxy-1.4.3-cp34-cp34m-win32.whl", hash = "sha256:9651375199045a358eb6741df3e02a651e0330be090b3bc79f6d0de31a80ec3e"}, + {file = "lazy_object_proxy-1.4.3-cp34-cp34m-win_amd64.whl", hash = "sha256:eba7011090323c1dadf18b3b689845fd96a61ba0a1dfbd7f24b921398affc357"}, + {file = "lazy_object_proxy-1.4.3-cp35-cp35m-manylinux1_x86_64.whl", hash = "sha256:48dab84ebd4831077b150572aec802f303117c8cc5c871e182447281ebf3ac50"}, + {file = "lazy_object_proxy-1.4.3-cp35-cp35m-win32.whl", hash = "sha256:ca0a928a3ddbc5725be2dd1cf895ec0a254798915fb3a36af0964a0a4149e3db"}, + {file = "lazy_object_proxy-1.4.3-cp35-cp35m-win_amd64.whl", hash = "sha256:194d092e6f246b906e8f70884e620e459fc54db3259e60cf69a4d66c3fda3449"}, + {file = "lazy_object_proxy-1.4.3-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:97bb5884f6f1cdce0099f86b907aa41c970c3c672ac8b9c8352789e103cf3156"}, + {file = "lazy_object_proxy-1.4.3-cp36-cp36m-win32.whl", hash = "sha256:cb2c7c57005a6804ab66f106ceb8482da55f5314b7fcb06551db1edae4ad1531"}, + {file = "lazy_object_proxy-1.4.3-cp36-cp36m-win_amd64.whl", hash = "sha256:8d859b89baf8ef7f8bc6b00aa20316483d67f0b1cbf422f5b4dc56701c8f2ffb"}, + {file = "lazy_object_proxy-1.4.3-cp37-cp37m-macosx_10_13_x86_64.whl", hash = "sha256:1be7e4c9f96948003609aa6c974ae59830a6baecc5376c25c92d7d697e684c08"}, + {file = "lazy_object_proxy-1.4.3-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:d74bb8693bf9cf75ac3b47a54d716bbb1a92648d5f781fc799347cfc95952383"}, + {file = "lazy_object_proxy-1.4.3-cp37-cp37m-win32.whl", hash = "sha256:9b15f3f4c0f35727d3a0fba4b770b3c4ebbb1fa907dbcc046a1d2799f3edd142"}, + {file = "lazy_object_proxy-1.4.3-cp37-cp37m-win_amd64.whl", hash = "sha256:9254f4358b9b541e3441b007a0ea0764b9d056afdeafc1a5569eee1cc6c1b9ea"}, + {file = "lazy_object_proxy-1.4.3-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:a6ae12d08c0bf9909ce12385803a543bfe99b95fe01e752536a60af2b7797c62"}, + {file = "lazy_object_proxy-1.4.3-cp38-cp38-win32.whl", hash = "sha256:5541cada25cd173702dbd99f8e22434105456314462326f06dba3e180f203dfd"}, + {file = "lazy_object_proxy-1.4.3-cp38-cp38-win_amd64.whl", hash = "sha256:59f79fef100b09564bc2df42ea2d8d21a64fdcda64979c0fa3db7bdaabaf6239"}, +] +markupsafe = [ + {file = "MarkupSafe-1.1.1-cp27-cp27m-macosx_10_6_intel.whl", hash = "sha256:09027a7803a62ca78792ad89403b1b7a73a01c8cb65909cd876f7fcebd79b161"}, + {file = "MarkupSafe-1.1.1-cp27-cp27m-manylinux1_i686.whl", hash = "sha256:e249096428b3ae81b08327a63a485ad0878de3fb939049038579ac0ef61e17e7"}, + {file = "MarkupSafe-1.1.1-cp27-cp27m-manylinux1_x86_64.whl", hash = "sha256:500d4957e52ddc3351cabf489e79c91c17f6e0899158447047588650b5e69183"}, + {file = "MarkupSafe-1.1.1-cp27-cp27m-win32.whl", hash = "sha256:b2051432115498d3562c084a49bba65d97cf251f5a331c64a12ee7e04dacc51b"}, + {file = "MarkupSafe-1.1.1-cp27-cp27m-win_amd64.whl", hash = "sha256:98c7086708b163d425c67c7a91bad6e466bb99d797aa64f965e9d25c12111a5e"}, + {file = "MarkupSafe-1.1.1-cp27-cp27mu-manylinux1_i686.whl", hash = "sha256:cd5df75523866410809ca100dc9681e301e3c27567cf498077e8551b6d20e42f"}, + {file = "MarkupSafe-1.1.1-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:43a55c2930bbc139570ac2452adf3d70cdbb3cfe5912c71cdce1c2c6bbd9c5d1"}, + {file = "MarkupSafe-1.1.1-cp34-cp34m-macosx_10_6_intel.whl", hash = "sha256:1027c282dad077d0bae18be6794e6b6b8c91d58ed8a8d89a89d59693b9131db5"}, + {file = "MarkupSafe-1.1.1-cp34-cp34m-manylinux1_i686.whl", hash = "sha256:62fe6c95e3ec8a7fad637b7f3d372c15ec1caa01ab47926cfdf7a75b40e0eac1"}, + {file = "MarkupSafe-1.1.1-cp34-cp34m-manylinux1_x86_64.whl", hash = "sha256:88e5fcfb52ee7b911e8bb6d6aa2fd21fbecc674eadd44118a9cc3863f938e735"}, + {file = "MarkupSafe-1.1.1-cp34-cp34m-win32.whl", hash = "sha256:ade5e387d2ad0d7ebf59146cc00c8044acbd863725f887353a10df825fc8ae21"}, + {file = "MarkupSafe-1.1.1-cp34-cp34m-win_amd64.whl", hash = "sha256:09c4b7f37d6c648cb13f9230d847adf22f8171b1ccc4d5682398e77f40309235"}, + {file = "MarkupSafe-1.1.1-cp35-cp35m-macosx_10_6_intel.whl", hash = "sha256:79855e1c5b8da654cf486b830bd42c06e8780cea587384cf6545b7d9ac013a0b"}, + {file = "MarkupSafe-1.1.1-cp35-cp35m-manylinux1_i686.whl", hash = "sha256:c8716a48d94b06bb3b2524c2b77e055fb313aeb4ea620c8dd03a105574ba704f"}, + {file = "MarkupSafe-1.1.1-cp35-cp35m-manylinux1_x86_64.whl", hash = "sha256:7c1699dfe0cf8ff607dbdcc1e9b9af1755371f92a68f706051cc8c37d447c905"}, + {file = "MarkupSafe-1.1.1-cp35-cp35m-win32.whl", hash = "sha256:6dd73240d2af64df90aa7c4e7481e23825ea70af4b4922f8ede5b9e35f78a3b1"}, + {file = "MarkupSafe-1.1.1-cp35-cp35m-win_amd64.whl", hash = "sha256:9add70b36c5666a2ed02b43b335fe19002ee5235efd4b8a89bfcf9005bebac0d"}, + {file = "MarkupSafe-1.1.1-cp36-cp36m-macosx_10_6_intel.whl", hash = "sha256:24982cc2533820871eba85ba648cd53d8623687ff11cbb805be4ff7b4c971aff"}, + {file = "MarkupSafe-1.1.1-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:00bc623926325b26bb9605ae9eae8a215691f33cae5df11ca5424f06f2d1f473"}, + {file = "MarkupSafe-1.1.1-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:717ba8fe3ae9cc0006d7c451f0bb265ee07739daf76355d06366154ee68d221e"}, + {file = "MarkupSafe-1.1.1-cp36-cp36m-win32.whl", hash = "sha256:535f6fc4d397c1563d08b88e485c3496cf5784e927af890fb3c3aac7f933ec66"}, + {file = "MarkupSafe-1.1.1-cp36-cp36m-win_amd64.whl", hash = "sha256:b1282f8c00509d99fef04d8ba936b156d419be841854fe901d8ae224c59f0be5"}, + {file = "MarkupSafe-1.1.1-cp37-cp37m-macosx_10_6_intel.whl", hash = "sha256:8defac2f2ccd6805ebf65f5eeb132adcf2ab57aa11fdf4c0dd5169a004710e7d"}, + {file = "MarkupSafe-1.1.1-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:46c99d2de99945ec5cb54f23c8cd5689f6d7177305ebff350a58ce5f8de1669e"}, + {file = "MarkupSafe-1.1.1-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:ba59edeaa2fc6114428f1637ffff42da1e311e29382d81b339c1817d37ec93c6"}, + {file = "MarkupSafe-1.1.1-cp37-cp37m-win32.whl", hash = "sha256:b00c1de48212e4cc9603895652c5c410df699856a2853135b3967591e4beebc2"}, + {file = "MarkupSafe-1.1.1-cp37-cp37m-win_amd64.whl", hash = "sha256:9bf40443012702a1d2070043cb6291650a0841ece432556f784f004937f0f32c"}, + {file = "MarkupSafe-1.1.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:6788b695d50a51edb699cb55e35487e430fa21f1ed838122d722e0ff0ac5ba15"}, + {file = "MarkupSafe-1.1.1-cp38-cp38-manylinux1_i686.whl", hash = "sha256:cdb132fc825c38e1aeec2c8aa9338310d29d337bebbd7baa06889d09a60a1fa2"}, + {file = "MarkupSafe-1.1.1-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:13d3144e1e340870b25e7b10b98d779608c02016d5184cfb9927a9f10c689f42"}, + {file = "MarkupSafe-1.1.1-cp38-cp38-win32.whl", hash = "sha256:596510de112c685489095da617b5bcbbac7dd6384aeebeda4df6025d0256a81b"}, + {file = "MarkupSafe-1.1.1-cp38-cp38-win_amd64.whl", hash = "sha256:e8313f01ba26fbbe36c7be1966a7b7424942f670f38e666995b88d012765b9be"}, + {file = "MarkupSafe-1.1.1.tar.gz", hash = "sha256:29872e92839765e546828bb7754a68c418d927cd064fd4708fab9fe9c8bb116b"}, +] +mccabe = [ + {file = "mccabe-0.6.1-py2.py3-none-any.whl", hash = "sha256:ab8a6258860da4b6677da4bd2fe5dc2c659cff31b3ee4f7f5d64e79735b80d42"}, + {file = "mccabe-0.6.1.tar.gz", hash = "sha256:dd8d182285a0fe56bace7f45b5e7d1a6ebcbf524e8f3bd87eb0f125271b8831f"}, +] +mypy = [ + {file = "mypy-0.790-cp35-cp35m-macosx_10_6_x86_64.whl", hash = "sha256:bd03b3cf666bff8d710d633d1c56ab7facbdc204d567715cb3b9f85c6e94f669"}, + {file = "mypy-0.790-cp35-cp35m-manylinux1_x86_64.whl", hash = "sha256:2170492030f6faa537647d29945786d297e4862765f0b4ac5930ff62e300d802"}, + {file = "mypy-0.790-cp35-cp35m-win_amd64.whl", hash = "sha256:e86bdace26c5fe9cf8cb735e7cedfe7850ad92b327ac5d797c656717d2ca66de"}, + {file = "mypy-0.790-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:e97e9c13d67fbe524be17e4d8025d51a7dca38f90de2e462243ab8ed8a9178d1"}, + {file = "mypy-0.790-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:0d34d6b122597d48a36d6c59e35341f410d4abfa771d96d04ae2c468dd201abc"}, + {file = "mypy-0.790-cp36-cp36m-win_amd64.whl", hash = "sha256:72060bf64f290fb629bd4a67c707a66fd88ca26e413a91384b18db3876e57ed7"}, + {file = "mypy-0.790-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:eea260feb1830a627fb526d22fbb426b750d9f5a47b624e8d5e7e004359b219c"}, + {file = "mypy-0.790-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:c614194e01c85bb2e551c421397e49afb2872c88b5830e3554f0519f9fb1c178"}, + {file = "mypy-0.790-cp37-cp37m-win_amd64.whl", hash = "sha256:0a0d102247c16ce93c97066443d11e2d36e6cc2a32d8ccc1f705268970479324"}, + {file = "mypy-0.790-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:cf4e7bf7f1214826cf7333627cb2547c0db7e3078723227820d0a2490f117a01"}, + {file = "mypy-0.790-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:af4e9ff1834e565f1baa74ccf7ae2564ae38c8df2a85b057af1dbbc958eb6666"}, + {file = "mypy-0.790-cp38-cp38-win_amd64.whl", hash = "sha256:da56dedcd7cd502ccd3c5dddc656cb36113dd793ad466e894574125945653cea"}, + {file = "mypy-0.790-py3-none-any.whl", hash = "sha256:2842d4fbd1b12ab422346376aad03ff5d0805b706102e475e962370f874a5122"}, + {file = "mypy-0.790.tar.gz", hash = "sha256:2b21ba45ad9ef2e2eb88ce4aeadd0112d0f5026418324176fd494a6824b74975"}, +] +mypy-extensions = [ + {file = "mypy_extensions-0.4.3-py2.py3-none-any.whl", hash = "sha256:090fedd75945a69ae91ce1303b5824f428daf5a028d2f6ab8a299250a846f15d"}, + {file = "mypy_extensions-0.4.3.tar.gz", hash = "sha256:2d82818f5bb3e369420cb3c4060a7970edba416647068eb4c5343488a6c604a8"}, +] +packaging = [ + {file = "packaging-20.7-py2.py3-none-any.whl", hash = "sha256:eb41423378682dadb7166144a4926e443093863024de508ca5c9737d6bc08376"}, + {file = "packaging-20.7.tar.gz", hash = "sha256:05af3bb85d320377db281cf254ab050e1a7ebcbf5410685a9a407e18a1f81236"}, +] +pluggy = [ + {file = "pluggy-0.13.1-py2.py3-none-any.whl", hash = "sha256:966c145cd83c96502c3c3868f50408687b38434af77734af1e9ca461a4081d2d"}, + {file = "pluggy-0.13.1.tar.gz", hash = "sha256:15b2acde666561e1298d71b523007ed7364de07029219b604cf808bfa1c765b0"}, +] +py = [ + {file = "py-1.9.0-py2.py3-none-any.whl", hash = "sha256:366389d1db726cd2fcfc79732e75410e5fe4d31db13692115529d34069a043c2"}, + {file = "py-1.9.0.tar.gz", hash = "sha256:9ca6883ce56b4e8da7e79ac18787889fa5206c79dcc67fb065376cd2fe03f342"}, +] +pygments = [ + {file = "Pygments-2.7.3-py3-none-any.whl", hash = "sha256:f275b6c0909e5dafd2d6269a656aa90fa58ebf4a74f8fcf9053195d226b24a08"}, + {file = "Pygments-2.7.3.tar.gz", hash = "sha256:ccf3acacf3782cbed4a989426012f1c535c9a90d3a7fc3f16d231b9372d2b716"}, +] +pylint = [ + {file = "pylint-2.6.0-py3-none-any.whl", hash = "sha256:bfe68f020f8a0fece830a22dd4d5dddb4ecc6137db04face4c3420a46a52239f"}, + {file = "pylint-2.6.0.tar.gz", hash = "sha256:bb4a908c9dadbc3aac18860550e870f58e1a02c9f2c204fdf5693d73be061210"}, +] +pyparsing = [ + {file = "pyparsing-2.4.7-py2.py3-none-any.whl", hash = "sha256:ef9d7589ef3c200abe66653d3f1ab1033c3c419ae9b9bdb1240a85b024efc88b"}, + {file = "pyparsing-2.4.7.tar.gz", hash = "sha256:c203ec8783bf771a155b207279b9bccb8dea02d8f0c9e5f8ead507bc3246ecc1"}, +] +pytest = [ + {file = "pytest-6.1.2-py3-none-any.whl", hash = "sha256:4288fed0d9153d9646bfcdf0c0428197dba1ecb27a33bb6e031d002fa88653fe"}, + {file = "pytest-6.1.2.tar.gz", hash = "sha256:c0a7e94a8cdbc5422a51ccdad8e6f1024795939cc89159a0ae7f0b316ad3823e"}, +] +pytest-asyncio = [ + {file = "pytest-asyncio-0.14.0.tar.gz", hash = "sha256:9882c0c6b24429449f5f969a5158b528f39bde47dc32e85b9f0403965017e700"}, + {file = "pytest_asyncio-0.14.0-py3-none-any.whl", hash = "sha256:2eae1e34f6c68fc0a9dc12d4bea190483843ff4708d24277c41568d6b6044f1d"}, +] +pytest-forked = [ + {file = "pytest-forked-1.3.0.tar.gz", hash = "sha256:6aa9ac7e00ad1a539c41bec6d21011332de671e938c7637378ec9710204e37ca"}, + {file = "pytest_forked-1.3.0-py2.py3-none-any.whl", hash = "sha256:dc4147784048e70ef5d437951728825a131b81714b398d5d52f17c7c144d8815"}, +] +pytest-xdist = [ + {file = "pytest-xdist-2.1.0.tar.gz", hash = "sha256:82d938f1a24186520e2d9d3a64ef7d9ac7ecdf1a0659e095d18e596b8cbd0672"}, + {file = "pytest_xdist-2.1.0-py3-none-any.whl", hash = "sha256:7c629016b3bb006b88ac68e2b31551e7becf173c76b977768848e2bbed594d90"}, +] +pytz = [ + {file = "pytz-2020.5-py2.py3-none-any.whl", hash = "sha256:16962c5fb8db4a8f63a26646d8886e9d769b6c511543557bc84e9569fb9a9cb4"}, + {file = "pytz-2020.5.tar.gz", hash = "sha256:180befebb1927b16f6b57101720075a984c019ac16b1b7575673bea42c6c3da5"}, +] +requests = [ + {file = "requests-2.25.1-py2.py3-none-any.whl", hash = "sha256:c210084e36a42ae6b9219e00e48287def368a26d03a048ddad7bfee44f75871e"}, + {file = "requests-2.25.1.tar.gz", hash = "sha256:27973dd4a904a4f13b263a19c866c13b92a39ed1c964655f025f3f8d3d75b804"}, +] +rope = [ + {file = "rope-0.18.0.tar.gz", hash = "sha256:786b5c38c530d4846aa68a42604f61b4e69a493390e3ca11b88df0fbfdc3ed04"}, +] +semver = [ + {file = "semver-2.13.0-py2.py3-none-any.whl", hash = "sha256:ced8b23dceb22134307c1b8abfa523da14198793d9787ac838e70e29e77458d4"}, + {file = "semver-2.13.0.tar.gz", hash = "sha256:fa0fe2722ee1c3f57eac478820c3a5ae2f624af8264cbdf9000c980ff7f75e3f"}, +] +six = [ + {file = "six-1.15.0-py2.py3-none-any.whl", hash = "sha256:8b74bedcbbbaca38ff6d7491d76f2b06b3592611af620f8426e82dddb04a5ced"}, + {file = "six-1.15.0.tar.gz", hash = "sha256:30639c035cdb23534cd4aa2dd52c3bf48f06e5f4a941509c8bafd8ce11080259"}, +] +snowballstemmer = [ + {file = "snowballstemmer-2.0.0-py2.py3-none-any.whl", hash = "sha256:209f257d7533fdb3cb73bdbd24f436239ca3b2fa67d56f6ff88e86be08cc5ef0"}, + {file = "snowballstemmer-2.0.0.tar.gz", hash = "sha256:df3bac3df4c2c01363f3dd2cfa78cce2840a79b9f1c2d2de9ce8d31683992f52"}, +] +sphinx = [ + {file = "Sphinx-3.4.1-py3-none-any.whl", hash = "sha256:aeef652b14629431c82d3fe994ce39ead65b3fe87cf41b9a3714168ff8b83376"}, + {file = "Sphinx-3.4.1.tar.gz", hash = "sha256:e450cb205ff8924611085183bf1353da26802ae73d9251a8fcdf220a8f8712ef"}, +] +sphinxcontrib-applehelp = [ + {file = "sphinxcontrib-applehelp-1.0.2.tar.gz", hash = "sha256:a072735ec80e7675e3f432fcae8610ecf509c5f1869d17e2eecff44389cdbc58"}, + {file = "sphinxcontrib_applehelp-1.0.2-py2.py3-none-any.whl", hash = "sha256:806111e5e962be97c29ec4c1e7fe277bfd19e9652fb1a4392105b43e01af885a"}, +] +sphinxcontrib-devhelp = [ + {file = "sphinxcontrib-devhelp-1.0.2.tar.gz", hash = "sha256:ff7f1afa7b9642e7060379360a67e9c41e8f3121f2ce9164266f61b9f4b338e4"}, + {file = "sphinxcontrib_devhelp-1.0.2-py2.py3-none-any.whl", hash = "sha256:8165223f9a335cc1af7ffe1ed31d2871f325254c0423bc0c4c7cd1c1e4734a2e"}, +] +sphinxcontrib-htmlhelp = [ + {file = "sphinxcontrib-htmlhelp-1.0.3.tar.gz", hash = "sha256:e8f5bb7e31b2dbb25b9cc435c8ab7a79787ebf7f906155729338f3156d93659b"}, + {file = "sphinxcontrib_htmlhelp-1.0.3-py2.py3-none-any.whl", hash = "sha256:3c0bc24a2c41e340ac37c85ced6dafc879ab485c095b1d65d2461ac2f7cca86f"}, +] +sphinxcontrib-jsmath = [ + {file = "sphinxcontrib-jsmath-1.0.1.tar.gz", hash = "sha256:a9925e4a4587247ed2191a22df5f6970656cb8ca2bd6284309578f2153e0c4b8"}, + {file = "sphinxcontrib_jsmath-1.0.1-py2.py3-none-any.whl", hash = "sha256:2ec2eaebfb78f3f2078e73666b1415417a116cc848b72e5172e596c871103178"}, +] +sphinxcontrib-qthelp = [ + {file = "sphinxcontrib-qthelp-1.0.3.tar.gz", hash = "sha256:4c33767ee058b70dba89a6fc5c1892c0d57a54be67ddd3e7875a18d14cba5a72"}, + {file = "sphinxcontrib_qthelp-1.0.3-py2.py3-none-any.whl", hash = "sha256:bd9fc24bcb748a8d51fd4ecaade681350aa63009a347a8c14e637895444dfab6"}, +] +sphinxcontrib-serializinghtml = [ + {file = "sphinxcontrib-serializinghtml-1.1.4.tar.gz", hash = "sha256:eaa0eccc86e982a9b939b2b82d12cc5d013385ba5eadcc7e4fed23f4405f77bc"}, + {file = "sphinxcontrib_serializinghtml-1.1.4-py2.py3-none-any.whl", hash = "sha256:f242a81d423f59617a8e5cf16f5d4d74e28ee9a66f9e5b637a18082991db5a9a"}, +] +toml = [ + {file = "toml-0.10.2-py2.py3-none-any.whl", hash = "sha256:806143ae5bfb6a3c6e736a764057db0e6a0e05e338b5630894a5f779cabb4f9b"}, + {file = "toml-0.10.2.tar.gz", hash = "sha256:b3bda1d108d5dd99f4a20d24d9c348e91c4db7ab1b749200bded2f839ccbe68f"}, +] +typed-ast = [ + {file = "typed_ast-1.4.1-cp35-cp35m-manylinux1_i686.whl", hash = "sha256:73d785a950fc82dd2a25897d525d003f6378d1cb23ab305578394694202a58c3"}, + {file = "typed_ast-1.4.1-cp35-cp35m-manylinux1_x86_64.whl", hash = "sha256:aaee9905aee35ba5905cfb3c62f3e83b3bec7b39413f0a7f19be4e547ea01ebb"}, + {file = "typed_ast-1.4.1-cp35-cp35m-win32.whl", hash = "sha256:0c2c07682d61a629b68433afb159376e24e5b2fd4641d35424e462169c0a7919"}, + {file = "typed_ast-1.4.1-cp35-cp35m-win_amd64.whl", hash = "sha256:4083861b0aa07990b619bd7ddc365eb7fa4b817e99cf5f8d9cf21a42780f6e01"}, + {file = "typed_ast-1.4.1-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:269151951236b0f9a6f04015a9004084a5ab0d5f19b57de779f908621e7d8b75"}, + {file = "typed_ast-1.4.1-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:24995c843eb0ad11a4527b026b4dde3da70e1f2d8806c99b7b4a7cf491612652"}, + {file = "typed_ast-1.4.1-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:fe460b922ec15dd205595c9b5b99e2f056fd98ae8f9f56b888e7a17dc2b757e7"}, + {file = "typed_ast-1.4.1-cp36-cp36m-win32.whl", hash = "sha256:4e3e5da80ccbebfff202a67bf900d081906c358ccc3d5e3c8aea42fdfdfd51c1"}, + {file = "typed_ast-1.4.1-cp36-cp36m-win_amd64.whl", hash = "sha256:249862707802d40f7f29f6e1aad8d84b5aa9e44552d2cc17384b209f091276aa"}, + {file = "typed_ast-1.4.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:8ce678dbaf790dbdb3eba24056d5364fb45944f33553dd5869b7580cdbb83614"}, + {file = "typed_ast-1.4.1-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:c9e348e02e4d2b4a8b2eedb48210430658df6951fa484e59de33ff773fbd4b41"}, + {file = "typed_ast-1.4.1-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:bcd3b13b56ea479b3650b82cabd6b5343a625b0ced5429e4ccad28a8973f301b"}, + {file = "typed_ast-1.4.1-cp37-cp37m-win32.whl", hash = "sha256:d5d33e9e7af3b34a40dc05f498939f0ebf187f07c385fd58d591c533ad8562fe"}, + {file = "typed_ast-1.4.1-cp37-cp37m-win_amd64.whl", hash = "sha256:0666aa36131496aed8f7be0410ff974562ab7eeac11ef351def9ea6fa28f6355"}, + {file = "typed_ast-1.4.1-cp38-cp38-macosx_10_15_x86_64.whl", hash = "sha256:d205b1b46085271b4e15f670058ce182bd1199e56b317bf2ec004b6a44f911f6"}, + {file = "typed_ast-1.4.1-cp38-cp38-manylinux1_i686.whl", hash = "sha256:6daac9731f172c2a22ade6ed0c00197ee7cc1221aa84cfdf9c31defeb059a907"}, + {file = "typed_ast-1.4.1-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:498b0f36cc7054c1fead3d7fc59d2150f4d5c6c56ba7fb150c013fbc683a8d2d"}, + {file = "typed_ast-1.4.1-cp38-cp38-win32.whl", hash = "sha256:715ff2f2df46121071622063fc7543d9b1fd19ebfc4f5c8895af64a77a8c852c"}, + {file = "typed_ast-1.4.1-cp38-cp38-win_amd64.whl", hash = "sha256:fc0fea399acb12edbf8a628ba8d2312f583bdbdb3335635db062fa98cf71fca4"}, + {file = "typed_ast-1.4.1-cp39-cp39-macosx_10_15_x86_64.whl", hash = "sha256:d43943ef777f9a1c42bf4e552ba23ac77a6351de620aa9acf64ad54933ad4d34"}, + {file = "typed_ast-1.4.1.tar.gz", hash = "sha256:8c8aaad94455178e3187ab22c8b01a3837f8ee50e09cf31f1ba129eb293ec30b"}, +] +typing-extensions = [ + {file = "typing_extensions-3.7.4.3-py2-none-any.whl", hash = "sha256:dafc7639cde7f1b6e1acc0f457842a83e722ccca8eef5270af2d74792619a89f"}, + {file = "typing_extensions-3.7.4.3-py3-none-any.whl", hash = "sha256:7cb407020f00f7bfc3cb3e7881628838e69d8f3fcab2f64742a5e76b2f841918"}, + {file = "typing_extensions-3.7.4.3.tar.gz", hash = "sha256:99d4073b617d30288f569d3f13d2bd7548c3a7e4c8de87db09a9d29bb3a4a60c"}, +] +urllib3 = [ + {file = "urllib3-1.26.2-py2.py3-none-any.whl", hash = "sha256:d8ff90d979214d7b4f8ce956e80f4028fc6860e4431f731ea4a8c08f23f99473"}, + {file = "urllib3-1.26.2.tar.gz", hash = "sha256:19188f96923873c92ccb987120ec4acaa12f0461fa9ce5d3d0772bc965a39e08"}, +] +wrapt = [ + {file = "wrapt-1.12.1.tar.gz", hash = "sha256:b62ffa81fb85f4332a4f609cab4ac40709470da05643a082ec1eb88e6d9b97d7"}, +] +yapf = [ + {file = "yapf-0.30.0-py2.py3-none-any.whl", hash = "sha256:3abf61ba67cf603069710d30acbc88cfe565d907e16ad81429ae90ce9651e0c9"}, + {file = "yapf-0.30.0.tar.gz", hash = "sha256:3000abee4c28daebad55da6c85f3cd07b8062ce48e2e9943c8da1b9667d48427"}, +] +zipp = [ + {file = "zipp-3.4.0-py3-none-any.whl", hash = "sha256:102c24ef8f171fd729d46599845e95c7ab894a4cf45f5de11a44cc7444fb1108"}, + {file = "zipp-3.4.0.tar.gz", hash = "sha256:ed5eee1974372595f9e416cc7bbeeb12335201d8081ca8a0743c954d4446e5cb"}, +] diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 00000000..cbd8df66 --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,37 @@ +[tool.poetry] +name = "dds" +version = "0.0.0" +description = "" +authors = ["vector-of-bool "] +license = "MPL-2.0" +packages = [ + { include = "dds_ci", from = "tools/" }, +] + +[tool.poetry.dependencies] +python = "^3.6" + +semver = "^2.13.0" +pytest = "^6.1.2" +pytest-xdist = "^2.1.0" +pytest-asyncio = "^0.14.0" +typing-extensions = "^3.7.4" +json5 = "^0.9.5" +distro = "^1.5.0" + +[tool.poetry.dev-dependencies] +# Only needed for development +pylint = "^2.6.0" +mypy = "^0.790" +rope = "^0.18.0" +yapf = "^0.30.0" +Sphinx = "^3.4.1" + +[tool.poetry.scripts] +dds-ci = "dds_ci.main:start" +dds-format = "dds_ci.format:start" +gen-msvs-vsc-task = "dds_ci.msvs:generate_vsc_task" + +[build-system] +requires = ["poetry>=0.12"] +build-backend = "poetry.masonry.api" diff --git a/pytest.ini b/pytest.ini new file mode 100644 index 00000000..f7022212 --- /dev/null +++ b/pytest.ini @@ -0,0 +1,3 @@ +[pytest] +junit_log_passing_tests=true +junit_logging=all diff --git a/res/catch2.hpp b/res/catch2.hpp index 1b9b06e1..2a2d77a2 100644 --- a/res/catch2.hpp +++ b/res/catch2.hpp @@ -1,9 +1,9 @@ /* - * Catch v2.10.2 - * Generated: 2019-10-24 17:49:11.459934 + * Catch v2.13.3 + * Generated: 2020-10-31 18:20:31.045274 * ---------------------------------------------------------- * This file has been merged from multiple headers. Please don't edit it directly - * Copyright (c) 2019 Two Blue Cubes Ltd. All rights reserved. + * Copyright (c) 2020 Two Blue Cubes Ltd. All rights reserved. * * Distributed under the Boost Software License, Version 1.0. (See accompanying * file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -14,8 +14,8 @@ #define CATCH_VERSION_MAJOR 2 -#define CATCH_VERSION_MINOR 10 -#define CATCH_VERSION_PATCH 2 +#define CATCH_VERSION_MINOR 13 +#define CATCH_VERSION_PATCH 3 #ifdef __clang__ # pragma clang system_header @@ -132,42 +132,52 @@ namespace Catch { #endif -#if defined(CATCH_CPP17_OR_GREATER) -# define CATCH_INTERNAL_CONFIG_CPP17_UNCAUGHT_EXCEPTIONS +// We have to avoid both ICC and Clang, because they try to mask themselves +// as gcc, and we want only GCC in this block +#if defined(__GNUC__) && !defined(__clang__) && !defined(__ICC) && !defined(__CUDACC__) +# define CATCH_INTERNAL_START_WARNINGS_SUPPRESSION _Pragma( "GCC diagnostic push" ) +# define CATCH_INTERNAL_STOP_WARNINGS_SUPPRESSION _Pragma( "GCC diagnostic pop" ) + +# define CATCH_INTERNAL_IGNORE_BUT_WARN(...) (void)__builtin_constant_p(__VA_ARGS__) + #endif -#ifdef __clang__ +#if defined(__clang__) + +# define CATCH_INTERNAL_START_WARNINGS_SUPPRESSION _Pragma( "clang diagnostic push" ) +# define CATCH_INTERNAL_STOP_WARNINGS_SUPPRESSION _Pragma( "clang diagnostic pop" ) + +// As of this writing, IBM XL's implementation of __builtin_constant_p has a bug +// which results in calls to destructors being emitted for each temporary, +// without a matching initialization. In practice, this can result in something +// like `std::string::~string` being called on an uninitialized value. +// +// For example, this code will likely segfault under IBM XL: +// ``` +// REQUIRE(std::string("12") + "34" == "1234") +// ``` +// +// Therefore, `CATCH_INTERNAL_IGNORE_BUT_WARN` is not implemented. +# if !defined(__ibmxl__) && !defined(__CUDACC__) +# define CATCH_INTERNAL_IGNORE_BUT_WARN(...) (void)__builtin_constant_p(__VA_ARGS__) /* NOLINT(cppcoreguidelines-pro-type-vararg, hicpp-vararg) */ +# endif + +# define CATCH_INTERNAL_SUPPRESS_GLOBALS_WARNINGS \ + _Pragma( "clang diagnostic ignored \"-Wexit-time-destructors\"" ) \ + _Pragma( "clang diagnostic ignored \"-Wglobal-constructors\"") + +# define CATCH_INTERNAL_SUPPRESS_PARENTHESES_WARNINGS \ + _Pragma( "clang diagnostic ignored \"-Wparentheses\"" ) + +# define CATCH_INTERNAL_SUPPRESS_UNUSED_WARNINGS \ + _Pragma( "clang diagnostic ignored \"-Wunused-variable\"" ) + +# define CATCH_INTERNAL_SUPPRESS_ZERO_VARIADIC_WARNINGS \ + _Pragma( "clang diagnostic ignored \"-Wgnu-zero-variadic-macro-arguments\"" ) + +# define CATCH_INTERNAL_SUPPRESS_UNUSED_TEMPLATE_WARNINGS \ + _Pragma( "clang diagnostic ignored \"-Wunused-template\"" ) -# define CATCH_INTERNAL_SUPPRESS_GLOBALS_WARNINGS \ - _Pragma( "clang diagnostic push" ) \ - _Pragma( "clang diagnostic ignored \"-Wexit-time-destructors\"" ) \ - _Pragma( "clang diagnostic ignored \"-Wglobal-constructors\"") -# define CATCH_INTERNAL_UNSUPPRESS_GLOBALS_WARNINGS \ - _Pragma( "clang diagnostic pop" ) - -# define CATCH_INTERNAL_SUPPRESS_PARENTHESES_WARNINGS \ - _Pragma( "clang diagnostic push" ) \ - _Pragma( "clang diagnostic ignored \"-Wparentheses\"" ) -# define CATCH_INTERNAL_UNSUPPRESS_PARENTHESES_WARNINGS \ - _Pragma( "clang diagnostic pop" ) - -# define CATCH_INTERNAL_SUPPRESS_UNUSED_WARNINGS \ - _Pragma( "clang diagnostic push" ) \ - _Pragma( "clang diagnostic ignored \"-Wunused-variable\"" ) -# define CATCH_INTERNAL_UNSUPPRESS_UNUSED_WARNINGS \ - _Pragma( "clang diagnostic pop" ) - -# define CATCH_INTERNAL_SUPPRESS_ZERO_VARIADIC_WARNINGS \ - _Pragma( "clang diagnostic push" ) \ - _Pragma( "clang diagnostic ignored \"-Wgnu-zero-variadic-macro-arguments\"" ) -# define CATCH_INTERNAL_UNSUPPRESS_ZERO_VARIADIC_WARNINGS \ - _Pragma( "clang diagnostic pop" ) - -# define CATCH_INTERNAL_SUPPRESS_UNUSED_TEMPLATE_WARNINGS \ - _Pragma( "clang diagnostic push" ) \ - _Pragma( "clang diagnostic ignored \"-Wunused-template\"" ) -# define CATCH_INTERNAL_UNSUPPRESS_UNUSED_TEMPLATE_WARNINGS \ - _Pragma( "clang diagnostic pop" ) #endif // __clang__ //////////////////////////////////////////////////////////////////////////////// @@ -225,11 +235,10 @@ namespace Catch { //////////////////////////////////////////////////////////////////////////////// // Visual C++ -#ifdef _MSC_VER +#if defined(_MSC_VER) -# if _MSC_VER >= 1900 // Visual Studio 2015 or newer -# define CATCH_INTERNAL_CONFIG_CPP17_UNCAUGHT_EXCEPTIONS -# endif +# define CATCH_INTERNAL_START_WARNINGS_SUPPRESSION __pragma( warning(push) ) +# define CATCH_INTERNAL_STOP_WARNINGS_SUPPRESSION __pragma( warning(pop) ) // Universal Windows platform does not support SEH // Or console colours (or console at all...) @@ -242,9 +251,12 @@ namespace Catch { // MSVC traditional preprocessor needs some workaround for __VA_ARGS__ // _MSVC_TRADITIONAL == 0 means new conformant preprocessor // _MSVC_TRADITIONAL == 1 means old traditional non-conformant preprocessor -# if !defined(_MSVC_TRADITIONAL) || (defined(_MSVC_TRADITIONAL) && _MSVC_TRADITIONAL) -# define CATCH_INTERNAL_CONFIG_TRADITIONAL_MSVC_PREPROCESSOR -# endif +# if !defined(__clang__) // Handle Clang masquerading for msvc +# if !defined(_MSVC_TRADITIONAL) || (defined(_MSVC_TRADITIONAL) && _MSVC_TRADITIONAL) +# define CATCH_INTERNAL_CONFIG_TRADITIONAL_MSVC_PREPROCESSOR +# endif // MSVC_TRADITIONAL +# endif // __clang__ + #endif // _MSC_VER #if defined(_REENTRANT) || defined(_MSC_VER) @@ -292,7 +304,7 @@ namespace Catch { #define CATCH_CONFIG_COLOUR_NONE #endif -#if defined(__UCLIBC__) +#if !defined(_GLIBCXX_USE_C99_MATH_TR1) #define CATCH_INTERNAL_CONFIG_GLOBAL_NEXTAFTER #endif @@ -310,7 +322,10 @@ namespace Catch { // Check if byte is available and usable # if __has_include() && defined(CATCH_CPP17_OR_GREATER) - # define CATCH_INTERNAL_CONFIG_CPP17_BYTE + # include + # if __cpp_lib_byte > 0 + # define CATCH_INTERNAL_CONFIG_CPP17_BYTE + # endif # endif // __has_include() && defined(CATCH_CPP17_OR_GREATER) // Check if variant is available and usable @@ -353,10 +368,6 @@ namespace Catch { # define CATCH_CONFIG_CPP17_OPTIONAL #endif -#if defined(CATCH_INTERNAL_CONFIG_CPP17_UNCAUGHT_EXCEPTIONS) && !defined(CATCH_CONFIG_NO_CPP17_UNCAUGHT_EXCEPTIONS) && !defined(CATCH_CONFIG_CPP17_UNCAUGHT_EXCEPTIONS) -# define CATCH_CONFIG_CPP17_UNCAUGHT_EXCEPTIONS -#endif - #if defined(CATCH_INTERNAL_CONFIG_CPP17_STRING_VIEW) && !defined(CATCH_CONFIG_NO_CPP17_STRING_VIEW) && !defined(CATCH_CONFIG_CPP17_STRING_VIEW) # define CATCH_CONFIG_CPP17_STRING_VIEW #endif @@ -397,34 +408,41 @@ namespace Catch { # define CATCH_CONFIG_GLOBAL_NEXTAFTER #endif +// Even if we do not think the compiler has that warning, we still have +// to provide a macro that can be used by the code. +#if !defined(CATCH_INTERNAL_START_WARNINGS_SUPPRESSION) +# define CATCH_INTERNAL_START_WARNINGS_SUPPRESSION +#endif +#if !defined(CATCH_INTERNAL_STOP_WARNINGS_SUPPRESSION) +# define CATCH_INTERNAL_STOP_WARNINGS_SUPPRESSION +#endif #if !defined(CATCH_INTERNAL_SUPPRESS_PARENTHESES_WARNINGS) # define CATCH_INTERNAL_SUPPRESS_PARENTHESES_WARNINGS -# define CATCH_INTERNAL_UNSUPPRESS_PARENTHESES_WARNINGS #endif #if !defined(CATCH_INTERNAL_SUPPRESS_GLOBALS_WARNINGS) # define CATCH_INTERNAL_SUPPRESS_GLOBALS_WARNINGS -# define CATCH_INTERNAL_UNSUPPRESS_GLOBALS_WARNINGS #endif #if !defined(CATCH_INTERNAL_SUPPRESS_UNUSED_WARNINGS) # define CATCH_INTERNAL_SUPPRESS_UNUSED_WARNINGS -# define CATCH_INTERNAL_UNSUPPRESS_UNUSED_WARNINGS #endif #if !defined(CATCH_INTERNAL_SUPPRESS_ZERO_VARIADIC_WARNINGS) # define CATCH_INTERNAL_SUPPRESS_ZERO_VARIADIC_WARNINGS -# define CATCH_INTERNAL_UNSUPPRESS_ZERO_VARIADIC_WARNINGS +#endif + +// The goal of this macro is to avoid evaluation of the arguments, but +// still have the compiler warn on problems inside... +#if !defined(CATCH_INTERNAL_IGNORE_BUT_WARN) +# define CATCH_INTERNAL_IGNORE_BUT_WARN(...) #endif #if defined(__APPLE__) && defined(__apple_build_version__) && (__clang_major__ < 10) # undef CATCH_INTERNAL_SUPPRESS_UNUSED_TEMPLATE_WARNINGS -# undef CATCH_INTERNAL_UNSUPPRESS_UNUSED_TEMPLATE_WARNINGS #elif defined(__clang__) && (__clang_major__ < 5) # undef CATCH_INTERNAL_SUPPRESS_UNUSED_TEMPLATE_WARNINGS -# undef CATCH_INTERNAL_UNSUPPRESS_UNUSED_TEMPLATE_WARNINGS #endif #if !defined(CATCH_INTERNAL_SUPPRESS_UNUSED_TEMPLATE_WARNINGS) # define CATCH_INTERNAL_SUPPRESS_UNUSED_TEMPLATE_WARNINGS -# define CATCH_INTERNAL_UNSUPPRESS_UNUSED_TEMPLATE_WARNINGS #endif #if defined(CATCH_CONFIG_DISABLE_EXCEPTIONS) @@ -530,9 +548,10 @@ namespace Catch { } // end namespace Catch #define CATCH_REGISTER_TAG_ALIAS( alias, spec ) \ + CATCH_INTERNAL_START_WARNINGS_SUPPRESSION \ CATCH_INTERNAL_SUPPRESS_GLOBALS_WARNINGS \ namespace{ Catch::RegistrarForTagAliases INTERNAL_CATCH_UNIQUE_NAME( AutoRegisterTagAlias )( alias, spec, CATCH_INTERNAL_LINEINFO ); } \ - CATCH_INTERNAL_UNSUPPRESS_GLOBALS_WARNINGS + CATCH_INTERNAL_STOP_WARNINGS_SUPPRESSION // end catch_tag_alias_autoregistrar.h // start catch_test_registry.h @@ -578,49 +597,24 @@ namespace Catch { /// A non-owning string class (similar to the forthcoming std::string_view) /// Note that, because a StringRef may be a substring of another string, - /// it may not be null terminated. c_str() must return a null terminated - /// string, however, and so the StringRef will internally take ownership - /// (taking a copy), if necessary. In theory this ownership is not externally - /// visible - but it does mean (substring) StringRefs should not be shared between - /// threads. + /// it may not be null terminated. class StringRef { public: using size_type = std::size_t; using const_iterator = const char*; private: - friend struct StringRefTestAccess; - - char const* m_start; - size_type m_size; - - char* m_data = nullptr; - - void takeOwnership(); - static constexpr char const* const s_empty = ""; - public: // construction/ assignment - StringRef() noexcept - : StringRef( s_empty, 0 ) - {} - - StringRef( StringRef const& other ) noexcept - : m_start( other.m_start ), - m_size( other.m_size ) - {} + char const* m_start = s_empty; + size_type m_size = 0; - StringRef( StringRef&& other ) noexcept - : m_start( other.m_start ), - m_size( other.m_size ), - m_data( other.m_data ) - { - other.m_data = nullptr; - } + public: // construction + constexpr StringRef() noexcept = default; StringRef( char const* rawChars ) noexcept; - StringRef( char const* rawChars, size_type size ) noexcept + constexpr StringRef( char const* rawChars, size_type size ) noexcept : m_start( rawChars ), m_size( size ) {} @@ -630,27 +624,15 @@ namespace Catch { m_size( stdString.size() ) {} - ~StringRef() noexcept { - delete[] m_data; - } - - auto operator = ( StringRef const &other ) noexcept -> StringRef& { - delete[] m_data; - m_data = nullptr; - m_start = other.m_start; - m_size = other.m_size; - return *this; - } - explicit operator std::string() const { return std::string(m_start, m_size); } - void swap( StringRef& other ) noexcept; - public: // operators auto operator == ( StringRef const& other ) const noexcept -> bool; - auto operator != ( StringRef const& other ) const noexcept -> bool; + auto operator != (StringRef const& other) const noexcept -> bool { + return !(*this == other); + } auto operator[] ( size_type index ) const noexcept -> char { assert(index < m_size); @@ -658,41 +640,44 @@ namespace Catch { } public: // named queries - auto empty() const noexcept -> bool { + constexpr auto empty() const noexcept -> bool { return m_size == 0; } - auto size() const noexcept -> size_type { + constexpr auto size() const noexcept -> size_type { return m_size; } + // Returns the current start pointer. If the StringRef is not + // null-terminated, throws std::domain_exception auto c_str() const -> char const*; public: // substrings and searches - auto substr( size_type start, size_type size ) const noexcept -> StringRef; + // Returns a substring of [start, start + length). + // If start + length > size(), then the substring is [start, size()). + // If start > size(), then the substring is empty. + auto substr( size_type start, size_type length ) const noexcept -> StringRef; - // Returns the current start pointer. - // Note that the pointer can change when if the StringRef is a substring - auto currentData() const noexcept -> char const*; + // Returns the current start pointer. May not be null-terminated. + auto data() const noexcept -> char const*; - public: // iterators - const_iterator begin() const { return m_start; } - const_iterator end() const { return m_start + m_size; } + constexpr auto isNullTerminated() const noexcept -> bool { + return m_start[m_size] == '\0'; + } - private: // ownership queries - may not be consistent between calls - auto isOwned() const noexcept -> bool; - auto isSubstring() const noexcept -> bool; + public: // iterators + constexpr const_iterator begin() const { return m_start; } + constexpr const_iterator end() const { return m_start + m_size; } }; auto operator += ( std::string& lhs, StringRef const& sr ) -> std::string&; auto operator << ( std::ostream& os, StringRef const& sr ) -> std::ostream&; - inline auto operator "" _sr( char const* rawChars, std::size_t size ) noexcept -> StringRef { + constexpr auto operator "" _sr( char const* rawChars, std::size_t size ) noexcept -> StringRef { return StringRef( rawChars, size ); } - } // namespace Catch -inline auto operator "" _catch_sr( char const* rawChars, std::size_t size ) noexcept -> Catch::StringRef { +constexpr auto operator "" _catch_sr( char const* rawChars, std::size_t size ) noexcept -> Catch::StringRef { return Catch::StringRef( rawChars, size ); } @@ -781,7 +766,7 @@ inline auto operator "" _catch_sr( char const* rawChars, std::size_t size ) noex #define INTERNAL_CATCH_REMOVE_PARENS_4_ARG(_0, _1, _2, _3) INTERNAL_CATCH_REMOVE_PARENS(_0), INTERNAL_CATCH_REMOVE_PARENS_3_ARG(_1, _2, _3) #define INTERNAL_CATCH_REMOVE_PARENS_5_ARG(_0, _1, _2, _3, _4) INTERNAL_CATCH_REMOVE_PARENS(_0), INTERNAL_CATCH_REMOVE_PARENS_4_ARG(_1, _2, _3, _4) #define INTERNAL_CATCH_REMOVE_PARENS_6_ARG(_0, _1, _2, _3, _4, _5) INTERNAL_CATCH_REMOVE_PARENS(_0), INTERNAL_CATCH_REMOVE_PARENS_5_ARG(_1, _2, _3, _4, _5) -#define INTERNAL_CATCH_REMOVE_PARENS_7_ARG(_0, _1, _2, _3, _4, _5, _6) INTERNAL_CATCH_REMOVE_PARENS(_0), INTERNAL_CATCH_REMOVE_PARENS_6_ARG(_1, _2, _4, _5, _6) +#define INTERNAL_CATCH_REMOVE_PARENS_7_ARG(_0, _1, _2, _3, _4, _5, _6) INTERNAL_CATCH_REMOVE_PARENS(_0), INTERNAL_CATCH_REMOVE_PARENS_6_ARG(_1, _2, _3, _4, _5, _6) #define INTERNAL_CATCH_REMOVE_PARENS_8_ARG(_0, _1, _2, _3, _4, _5, _6, _7) INTERNAL_CATCH_REMOVE_PARENS(_0), INTERNAL_CATCH_REMOVE_PARENS_7_ARG(_1, _2, _3, _4, _5, _6, _7) #define INTERNAL_CATCH_REMOVE_PARENS_9_ARG(_0, _1, _2, _3, _4, _5, _6, _7, _8) INTERNAL_CATCH_REMOVE_PARENS(_0), INTERNAL_CATCH_REMOVE_PARENS_8_ARG(_1, _2, _3, _4, _5, _6, _7, _8) #define INTERNAL_CATCH_REMOVE_PARENS_10_ARG(_0, _1, _2, _3, _4, _5, _6, _7, _8, _9) INTERNAL_CATCH_REMOVE_PARENS(_0), INTERNAL_CATCH_REMOVE_PARENS_9_ARG(_1, _2, _3, _4, _5, _6, _7, _8, _9) @@ -931,22 +916,33 @@ inline auto operator "" _catch_sr( char const* rawChars, std::size_t size ) noex #include namespace Catch { -template -struct always_false : std::false_type {}; + template + struct always_false : std::false_type {}; + + template struct true_given : std::true_type {}; + struct is_callable_tester { + template + true_given()(std::declval()...))> static test(int); + template + std::false_type static test(...); + }; -template struct true_given : std::true_type {}; -struct is_callable_tester { - template - true_given()(std::declval()...))> static test(int); - template - std::false_type static test(...); -}; + template + struct is_callable; -template -struct is_callable; + template + struct is_callable : decltype(is_callable_tester::test(0)) {}; -template -struct is_callable : decltype(is_callable_tester::test(0)) {}; +#if defined(__cpp_lib_is_invocable) && __cpp_lib_is_invocable >= 201703 + // std::result_of is deprecated in C++17 and removed in C++20. Hence, it is + // replaced with std::invoke_result here. + template + using FunctionReturnType = std::remove_reference_t>>; +#else + // Keep ::type here because we still support C++11 + template + using FunctionReturnType = typename std::remove_reference::type>::type>::type; +#endif } // namespace Catch @@ -1045,21 +1041,24 @@ struct AutoReg : NonCopyable { /////////////////////////////////////////////////////////////////////////////// #define INTERNAL_CATCH_TESTCASE2( TestName, ... ) \ static void TestName(); \ + CATCH_INTERNAL_START_WARNINGS_SUPPRESSION \ CATCH_INTERNAL_SUPPRESS_GLOBALS_WARNINGS \ namespace{ Catch::AutoReg INTERNAL_CATCH_UNIQUE_NAME( autoRegistrar )( Catch::makeTestInvoker( &TestName ), CATCH_INTERNAL_LINEINFO, Catch::StringRef(), Catch::NameAndTags{ __VA_ARGS__ } ); } /* NOLINT */ \ - CATCH_INTERNAL_UNSUPPRESS_GLOBALS_WARNINGS \ + CATCH_INTERNAL_STOP_WARNINGS_SUPPRESSION \ static void TestName() #define INTERNAL_CATCH_TESTCASE( ... ) \ INTERNAL_CATCH_TESTCASE2( INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_S_T____ ), __VA_ARGS__ ) /////////////////////////////////////////////////////////////////////////////// #define INTERNAL_CATCH_METHOD_AS_TEST_CASE( QualifiedMethod, ... ) \ + CATCH_INTERNAL_START_WARNINGS_SUPPRESSION \ CATCH_INTERNAL_SUPPRESS_GLOBALS_WARNINGS \ namespace{ Catch::AutoReg INTERNAL_CATCH_UNIQUE_NAME( autoRegistrar )( Catch::makeTestInvoker( &QualifiedMethod ), CATCH_INTERNAL_LINEINFO, "&" #QualifiedMethod, Catch::NameAndTags{ __VA_ARGS__ } ); } /* NOLINT */ \ - CATCH_INTERNAL_UNSUPPRESS_GLOBALS_WARNINGS + CATCH_INTERNAL_STOP_WARNINGS_SUPPRESSION /////////////////////////////////////////////////////////////////////////////// #define INTERNAL_CATCH_TEST_CASE_METHOD2( TestName, ClassName, ... )\ + CATCH_INTERNAL_START_WARNINGS_SUPPRESSION \ CATCH_INTERNAL_SUPPRESS_GLOBALS_WARNINGS \ namespace{ \ struct TestName : INTERNAL_CATCH_REMOVE_PARENS(ClassName) { \ @@ -1067,19 +1066,21 @@ struct AutoReg : NonCopyable { }; \ Catch::AutoReg INTERNAL_CATCH_UNIQUE_NAME( autoRegistrar ) ( Catch::makeTestInvoker( &TestName::test ), CATCH_INTERNAL_LINEINFO, #ClassName, Catch::NameAndTags{ __VA_ARGS__ } ); /* NOLINT */ \ } \ - CATCH_INTERNAL_UNSUPPRESS_GLOBALS_WARNINGS \ + CATCH_INTERNAL_STOP_WARNINGS_SUPPRESSION \ void TestName::test() #define INTERNAL_CATCH_TEST_CASE_METHOD( ClassName, ... ) \ INTERNAL_CATCH_TEST_CASE_METHOD2( INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_S_T____ ), ClassName, __VA_ARGS__ ) /////////////////////////////////////////////////////////////////////////////// #define INTERNAL_CATCH_REGISTER_TESTCASE( Function, ... ) \ + CATCH_INTERNAL_START_WARNINGS_SUPPRESSION \ CATCH_INTERNAL_SUPPRESS_GLOBALS_WARNINGS \ Catch::AutoReg INTERNAL_CATCH_UNIQUE_NAME( autoRegistrar )( Catch::makeTestInvoker( Function ), CATCH_INTERNAL_LINEINFO, Catch::StringRef(), Catch::NameAndTags{ __VA_ARGS__ } ); /* NOLINT */ \ - CATCH_INTERNAL_UNSUPPRESS_GLOBALS_WARNINGS + CATCH_INTERNAL_STOP_WARNINGS_SUPPRESSION /////////////////////////////////////////////////////////////////////////////// #define INTERNAL_CATCH_TEMPLATE_TEST_CASE_2(TestName, TestFunc, Name, Tags, Signature, ... )\ + CATCH_INTERNAL_START_WARNINGS_SUPPRESSION \ CATCH_INTERNAL_SUPPRESS_GLOBALS_WARNINGS \ CATCH_INTERNAL_SUPPRESS_ZERO_VARIADIC_WARNINGS \ CATCH_INTERNAL_SUPPRESS_UNUSED_TEMPLATE_WARNINGS \ @@ -1095,7 +1096,7 @@ struct AutoReg : NonCopyable { int index = 0; \ constexpr char const* tmpl_types[] = {CATCH_REC_LIST(INTERNAL_CATCH_STRINGIZE_WITHOUT_PARENS, __VA_ARGS__)};\ using expander = int[];\ - (void)expander{(reg_test(Types{}, Catch::NameAndTags{ Name " - " + std::string(tmpl_types[index]), Tags } ), index++, 0)... };/* NOLINT */ \ + (void)expander{(reg_test(Types{}, Catch::NameAndTags{ Name " - " + std::string(tmpl_types[index]), Tags } ), index++)... };/* NOLINT */ \ }\ };\ static int INTERNAL_CATCH_UNIQUE_NAME( globalRegistrar ) = [](){\ @@ -1104,9 +1105,7 @@ struct AutoReg : NonCopyable { }();\ }\ }\ - CATCH_INTERNAL_UNSUPPRESS_GLOBALS_WARNINGS \ - CATCH_INTERNAL_UNSUPPRESS_ZERO_VARIADIC_WARNINGS \ - CATCH_INTERNAL_UNSUPPRESS_UNUSED_TEMPLATE_WARNINGS \ + CATCH_INTERNAL_STOP_WARNINGS_SUPPRESSION \ INTERNAL_CATCH_DEFINE_SIG_TEST(TestFunc,INTERNAL_CATCH_REMOVE_PARENS(Signature)) #ifndef CATCH_CONFIG_TRADITIONAL_MSVC_PREPROCESSOR @@ -1126,9 +1125,10 @@ struct AutoReg : NonCopyable { #endif #define INTERNAL_CATCH_TEMPLATE_PRODUCT_TEST_CASE2(TestName, TestFuncName, Name, Tags, Signature, TmplTypes, TypesList) \ + CATCH_INTERNAL_START_WARNINGS_SUPPRESSION \ CATCH_INTERNAL_SUPPRESS_GLOBALS_WARNINGS \ CATCH_INTERNAL_SUPPRESS_ZERO_VARIADIC_WARNINGS \ - CATCH_INTERNAL_SUPPRESS_UNUSED_TEMPLATE_WARNINGS \ + CATCH_INTERNAL_SUPPRESS_UNUSED_TEMPLATE_WARNINGS \ template static void TestFuncName(); \ namespace {\ namespace INTERNAL_CATCH_MAKE_NAMESPACE(TestName) { \ @@ -1142,7 +1142,7 @@ struct AutoReg : NonCopyable { constexpr char const* tmpl_types[] = {CATCH_REC_LIST(INTERNAL_CATCH_STRINGIZE_WITHOUT_PARENS, INTERNAL_CATCH_REMOVE_PARENS(TmplTypes))};\ constexpr char const* types_list[] = {CATCH_REC_LIST(INTERNAL_CATCH_STRINGIZE_WITHOUT_PARENS, INTERNAL_CATCH_REMOVE_PARENS(TypesList))};\ constexpr auto num_types = sizeof(types_list) / sizeof(types_list[0]);\ - (void)expander{(Catch::AutoReg( Catch::makeTestInvoker( &TestFuncName ), CATCH_INTERNAL_LINEINFO, Catch::StringRef(), Catch::NameAndTags{ Name " - " + std::string(tmpl_types[index / num_types]) + "<" + std::string(types_list[index % num_types]) + ">", Tags } ), index++, 0)... };/* NOLINT */\ + (void)expander{(Catch::AutoReg( Catch::makeTestInvoker( &TestFuncName ), CATCH_INTERNAL_LINEINFO, Catch::StringRef(), Catch::NameAndTags{ Name " - " + std::string(tmpl_types[index / num_types]) + "<" + std::string(types_list[index % num_types]) + ">", Tags } ), index++)... };/* NOLINT */\ } \ }; \ static int INTERNAL_CATCH_UNIQUE_NAME( globalRegistrar ) = [](){ \ @@ -1153,9 +1153,7 @@ struct AutoReg : NonCopyable { }(); \ } \ } \ - CATCH_INTERNAL_UNSUPPRESS_GLOBALS_WARNINGS \ - CATCH_INTERNAL_UNSUPPRESS_ZERO_VARIADIC_WARNINGS \ - CATCH_INTERNAL_UNSUPPRESS_UNUSED_TEMPLATE_WARNINGS \ + CATCH_INTERNAL_STOP_WARNINGS_SUPPRESSION \ template \ static void TestFuncName() @@ -1176,6 +1174,7 @@ struct AutoReg : NonCopyable { #endif #define INTERNAL_CATCH_TEMPLATE_LIST_TEST_CASE_2(TestName, TestFunc, Name, Tags, TmplList)\ + CATCH_INTERNAL_START_WARNINGS_SUPPRESSION \ CATCH_INTERNAL_SUPPRESS_GLOBALS_WARNINGS \ CATCH_INTERNAL_SUPPRESS_UNUSED_TEMPLATE_WARNINGS \ template static void TestFunc(); \ @@ -1187,7 +1186,7 @@ struct AutoReg : NonCopyable { void reg_tests() { \ int index = 0; \ using expander = int[]; \ - (void)expander{(Catch::AutoReg( Catch::makeTestInvoker( &TestFunc ), CATCH_INTERNAL_LINEINFO, Catch::StringRef(), Catch::NameAndTags{ Name " - " + std::string(INTERNAL_CATCH_STRINGIZE(TmplList)) + " - " + std::to_string(index), Tags } ), index++, 0)... };/* NOLINT */\ + (void)expander{(Catch::AutoReg( Catch::makeTestInvoker( &TestFunc ), CATCH_INTERNAL_LINEINFO, Catch::StringRef(), Catch::NameAndTags{ Name " - " + std::string(INTERNAL_CATCH_STRINGIZE(TmplList)) + " - " + std::to_string(index), Tags } ), index++)... };/* NOLINT */\ } \ };\ static int INTERNAL_CATCH_UNIQUE_NAME( globalRegistrar ) = [](){ \ @@ -1195,10 +1194,9 @@ struct AutoReg : NonCopyable { TestInit t; \ t.reg_tests(); \ return 0; \ - }(); \ + }(); \ }}\ - CATCH_INTERNAL_UNSUPPRESS_GLOBALS_WARNINGS \ - CATCH_INTERNAL_UNSUPPRESS_UNUSED_TEMPLATE_WARNINGS \ + CATCH_INTERNAL_STOP_WARNINGS_SUPPRESSION \ template \ static void TestFunc() @@ -1206,6 +1204,7 @@ struct AutoReg : NonCopyable { INTERNAL_CATCH_TEMPLATE_LIST_TEST_CASE_2( INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_M_P_L_A_T_E____T_E_S_T____ ), INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_M_P_L_A_T_E____T_E_S_T____F_U_N_C____ ), Name, Tags, TmplList ) #define INTERNAL_CATCH_TEMPLATE_TEST_CASE_METHOD_2( TestNameClass, TestName, ClassName, Name, Tags, Signature, ... ) \ + CATCH_INTERNAL_START_WARNINGS_SUPPRESSION \ CATCH_INTERNAL_SUPPRESS_GLOBALS_WARNINGS \ CATCH_INTERNAL_SUPPRESS_ZERO_VARIADIC_WARNINGS \ CATCH_INTERNAL_SUPPRESS_UNUSED_TEMPLATE_WARNINGS \ @@ -1221,7 +1220,7 @@ struct AutoReg : NonCopyable { int index = 0; \ constexpr char const* tmpl_types[] = {CATCH_REC_LIST(INTERNAL_CATCH_STRINGIZE_WITHOUT_PARENS, __VA_ARGS__)};\ using expander = int[];\ - (void)expander{(reg_test(Types{}, #ClassName, Catch::NameAndTags{ Name " - " + std::string(tmpl_types[index]), Tags } ), index++, 0)... };/* NOLINT */ \ + (void)expander{(reg_test(Types{}, #ClassName, Catch::NameAndTags{ Name " - " + std::string(tmpl_types[index]), Tags } ), index++)... };/* NOLINT */ \ }\ };\ static int INTERNAL_CATCH_UNIQUE_NAME( globalRegistrar ) = [](){\ @@ -1230,9 +1229,7 @@ struct AutoReg : NonCopyable { }();\ }\ }\ - CATCH_INTERNAL_UNSUPPRESS_GLOBALS_WARNINGS\ - CATCH_INTERNAL_UNSUPPRESS_ZERO_VARIADIC_WARNINGS\ - CATCH_INTERNAL_UNSUPPRESS_UNUSED_TEMPLATE_WARNINGS\ + CATCH_INTERNAL_STOP_WARNINGS_SUPPRESSION \ INTERNAL_CATCH_DEFINE_SIG_TEST_METHOD(TestName, INTERNAL_CATCH_REMOVE_PARENS(Signature)) #ifndef CATCH_CONFIG_TRADITIONAL_MSVC_PREPROCESSOR @@ -1252,6 +1249,7 @@ struct AutoReg : NonCopyable { #endif #define INTERNAL_CATCH_TEMPLATE_PRODUCT_TEST_CASE_METHOD_2(TestNameClass, TestName, ClassName, Name, Tags, Signature, TmplTypes, TypesList)\ + CATCH_INTERNAL_START_WARNINGS_SUPPRESSION \ CATCH_INTERNAL_SUPPRESS_GLOBALS_WARNINGS \ CATCH_INTERNAL_SUPPRESS_ZERO_VARIADIC_WARNINGS \ CATCH_INTERNAL_SUPPRESS_UNUSED_TEMPLATE_WARNINGS \ @@ -1271,7 +1269,7 @@ struct AutoReg : NonCopyable { constexpr char const* tmpl_types[] = {CATCH_REC_LIST(INTERNAL_CATCH_STRINGIZE_WITHOUT_PARENS, INTERNAL_CATCH_REMOVE_PARENS(TmplTypes))};\ constexpr char const* types_list[] = {CATCH_REC_LIST(INTERNAL_CATCH_STRINGIZE_WITHOUT_PARENS, INTERNAL_CATCH_REMOVE_PARENS(TypesList))};\ constexpr auto num_types = sizeof(types_list) / sizeof(types_list[0]);\ - (void)expander{(Catch::AutoReg( Catch::makeTestInvoker( &TestName::test ), CATCH_INTERNAL_LINEINFO, #ClassName, Catch::NameAndTags{ Name " - " + std::string(tmpl_types[index / num_types]) + "<" + std::string(types_list[index % num_types]) + ">", Tags } ), index++, 0)... };/* NOLINT */ \ + (void)expander{(Catch::AutoReg( Catch::makeTestInvoker( &TestName::test ), CATCH_INTERNAL_LINEINFO, #ClassName, Catch::NameAndTags{ Name " - " + std::string(tmpl_types[index / num_types]) + "<" + std::string(types_list[index % num_types]) + ">", Tags } ), index++)... };/* NOLINT */ \ }\ };\ static int INTERNAL_CATCH_UNIQUE_NAME( globalRegistrar ) = [](){\ @@ -1282,9 +1280,7 @@ struct AutoReg : NonCopyable { }(); \ }\ }\ - CATCH_INTERNAL_UNSUPPRESS_GLOBALS_WARNINGS \ - CATCH_INTERNAL_UNSUPPRESS_ZERO_VARIADIC_WARNINGS \ - CATCH_INTERNAL_UNSUPPRESS_UNUSED_TEMPLATE_WARNINGS \ + CATCH_INTERNAL_STOP_WARNINGS_SUPPRESSION \ template \ void TestName::test() @@ -1305,6 +1301,7 @@ struct AutoReg : NonCopyable { #endif #define INTERNAL_CATCH_TEMPLATE_LIST_TEST_CASE_METHOD_2( TestNameClass, TestName, ClassName, Name, Tags, TmplList) \ + CATCH_INTERNAL_START_WARNINGS_SUPPRESSION \ CATCH_INTERNAL_SUPPRESS_GLOBALS_WARNINGS \ CATCH_INTERNAL_SUPPRESS_UNUSED_TEMPLATE_WARNINGS \ template \ @@ -1319,7 +1316,7 @@ struct AutoReg : NonCopyable { void reg_tests(){\ int index = 0;\ using expander = int[];\ - (void)expander{(Catch::AutoReg( Catch::makeTestInvoker( &TestName::test ), CATCH_INTERNAL_LINEINFO, #ClassName, Catch::NameAndTags{ Name " - " + std::string(INTERNAL_CATCH_STRINGIZE(TmplList)) + " - " + std::to_string(index), Tags } ), index++, 0)... };/* NOLINT */ \ + (void)expander{(Catch::AutoReg( Catch::makeTestInvoker( &TestName::test ), CATCH_INTERNAL_LINEINFO, #ClassName, Catch::NameAndTags{ Name " - " + std::string(INTERNAL_CATCH_STRINGIZE(TmplList)) + " - " + std::to_string(index), Tags } ), index++)... };/* NOLINT */ \ }\ };\ static int INTERNAL_CATCH_UNIQUE_NAME( globalRegistrar ) = [](){\ @@ -1329,8 +1326,7 @@ struct AutoReg : NonCopyable { return 0;\ }(); \ }}\ - CATCH_INTERNAL_UNSUPPRESS_GLOBALS_WARNINGS \ - CATCH_INTERNAL_UNSUPPRESS_UNUSED_TEMPLATE_WARNINGS \ + CATCH_INTERNAL_STOP_WARNINGS_SUPPRESSION \ template \ void TestName::test() @@ -1436,7 +1432,7 @@ namespace Catch { auto makeStream( StringRef const &filename ) -> IStream const*; - class ReusableStringStream { + class ReusableStringStream : NonCopyable { std::size_t m_index; std::ostream* m_oss; public: @@ -1824,8 +1820,8 @@ namespace Catch { #endif namespace Detail { - template - std::string rangeToString(InputIterator first, InputIterator last) { + template + std::string rangeToString(InputIterator first, Sentinel last) { ReusableStringStream rss; rss << "{ "; if (first != last) { @@ -1983,20 +1979,27 @@ namespace Catch { #endif // CATCH_CONFIG_ENABLE_VARIANT_STRINGMAKER namespace Catch { - struct not_this_one {}; // Tag type for detecting which begin/ end are being selected - - // Import begin/ end from std here so they are considered alongside the fallback (...) overloads in this namespace + // Import begin/ end from std here using std::begin; using std::end; - not_this_one begin( ... ); - not_this_one end( ... ); + namespace detail { + template + struct void_type { + using type = void; + }; + + template + struct is_range_impl : std::false_type { + }; + + template + struct is_range_impl()))>::type> : std::true_type { + }; + } // namespace detail template - struct is_range { - static const bool value = - !std::is_same())), not_this_one>::value && - !std::is_same())), not_this_one>::value; + struct is_range : detail::is_range_impl { }; #if defined(_MANAGED) // Managed types are never ranges @@ -2364,6 +2367,18 @@ namespace Catch { auto operator <= ( RhsT const& rhs ) -> BinaryExpr const { return { static_cast(m_lhs <= rhs), m_lhs, "<=", rhs }; } + template + auto operator | (RhsT const& rhs) -> BinaryExpr const { + return { static_cast(m_lhs | rhs), m_lhs, "|", rhs }; + } + template + auto operator & (RhsT const& rhs) -> BinaryExpr const { + return { static_cast(m_lhs & rhs), m_lhs, "&", rhs }; + } + template + auto operator ^ (RhsT const& rhs) -> BinaryExpr const { + return { static_cast(m_lhs ^ rhs), m_lhs, "^", rhs }; + } template auto operator && ( RhsT const& ) -> BinaryExpr const { @@ -2444,7 +2459,7 @@ namespace Catch { virtual void sectionEnded( SectionEndInfo const& endInfo ) = 0; virtual void sectionEndedEarly( SectionEndInfo const& endInfo ) = 0; - virtual auto acquireGeneratorTracker( SourceLineInfo const& lineInfo ) -> IGeneratorTracker& = 0; + virtual auto acquireGeneratorTracker( StringRef generatorName, SourceLineInfo const& lineInfo ) -> IGeneratorTracker& = 0; #if defined(CATCH_CONFIG_ENABLE_BENCHMARKING) virtual void benchmarkPreparing( std::string const& name ) = 0; @@ -2682,15 +2697,16 @@ namespace Catch { /////////////////////////////////////////////////////////////////////////////// #define INTERNAL_CATCH_TEST( macroName, resultDisposition, ... ) \ do { \ + CATCH_INTERNAL_IGNORE_BUT_WARN(__VA_ARGS__); \ Catch::AssertionHandler catchAssertionHandler( macroName##_catch_sr, CATCH_INTERNAL_LINEINFO, CATCH_INTERNAL_STRINGIFY(__VA_ARGS__), resultDisposition ); \ INTERNAL_CATCH_TRY { \ + CATCH_INTERNAL_START_WARNINGS_SUPPRESSION \ CATCH_INTERNAL_SUPPRESS_PARENTHESES_WARNINGS \ catchAssertionHandler.handleExpr( Catch::Decomposer() <= __VA_ARGS__ ); \ - CATCH_INTERNAL_UNSUPPRESS_PARENTHESES_WARNINGS \ + CATCH_INTERNAL_STOP_WARNINGS_SUPPRESSION \ } INTERNAL_CATCH_CATCH( catchAssertionHandler ) \ INTERNAL_CATCH_REACT( catchAssertionHandler ) \ - } while( (void)0, (false) && static_cast( !!(__VA_ARGS__) ) ) // the expression here is never evaluated at runtime but it forces the compiler to give it a look - // The double negation silences MSVC's C4800 warning, the static_cast forces short-circuit evaluation if the type has overloaded &&. + } while( (void)0, (false) && static_cast( !!(__VA_ARGS__) ) ) /////////////////////////////////////////////////////////////////////////////// #define INTERNAL_CATCH_IF( macroName, resultDisposition, ... ) \ @@ -2907,14 +2923,16 @@ namespace Catch { } // end namespace Catch #define INTERNAL_CATCH_SECTION( ... ) \ + CATCH_INTERNAL_START_WARNINGS_SUPPRESSION \ CATCH_INTERNAL_SUPPRESS_UNUSED_WARNINGS \ if( Catch::Section const& INTERNAL_CATCH_UNIQUE_NAME( catch_internal_Section ) = Catch::SectionInfo( CATCH_INTERNAL_LINEINFO, __VA_ARGS__ ) ) \ - CATCH_INTERNAL_UNSUPPRESS_UNUSED_WARNINGS + CATCH_INTERNAL_STOP_WARNINGS_SUPPRESSION #define INTERNAL_CATCH_DYNAMIC_SECTION( ... ) \ + CATCH_INTERNAL_START_WARNINGS_SUPPRESSION \ CATCH_INTERNAL_SUPPRESS_UNUSED_WARNINGS \ if( Catch::Section const& INTERNAL_CATCH_UNIQUE_NAME( catch_internal_Section ) = Catch::SectionInfo( CATCH_INTERNAL_LINEINFO, (Catch::ReusableStringStream() << __VA_ARGS__).str() ) ) \ - CATCH_INTERNAL_UNSUPPRESS_UNUSED_WARNINGS + CATCH_INTERNAL_STOP_WARNINGS_SUPPRESSION // end catch_section.h // start catch_interfaces_exception.h @@ -3005,6 +3023,9 @@ namespace Catch { {} std::string translate( ExceptionTranslators::const_iterator it, ExceptionTranslators::const_iterator itEnd ) const override { +#if defined(CATCH_CONFIG_DISABLE_EXCEPTIONS) + return ""; +#else try { if( it == itEnd ) std::rethrow_exception(std::current_exception()); @@ -3014,6 +3035,7 @@ namespace Catch { catch( T& ex ) { return m_translateFunction( ex ); } +#endif } protected: @@ -3032,9 +3054,10 @@ namespace Catch { /////////////////////////////////////////////////////////////////////////////// #define INTERNAL_CATCH_TRANSLATE_EXCEPTION2( translatorName, signature ) \ static std::string translatorName( signature ); \ + CATCH_INTERNAL_START_WARNINGS_SUPPRESSION \ CATCH_INTERNAL_SUPPRESS_GLOBALS_WARNINGS \ namespace{ Catch::ExceptionTranslatorRegistrar INTERNAL_CATCH_UNIQUE_NAME( catch_internal_ExceptionRegistrar )( &translatorName ); } \ - CATCH_INTERNAL_UNSUPPRESS_GLOBALS_WARNINGS \ + CATCH_INTERNAL_STOP_WARNINGS_SUPPRESSION \ static std::string translatorName( signature ) #define INTERNAL_CATCH_TRANSLATE_EXCEPTION( signature ) INTERNAL_CATCH_TRANSLATE_EXCEPTION2( INTERNAL_CATCH_UNIQUE_NAME( catch_internal_ExceptionTranslator ), signature ) @@ -3281,9 +3304,10 @@ namespace Matchers { return description; } - MatchAllOf& operator && ( MatcherBase const& other ) { - m_matchers.push_back( &other ); - return *this; + MatchAllOf operator && ( MatcherBase const& other ) { + auto copy(*this); + copy.m_matchers.push_back( &other ); + return copy; } std::vector const*> m_matchers; @@ -3314,9 +3338,10 @@ namespace Matchers { return description; } - MatchAnyOf& operator || ( MatcherBase const& other ) { - m_matchers.push_back( &other ); - return *this; + MatchAnyOf operator || ( MatcherBase const& other ) { + auto copy(*this); + copy.m_matchers.push_back( &other ); + return copy; } std::vector const*> m_matchers; @@ -3573,12 +3598,12 @@ namespace Catch { namespace Matchers { namespace Vector { - template - struct ContainsElementMatcher : MatcherBase> { + template + struct ContainsElementMatcher : MatcherBase> { ContainsElementMatcher(T const &comparator) : m_comparator( comparator) {} - bool match(std::vector const &v) const override { + bool match(std::vector const &v) const override { for (auto const& el : v) { if (el == m_comparator) { return true; @@ -3594,12 +3619,12 @@ namespace Matchers { T const& m_comparator; }; - template - struct ContainsMatcher : MatcherBase> { + template + struct ContainsMatcher : MatcherBase> { - ContainsMatcher(std::vector const &comparator) : m_comparator( comparator ) {} + ContainsMatcher(std::vector const &comparator) : m_comparator( comparator ) {} - bool match(std::vector const &v) const override { + bool match(std::vector const &v) const override { // !TBD: see note in EqualsMatcher if (m_comparator.size() > v.size()) return false; @@ -3621,18 +3646,18 @@ namespace Matchers { return "Contains: " + ::Catch::Detail::stringify( m_comparator ); } - std::vector const& m_comparator; + std::vector const& m_comparator; }; - template - struct EqualsMatcher : MatcherBase> { + template + struct EqualsMatcher : MatcherBase> { - EqualsMatcher(std::vector const &comparator) : m_comparator( comparator ) {} + EqualsMatcher(std::vector const &comparator) : m_comparator( comparator ) {} - bool match(std::vector const &v) const override { + bool match(std::vector const &v) const override { // !TBD: This currently works if all elements can be compared using != // - a more general approach would be via a compare template that defaults - // to using !=. but could be specialised for, e.g. std::vector etc + // to using !=. but could be specialised for, e.g. std::vector etc // - then just call that directly if (m_comparator.size() != v.size()) return false; @@ -3644,15 +3669,15 @@ namespace Matchers { std::string describe() const override { return "Equals: " + ::Catch::Detail::stringify( m_comparator ); } - std::vector const& m_comparator; + std::vector const& m_comparator; }; - template - struct ApproxMatcher : MatcherBase> { + template + struct ApproxMatcher : MatcherBase> { - ApproxMatcher(std::vector const& comparator) : m_comparator( comparator ) {} + ApproxMatcher(std::vector const& comparator) : m_comparator( comparator ) {} - bool match(std::vector const &v) const override { + bool match(std::vector const &v) const override { if (m_comparator.size() != v.size()) return false; for (std::size_t i = 0; i < v.size(); ++i) @@ -3679,16 +3704,14 @@ namespace Matchers { return *this; } - std::vector const& m_comparator; + std::vector const& m_comparator; mutable Catch::Detail::Approx approx = Catch::Detail::Approx::custom(); }; - template - struct UnorderedEqualsMatcher : MatcherBase> { - UnorderedEqualsMatcher(std::vector const& target) : m_target(target) {} - bool match(std::vector const& vec) const override { - // Note: This is a reimplementation of std::is_permutation, - // because I don't want to include inside the common path + template + struct UnorderedEqualsMatcher : MatcherBase> { + UnorderedEqualsMatcher(std::vector const& target) : m_target(target) {} + bool match(std::vector const& vec) const override { if (m_target.size() != vec.size()) { return false; } @@ -3699,7 +3722,7 @@ namespace Matchers { return "UnorderedEquals: " + ::Catch::Detail::stringify(m_target); } private: - std::vector const& m_target; + std::vector const& m_target; }; } // namespace Vector @@ -3707,29 +3730,29 @@ namespace Matchers { // The following functions create the actual matcher objects. // This allows the types to be inferred - template - Vector::ContainsMatcher Contains( std::vector const& comparator ) { - return Vector::ContainsMatcher( comparator ); + template, typename AllocMatch = AllocComp> + Vector::ContainsMatcher Contains( std::vector const& comparator ) { + return Vector::ContainsMatcher( comparator ); } - template - Vector::ContainsElementMatcher VectorContains( T const& comparator ) { - return Vector::ContainsElementMatcher( comparator ); + template> + Vector::ContainsElementMatcher VectorContains( T const& comparator ) { + return Vector::ContainsElementMatcher( comparator ); } - template - Vector::EqualsMatcher Equals( std::vector const& comparator ) { - return Vector::EqualsMatcher( comparator ); + template, typename AllocMatch = AllocComp> + Vector::EqualsMatcher Equals( std::vector const& comparator ) { + return Vector::EqualsMatcher( comparator ); } - template - Vector::ApproxMatcher Approx( std::vector const& comparator ) { - return Vector::ApproxMatcher( comparator ); + template, typename AllocMatch = AllocComp> + Vector::ApproxMatcher Approx( std::vector const& comparator ) { + return Vector::ApproxMatcher( comparator ); } - template - Vector::UnorderedEqualsMatcher UnorderedEquals(std::vector const& target) { - return Vector::UnorderedEqualsMatcher(target); + template, typename AllocMatch = AllocComp> + Vector::UnorderedEqualsMatcher UnorderedEquals(std::vector const& target) { + return Vector::UnorderedEqualsMatcher( target ); } } // namespace Matchers @@ -3925,7 +3948,6 @@ namespace Generators { class SingleValueGenerator final : public IGenerator { T m_value; public: - SingleValueGenerator(T const& value) : m_value( value ) {} SingleValueGenerator(T&& value) : m_value(std::move(value)) {} T const& get() const override { @@ -3988,21 +4010,21 @@ namespace Generators { m_generators.emplace_back(std::move(generator)); } void populate(T&& val) { - m_generators.emplace_back(value(std::move(val))); + m_generators.emplace_back(value(std::forward(val))); } template void populate(U&& val) { - populate(T(std::move(val))); + populate(T(std::forward(val))); } template - void populate(U&& valueOrGenerator, Gs... moreGenerators) { + void populate(U&& valueOrGenerator, Gs &&... moreGenerators) { populate(std::forward(valueOrGenerator)); populate(std::forward(moreGenerators)...); } public: template - Generators(Gs... moreGenerators) { + Generators(Gs &&... moreGenerators) { m_generators.reserve(sizeof...(Gs)); populate(std::forward(moreGenerators)...); } @@ -4033,7 +4055,7 @@ namespace Generators { struct as {}; template - auto makeGenerators( GeneratorWrapper&& generator, Gs... moreGenerators ) -> Generators { + auto makeGenerators( GeneratorWrapper&& generator, Gs &&... moreGenerators ) -> Generators { return Generators(std::move(generator), std::forward(moreGenerators)...); } template @@ -4041,24 +4063,24 @@ namespace Generators { return Generators(std::move(generator)); } template - auto makeGenerators( T&& val, Gs... moreGenerators ) -> Generators { + auto makeGenerators( T&& val, Gs &&... moreGenerators ) -> Generators { return makeGenerators( value( std::forward( val ) ), std::forward( moreGenerators )... ); } template - auto makeGenerators( as, U&& val, Gs... moreGenerators ) -> Generators { + auto makeGenerators( as, U&& val, Gs &&... moreGenerators ) -> Generators { return makeGenerators( value( T( std::forward( val ) ) ), std::forward( moreGenerators )... ); } - auto acquireGeneratorTracker( SourceLineInfo const& lineInfo ) -> IGeneratorTracker&; + auto acquireGeneratorTracker( StringRef generatorName, SourceLineInfo const& lineInfo ) -> IGeneratorTracker&; template // Note: The type after -> is weird, because VS2015 cannot parse // the expression used in the typedef inside, when it is in // return type. Yeah. - auto generate( SourceLineInfo const& lineInfo, L const& generatorExpression ) -> decltype(std::declval().get()) { + auto generate( StringRef generatorName, SourceLineInfo const& lineInfo, L const& generatorExpression ) -> decltype(std::declval().get()) { using UnderlyingType = typename decltype(generatorExpression())::type; - IGeneratorTracker& tracker = acquireGeneratorTracker( lineInfo ); + IGeneratorTracker& tracker = acquireGeneratorTracker( generatorName, lineInfo ); if (!tracker.hasGenerator()) { tracker.setGenerator(pf::make_unique>(generatorExpression())); } @@ -4071,11 +4093,17 @@ namespace Generators { } // namespace Catch #define GENERATE( ... ) \ - Catch::Generators::generate( CATCH_INTERNAL_LINEINFO, [ ]{ using namespace Catch::Generators; return makeGenerators( __VA_ARGS__ ); } ) + Catch::Generators::generate( INTERNAL_CATCH_STRINGIZE(INTERNAL_CATCH_UNIQUE_NAME(generator)), \ + CATCH_INTERNAL_LINEINFO, \ + [ ]{ using namespace Catch::Generators; return makeGenerators( __VA_ARGS__ ); } ) //NOLINT(google-build-using-namespace) #define GENERATE_COPY( ... ) \ - Catch::Generators::generate( CATCH_INTERNAL_LINEINFO, [=]{ using namespace Catch::Generators; return makeGenerators( __VA_ARGS__ ); } ) + Catch::Generators::generate( INTERNAL_CATCH_STRINGIZE(INTERNAL_CATCH_UNIQUE_NAME(generator)), \ + CATCH_INTERNAL_LINEINFO, \ + [=]{ using namespace Catch::Generators; return makeGenerators( __VA_ARGS__ ); } ) //NOLINT(google-build-using-namespace) #define GENERATE_REF( ... ) \ - Catch::Generators::generate( CATCH_INTERNAL_LINEINFO, [&]{ using namespace Catch::Generators; return makeGenerators( __VA_ARGS__ ); } ) + Catch::Generators::generate( INTERNAL_CATCH_STRINGIZE(INTERNAL_CATCH_UNIQUE_NAME(generator)), \ + CATCH_INTERNAL_LINEINFO, \ + [&]{ using namespace Catch::Generators; return makeGenerators( __VA_ARGS__ ); } ) //NOLINT(google-build-using-namespace) // end catch_generators.hpp // start catch_generators_generic.hpp @@ -4241,18 +4269,7 @@ namespace Generators { } }; -#if defined(__cpp_lib_is_invocable) && __cpp_lib_is_invocable >= 201703 - // std::result_of is deprecated in C++17 and removed in C++20. Hence, it is - // replaced with std::invoke_result here. Also *_t format is preferred over - // typename *::type format. - template - using MapFunctionReturnType = std::remove_reference_t>>; -#else - template - using MapFunctionReturnType = typename std::remove_reference::type>::type>::type; -#endif - - template > + template > GeneratorWrapper map(Func&& function, GeneratorWrapper&& generator) { return GeneratorWrapper( pf::make_unique>(std::forward(function), std::move(generator)) @@ -4438,6 +4455,7 @@ namespace Catch { } // end namespace Catch // end catch_option.hpp +#include #include #include #include @@ -4495,6 +4513,7 @@ namespace Catch { virtual int abortAfter() const = 0; virtual bool showInvisibles() const = 0; virtual ShowDurations::OrNot showDurations() const = 0; + virtual double minDuration() const = 0; virtual TestSpec const& testSpec() const = 0; virtual bool hasTestFilters() const = 0; virtual std::vector const& getTestsOrTags() const = 0; @@ -4508,6 +4527,7 @@ namespace Catch { virtual int benchmarkSamples() const = 0; virtual double benchmarkConfidenceInterval() const = 0; virtual unsigned int benchmarkResamples() const = 0; + virtual std::chrono::milliseconds benchmarkWarmupTime() const = 0; }; using IConfigPtr = std::shared_ptr; @@ -4668,7 +4688,7 @@ class RangeGenerator final : public IGenerator { template GeneratorWrapper range(T const& start, T const& end, T const& step) { - static_assert(std::is_integral::value && !std::is_same::value, "Type must be an integer"); + static_assert(std::is_arithmetic::value && !std::is_same::value, "Type must be numeric"); return GeneratorWrapper(pf::make_unique>(start, end, step)); } @@ -5203,27 +5223,12 @@ namespace Catch { void addFilter(); bool separate(); - template - void addPattern() { - std::string token = m_patternName; - for( std::size_t i = 0; i < m_escapeChars.size(); ++i ) - token = token.substr( 0, m_escapeChars[i] - i ) + token.substr( m_escapeChars[i] -i +1 ); - m_escapeChars.clear(); - if( startsWith( token, "exclude:" ) ) { - m_exclusion = true; - token = token.substr( 8 ); - } - if( !token.empty() ) { - TestSpec::PatternPtr pattern = std::make_shared( token, m_substring ); - if( m_exclusion ) - pattern = std::make_shared( pattern ); - m_currentFilter.m_patterns.push_back( pattern ); - } - m_substring.clear(); - m_patternName.clear(); - m_exclusion = false; - m_mode = None; - } + // Handles common preprocessing of the pattern for name/tag patterns + std::string preprocessPattern(); + // Adds the current pattern as a test name + void addNamePattern(); + // Adds the current pattern as a tag + void addTagPattern(); inline void addCharToPattern(char c) { m_substring += c; @@ -5276,10 +5281,12 @@ namespace Catch { unsigned int benchmarkSamples = 100; double benchmarkConfidenceInterval = 0.95; unsigned int benchmarkResamples = 100000; + std::chrono::milliseconds::rep benchmarkWarmupTime = 100; Verbosity verbosity = Verbosity::Normal; WarnAbout::What warnings = WarnAbout::Nothing; ShowDurations::OrNot showDurations = ShowDurations::DefaultForReporter; + double minDuration = -1; RunTests::InWhatOrder runOrder = RunTests::InDeclarationOrder; UseColour::YesOrNo useColour = UseColour::Auto; WaitForKeypress::When waitForKeypress = WaitForKeypress::Never; @@ -5330,6 +5337,7 @@ namespace Catch { bool warnAboutMissingAssertions() const override; bool warnAboutNoTests() const override; ShowDurations::OrNot showDurations() const override; + double minDuration() const override; RunTests::InWhatOrder runOrder() const override; unsigned int rngSeed() const override; UseColour::YesOrNo useColour() const override; @@ -5341,6 +5349,7 @@ namespace Catch { int benchmarkSamples() const override; double benchmarkConfidenceInterval() const override; unsigned int benchmarkResamples() const override; + std::chrono::milliseconds benchmarkWarmupTime() const override; private: @@ -5706,6 +5715,9 @@ namespace Catch { // Returns double formatted as %.3f (format expected on output) std::string getFormattedDuration( double duration ); + //! Should the reporter show + bool shouldShowDuration( IConfig const& config, double duration ); + std::string serializeFilters( std::vector const& container ); template @@ -6068,14 +6080,16 @@ namespace Catch { #if !defined(CATCH_CONFIG_DISABLE) #define CATCH_REGISTER_REPORTER( name, reporterType ) \ + CATCH_INTERNAL_START_WARNINGS_SUPPRESSION \ CATCH_INTERNAL_SUPPRESS_GLOBALS_WARNINGS \ namespace{ Catch::ReporterRegistrar catch_internal_RegistrarFor##reporterType( name ); } \ - CATCH_INTERNAL_UNSUPPRESS_GLOBALS_WARNINGS + CATCH_INTERNAL_STOP_WARNINGS_SUPPRESSION #define CATCH_REGISTER_LISTENER( listenerType ) \ - CATCH_INTERNAL_SUPPRESS_GLOBALS_WARNINGS \ + CATCH_INTERNAL_START_WARNINGS_SUPPRESSION \ + CATCH_INTERNAL_SUPPRESS_GLOBALS_WARNINGS \ namespace{ Catch::ListenerRegistrar catch_internal_RegistrarFor##listenerType; } \ - CATCH_INTERNAL_UNSUPPRESS_GLOBALS_WARNINGS + CATCH_INTERNAL_STOP_WARNINGS_SUPPRESSION #else // CATCH_CONFIG_DISABLE #define CATCH_REGISTER_REPORTER(name, reporterType) @@ -6097,8 +6111,6 @@ namespace Catch { static std::string getDescription(); - ReporterPreferences getPreferences() const override; - void noMatchingTestCases(std::string const& spec) override; void assertionStarting(AssertionInfo const&) override; @@ -6198,6 +6210,14 @@ namespace Catch { #include namespace Catch { + enum class XmlFormatting { + None = 0x00, + Indent = 0x01, + Newline = 0x02, + }; + + XmlFormatting operator | (XmlFormatting lhs, XmlFormatting rhs); + XmlFormatting operator & (XmlFormatting lhs, XmlFormatting rhs); class XmlEncode { public: @@ -6219,14 +6239,14 @@ namespace Catch { class ScopedElement { public: - ScopedElement( XmlWriter* writer ); + ScopedElement( XmlWriter* writer, XmlFormatting fmt ); ScopedElement( ScopedElement&& other ) noexcept; ScopedElement& operator=( ScopedElement&& other ) noexcept; ~ScopedElement(); - ScopedElement& writeText( std::string const& text, bool indent = true ); + ScopedElement& writeText( std::string const& text, XmlFormatting fmt = XmlFormatting::Newline | XmlFormatting::Indent ); template ScopedElement& writeAttribute( std::string const& name, T const& attribute ) { @@ -6236,6 +6256,7 @@ namespace Catch { private: mutable XmlWriter* m_writer = nullptr; + XmlFormatting m_fmt; }; XmlWriter( std::ostream& os = Catch::cout() ); @@ -6244,11 +6265,11 @@ namespace Catch { XmlWriter( XmlWriter const& ) = delete; XmlWriter& operator=( XmlWriter const& ) = delete; - XmlWriter& startElement( std::string const& name ); + XmlWriter& startElement( std::string const& name, XmlFormatting fmt = XmlFormatting::Newline | XmlFormatting::Indent); - ScopedElement scopedElement( std::string const& name ); + ScopedElement scopedElement( std::string const& name, XmlFormatting fmt = XmlFormatting::Newline | XmlFormatting::Indent); - XmlWriter& endElement(); + XmlWriter& endElement(XmlFormatting fmt = XmlFormatting::Newline | XmlFormatting::Indent); XmlWriter& writeAttribute( std::string const& name, std::string const& attribute ); @@ -6261,9 +6282,9 @@ namespace Catch { return writeAttribute( name, rss.str() ); } - XmlWriter& writeText( std::string const& text, bool indent = true ); + XmlWriter& writeText( std::string const& text, XmlFormatting fmt = XmlFormatting::Newline | XmlFormatting::Indent); - XmlWriter& writeComment( std::string const& text ); + XmlWriter& writeComment(std::string const& text, XmlFormatting fmt = XmlFormatting::Newline | XmlFormatting::Indent); void writeStylesheetRef( std::string const& url ); @@ -6273,6 +6294,8 @@ namespace Catch { private: + void applyFormatting(XmlFormatting fmt); + void writeDeclaration(); void newlineIfNecessary(); @@ -6394,6 +6417,12 @@ namespace Catch { #endif #if defined(CATCH_CONFIG_ENABLE_BENCHMARKING) +// start catch_benchmarking_all.hpp + +// A proxy header that includes all of the benchmarking headers to allow +// concise include of the benchmarking features. You should prefer the +// individual includes in standard use. + // start catch_benchmark.hpp // Benchmark @@ -6529,20 +6558,18 @@ namespace Catch { return {}; } }; - template - using ResultOf_t = typename std::result_of::type; // invoke and not return void :( template - CompleteType_t> complete_invoke(Fun&& fun, Args&&... args) { - return CompleteInvoker>::invoke(std::forward(fun), std::forward(args)...); + CompleteType_t> complete_invoke(Fun&& fun, Args&&... args) { + return CompleteInvoker>::invoke(std::forward(fun), std::forward(args)...); } const std::string benchmarkErrorMsg = "a benchmark failed to run successfully"; } // namespace Detail template - Detail::CompleteType_t> user_code(Fun&& fun) { + Detail::CompleteType_t> user_code(Fun&& fun) { CATCH_TRY{ return Detail::complete_invoke(std::forward(fun)); } CATCH_CATCH_ALL{ @@ -6787,8 +6814,8 @@ namespace Catch { Result result; int iterations; }; - template - using TimingOf = Timing, Detail::CompleteType_t>>; + template + using TimingOf = Timing, Detail::CompleteType_t>>; } // namespace Benchmark } // namespace Catch @@ -6799,7 +6826,7 @@ namespace Catch { namespace Benchmark { namespace Detail { template - TimingOf measure(Fun&& fun, Args&&... args) { + TimingOf measure(Fun&& fun, Args&&... args) { auto start = Clock::now(); auto&& r = Detail::complete_invoke(fun, std::forward(args)...); auto end = Clock::now(); @@ -6818,11 +6845,11 @@ namespace Catch { namespace Benchmark { namespace Detail { template - TimingOf measure_one(Fun&& fun, int iters, std::false_type) { + TimingOf measure_one(Fun&& fun, int iters, std::false_type) { return Detail::measure(fun, iters); } template - TimingOf measure_one(Fun&& fun, int iters, std::true_type) { + TimingOf measure_one(Fun&& fun, int iters, std::true_type) { Detail::ChronometerModel meter; auto&& result = Detail::complete_invoke(fun, Chronometer(meter, iters)); @@ -6839,7 +6866,7 @@ namespace Catch { }; template - TimingOf)> run_for_at_least(ClockDuration how_long, int seed, Fun&& fun) { + TimingOf> run_for_at_least(ClockDuration how_long, int seed, Fun&& fun) { auto iters = seed; while (iters < (1 << 30)) { auto&& Timing = measure_one(fun, iters, is_callable()); @@ -6907,11 +6934,13 @@ namespace Catch { #include #include #include +#include #include #include #include #include #include +#include namespace Catch { namespace Benchmark { @@ -7261,10 +7290,10 @@ namespace Catch { template ExecutionPlan> prepare(const IConfig &cfg, Environment> env) const { auto min_time = env.clock_resolution.mean * Detail::minimum_ticks; - auto run_time = std::max(min_time, std::chrono::duration_cast(Detail::warmup_time)); + auto run_time = std::max(min_time, std::chrono::duration_cast(cfg.benchmarkWarmupTime())); auto&& test = Detail::run_for_at_least(std::chrono::duration_cast>(run_time), 1, fun); int new_iters = static_cast(std::ceil(min_time * test.iterations / test.elapsed)); - return { new_iters, test.elapsed / test.iterations * new_iters * cfg.benchmarkSamples(), fun, std::chrono::duration_cast>(Detail::warmup_time), Detail::warmup_iterations }; + return { new_iters, test.elapsed / test.iterations * new_iters * cfg.benchmarkSamples(), fun, std::chrono::duration_cast>(cfg.benchmarkWarmupTime()), Detail::warmup_iterations }; } template @@ -7296,7 +7325,7 @@ namespace Catch { }); auto analysis = Detail::analyse(*cfg, env, samples.begin(), samples.end()); - BenchmarkStats> stats{ info, analysis.samples, analysis.mean, analysis.standard_deviation, analysis.outliers, analysis.outlier_variance }; + BenchmarkStats> stats{ info, analysis.samples, analysis.mean, analysis.standard_deviation, analysis.outliers, analysis.outlier_variance }; getResultCapture().benchmarkEnded(stats); } CATCH_CATCH_ALL{ @@ -7337,6 +7366,77 @@ namespace Catch { BenchmarkName = [&] // end catch_benchmark.hpp +// start catch_constructor.hpp + +// Constructor and destructor helpers + + +#include + +namespace Catch { + namespace Benchmark { + namespace Detail { + template + struct ObjectStorage + { + using TStorage = typename std::aligned_storage::value>::type; + + ObjectStorage() : data() {} + + ObjectStorage(const ObjectStorage& other) + { + new(&data) T(other.stored_object()); + } + + ObjectStorage(ObjectStorage&& other) + { + new(&data) T(std::move(other.stored_object())); + } + + ~ObjectStorage() { destruct_on_exit(); } + + template + void construct(Args&&... args) + { + new (&data) T(std::forward(args)...); + } + + template + typename std::enable_if::type destruct() + { + stored_object().~T(); + } + + private: + // If this is a constructor benchmark, destruct the underlying object + template + void destruct_on_exit(typename std::enable_if::type* = 0) { destruct(); } + // Otherwise, don't + template + void destruct_on_exit(typename std::enable_if::type* = 0) { } + + T& stored_object() { + return *static_cast(static_cast(&data)); + } + + T const& stored_object() const { + return *static_cast(static_cast(&data)); + } + + TStorage data; + }; + } + + template + using storage_for = Detail::ObjectStorage; + + template + using destructable_object = Detail::ObjectStorage; + } +} + +// end catch_constructor.hpp +// end catch_benchmarking_all.hpp #endif #endif // ! CATCH_CONFIG_IMPL_ONLY @@ -7364,23 +7464,37 @@ namespace TestCaseTracking { SourceLineInfo location; NameAndLocation( std::string const& _name, SourceLineInfo const& _location ); + friend bool operator==(NameAndLocation const& lhs, NameAndLocation const& rhs) { + return lhs.name == rhs.name + && lhs.location == rhs.location; + } }; - struct ITracker; + class ITracker; using ITrackerPtr = std::shared_ptr; - struct ITracker { - virtual ~ITracker(); + class ITracker { + NameAndLocation m_nameAndLocation; + + public: + ITracker(NameAndLocation const& nameAndLoc) : + m_nameAndLocation(nameAndLoc) + {} // static queries - virtual NameAndLocation const& nameAndLocation() const = 0; + NameAndLocation const& nameAndLocation() const { + return m_nameAndLocation; + } + + virtual ~ITracker(); // dynamic queries virtual bool isComplete() const = 0; // Successfully completed or failed virtual bool isSuccessfullyCompleted() const = 0; virtual bool isOpen() const = 0; // Started but not complete virtual bool hasChildren() const = 0; + virtual bool hasStarted() const = 0; virtual ITracker& parent() = 0; @@ -7435,7 +7549,6 @@ namespace TestCaseTracking { }; using Children = std::vector; - NameAndLocation m_nameAndLocation; TrackerContext& m_ctx; ITracker* m_parent; Children m_children; @@ -7444,11 +7557,13 @@ namespace TestCaseTracking { public: TrackerBase( NameAndLocation const& nameAndLocation, TrackerContext& ctx, ITracker* parent ); - NameAndLocation const& nameAndLocation() const override; bool isComplete() const override; bool isSuccessfullyCompleted() const override; bool isOpen() const override; bool hasChildren() const override; + bool hasStarted() const override { + return m_runState != NotStarted; + } void addChild( ITrackerPtr const& child ) override; @@ -7487,6 +7602,10 @@ namespace TestCaseTracking { void addInitialFilters( std::vector const& filters ); void addNextFilters( std::vector const& filters ); + //! Returns filters active in this tracker + std::vector const& getFilters() const; + //! Returns whitespace-trimmed name of the tracked section + std::string const& trimmedName() const; }; } // namespace TestCaseTracking @@ -7675,9 +7794,10 @@ namespace Catch { } bootstrap_analysis analyse_samples(double confidence_level, int n_resamples, std::vector::iterator first, std::vector::iterator last) { + CATCH_INTERNAL_START_WARNINGS_SUPPRESSION CATCH_INTERNAL_SUPPRESS_GLOBALS_WARNINGS static std::random_device entropy; - CATCH_INTERNAL_UNSUPPRESS_GLOBALS_WARNINGS + CATCH_INTERNAL_STOP_WARNINGS_SUPPRESSION auto n = static_cast(last - first); // seriously, one can't use integral types without hell in C++ @@ -7810,7 +7930,24 @@ namespace Catch { #ifdef CATCH_PLATFORM_MAC - #define CATCH_TRAP() __asm__("int $3\n" : : ) /* NOLINT */ + #if defined(__i386__) || defined(__x86_64__) + #define CATCH_TRAP() __asm__("int $3\n" : : ) /* NOLINT */ + #elif defined(__aarch64__) + #define CATCH_TRAP() __asm__(".inst 0xd4200000") + #endif + +#elif defined(CATCH_PLATFORM_IPHONE) + + // use inline assembler + #if defined(__i386__) || defined(__x86_64__) + #define CATCH_TRAP() __asm__("int $3") + #elif defined(__aarch64__) + #define CATCH_TRAP() __asm__(".inst 0xd4200000") + #elif defined(__arm__) && !defined(__thumb__) + #define CATCH_TRAP() __asm__(".inst 0xe7f001f0") + #elif defined(__arm__) && defined(__thumb__) + #define CATCH_TRAP() __asm__(".inst 0xde01") + #endif #elif defined(CATCH_PLATFORM_LINUX) // If we can use inline assembler, do it because this allows us to break @@ -7830,10 +7967,12 @@ namespace Catch { #define CATCH_TRAP() DebugBreak() #endif -#ifdef CATCH_TRAP - #define CATCH_BREAK_INTO_DEBUGGER() []{ if( Catch::isDebuggerActive() ) { CATCH_TRAP(); } }() -#else - #define CATCH_BREAK_INTO_DEBUGGER() []{}() +#ifndef CATCH_BREAK_INTO_DEBUGGER + #ifdef CATCH_TRAP + #define CATCH_BREAK_INTO_DEBUGGER() []{ if( Catch::isDebuggerActive() ) { CATCH_TRAP(); } }() + #else + #define CATCH_BREAK_INTO_DEBUGGER() []{}() + #endif #endif // end catch_debugger.h @@ -7980,7 +8119,7 @@ namespace Catch { void sectionEnded( SectionEndInfo const& endInfo ) override; void sectionEndedEarly( SectionEndInfo const& endInfo ) override; - auto acquireGeneratorTracker( SourceLineInfo const& lineInfo ) -> IGeneratorTracker& override; + auto acquireGeneratorTracker( StringRef generatorName, SourceLineInfo const& lineInfo ) -> IGeneratorTracker& override; #if defined(CATCH_CONFIG_ENABLE_BENCHMARKING) void benchmarkPreparing( std::string const& name ) override; @@ -8956,7 +9095,7 @@ namespace detail { } inline auto convertInto( std::string const &source, bool &target ) -> ParserResult { std::string srcLC = source; - std::transform( srcLC.begin(), srcLC.end(), srcLC.begin(), []( char c ) { return static_cast( std::tolower(c) ); } ); + std::transform( srcLC.begin(), srcLC.end(), srcLC.begin(), []( unsigned char c ) { return static_cast( std::tolower(c) ); } ); if (srcLC == "y" || srcLC == "1" || srcLC == "true" || srcLC == "yes" || srcLC == "on") target = true; else if (srcLC == "n" || srcLC == "0" || srcLC == "false" || srcLC == "no" || srcLC == "off") @@ -9605,8 +9744,7 @@ namespace Catch { if( !startsWith( line, '"' ) ) line = '"' + line + '"'; config.testsOrTags.push_back( line ); - config.testsOrTags.push_back( "," ); - + config.testsOrTags.emplace_back( "," ); } } //Remove comma in the end @@ -9647,14 +9785,16 @@ namespace Catch { }; auto const setWaitForKeypress = [&]( std::string const& keypress ) { auto keypressLc = toLower( keypress ); - if( keypressLc == "start" ) + if (keypressLc == "never") + config.waitForKeypress = WaitForKeypress::Never; + else if( keypressLc == "start" ) config.waitForKeypress = WaitForKeypress::BeforeStart; else if( keypressLc == "exit" ) config.waitForKeypress = WaitForKeypress::BeforeExit; else if( keypressLc == "both" ) config.waitForKeypress = WaitForKeypress::BeforeStartAndExit; else - return ParserResult::runtimeError( "keypress argument must be one of: start, exit or both. '" + keypress + "' not recognised" ); + return ParserResult::runtimeError( "keypress argument must be one of: never, start, exit or both. '" + keypress + "' not recognised" ); return ParserResult::ok( ParseResultType::Matched ); }; auto const setVerbosity = [&]( std::string const& verbosity ) { @@ -9724,6 +9864,9 @@ namespace Catch { | Opt( [&]( bool flag ) { config.showDurations = flag ? ShowDurations::Always : ShowDurations::Never; }, "yes|no" ) ["-d"]["--durations"] ( "show test durations" ) + | Opt( config.minDuration, "seconds" ) + ["-D"]["--min-duration"] + ( "show test durations for tests taking at least the given number of seconds" ) | Opt( loadTestNamesFromFile, "filename" ) ["-f"]["--input-file"] ( "load test names to run from a file" ) @@ -9754,7 +9897,7 @@ namespace Catch { | Opt( config.libIdentify ) ["--libidentify"] ( "report name and version according to libidentify standard" ) - | Opt( setWaitForKeypress, "start|exit|both" ) + | Opt( setWaitForKeypress, "never|start|exit|both" ) ["--wait-for-keypress"] ( "waits for a keypress before exiting" ) | Opt( config.benchmarkSamples, "samples" ) @@ -9769,7 +9912,10 @@ namespace Catch { | Opt( config.benchmarkNoAnalysis ) ["--benchmark-no-analysis"] ( "perform only measurements; do not perform any analysis" ) - | Arg( config.testsOrTags, "test name|pattern|tags" ) + | Opt( config.benchmarkWarmupTime, "benchmarkWarmupTime" ) + ["--benchmark-warmup-time"] + ( "amount of time in milliseconds spent on warming up each test (default: 100)" ) + | Arg( config.testsOrTags, "test name|pattern|tags" ) ( "which test or tests to use" ); return cli; @@ -9868,6 +10014,7 @@ namespace Catch { bool Config::warnAboutMissingAssertions() const { return !!(m_data.warnings & WarnAbout::NoAssertions); } bool Config::warnAboutNoTests() const { return !!(m_data.warnings & WarnAbout::NoTests); } ShowDurations::OrNot Config::showDurations() const { return m_data.showDurations; } + double Config::minDuration() const { return m_data.minDuration; } RunTests::InWhatOrder Config::runOrder() const { return m_data.runOrder; } unsigned int Config::rngSeed() const { return m_data.rngSeed; } UseColour::YesOrNo Config::useColour() const { return m_data.useColour; } @@ -9876,10 +10023,11 @@ namespace Catch { bool Config::showInvisibles() const { return m_data.showInvisibles; } Verbosity Config::verbosity() const { return m_data.verbosity; } - bool Config::benchmarkNoAnalysis() const { return m_data.benchmarkNoAnalysis; } - int Config::benchmarkSamples() const { return m_data.benchmarkSamples; } - double Config::benchmarkConfidenceInterval() const { return m_data.benchmarkConfidenceInterval; } - unsigned int Config::benchmarkResamples() const { return m_data.benchmarkResamples; } + bool Config::benchmarkNoAnalysis() const { return m_data.benchmarkNoAnalysis; } + int Config::benchmarkSamples() const { return m_data.benchmarkSamples; } + double Config::benchmarkConfidenceInterval() const { return m_data.benchmarkConfidenceInterval; } + unsigned int Config::benchmarkResamples() const { return m_data.benchmarkResamples; } + std::chrono::milliseconds Config::benchmarkWarmupTime() const { return std::chrono::milliseconds(m_data.benchmarkWarmupTime); } IStream const* Config::openStream() { return Catch::makeStream(m_data.outputFilename); @@ -9920,7 +10068,7 @@ namespace Catch { }; struct NoColourImpl : IColourImpl { - void use( Colour::Code ) {} + void use( Colour::Code ) override {} static IColourImpl* instance() { static NoColourImpl s_instance; @@ -10052,7 +10200,7 @@ namespace { bool useColourOnPlatform() { return -#ifdef CATCH_PLATFORM_MAC +#if defined(CATCH_PLATFORM_MAC) || defined(CATCH_PLATFORM_IPHONE) !isDebuggerActive() && #endif #if !(defined(__DJGPP__) && defined(__STRICT_ANSI__)) @@ -10093,13 +10241,13 @@ namespace Catch { namespace Catch { Colour::Colour( Code _colourCode ) { use( _colourCode ); } - Colour::Colour( Colour&& rhs ) noexcept { - m_moved = rhs.m_moved; - rhs.m_moved = true; + Colour::Colour( Colour&& other ) noexcept { + m_moved = other.m_moved; + other.m_moved = true; } - Colour& Colour::operator=( Colour&& rhs ) noexcept { - m_moved = rhs.m_moved; - rhs.m_moved = true; + Colour& Colour::operator=( Colour&& other ) noexcept { + m_moved = other.m_moved; + other.m_moved = true; return *this; } @@ -10111,7 +10259,7 @@ namespace Catch { // However, under some conditions it does happen (see #1626), // and this change is small enough that we can let practicality // triumph over purity in this case. - if (impl != NULL) { + if (impl != nullptr) { impl->use( _colourCode ); } } @@ -10229,10 +10377,9 @@ namespace Catch { // end catch_debug_console.cpp // start catch_debugger.cpp -#ifdef CATCH_PLATFORM_MAC +#if defined(CATCH_PLATFORM_MAC) || defined(CATCH_PLATFORM_IPHONE) -# include -# include +# include # include # include # include @@ -10464,7 +10611,7 @@ namespace Catch { assert( valueNames.size() == values.size() ); std::size_t i = 0; for( auto value : values ) - enumInfo->m_values.push_back({ value, valueNames[i++] }); + enumInfo->m_values.emplace_back(value, valueNames[i++]); return enumInfo; } @@ -10764,8 +10911,8 @@ namespace Generators { GeneratorUntypedBase::~GeneratorUntypedBase() {} - auto acquireGeneratorTracker( SourceLineInfo const& lineInfo ) -> IGeneratorTracker& { - return getResultCapture().acquireGeneratorTracker( lineInfo ); + auto acquireGeneratorTracker( StringRef generatorName, SourceLineInfo const& lineInfo ) -> IGeneratorTracker& { + return getResultCapture().acquireGeneratorTracker( generatorName, lineInfo ); } } // namespace Generators @@ -11040,7 +11187,7 @@ namespace Catch { namespace Catch { std::size_t listTests( Config const& config ) { - TestSpec testSpec = config.testSpec(); + TestSpec const& testSpec = config.testSpec(); if( config.hasTestFilters() ) Catch::cout() << "Matching test cases:\n"; else { @@ -11074,7 +11221,7 @@ namespace Catch { } std::size_t listTestsNamesOnly( Config const& config ) { - TestSpec testSpec = config.testSpec(); + TestSpec const& testSpec = config.testSpec(); std::size_t matchedTests = 0; std::vector matchedTestCases = filterTests( getAllTestCasesSorted( config ), testSpec, config ); for( auto const& testCaseInfo : matchedTestCases ) { @@ -11112,7 +11259,7 @@ namespace Catch { } std::size_t listTags( Config const& config ) { - TestSpec testSpec = config.testSpec(); + TestSpec const& testSpec = config.testSpec(); if( config.hasTestFilters() ) Catch::cout() << "Tags for matching test cases:\n"; else { @@ -11304,16 +11451,8 @@ namespace { return static_cast(ulpDiff) <= maxUlpDiff; } -} //end anonymous namespace - #if defined(CATCH_CONFIG_GLOBAL_NEXTAFTER) -#if defined(__clang__) -#pragma clang diagnostic push -// The long double overload is currently unused -#pragma clang diagnostic ignored "-Wunused-function" -#endif - float nextafter(float x, float y) { return ::nextafterf(x, y); } @@ -11322,18 +11461,8 @@ namespace { return ::nextafter(x, y); } - long double nextafter(long double x, long double y) { - return ::nextafterl(x, y); - } - -#if defined(__clang__) -#pragma clang diagnostic pop -#endif - #endif // ^^^ CATCH_CONFIG_GLOBAL_NEXTAFTER ^^^ -namespace { - template FP step(FP start, FP direction, uint64_t steps) { for (uint64_t i = 0; i < steps; ++i) { @@ -11670,10 +11799,10 @@ namespace Catch { Capturer::Capturer( StringRef macroName, SourceLineInfo const& lineInfo, ResultWas::OfType resultType, StringRef names ) { auto trimmed = [&] (size_t start, size_t end) { - while (names[start] == ',' || isspace(names[start])) { + while (names[start] == ',' || isspace(static_cast(names[start]))) { ++start; } - while (names[end] == ',' || isspace(names[end])) { + while (names[end] == ',' || isspace(static_cast(names[end]))) { --end; } return names.substr(start, end - start + 1); @@ -11712,7 +11841,7 @@ namespace Catch { pos = skipq(pos, c); break; case ',': - if (start != pos && openings.size() == 0) { + if (start != pos && openings.empty()) { m_messages.emplace_back(macroName, lineInfo, resultType); m_messages.back().message = static_cast(trimmed(start, pos)); m_messages.back().message += " := "; @@ -11720,7 +11849,7 @@ namespace Catch { } } } - assert(openings.size() == 0 && "Mismatched openings"); + assert(openings.empty() && "Mismatched openings"); m_messages.emplace_back(macroName, lineInfo, resultType); m_messages.back().message = static_cast(trimmed(start, names.size() - 1)); m_messages.back().message += " := "; @@ -11908,7 +12037,7 @@ namespace Catch { if (tmpnam_s(m_buffer)) { CATCH_RUNTIME_ERROR("Could not get a temp filename"); } - if (fopen_s(&m_file, m_buffer, "w")) { + if (fopen_s(&m_file, m_buffer, "w+")) { char buffer[100]; if (strerror_s(buffer, errno)) { CATCH_RUNTIME_ERROR("Could not translate errno to a string"); @@ -12203,11 +12332,13 @@ namespace Catch { namespace Catch { class StartupExceptionRegistry { +#if !defined(CATCH_CONFIG_DISABLE_EXCEPTIONS) public: void add(std::exception_ptr const& exception) noexcept; std::vector const& getExceptions() const noexcept; private: std::vector m_exceptions; +#endif }; } // end namespace Catch @@ -12290,7 +12421,11 @@ namespace Catch { m_tagAliasRegistry.add( alias, tag, lineInfo ); } void registerStartupException() noexcept override { +#if !defined(CATCH_CONFIG_DISABLE_EXCEPTIONS) m_exceptionRegistry.add(std::current_exception()); +#else + CATCH_INTERNAL_ERROR("Attempted to register active exception under CATCH_CONFIG_DISABLE_EXCEPTIONS!"); +#endif } IMutableEnumValuesRegistry& getMutableEnumValuesRegistry() override { return m_enumValuesRegistry; @@ -12394,17 +12529,32 @@ namespace Catch { std::shared_ptr tracker; ITracker& currentTracker = ctx.currentTracker(); - if( TestCaseTracking::ITrackerPtr childTracker = currentTracker.findChild( nameAndLocation ) ) { + // Under specific circumstances, the generator we want + // to acquire is also the current tracker. If this is + // the case, we have to avoid looking through current + // tracker's children, and instead return the current + // tracker. + // A case where this check is important is e.g. + // for (int i = 0; i < 5; ++i) { + // int n = GENERATE(1, 2); + // } + // + // without it, the code above creates 5 nested generators. + if (currentTracker.nameAndLocation() == nameAndLocation) { + auto thisTracker = currentTracker.parent().findChild(nameAndLocation); + assert(thisTracker); + assert(thisTracker->isGeneratorTracker()); + tracker = std::static_pointer_cast(thisTracker); + } else if ( TestCaseTracking::ITrackerPtr childTracker = currentTracker.findChild( nameAndLocation ) ) { assert( childTracker ); assert( childTracker->isGeneratorTracker() ); tracker = std::static_pointer_cast( childTracker ); - } - else { + } else { tracker = std::make_shared( nameAndLocation, ctx, ¤tTracker ); currentTracker.addChild( tracker ); } - if( !ctx.completedCycle() && !tracker->isComplete() ) { + if( !tracker->isComplete() ) { tracker->open(); } @@ -12418,8 +12568,68 @@ namespace Catch { } void close() override { TrackerBase::close(); - // Generator interface only finds out if it has another item on atual move - if (m_runState == CompletedSuccessfully && m_generator->next()) { + // If a generator has a child (it is followed by a section) + // and none of its children have started, then we must wait + // until later to start consuming its values. + // This catches cases where `GENERATE` is placed between two + // `SECTION`s. + // **The check for m_children.empty cannot be removed**. + // doing so would break `GENERATE` _not_ followed by `SECTION`s. + const bool should_wait_for_child = [&]() { + // No children -> nobody to wait for + if ( m_children.empty() ) { + return false; + } + // If at least one child started executing, don't wait + if ( std::find_if( + m_children.begin(), + m_children.end(), + []( TestCaseTracking::ITrackerPtr tracker ) { + return tracker->hasStarted(); + } ) != m_children.end() ) { + return false; + } + + // No children have started. We need to check if they _can_ + // start, and thus we should wait for them, or they cannot + // start (due to filters), and we shouldn't wait for them + auto* parent = m_parent; + // This is safe: there is always at least one section + // tracker in a test case tracking tree + while ( !parent->isSectionTracker() ) { + parent = &( parent->parent() ); + } + assert( parent && + "Missing root (test case) level section" ); + + auto const& parentSection = + static_cast( *parent ); + auto const& filters = parentSection.getFilters(); + // No filters -> no restrictions on running sections + if ( filters.empty() ) { + return true; + } + + for ( auto const& child : m_children ) { + if ( child->isSectionTracker() && + std::find( filters.begin(), + filters.end(), + static_cast( *child ) + .trimmedName() ) != + filters.end() ) { + return true; + } + } + return false; + }(); + + // This check is a bit tricky, because m_generator->next() + // has a side-effect, where it consumes generator's current + // value, but we do not want to invoke the side-effect if + // this generator is still waiting for any child to start. + if ( should_wait_for_child || + ( m_runState == CompletedSuccessfully && + m_generator->next() ) ) { m_children.clear(); m_runState = Executing; } @@ -12555,10 +12765,10 @@ namespace Catch { return true; } - auto RunContext::acquireGeneratorTracker( SourceLineInfo const& lineInfo ) -> IGeneratorTracker& { + auto RunContext::acquireGeneratorTracker( StringRef generatorName, SourceLineInfo const& lineInfo ) -> IGeneratorTracker& { using namespace Generators; - GeneratorTracker& tracker = GeneratorTracker::acquire( m_trackerContext, TestCaseTracking::NameAndLocation( "generator", lineInfo ) ); - assert( tracker.isOpen() ); + GeneratorTracker& tracker = GeneratorTracker::acquire(m_trackerContext, + TestCaseTracking::NameAndLocation( static_cast(generatorName), lineInfo ) ); m_lastAssertionInfo.lineInfo = lineInfo; return tracker; } @@ -12601,17 +12811,17 @@ namespace Catch { #if defined(CATCH_CONFIG_ENABLE_BENCHMARKING) void RunContext::benchmarkPreparing(std::string const& name) { - m_reporter->benchmarkPreparing(name); - } + m_reporter->benchmarkPreparing(name); + } void RunContext::benchmarkStarting( BenchmarkInfo const& info ) { m_reporter->benchmarkStarting( info ); } void RunContext::benchmarkEnded( BenchmarkStats<> const& stats ) { m_reporter->benchmarkEnded( stats ); } - void RunContext::benchmarkFailed(std::string const & error) { - m_reporter->benchmarkFailed(error); - } + void RunContext::benchmarkFailed(std::string const & error) { + m_reporter->benchmarkFailed(error); + } #endif // CATCH_CONFIG_ENABLE_BENCHMARKING void RunContext::pushScopedMessage(MessageInfo const & message) { @@ -13208,11 +13418,11 @@ namespace Catch { char **utf8Argv = new char *[ argc ]; for ( int i = 0; i < argc; ++i ) { - int bufSize = WideCharToMultiByte( CP_UTF8, 0, argv[i], -1, NULL, 0, NULL, NULL ); + int bufSize = WideCharToMultiByte( CP_UTF8, 0, argv[i], -1, nullptr, 0, nullptr, nullptr ); utf8Argv[ i ] = new char[ bufSize ]; - WideCharToMultiByte( CP_UTF8, 0, argv[i], -1, utf8Argv[i], bufSize, NULL, NULL ); + WideCharToMultiByte( CP_UTF8, 0, argv[i], -1, utf8Argv[i], bufSize, nullptr, nullptr ); } int returnCode = applyCommandLine( argc, utf8Argv ); @@ -13332,6 +13542,7 @@ namespace Catch { // end catch_singletons.cpp // start catch_startup_exception_registry.cpp +#if !defined(CATCH_CONFIG_DISABLE_EXCEPTIONS) namespace Catch { void StartupExceptionRegistry::add( std::exception_ptr const& exception ) noexcept { CATCH_TRY { @@ -13347,6 +13558,7 @@ void StartupExceptionRegistry::add( std::exception_ptr const& exception ) noexce } } // end namespace Catch +#endif // end catch_startup_exception_registry.cpp // start catch_stream.cpp @@ -13531,7 +13743,7 @@ namespace Catch { namespace { char toLowerCh(char c) { - return static_cast( std::tolower( c ) ); + return static_cast( std::tolower( static_cast(c) ) ); } } @@ -13623,11 +13835,7 @@ namespace Catch { // end catch_string_manip.cpp // start catch_stringref.cpp -#if defined(__clang__) -# pragma clang diagnostic push -# pragma clang diagnostic ignored "-Wexit-time-destructors" -#endif - +#include #include #include #include @@ -13637,66 +13845,36 @@ namespace Catch { : StringRef( rawChars, static_cast(std::strlen(rawChars) ) ) {} - void StringRef::swap( StringRef& other ) noexcept { - std::swap( m_start, other.m_start ); - std::swap( m_size, other.m_size ); - std::swap( m_data, other.m_data ); - } - auto StringRef::c_str() const -> char const* { - if( !isSubstring() ) - return m_start; - - const_cast( this )->takeOwnership(); - return m_data; - } - auto StringRef::currentData() const noexcept -> char const* { + CATCH_ENFORCE(isNullTerminated(), "Called StringRef::c_str() on a non-null-terminated instance"); return m_start; } - - auto StringRef::isOwned() const noexcept -> bool { - return m_data != nullptr; - } - auto StringRef::isSubstring() const noexcept -> bool { - return m_start[m_size] != '\0'; + auto StringRef::data() const noexcept -> char const* { + return m_start; } - void StringRef::takeOwnership() { - if( !isOwned() ) { - m_data = new char[m_size+1]; - memcpy( m_data, m_start, m_size ); - m_data[m_size] = '\0'; - } - } auto StringRef::substr( size_type start, size_type size ) const noexcept -> StringRef { - if( start < m_size ) - return StringRef( m_start+start, size ); - else + if (start < m_size) { + return StringRef(m_start + start, (std::min)(m_size - start, size)); + } else { return StringRef(); + } } auto StringRef::operator == ( StringRef const& other ) const noexcept -> bool { - return - size() == other.size() && - (std::strncmp( m_start, other.m_start, size() ) == 0); - } - auto StringRef::operator != ( StringRef const& other ) const noexcept -> bool { - return !operator==( other ); + return m_size == other.m_size + && (std::memcmp( m_start, other.m_start, m_size ) == 0); } auto operator << ( std::ostream& os, StringRef const& str ) -> std::ostream& { - return os.write(str.currentData(), str.size()); + return os.write(str.data(), str.size()); } auto operator+=( std::string& lhs, StringRef const& rhs ) -> std::string& { - lhs.append(rhs.currentData(), rhs.size()); + lhs.append(rhs.data(), rhs.size()); return lhs; } } // namespace Catch - -#if defined(__clang__) -# pragma clang diagnostic pop -#endif // end catch_stringref.cpp // start catch_tag_alias.cpp @@ -13845,7 +14023,8 @@ namespace Catch { } } if( isHidden ) { - tags.push_back( "." ); + // Add all "hidden" tags to make them behave identically + tags.insert( tags.end(), { ".", "!hide" } ); } TestCaseInfo info( static_cast(nameAndTags.name), _className, desc, tags, _lineInfo ); @@ -13940,27 +14119,77 @@ namespace Catch { // end catch_test_case_info.cpp // start catch_test_case_registry_impl.cpp +#include #include namespace Catch { - std::vector sortTests( IConfig const& config, std::vector const& unsortedTestCases ) { + namespace { + struct TestHasher { + explicit TestHasher(Catch::SimplePcg32& rng_instance) { + basis = rng_instance(); + basis <<= 32; + basis |= rng_instance(); + } + + uint64_t basis; - std::vector sorted = unsortedTestCases; + uint64_t operator()(TestCase const& t) const { + // Modified FNV-1a hash + static constexpr uint64_t prime = 1099511628211; + uint64_t hash = basis; + for (const char c : t.name) { + hash ^= c; + hash *= prime; + } + return hash; + } + }; + } // end unnamed namespace + std::vector sortTests( IConfig const& config, std::vector const& unsortedTestCases ) { switch( config.runOrder() ) { - case RunTests::InLexicographicalOrder: - std::sort( sorted.begin(), sorted.end() ); - break; - case RunTests::InRandomOrder: - seedRng( config ); - std::shuffle( sorted.begin(), sorted.end(), rng() ); - break; case RunTests::InDeclarationOrder: // already in declaration order break; + + case RunTests::InLexicographicalOrder: { + std::vector sorted = unsortedTestCases; + std::sort( sorted.begin(), sorted.end() ); + return sorted; + } + + case RunTests::InRandomOrder: { + seedRng( config ); + TestHasher h( rng() ); + + using hashedTest = std::pair; + std::vector indexed_tests; + indexed_tests.reserve( unsortedTestCases.size() ); + + for (auto const& testCase : unsortedTestCases) { + indexed_tests.emplace_back(h(testCase), &testCase); + } + + std::sort(indexed_tests.begin(), indexed_tests.end(), + [](hashedTest const& lhs, hashedTest const& rhs) { + if (lhs.first == rhs.first) { + return lhs.second->name < rhs.second->name; + } + return lhs.first < rhs.first; + }); + + std::vector sorted; + sorted.reserve( indexed_tests.size() ); + + for (auto const& hashed : indexed_tests) { + sorted.emplace_back(*hashed.second); + } + + return sorted; + } } - return sorted; + return unsortedTestCases; } bool isThrowSafe( TestCase const& testCase, IConfig const& config ) { @@ -14097,15 +14326,12 @@ namespace TestCaseTracking { m_currentTracker = tracker; } - TrackerBase::TrackerBase( NameAndLocation const& nameAndLocation, TrackerContext& ctx, ITracker* parent ) - : m_nameAndLocation( nameAndLocation ), + TrackerBase::TrackerBase( NameAndLocation const& nameAndLocation, TrackerContext& ctx, ITracker* parent ): + ITracker(nameAndLocation), m_ctx( ctx ), m_parent( parent ) {} - NameAndLocation const& TrackerBase::nameAndLocation() const { - return m_nameAndLocation; - } bool TrackerBase::isComplete() const { return m_runState == CompletedSuccessfully || m_runState == Failed; } @@ -14221,7 +14447,8 @@ namespace TestCaseTracking { bool SectionTracker::isComplete() const { bool complete = true; - if ((m_filters.empty() || m_filters[0] == "") + if (m_filters.empty() + || m_filters[0] == "" || std::find(m_filters.begin(), m_filters.end(), m_trimmed_name) != m_filters.end()) { complete = TrackerBase::isComplete(); } @@ -14256,8 +14483,8 @@ namespace TestCaseTracking { void SectionTracker::addInitialFilters( std::vector const& filters ) { if( !filters.empty() ) { m_filters.reserve( m_filters.size() + filters.size() + 2 ); - m_filters.push_back(""); // Root - should never be consulted - m_filters.push_back(""); // Test Case - not a section filter + m_filters.emplace_back(""); // Root - should never be consulted + m_filters.emplace_back(""); // Test Case - not a section filter m_filters.insert( m_filters.end(), filters.begin(), filters.end() ); } } @@ -14266,6 +14493,14 @@ namespace TestCaseTracking { m_filters.insert( m_filters.end(), filters.begin()+1, filters.end() ); } + std::vector const& SectionTracker::getFilters() const { + return m_filters; + } + + std::string const& SectionTracker::trimmedName() const { + return m_trimmed_name; + } + } // namespace TestCaseTracking using TestCaseTracking::ITracker; @@ -14499,9 +14734,9 @@ namespace Catch { switch( m_mode ) { case Name: case QuotedName: - return addPattern(); + return addNamePattern(); case Tag: - return addPattern(); + return addTagPattern(); case EscapedName: revertBackToLastMode(); return; @@ -14554,6 +14789,7 @@ namespace Catch { m_pos = m_arg.size(); m_substring.clear(); m_patternName.clear(); + m_realPatternPos = 0; return false; } endMode(); @@ -14561,6 +14797,63 @@ namespace Catch { return true; //success } + std::string TestSpecParser::preprocessPattern() { + std::string token = m_patternName; + for (std::size_t i = 0; i < m_escapeChars.size(); ++i) + token = token.substr(0, m_escapeChars[i] - i) + token.substr(m_escapeChars[i] - i + 1); + m_escapeChars.clear(); + if (startsWith(token, "exclude:")) { + m_exclusion = true; + token = token.substr(8); + } + + m_patternName.clear(); + m_realPatternPos = 0; + + return token; + } + + void TestSpecParser::addNamePattern() { + auto token = preprocessPattern(); + + if (!token.empty()) { + TestSpec::PatternPtr pattern = std::make_shared(token, m_substring); + if (m_exclusion) + pattern = std::make_shared(pattern); + m_currentFilter.m_patterns.push_back(pattern); + } + m_substring.clear(); + m_exclusion = false; + m_mode = None; + } + + void TestSpecParser::addTagPattern() { + auto token = preprocessPattern(); + + if (!token.empty()) { + // If the tag pattern is the "hide and tag" shorthand (e.g. [.foo]) + // we have to create a separate hide tag and shorten the real one + if (token.size() > 1 && token[0] == '.') { + token.erase(token.begin()); + TestSpec::PatternPtr pattern = std::make_shared(".", m_substring); + if (m_exclusion) { + pattern = std::make_shared(pattern); + } + m_currentFilter.m_patterns.push_back(pattern); + } + + TestSpec::PatternPtr pattern = std::make_shared(token, m_substring); + + if (m_exclusion) { + pattern = std::make_shared(pattern); + } + m_currentFilter.m_patterns.push_back(pattern); + } + m_substring.clear(); + m_exclusion = false; + m_mode = None; + } + TestSpec parseTestSpec( std::string const& arg ) { return TestSpecParser( ITagAliasRegistry::get() ).parse( arg ).testSpec(); } @@ -14662,13 +14955,11 @@ namespace Detail { enum Arch { Big, Little }; static Arch which() { - union _{ - int asInt; - char asChar[sizeof (int)]; - } u; - - u.asInt = 1; - return ( u.asChar[sizeof(int)-1] == 1 ) ? Big : Little; + int one = 1; + // If the lowest byte we read is non-zero, we can assume + // that little endian format is used. + auto value = *reinterpret_cast(&one); + return value ? Little : Big; } }; } @@ -14944,11 +15235,48 @@ namespace Catch { // end catch_totals.cpp // start catch_uncaught_exceptions.cpp +// start catch_config_uncaught_exceptions.hpp + +// Copyright Catch2 Authors +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// https://www.boost.org/LICENSE_1_0.txt) + +// SPDX-License-Identifier: BSL-1.0 + +#ifndef CATCH_CONFIG_UNCAUGHT_EXCEPTIONS_HPP +#define CATCH_CONFIG_UNCAUGHT_EXCEPTIONS_HPP + +#if defined(_MSC_VER) +# if _MSC_VER >= 1900 // Visual Studio 2015 or newer +# define CATCH_INTERNAL_CONFIG_CPP17_UNCAUGHT_EXCEPTIONS +# endif +#endif + +#include + +#if defined(__cpp_lib_uncaught_exceptions) \ + && !defined(CATCH_INTERNAL_CONFIG_CPP17_UNCAUGHT_EXCEPTIONS) + +# define CATCH_INTERNAL_CONFIG_CPP17_UNCAUGHT_EXCEPTIONS +#endif // __cpp_lib_uncaught_exceptions + +#if defined(CATCH_INTERNAL_CONFIG_CPP17_UNCAUGHT_EXCEPTIONS) \ + && !defined(CATCH_CONFIG_NO_CPP17_UNCAUGHT_EXCEPTIONS) \ + && !defined(CATCH_CONFIG_CPP17_UNCAUGHT_EXCEPTIONS) + +# define CATCH_CONFIG_CPP17_UNCAUGHT_EXCEPTIONS +#endif + +#endif // CATCH_CONFIG_UNCAUGHT_EXCEPTIONS_HPP +// end catch_config_uncaught_exceptions.hpp #include namespace Catch { bool uncaught_exceptions() { -#if defined(CATCH_CONFIG_CPP17_UNCAUGHT_EXCEPTIONS) +#if defined(CATCH_CONFIG_DISABLE_EXCEPTIONS) + return false; +#elif defined(CATCH_CONFIG_CPP17_UNCAUGHT_EXCEPTIONS) return std::uncaught_exceptions() > 0; #else return std::uncaught_exception(); @@ -14988,7 +15316,7 @@ namespace Catch { } Version const& libraryVersion() { - static Version version( 2, 10, 2, "", 0 ); + static Version version( 2, 13, 3, "", 0 ); return version; } @@ -15036,8 +15364,7 @@ namespace Catch { // start catch_xmlwriter.cpp #include - -using uchar = unsigned char; +#include namespace Catch { @@ -15077,8 +15404,30 @@ namespace { os.flags(f); } + bool shouldNewline(XmlFormatting fmt) { + return !!(static_cast::type>(fmt & XmlFormatting::Newline)); + } + + bool shouldIndent(XmlFormatting fmt) { + return !!(static_cast::type>(fmt & XmlFormatting::Indent)); + } + } // anonymous namespace + XmlFormatting operator | (XmlFormatting lhs, XmlFormatting rhs) { + return static_cast( + static_cast::type>(lhs) | + static_cast::type>(rhs) + ); + } + + XmlFormatting operator & (XmlFormatting lhs, XmlFormatting rhs) { + return static_cast( + static_cast::type>(lhs) & + static_cast::type>(rhs) + ); + } + XmlEncode::XmlEncode( std::string const& str, ForWhat forWhat ) : m_str( str ), m_forWhat( forWhat ) @@ -15089,7 +15438,7 @@ namespace { // (see: http://www.w3.org/TR/xml/#syntax) for( std::size_t idx = 0; idx < m_str.size(); ++ idx ) { - uchar c = m_str[idx]; + unsigned char c = m_str[idx]; switch (c) { case '<': os << "<"; break; case '&': os << "&"; break; @@ -15149,7 +15498,7 @@ namespace { bool valid = true; uint32_t value = headerValue(c); for (std::size_t n = 1; n < encBytes; ++n) { - uchar nc = m_str[idx + n]; + unsigned char nc = m_str[idx + n]; valid &= ((nc & 0xC0) == 0x80); value = (value << 6) | (nc & 0x3F); } @@ -15183,13 +15532,17 @@ namespace { return os; } - XmlWriter::ScopedElement::ScopedElement( XmlWriter* writer ) - : m_writer( writer ) + XmlWriter::ScopedElement::ScopedElement( XmlWriter* writer, XmlFormatting fmt ) + : m_writer( writer ), + m_fmt(fmt) {} XmlWriter::ScopedElement::ScopedElement( ScopedElement&& other ) noexcept - : m_writer( other.m_writer ){ + : m_writer( other.m_writer ), + m_fmt(other.m_fmt) + { other.m_writer = nullptr; + other.m_fmt = XmlFormatting::None; } XmlWriter::ScopedElement& XmlWriter::ScopedElement::operator=( ScopedElement&& other ) noexcept { if ( m_writer ) { @@ -15197,16 +15550,19 @@ namespace { } m_writer = other.m_writer; other.m_writer = nullptr; + m_fmt = other.m_fmt; + other.m_fmt = XmlFormatting::None; return *this; } XmlWriter::ScopedElement::~ScopedElement() { - if( m_writer ) - m_writer->endElement(); + if (m_writer) { + m_writer->endElement(m_fmt); + } } - XmlWriter::ScopedElement& XmlWriter::ScopedElement::writeText( std::string const& text, bool indent ) { - m_writer->writeText( text, indent ); + XmlWriter::ScopedElement& XmlWriter::ScopedElement::writeText( std::string const& text, XmlFormatting fmt ) { + m_writer->writeText( text, fmt ); return *this; } @@ -15216,37 +15572,47 @@ namespace { } XmlWriter::~XmlWriter() { - while( !m_tags.empty() ) + while (!m_tags.empty()) { endElement(); + } + newlineIfNecessary(); } - XmlWriter& XmlWriter::startElement( std::string const& name ) { + XmlWriter& XmlWriter::startElement( std::string const& name, XmlFormatting fmt ) { ensureTagClosed(); newlineIfNecessary(); - m_os << m_indent << '<' << name; + if (shouldIndent(fmt)) { + m_os << m_indent; + m_indent += " "; + } + m_os << '<' << name; m_tags.push_back( name ); - m_indent += " "; m_tagIsOpen = true; + applyFormatting(fmt); return *this; } - XmlWriter::ScopedElement XmlWriter::scopedElement( std::string const& name ) { - ScopedElement scoped( this ); - startElement( name ); + XmlWriter::ScopedElement XmlWriter::scopedElement( std::string const& name, XmlFormatting fmt ) { + ScopedElement scoped( this, fmt ); + startElement( name, fmt ); return scoped; } - XmlWriter& XmlWriter::endElement() { - newlineIfNecessary(); - m_indent = m_indent.substr( 0, m_indent.size()-2 ); + XmlWriter& XmlWriter::endElement(XmlFormatting fmt) { + m_indent = m_indent.substr(0, m_indent.size() - 2); + if( m_tagIsOpen ) { m_os << "/>"; m_tagIsOpen = false; + } else { + newlineIfNecessary(); + if (shouldIndent(fmt)) { + m_os << m_indent; + } + m_os << ""; } - else { - m_os << m_indent << ""; - } - m_os << std::endl; + m_os << std::flush; + applyFormatting(fmt); m_tags.pop_back(); return *this; } @@ -15262,22 +15628,26 @@ namespace { return *this; } - XmlWriter& XmlWriter::writeText( std::string const& text, bool indent ) { + XmlWriter& XmlWriter::writeText( std::string const& text, XmlFormatting fmt) { if( !text.empty() ){ bool tagWasOpen = m_tagIsOpen; ensureTagClosed(); - if( tagWasOpen && indent ) + if (tagWasOpen && shouldIndent(fmt)) { m_os << m_indent; + } m_os << XmlEncode( text ); - m_needsNewline = true; + applyFormatting(fmt); } return *this; } - XmlWriter& XmlWriter::writeComment( std::string const& text ) { + XmlWriter& XmlWriter::writeComment( std::string const& text, XmlFormatting fmt) { ensureTagClosed(); - m_os << m_indent << ""; - m_needsNewline = true; + if (shouldIndent(fmt)) { + m_os << m_indent; + } + m_os << ""; + applyFormatting(fmt); return *this; } @@ -15293,11 +15663,16 @@ namespace { void XmlWriter::ensureTagClosed() { if( m_tagIsOpen ) { - m_os << ">" << std::endl; + m_os << '>' << std::flush; + newlineIfNecessary(); m_tagIsOpen = false; } } + void XmlWriter::applyFormatting(XmlFormatting fmt) { + m_needsNewline = shouldNewline(fmt); + } + void XmlWriter::writeDeclaration() { m_os << "\n"; } @@ -15343,6 +15718,17 @@ namespace Catch { return std::string(buffer); } + bool shouldShowDuration( IConfig const& config, double duration ) { + if ( config.showDurations() == ShowDurations::Always ) { + return true; + } + if ( config.showDurations() == ShowDurations::Never ) { + return false; + } + const double min = config.minDuration(); + return min >= 0 && duration >= min; + } + std::string serializeFilters( std::vector const& container ) { ReusableStringStream oss; bool first = true; @@ -15609,10 +15995,6 @@ class AssertionPrinter { return "Reports test results on a single line, suitable for IDEs"; } - ReporterPreferences CompactReporter::getPreferences() const { - return m_reporterPrefs; - } - void CompactReporter::noMatchingTestCases( std::string const& spec ) { stream << "No test cases matched '" << spec << '\'' << std::endl; } @@ -15639,8 +16021,9 @@ class AssertionPrinter { } void CompactReporter::sectionEnded(SectionStats const& _sectionStats) { - if (m_config->showDurations() == ShowDurations::Always) { - stream << getFormattedDuration(_sectionStats.durationInSeconds) << " s: " << _sectionStats.sectionInfo.name << std::endl; + double dur = _sectionStats.durationInSeconds; + if ( shouldShowDuration( *m_config, dur ) ) { + stream << getFormattedDuration( dur ) << " s: " << _sectionStats.sectionInfo.name << std::endl; } } @@ -15852,15 +16235,11 @@ class Duration { static const uint64_t s_nanosecondsInASecond = 1000 * s_nanosecondsInAMillisecond; static const uint64_t s_nanosecondsInAMinute = 60 * s_nanosecondsInASecond; - uint64_t m_inNanoseconds; + double m_inNanoseconds; Unit m_units; public: - explicit Duration(double inNanoseconds, Unit units = Unit::Auto) - : Duration(static_cast(inNanoseconds), units) { - } - - explicit Duration(uint64_t inNanoseconds, Unit units = Unit::Auto) + explicit Duration(double inNanoseconds, Unit units = Unit::Auto) : m_inNanoseconds(inNanoseconds), m_units(units) { if (m_units == Unit::Auto) { @@ -15889,7 +16268,7 @@ class Duration { case Unit::Minutes: return m_inNanoseconds / static_cast(s_nanosecondsInAMinute); default: - return static_cast(m_inNanoseconds); + return m_inNanoseconds; } } auto unitsAsString() const -> std::string { @@ -16008,7 +16387,7 @@ ConsoleReporter::ConsoleReporter(ReporterConfig const& config) else { return{ - { "benchmark name", CATCH_CONFIG_CONSOLE_WIDTH - 32, ColumnInfo::Left }, + { "benchmark name", CATCH_CONFIG_CONSOLE_WIDTH - 43, ColumnInfo::Left }, { "samples mean std dev", 14, ColumnInfo::Right }, { "iterations low mean low std dev", 14, ColumnInfo::Right }, { "estimated high mean high std dev", 14, ColumnInfo::Right } @@ -16064,8 +16443,9 @@ void ConsoleReporter::sectionEnded(SectionStats const& _sectionStats) { stream << "\nNo assertions in test case"; stream << " '" << _sectionStats.sectionInfo.name << "'\n" << std::endl; } - if (m_config->showDurations() == ShowDurations::Always) { - stream << getFormattedDuration(_sectionStats.durationInSeconds) << " s: " << _sectionStats.sectionInfo.name << std::endl; + double dur = _sectionStats.durationInSeconds; + if (shouldShowDuration(*m_config, dur)) { + stream << getFormattedDuration(dur) << " s: " << _sectionStats.sectionInfo.name << std::endl; } if (m_headerPrinted) { m_headerPrinted = false; @@ -16325,8 +16705,10 @@ void ConsoleReporter::printSummaryDivider() { } void ConsoleReporter::printTestFilters() { - if (m_config->testSpec().hasFilters()) - stream << Colour(Colour::BrightYellow) << "Filters: " << serializeFilters( m_config->getTestsOrTags() ) << '\n'; + if (m_config->testSpec().hasFilters()) { + Colour guard(Colour::BrightYellow); + stream << "Filters: " << serializeFilters(m_config->getTestsOrTags()) << '\n'; + } } CATCH_REGISTER_REPORTER("console", ConsoleReporter) @@ -16476,8 +16858,8 @@ namespace Catch { for( auto const& child : groupNode.children ) writeTestCase( *child ); - xml.scopedElement( "system-out" ).writeText( trim( stdOutForSuite ), false ); - xml.scopedElement( "system-err" ).writeText( trim( stdErrForSuite ), false ); + xml.scopedElement( "system-out" ).writeText( trim( stdOutForSuite ), XmlFormatting::Newline ); + xml.scopedElement( "system-err" ).writeText( trim( stdErrForSuite ), XmlFormatting::Newline ); } void JunitReporter::writeTestCase( TestCaseNode const& testCaseNode ) { @@ -16522,13 +16904,18 @@ namespace Catch { xml.writeAttribute( "name", name ); } xml.writeAttribute( "time", ::Catch::Detail::stringify( sectionNode.stats.durationInSeconds ) ); + // This is not ideal, but it should be enough to mimic gtest's + // junit output. + // Ideally the JUnit reporter would also handle `skipTest` + // events and write those out appropriately. + xml.writeAttribute( "status", "run" ); writeAssertions( sectionNode ); if( !sectionNode.stdOut.empty() ) - xml.scopedElement( "system-out" ).writeText( trim( sectionNode.stdOut ), false ); + xml.scopedElement( "system-out" ).writeText( trim( sectionNode.stdOut ), XmlFormatting::Newline ); if( !sectionNode.stdErr.empty() ) - xml.scopedElement( "system-err" ).writeText( trim( sectionNode.stdErr ), false ); + xml.scopedElement( "system-err" ).writeText( trim( sectionNode.stdErr ), XmlFormatting::Newline ); } for( auto const& childNode : sectionNode.childSections ) if( className.empty() ) @@ -16552,11 +16939,7 @@ namespace Catch { elementName = "error"; break; case ResultWas::ExplicitFailure: - elementName = "failure"; - break; case ResultWas::ExpressionFailed: - elementName = "failure"; - break; case ResultWas::DidntThrowException: elementName = "failure"; break; @@ -16574,10 +16957,25 @@ namespace Catch { XmlWriter::ScopedElement e = xml.scopedElement( elementName ); - xml.writeAttribute( "message", result.getExpandedExpression() ); + xml.writeAttribute( "message", result.getExpression() ); xml.writeAttribute( "type", result.getTestMacroName() ); ReusableStringStream rss; + if (stats.totals.assertions.total() > 0) { + rss << "FAILED" << ":\n"; + if (result.hasExpression()) { + rss << " "; + rss << result.getExpressionInMacro(); + rss << '\n'; + } + if (result.hasExpandedExpression()) { + rss << "with expansion:\n"; + rss << Column(result.getExpandedExpression()).indent(2) << '\n'; + } + } else { + rss << '\n'; + } + if( !result.getMessage().empty() ) rss << result.getMessage() << '\n'; for( auto const& msg : stats.infoMessages ) @@ -16585,7 +16983,7 @@ namespace Catch { rss << msg.message << '\n'; rss << "at " << result.getSourceInfo(); - xml.writeText( rss.str(), false ); + xml.writeText( rss.str(), XmlFormatting::Newline ); } } @@ -16931,9 +17329,9 @@ namespace Catch { e.writeAttribute( "durationInSeconds", m_testCaseTimer.getElapsedSeconds() ); if( !testCaseStats.stdOut.empty() ) - m_xml.scopedElement( "StdOut" ).writeText( trim( testCaseStats.stdOut ), false ); + m_xml.scopedElement( "StdOut" ).writeText( trim( testCaseStats.stdOut ), XmlFormatting::Newline ); if( !testCaseStats.stdErr.empty() ) - m_xml.scopedElement( "StdErr" ).writeText( trim( testCaseStats.stdErr ), false ); + m_xml.scopedElement( "StdErr" ).writeText( trim( testCaseStats.stdErr ), XmlFormatting::Newline ); m_xml.endElement(); } @@ -16945,6 +17343,10 @@ namespace Catch { .writeAttribute( "successes", testGroupStats.totals.assertions.passed ) .writeAttribute( "failures", testGroupStats.totals.assertions.failed ) .writeAttribute( "expectedFailures", testGroupStats.totals.assertions.failedButOk ); + m_xml.scopedElement( "OverallResultsCases") + .writeAttribute( "successes", testGroupStats.totals.testCases.passed ) + .writeAttribute( "failures", testGroupStats.totals.testCases.failed ) + .writeAttribute( "expectedFailures", testGroupStats.totals.testCases.failedButOk ); m_xml.endElement(); } @@ -16954,6 +17356,10 @@ namespace Catch { .writeAttribute( "successes", testRunStats.totals.assertions.passed ) .writeAttribute( "failures", testRunStats.totals.assertions.failed ) .writeAttribute( "expectedFailures", testRunStats.totals.assertions.failedButOk ); + m_xml.scopedElement( "OverallResultsCases") + .writeAttribute( "successes", testRunStats.totals.testCases.passed ) + .writeAttribute( "failures", testRunStats.totals.testCases.failed ) + .writeAttribute( "expectedFailures", testRunStats.totals.testCases.failedButOk ); m_xml.endElement(); } @@ -16967,16 +17373,16 @@ namespace Catch { m_xml.writeAttribute("samples", info.samples) .writeAttribute("resamples", info.resamples) .writeAttribute("iterations", info.iterations) - .writeAttribute("clockResolution", static_cast(info.clockResolution)) - .writeAttribute("estimatedDuration", static_cast(info.estimatedDuration)) + .writeAttribute("clockResolution", info.clockResolution) + .writeAttribute("estimatedDuration", info.estimatedDuration) .writeComment("All values in nano seconds"); } void XmlReporter::benchmarkEnded(BenchmarkStats<> const& benchmarkStats) { m_xml.startElement("mean") - .writeAttribute("value", static_cast(benchmarkStats.mean.point.count())) - .writeAttribute("lowerBound", static_cast(benchmarkStats.mean.lower_bound.count())) - .writeAttribute("upperBound", static_cast(benchmarkStats.mean.upper_bound.count())) + .writeAttribute("value", benchmarkStats.mean.point.count()) + .writeAttribute("lowerBound", benchmarkStats.mean.lower_bound.count()) + .writeAttribute("upperBound", benchmarkStats.mean.upper_bound.count()) .writeAttribute("ci", benchmarkStats.mean.confidence_interval); m_xml.endElement(); m_xml.startElement("standardDeviation") @@ -17027,7 +17433,7 @@ namespace Catch { #ifndef __OBJC__ -#if defined(CATCH_CONFIG_WCHAR) && defined(WIN32) && defined(_UNICODE) && !defined(DO_NOT_USE_WMAIN) +#if defined(CATCH_CONFIG_WCHAR) && defined(CATCH_PLATFORM_WINDOWS) && defined(_UNICODE) && !defined(DO_NOT_USE_WMAIN) // Standard C/C++ Win32 Unicode wmain entry point extern "C" int wmain (int argc, wchar_t * argv[], wchar_t * []) { #else diff --git a/src/dds.main.cpp b/src/dds.main.cpp index bb38d92a..e28e9eb1 100644 --- a/src/dds.main.cpp +++ b/src/dds.main.cpp @@ -1,957 +1,187 @@ -#include -#include -#include -#include -#include -#include -#include -#include -#include +#include +#include +#include #include -#include +#include #include -#include -#include -#include -#include -#include -#include +#include +#include -#include +#include +#include +#include +#include +#include #include #include -#include +#include -namespace { +using namespace fansi::literals; -using string_flag = args::ValueFlag; -using path_flag = args::ValueFlag; - -struct toolchain_flag : string_flag { - toolchain_flag(args::Group& grp) - : string_flag{grp, - "toolchain_file", - "Path/identifier of the toolchain to use", - {"toolchain", 't'}} {} - - dds::toolchain get_toolchain() { - if (*this) { - return get_arg(); - } else { - auto found = dds::toolchain::get_default(); - if (!found) { - dds::throw_user_error(); - } - return *found; - } +static void load_locale() { + auto lang = dds::getenv("LANG"); + if (!lang) { + return; } - - dds::toolchain get_arg() { - const auto tc_path = this->Get(); - if (tc_path.find(":") == 0) { - auto default_tc = tc_path.substr(1); - auto tc = dds::toolchain::get_builtin(default_tc); - if (!tc.has_value()) { - dds::throw_user_error< - dds::errc::invalid_builtin_toolchain>("Invalid built-in toolchain name '{}'", - default_tc); - } - return std::move(*tc); - } else { - return dds::parse_toolchain_json5(dds::slurp_file(tc_path)); - // return dds::parse_toolchain_dds(dds::slurp_file(tc_path)); - } + try { + std::locale::global(std::locale(*lang)); + } catch (const std::runtime_error& e) { + // No locale with the given name + return; } -}; - -struct repo_path_flag : path_flag { - repo_path_flag(args::Group& grp) - : path_flag{grp, - "dir", - "Path to the DDS repository directory", - {"repo-dir"}, - dds::repository::default_local_path()} {} -}; - -struct catalog_path_flag : path_flag { - catalog_path_flag(args::Group& cmd) - : path_flag(cmd, - "catalog-path", - "Override the path to the catalog database", - {"catalog", 'c'}, - dds::dds_data_dir() / "catalog.db") {} - - dds::catalog open() { return dds::catalog::open(Get()); } -}; +} -struct num_jobs_flag : args::ValueFlag { - num_jobs_flag(args::Group& cmd) - : ValueFlag(cmd, - "jobs", - "Set the number of parallel jobs when compiling files", - {"jobs", 'j'}, - 0) {} -}; +int main_fn(std::string_view program_name, const std::vector& argv) { + dds::log::init_logger(); + auto log_subscr = neo::subscribe(&dds::log::ev_log::print); + load_locale(); + std::setlocale(LC_CTYPE, ".utf8"); -/** - * Base class holds the actual argument parser - */ -struct cli_base { - args::ArgumentParser& parser; - args::HelpFlag _help{parser, "help", "Display this help message and exit", {'h', "help"}}; + dds::install_signal_handlers(); + dds::enable_ansi_console(); - // Test argument: - args::Flag _verify_ident{parser, - "test", - "Print `yes` and exit 0. Useful for scripting.", - {"are-you-the-real-dds?"}}; + dds::cli::options opts; + debate::argument_parser parser; + opts.setup_parser(parser); - args::MapFlag log_level{ - parser, - "log-level", - "Set the logging level", - {"log-level", 'l'}, - { - {"trace", dds::log::level::trace}, - {"debug", dds::log::level::debug}, - {"info", dds::log::level::info}, - {"warn", dds::log::level::warn}, - {"error", dds::log::level::error}, - {"critical", dds::log::level::critical}, + auto result = boost::leaf::try_catch( + [&]() -> std::optional { + parser.parse_argv(argv); + return {}; }, - dds::log::level::info, - }; - - args::Group cmd_group{parser, "Available Commands"}; -}; - -/** - * Flags common to all subcommands - */ -struct common_flags { - args::Command& cmd; - - args::HelpFlag _help{cmd, "help", "Print this help message and exit", {'h', "help"}}; -}; - -/** - * Flags common to project-related commands - */ -struct common_project_flags { - args::Command& cmd; - - path_flag root{cmd, - "project_dir", - "Path to the directory containing the project", - {'p', "project-dir"}, - dds::fs::current_path()}; -}; - -/* - ###### ### ######## ### ## ####### ###### -## ## ## ## ## ## ## ## ## ## ## ## -## ## ## ## ## ## ## ## ## ## -## ## ## ## ## ## ## ## ## ## #### -## ######### ## ######### ## ## ## ## ## -## ## ## ## ## ## ## ## ## ## ## ## - ###### ## ## ## ## ## ######## ####### ###### -*/ - -struct cli_catalog { - cli_base& base; - args::Command cmd{base.cmd_group, "catalog", "Manage the package catalog"}; - common_flags _common{cmd}; - - args::Group cat_group{cmd, "Catalog subcommands"}; - - struct { - cli_catalog& parent; - args::Command cmd{parent.cat_group, "create", "Create a catalog database"}; - common_flags _common{cmd}; - - catalog_path_flag cat_path{cmd}; - - int run() { - // Simply opening the DB will initialize the catalog - cat_path.open(); + [&](debate::help_request, debate::e_argument_parser p) { + std::cout << p.parser.help_string(program_name); return 0; - } - } create{*this}; - - struct { - cli_catalog& parent; - args::Command cmd{parent.cat_group, "import", "Import entries into a catalog"}; - common_flags _common{cmd}; - - catalog_path_flag cat_path{cmd}; - - args::Flag import_stdin{cmd, "stdin", "Import JSON from stdin", {"stdin"}}; - args::Flag init{cmd, "initial", "Re-import the initial catalog contents", {"initial"}}; - args::ValueFlagList - json_paths{cmd, - "json", - "Import catalog entries from the given JSON files", - {"json", 'j'}}; - - int run() { - auto cat = cat_path.open(); - if (init.Get()) { - cat.import_initial(); - } - for (const auto& json_fpath : json_paths.Get()) { - cat.import_json_file(json_fpath); - } - if (import_stdin.Get()) { - std::ostringstream strm; - strm << std::cin.rdbuf(); - cat.import_json_str(strm.str()); - } - return 0; - } - } import{*this}; - - struct { - cli_catalog& parent; - args::Command cmd{parent.cat_group, "get", "Obtain an sdist from a catalog listing"}; - common_flags _common{cmd}; - - catalog_path_flag cat_path{cmd}; - - path_flag out{cmd, - "out", - "The directory where the source distributions will be placed", - {"out-dir", 'o'}, - dds::fs::current_path()}; - - args::PositionalList requirements{cmd, - "requirement", - "The package IDs to obtain"}; - - int run() { - auto cat = cat_path.open(); - for (const auto& req : requirements.Get()) { - auto id = dds::package_id::parse(req); - dds::dym_target dym; - auto info = cat.get(id); - if (!info) { - dds::throw_user_error( - "No package in the catalog matched the ID '{}'.{}", - req, - dym.sentence_suffix()); - } - auto tsd = dds::get_package_sdist(*info); - auto out_path = out.Get(); - auto dest = out_path / id.to_string(); - dds_log(info, "Create sdist at {}", dest.string()); - dds::fs::remove_all(dest); - dds::safe_rename(tsd.sdist.path, dest); - } - return 0; - } - } get{*this}; - - struct { - cli_catalog& parent; - args::Command cmd{parent.cat_group, "add", "Manually add an entry to the catalog database"}; - common_flags _common{cmd}; - - catalog_path_flag cat_path{cmd}; - - args::Positional pkg_id{cmd, - "id", - "The name@version ID of the package to add", - args::Options::Required}; - - string_flag auto_lib{cmd, - "auto-lib", - "Set the auto-library information for this package", - {"auto-lib"}}; - - args::ValueFlagList deps{cmd, - "depends", - "The dependencies of this package", - {"depends", 'd'}}; - - string_flag git_url{cmd, "git-url", "The Git url for the package", {"git-url"}}; - string_flag git_ref{cmd, - "git-ref", - "The Git ref to from which the source distribution should be created", - {"git-ref"}}; - - string_flag description{cmd, "description", "A description of the package", {"desc"}}; - - int run() { - auto ident = dds::package_id::parse(pkg_id.Get()); - - std::vector deps; - for (const auto& dep : this->deps.Get()) { - auto dep_id = dds::package_id::parse(dep); - assert(false && "TODO"); - // deps.push_back({dep_id.name, dep_id.version}); - } - - dds::package_info info{ident, std::move(deps), description.Get(), {}}; - - if (git_url) { - if (!git_ref) { - dds::throw_user_error(); - } - auto git = dds::git_remote_listing{git_url.Get(), git_ref.Get(), std::nullopt, {}}; - if (auto_lib) { - git.auto_lib = lm::split_usage_string(auto_lib.Get()); - } - info.remote = std::move(git); - } else if (git_ref) { - dds::throw_user_error(); - } - - cat_path.open().store(info); - return 0; - } - } add{*this}; - - struct { - cli_catalog& parent; - args::Command cmd{parent.cat_group, "list", "List the contents of the catalog"}; - - catalog_path_flag cat_path{cmd}; - string_flag name{cmd, "name", "Only list packages with the given name", {"name", 'n'}}; - - int run() { - auto cat = cat_path.open(); - auto pkgs = name ? cat.by_name(name.Get()) : cat.all(); - for (const dds::package_id& pk : pkgs) { - std::cout << pk.to_string() << '\n'; - } - return 0; - } - } list{*this}; - - struct { - cli_catalog& parent; - args::Command cmd{parent.cat_group, - "show", - "Show information about a single package in the catalog"}; - - catalog_path_flag cat_path{cmd}; - args::Positional ident{cmd, - "package-id", - "A package identifier to show", - args::Options::Required}; - - void print_remote_info(const dds::git_remote_listing& git) { - std::cout << "Git URL: " << git.url << '\n'; - std::cout << "Git Ref: " << git.ref << '\n'; - if (git.auto_lib) { - std::cout << "Auto-lib: " << git.auto_lib->name << "/" << git.auto_lib->namespace_ - << '\n'; - } - } - - void print_remote_info(std::monostate) { - std::cout << "THIS ENTRY IS MISSING REMOTE INFORMATION!\n"; - } - - int run() { - auto pk_id = dds::package_id::parse(ident.Get()); - auto cat = cat_path.open(); - auto pkg = cat.get(pk_id); - if (!pkg) { - dds_log(error, "No package '{}' in the catalog", pk_id.to_string()); - return 1; - } - std::cout << "Name: " << pkg->ident.name << '\n' - << "Version: " << pkg->ident.version << '\n'; - - for (const auto& dep : pkg->deps) { - std::cout << "Depends: " << dep.to_string() << '\n'; - } - - std::visit([&](const auto& remote) { print_remote_info(remote); }, pkg->remote); - std::cout << "Description:\n " << pkg->description << '\n'; - - return 0; - } - } show{*this}; - - int run() { - if (create.cmd) { - return create.run(); - } else if (import.cmd) { - return import.run(); - } else if (get.cmd) { - return get.run(); - } else if (add.cmd) { - return add.run(); - } else if (list.cmd) { - return list.run(); - } else if (show.cmd) { - return show.run(); - } else { - assert(false); - std::terminate(); - } - } -}; - -/* -######## ######## ######## ####### -## ## ## ## ## ## ## -## ## ## ## ## ## ## -######## ###### ######## ## ## -## ## ## ## ## ## -## ## ## ## ## ## -## ## ######## ## ####### -*/ - -struct cli_repo { - cli_base& base; - args::Command cmd{base.cmd_group, "repo", "Manage the package repository"}; - common_flags _common{cmd}; - - repo_path_flag where{cmd}; - - args::Group repo_group{cmd, "Repo subcommands"}; - - struct { - cli_repo& parent; - args::Command cmd{parent.repo_group, "ls", "List repository contents"}; - common_flags _common{cmd}; - - int run() { - auto list_contents = [&](dds::repository repo) { - auto same_name = [](auto&& a, auto&& b) { - return a.manifest.pkg_id.name == b.manifest.pkg_id.name; - }; - - auto all = repo.iter_sdists(); - auto grp_by_name = all // - | ranges::views::group_by(same_name) // - | ranges::views::transform(ranges::to_vector) // - | ranges::views::transform([](auto&& grp) { - assert(grp.size() > 0); - return std::pair(grp[0].manifest.pkg_id.name, grp); - }); - - for (const auto& [name, grp] : grp_by_name) { - dds_log(info, "{}:", name); - for (const dds::sdist& sd : grp) { - dds_log(info, " - {}", sd.manifest.pkg_id.version.to_string()); - } - } - - return 0; - }; - return dds::repository::with_repository(parent.where.Get(), - dds::repo_flags::read, - list_contents); - } - } ls{*this}; - - struct { - cli_repo& parent; - args::Command cmd{parent.repo_group, - "import", - "Import a source distribution archive file into the repository"}; - common_flags _common{cmd}; - - args::PositionalList - sdist_paths{cmd, "sdist-path", "Path to one or more source distribution archive"}; - - args::Flag force{cmd, - "replace-if-exists", - "Replace an existing package in the repository", - {"replace"}}; - - args::Flag import_stdin{cmd, - "import-stdin", - "Import a source distribution tarball from stdin", - {"stdin"}}; - - int run() { - auto import_sdists = [&](dds::repository repo) { - auto if_exists_action - = force.Get() ? dds::if_exists::replace : dds::if_exists::throw_exc; - for (auto& tgz_path : sdist_paths.Get()) { - auto tmp_sd = dds::expand_sdist_targz(tgz_path); - repo.add_sdist(tmp_sd.sdist, if_exists_action); - } - if (import_stdin) { - auto tmp_sd = dds::expand_sdist_from_istream(std::cin, ""); - repo.add_sdist(tmp_sd.sdist, if_exists_action); - } - return 0; - }; - return dds::repository::with_repository(parent.where.Get(), - dds::repo_flags::write_lock - | dds::repo_flags::create_if_absent, - import_sdists); - } - } import_{*this}; - - struct { - cli_repo& parent; - args::Command cmd{parent.repo_group, "init", "Initialize a directory as a repository"}; - common_flags _common{cmd}; - - int run() { - if (parent.where.Get().empty()) { - throw args::ParseError("The --dir flag is required"); - } - auto repo_dir = dds::fs::absolute(parent.where.Get()); - dds::repository::with_repository(repo_dir, dds::repo_flags::create_if_absent, [](auto) { - }); - return 0; - } - } init{*this}; - - int run() { - if (ls.cmd) { - return ls.run(); - } else if (init.cmd) { - return init.run(); - } else if (import_.cmd) { - return import_.run(); - } else { - assert(false); - std::terminate(); - } - } -}; - -/* - ###### ######## #### ###### ######## -## ## ## ## ## ## ## ## -## ## ## ## ## ## - ###### ## ## ## ###### ## - ## ## ## ## ## ## -## ## ## ## ## ## ## ## - ###### ######## #### ###### ## -*/ - -struct cli_sdist { - cli_base& base; - args::Command cmd{base.cmd_group, "sdist", "Work with source distributions"}; - - common_flags _common{cmd}; - - args::Group sdist_group{cmd, "`sdist` commands"}; - - struct { - cli_sdist& parent; - args::Command cmd{parent.sdist_group, "create", "Create a source distribution"}; - - common_project_flags project{cmd}; - - path_flag out{cmd, "out", "The destination of the source distribution", {"out"}}; - - args::Flag force{cmd, - "replace-if-exists", - "Forcibly replace an existing distribution", - {"replace"}}; - - int run() { - dds::sdist_params params; - params.project_dir = project.root.Get(); - params.dest_path = out.Get(); - params.force = force.Get(); - params.include_apps = true; - params.include_tests = true; - auto pkg_man = dds::package_manifest::load_from_directory(project.root.Get()); - if (!pkg_man) { - dds::throw_user_error( - "Creating a source distribution requires a package manifest"); - } - std::string default_filename = fmt::format("{}@{}.tar.gz", - pkg_man->pkg_id.name, - pkg_man->pkg_id.version.to_string()); - auto default_filepath = dds::fs::current_path() / default_filename; - auto out_path = out.Matched() ? out.Get() : default_filepath; - dds::create_sdist_targz(out_path, params); - dds_log(info, "Generate source distribution at [{}]", out_path.string()); - return 0; - } - } create{*this}; - - struct { - cli_sdist& parent; - args::Command cmd{parent.sdist_group, - "export", - "Export a source distribution to a repository"}; - - common_project_flags project{cmd}; - - repo_path_flag repo_where{cmd}; - args::Flag force{cmd, - "replace-if-exists", - "Replace an existing export in the repository", - {"replace"}}; - - int run() { - auto repo_dir = repo_where.Get(); - // TODO: Generate a unique name to avoid conflicts - auto tmp_sdist = dds::fs::temp_directory_path() / ".dds-sdist"; - if (dds::fs::exists(tmp_sdist)) { - dds::fs::remove_all(tmp_sdist); - } - dds::sdist_params params; - params.project_dir = project.root.Get(); - params.dest_path = tmp_sdist; - params.force = true; - auto sdist = dds::create_sdist(params); - dds::repository::with_repository( // - repo_dir, - dds::repo_flags::create_if_absent | dds::repo_flags::write_lock, - [&](dds::repository repo) { // - repo.add_sdist(sdist, - force.Get() ? dds::if_exists::replace - : dds::if_exists::throw_exc); - }); - return 0; - } - } export_{*this}; - - int run() { - if (create.cmd) { - return create.run(); - } else if (export_.cmd) { - return export_.run(); - } else { - assert(false && "Unreachable"); - std::terminate(); - } - } -}; - -void load_project_deps(dds::builder& bd, - const dds::package_manifest& man, - dds::path_ref cat_path, - dds::path_ref repo_path) { - auto cat = dds::catalog::open(cat_path); - // Build the dependencies - dds::repository::with_repository( // - repo_path, - dds::repo_flags::write_lock | dds::repo_flags::create_if_absent, - [&](dds::repository repo) { - // Download dependencies - auto deps = repo.solve(man.dependencies, cat); - dds::get_all(deps, repo, cat); - for (const dds::package_id& pk : deps) { - auto sdist_ptr = repo.find(pk); - assert(sdist_ptr); - dds::sdist_build_params deps_params; - deps_params.subdir - = dds::fs::path("_deps") / sdist_ptr->manifest.pkg_id.to_string(); - bd.add(*sdist_ptr, deps_params); - } + }, + [&](debate::unrecognized_argument, + debate::e_argument_parser p, + debate::e_arg_spelling arg, + debate::e_did_you_mean* dym) { + std::cerr << p.parser.usage_string(program_name) << '\n'; + if (p.parser.subparsers()) { + fmt::print(std::cerr, + "Unrecognized argument/subcommand: \".bold.red[{}]\"\n"_styled, + arg.spelling); + } else { + fmt::print(std::cerr, + "Unrecognized argument: \".bold.red[{}]\"\n"_styled, + arg.spelling); + } + if (dym) { + fmt::print(std::cerr, + " (Did you mean '.br.yellow[{}]'?)\n"_styled, + dym->candidate); + } + return 2; + }, + [&](debate::invalid_arguments, + debate::e_argument arg, + debate::e_argument_parser p, + debate::e_arg_spelling spell, + debate::e_invalid_arg_value val) { + std::cerr << p.parser.usage_string(program_name) << '\n'; + fmt::print(std::cerr, + "Invalid {} value '{}' given for '{}'\n", + arg.argument.valname, + val.given, + spell.spelling); + return 2; + }, + [&](debate::invalid_arguments, + debate::e_argument_parser p, + debate::e_arg_spelling spell, + debate::e_argument arg, + debate::e_wrong_val_num given) { + std::cerr << p.parser.usage_string(program_name) << '\n'; + if (arg.argument.nargs == 0) { + fmt::print(std::cerr, + "Argument '{}' does not expect any values, but was given one\n", + spell.spelling); + } else if (arg.argument.nargs == 1 && given.n_given == 0) { + fmt::print(std::cerr, + "Argument '{}' expected to be given a value, but received none\n", + spell.spelling); + } else { + fmt::print( + std::cerr, + "Wrong number of arguments provided for '{}': Expected {}, but only got {}\n", + spell.spelling, + arg.argument.nargs, + given.n_given); + } + return 2; + }, + [&](debate::missing_required, debate::e_argument_parser p, debate::e_argument arg) { + fmt::print(std::cerr, + "{}\nMissing required argument '{}'\n", + p.parser.usage_string(program_name), + arg.argument.preferred_spelling()); + return 2; + }, + [&](debate::invalid_repitition, debate::e_argument_parser p, debate::e_arg_spelling sp) { + fmt::print(std::cerr, + "{}\nArgument '{}' cannot be provided more than once\n", + p.parser.usage_string(program_name), + sp.spelling); + return 2; + }, + [&](debate::missing_required err, debate::e_argument_parser p) { + fmt::print(std::cerr, + "{}\nError: {}\n", + p.parser.usage_string(program_name), + err.what()); + return 2; }); -} - -dds::builder create_project_builder(dds::path_ref pr_dir, - dds::path_ref cat_path, - dds::path_ref repo_path, - bool load_deps, - const dds::sdist_build_params& project_params) { - auto man = dds::package_manifest::load_from_directory(pr_dir).value_or(dds::package_manifest{}); - - dds::builder builder; - if (load_deps) { - load_project_deps(builder, man, cat_path, repo_path); + if (result) { + // Non-null result from argument parsing, return that value immediately. + return *result; } - builder.add(dds::sdist{std::move(man), pr_dir}, project_params); - return builder; + dds::log::current_log_level = opts.log_level; + return dds::cli::dispatch_main(opts); } -/* - ###### ####### ## ## ######## #### ## ######## -## ## ## ## ### ### ## ## ## ## ## -## ## ## #### #### ## ## ## ## ## -## ## ## ## ### ## ######## ## ## ###### -## ## ## ## ## ## ## ## ## -## ## ## ## ## ## ## ## ## ## - ###### ####### ## ## ## #### ######## ######## -*/ - -struct cli_compile_file { - cli_base& base; - args::Command cmd{base.cmd_group, "compile-file", "Compile a single file"}; - - common_flags _flags{cmd}; - - common_project_flags project{cmd}; - - catalog_path_flag cat_path{cmd}; - repo_path_flag repo_path{cmd}; - - args::Flag no_warnings{cmd, "no-warnings", "Disable compiler warnings", {"no-warnings"}}; - toolchain_flag tc_filepath{cmd}; - - path_flag - lm_index{cmd, - "lm_index", - "Path to an existing libman index from which to load deps (usually INDEX.lmi)", - {"lm-index", 'I'}}; - - num_jobs_flag n_jobs{cmd}; - - path_flag out{cmd, - "out", - "The root build directory", - {"out"}, - dds::fs::current_path() / "_build"}; - - args::PositionalList source_files{cmd, - "source-files", - "One or more source files to compile"}; - - int run() { - dds::sdist_build_params main_params = { - .subdir = "", - .build_tests = true, - .build_apps = true, - .enable_warnings = !no_warnings.Get(), - }; - auto bd = create_project_builder(project.root.Get(), - cat_path.Get(), - repo_path.Get(), - /* load_deps = */ !lm_index, - main_params); - - bd.compile_files(source_files.Get(), - { - .out_root = out.Get(), - .existing_lm_index - = lm_index ? std::make_optional(lm_index.Get()) : std::nullopt, - .emit_lmi = {}, - .toolchain = tc_filepath.get_toolchain(), - .parallel_jobs = n_jobs.Get(), - }); - return 0; - } -}; - -/* -######## ## ## #### ## ######## -## ## ## ## ## ## ## ## -## ## ## ## ## ## ## ## -######## ## ## ## ## ## ## -## ## ## ## ## ## ## ## -## ## ## ## ## ## ## ## -######## ####### #### ######## ######## -*/ - -struct cli_build { - cli_base& base; - args::Command cmd{base.cmd_group, "build", "Build a project"}; - - common_flags _common{cmd}; - - common_project_flags project{cmd}; - - catalog_path_flag cat_path{cmd}; - repo_path_flag repo_path{cmd}; - - args::Flag no_tests{cmd, "no-tests", "Do not build and run tests", {"no-tests"}}; - args::Flag no_apps{cmd, "no-apps", "Do not compile and link applications", {"no-apps"}}; - args::Flag no_warnings{cmd, "no-warings", "Disable build warnings", {"no-warnings"}}; - toolchain_flag tc_filepath{cmd}; - - path_flag - lm_index{cmd, - "lm_index", - "Path to an existing libman index from which to load deps (usually INDEX.lmi)", - {"lm-index", 'I'}}; - - num_jobs_flag n_jobs{cmd}; - - path_flag out{cmd, - "out", - "The root build directory", - {"out"}, - dds::fs::current_path() / "_build"}; - - int run() { - dds::sdist_build_params main_params = { - .subdir = "", - .build_tests = !no_tests.Get(), - .run_tests = !no_tests.Get(), - .build_apps = !no_apps.Get(), - .enable_warnings = !no_warnings.Get(), - }; - auto bd = create_project_builder(project.root.Get(), - cat_path.Get(), - repo_path.Get(), - /* load_deps = */ !lm_index, - main_params); - - bd.build({ - .out_root = out.Get(), - .existing_lm_index = lm_index ? std::make_optional(lm_index.Get()) : std::nullopt, - .emit_lmi = {}, - .toolchain = tc_filepath.get_toolchain(), - .parallel_jobs = n_jobs.Get(), - }); - return 0; +#if NEO_OS_IS_WINDOWS +#include +std::string wstr_to_u8str(std::wstring_view in) { + if (in.empty()) { + return ""; } -}; - -/* -######## ## ## #### ## ######## ######## ######## ######## ###### -## ## ## ## ## ## ## ## ## ## ## ## ## ## ## -## ## ## ## ## ## ## ## ## ## ## ## ## ## -######## ## ## ## ## ## ## ####### ## ## ###### ######## ###### -## ## ## ## ## ## ## ## ## ## ## ## ## -## ## ## ## ## ## ## ## ## ## ## ## ## ## -######## ####### #### ######## ######## ######## ######## ## ###### -*/ - -struct cli_build_deps { - cli_base& base; - args::Command cmd{base.cmd_group, - "build-deps", - "Build a set of dependencies and emit a libman index"}; - - toolchain_flag tc{cmd}; - repo_path_flag repo_path{cmd}; - catalog_path_flag cat_path{cmd}; - num_jobs_flag n_jobs{cmd}; - - args::ValueFlagList deps_files{cmd, - "deps-file", - "Install dependencies from the named files", - {"deps", 'd'}}; - - path_flag out_path{cmd, - "out-path", - "Directory where build results should be placed", - {"out", 'o'}, - dds::fs::current_path() / "_deps"}; - - path_flag lmi_path{cmd, - "lmi-path", - "Path to the output libman index file (INDEX.lmi)", - {"lmi-path"}, - dds::fs::current_path() / "INDEX.lmi"}; - - args::PositionalList deps{cmd, "deps", "List of dependencies to install"}; - - int run() { - dds::build_params params; - params.out_root = out_path.Get(); - params.toolchain = tc.get_toolchain(); - params.parallel_jobs = n_jobs.Get(); - params.emit_lmi = lmi_path.Get(); - - dds::builder bd; - dds::sdist_build_params sdist_params; - - auto all_file_deps = deps_files.Get() // - | ranges::views::transform([&](auto dep_fpath) { - dds_log(info, "Reading deps from {}", dep_fpath.string()); - return dds::dependency_manifest::from_file(dep_fpath).dependencies; - }) - | ranges::actions::join; - - auto cmd_deps = ranges::views::transform(deps.Get(), [&](auto dep_str) { - return dds::dependency::parse_depends_string(dep_str); - }); - - auto all_deps = ranges::views::concat(all_file_deps, cmd_deps) | ranges::to_vector; - - auto cat = cat_path.open(); - dds::repository::with_repository( // - repo_path.Get(), - dds::repo_flags::write_lock | dds::repo_flags::create_if_absent, - [&](dds::repository repo) { - // Download dependencies - dds_log(info, "Loading {} dependencies", all_deps.size()); - auto deps = repo.solve(all_deps, cat); - dds::get_all(deps, repo, cat); - for (const dds::package_id& pk : deps) { - auto sdist_ptr = repo.find(pk); - assert(sdist_ptr); - dds::sdist_build_params deps_params; - deps_params.subdir = sdist_ptr->manifest.pkg_id.to_string(); - dds_log(info, "Dependency: {}", sdist_ptr->manifest.pkg_id.to_string()); - bd.add(*sdist_ptr, deps_params); - } - }); - - bd.build(params); - return 0; - } -}; - -} // namespace - -/* -## ## ### #### ## ## -### ### ## ## ## ### ## -#### #### ## ## ## #### ## -## ### ## ## ## ## ## ## ## -## ## ######### ## ## #### -## ## ## ## ## ## ### -## ## ## ## #### ## ## -*/ - -int main(int argc, char** argv) { - spdlog::set_pattern("[%H:%M:%S] [%^%-5l%$] %v"); - args::ArgumentParser parser("DDS - The drop-dead-simple library manager"); - - cli_base cli{parser}; - cli_compile_file compile_file{cli}; - cli_build build{cli}; - cli_sdist sdist{cli}; - cli_repo repo{cli}; - cli_catalog catalog{cli}; - cli_build_deps build_deps{cli}; - - try { - parser.ParseCLI(argc, argv); - } catch (const args::Help&) { - std::cout << parser; - return 0; - } catch (const args::Error& e) { - std::cerr << parser; - std::cerr << e.what() << '\n'; - return 1; - } - - dds::install_signal_handlers(); - dds::log::current_log_level = cli.log_level.Get(); + auto req_size = ::WideCharToMultiByte(CP_UTF8, + 0, + in.data(), + static_cast(in.size()), + nullptr, + 0, + nullptr, + nullptr); + neo_assert(invariant, + req_size > 0, + "Failed to convert given unicode string for main() argv", + req_size, + std::system_category().message(::GetLastError()), + ::GetLastError()); + std::string ret; + ret.resize(req_size); + ::WideCharToMultiByte(CP_UTF8, + 0, + in.data(), + static_cast(in.size()), + ret.data(), + static_cast(ret.size()), + nullptr, + nullptr); + return ret; +} - try { - if (cli._verify_ident) { - std::cout << "yes\n"; - return 0; - } else if (compile_file.cmd) { - return compile_file.run(); - } else if (build.cmd) { - return build.run(); - } else if (sdist.cmd) { - return sdist.run(); - } else if (repo.cmd) { - return repo.run(); - } else if (catalog.cmd) { - return catalog.run(); - } else if (build_deps.cmd) { - return build_deps.run(); - } else { - assert(false); - std::terminate(); - } - } catch (const dds::user_cancelled&) { - dds_log(critical, "Operation cancelled by user"); - return 2; - } catch (const dds::error_base& e) { - dds_log(error, "{}", e.what()); - dds_log(error, "{}", e.explanation()); - dds_log(error, "Refer: {}", e.error_reference()); - return 1; - } catch (const std::exception& e) { - dds_log(critical, e.what()); - return 2; +int wmain(int argc, wchar_t** argv) { + std::vector u8_argv; + for (int i = 0; i < argc; ++i) { + u8_argv.emplace_back(wstr_to_u8str(argv[i])); } + return main_fn(u8_argv[0], {u8_argv.cbegin() + 1, u8_argv.cend()}); } +#else +int main(int argc, char** argv) { return main_fn(argv[0], {argv + 1, argv + argc}); } +#endif diff --git a/src/dds/3rd/args.hxx b/src/dds/3rd/args.hxx deleted file mode 100644 index 329e46df..00000000 --- a/src/dds/3rd/args.hxx +++ /dev/null @@ -1,4283 +0,0 @@ -/* A simple header-only C++ argument parser library. - * - * https://github.com/Taywee/args - * - * Copyright (c) 2016-2019 Taylor C. Richberger and Pavel - * Belikov - * - * 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. - */ - -/** \file args.hxx - * \brief this single-header lets you use all of the args functionality - * - * The important stuff is done inside the args namespace - */ - -#ifndef ARGS_HXX -#define ARGS_HXX - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#ifdef ARGS_TESTNAMESPACE -namespace argstest -{ -#else - -/** \namespace args - * \brief contains all the functionality of the args library - */ -namespace args -{ -#endif - /** Getter to grab the value from the argument type. - * - * If the Get() function of the type returns a reference, so does this, and - * the value will be modifiable. - */ - template - auto get(Option &option_) -> decltype(option_.Get()) - { - return option_.Get(); - } - - /** (INTERNAL) Count UTF-8 glyphs - * - * This is not reliable, and will fail for combinatory glyphs, but it's - * good enough here for now. - * - * \param string The string to count glyphs from - * \return The UTF-8 glyphs in the string - */ - inline std::string::size_type Glyphs(const std::string &string_) - { - std::string::size_type length = 0; - for (const char c: string_) - { - if ((c & 0xc0) != 0x80) - { - ++length; - } - } - return length; - } - - /** (INTERNAL) Wrap a vector of words into a vector of lines - * - * Empty words are skipped. Word "\n" forces wrapping. - * - * \param begin The begin iterator - * \param end The end iterator - * \param width The width of the body - * \param firstlinewidth the width of the first line, defaults to the width of the body - * \param firstlineindent the indent of the first line, defaults to 0 - * \return the vector of lines - */ - template - inline std::vector Wrap(It begin, - It end, - const std::string::size_type width, - std::string::size_type firstlinewidth = 0, - std::string::size_type firstlineindent = 0) - { - std::vector output; - std::string line(firstlineindent, ' '); - bool empty = true; - - if (firstlinewidth == 0) - { - firstlinewidth = width; - } - - auto currentwidth = firstlinewidth; - - for (auto it = begin; it != end; ++it) - { - if (it->empty()) - { - continue; - } - - if (*it == "\n") - { - if (!empty) - { - output.push_back(line); - line.clear(); - empty = true; - currentwidth = width; - } - - continue; - } - - auto itemsize = Glyphs(*it); - if ((line.length() + 1 + itemsize) > currentwidth) - { - if (!empty) - { - output.push_back(line); - line.clear(); - empty = true; - currentwidth = width; - } - } - - if (itemsize > 0) - { - if (!empty) - { - line += ' '; - } - - line += *it; - empty = false; - } - } - - if (!empty) - { - output.push_back(line); - } - - return output; - } - - namespace detail - { - template - std::string Join(const T& array, const std::string &delimiter) - { - std::string res; - for (auto &element : array) - { - if (!res.empty()) - { - res += delimiter; - } - - res += element; - } - - return res; - } - } - - /** (INTERNAL) Wrap a string into a vector of lines - * - * This is quick and hacky, but works well enough. You can specify a - * different width for the first line - * - * \param width The width of the body - * \param firstlinewid the width of the first line, defaults to the width of the body - * \return the vector of lines - */ - inline std::vector Wrap(const std::string &in, const std::string::size_type width, std::string::size_type firstlinewidth = 0) - { - // Preserve existing line breaks - const auto newlineloc = in.find('\n'); - if (newlineloc != in.npos) - { - auto first = Wrap(std::string(in, 0, newlineloc), width); - auto second = Wrap(std::string(in, newlineloc + 1), width); - first.insert( - std::end(first), - std::make_move_iterator(std::begin(second)), - std::make_move_iterator(std::end(second))); - return first; - } - - std::istringstream stream(in); - std::string::size_type indent = 0; - - for (char c : in) - { - if (!isspace(c)) - { - break; - } - ++indent; - } - - return Wrap(std::istream_iterator(stream), std::istream_iterator(), - width, firstlinewidth, indent); - } - -#ifdef ARGS_NOEXCEPT - /// Error class, for when ARGS_NOEXCEPT is defined - enum class Error - { - None, - Usage, - Parse, - Validation, - Required, - Map, - Extra, - Help, - Subparser, - Completion, - }; -#else - /** Base error class - */ - class Error : public std::runtime_error - { - public: - Error(const std::string &problem) : std::runtime_error(problem) {} - virtual ~Error() {} - }; - - /** Errors that occur during usage - */ - class UsageError : public Error - { - public: - UsageError(const std::string &problem) : Error(problem) {} - virtual ~UsageError() {} - }; - - /** Errors that occur during regular parsing - */ - class ParseError : public Error - { - public: - ParseError(const std::string &problem) : Error(problem) {} - virtual ~ParseError() {} - }; - - /** Errors that are detected from group validation after parsing finishes - */ - class ValidationError : public Error - { - public: - ValidationError(const std::string &problem) : Error(problem) {} - virtual ~ValidationError() {} - }; - - /** Errors that when a required flag is omitted - */ - class RequiredError : public ValidationError - { - public: - RequiredError(const std::string &problem) : ValidationError(problem) {} - virtual ~RequiredError() {} - }; - - /** Errors in map lookups - */ - class MapError : public ParseError - { - public: - MapError(const std::string &problem) : ParseError(problem) {} - virtual ~MapError() {} - }; - - /** Error that occurs when a singular flag is specified multiple times - */ - class ExtraError : public ParseError - { - public: - ExtraError(const std::string &problem) : ParseError(problem) {} - virtual ~ExtraError() {} - }; - - /** An exception that indicates that the user has requested help - */ - class Help : public Error - { - public: - Help(const std::string &flag) : Error(flag) {} - virtual ~Help() {} - }; - - /** (INTERNAL) An exception that emulates coroutine-like control flow for subparsers. - */ - class SubparserError : public Error - { - public: - SubparserError() : Error("") {} - virtual ~SubparserError() {} - }; - - /** An exception that contains autocompletion reply - */ - class Completion : public Error - { - public: - Completion(const std::string &flag) : Error(flag) {} - virtual ~Completion() {} - }; -#endif - - /** A simple unified option type for unified initializer lists for the Matcher class. - */ - struct EitherFlag - { - const bool isShort; - const char shortFlag; - const std::string longFlag; - EitherFlag(const std::string &flag) : isShort(false), shortFlag(), longFlag(flag) {} - EitherFlag(const char *flag) : isShort(false), shortFlag(), longFlag(flag) {} - EitherFlag(const char flag) : isShort(true), shortFlag(flag), longFlag() {} - - /** Get just the long flags from an initializer list of EitherFlags - */ - static std::unordered_set GetLong(std::initializer_list flags) - { - std::unordered_set longFlags; - for (const EitherFlag &flag: flags) - { - if (!flag.isShort) - { - longFlags.insert(flag.longFlag); - } - } - return longFlags; - } - - /** Get just the short flags from an initializer list of EitherFlags - */ - static std::unordered_set GetShort(std::initializer_list flags) - { - std::unordered_set shortFlags; - for (const EitherFlag &flag: flags) - { - if (flag.isShort) - { - shortFlags.insert(flag.shortFlag); - } - } - return shortFlags; - } - - std::string str() const - { - return isShort ? std::string(1, shortFlag) : longFlag; - } - - std::string str(const std::string &shortPrefix, const std::string &longPrefix) const - { - return isShort ? shortPrefix + std::string(1, shortFlag) : longPrefix + longFlag; - } - }; - - - - /** A class of "matchers", specifying short and flags that can possibly be - * matched. - * - * This is supposed to be constructed and then passed in, not used directly - * from user code. - */ - class Matcher - { - private: - const std::unordered_set shortFlags; - const std::unordered_set longFlags; - - public: - /** Specify short and long flags separately as iterators - * - * ex: `args::Matcher(shortFlags.begin(), shortFlags.end(), longFlags.begin(), longFlags.end())` - */ - template - Matcher(ShortIt shortFlagsStart, ShortIt shortFlagsEnd, LongIt longFlagsStart, LongIt longFlagsEnd) : - shortFlags(shortFlagsStart, shortFlagsEnd), - longFlags(longFlagsStart, longFlagsEnd) - { - if (shortFlags.empty() && longFlags.empty()) - { -#ifndef ARGS_NOEXCEPT - throw UsageError("empty Matcher"); -#endif - } - } - -#ifdef ARGS_NOEXCEPT - /// Only for ARGS_NOEXCEPT - Error GetError() const noexcept - { - return shortFlags.empty() && longFlags.empty() ? Error::Usage : Error::None; - } -#endif - - /** Specify short and long flags separately as iterables - * - * ex: `args::Matcher(shortFlags, longFlags)` - */ - template - Matcher(Short &&shortIn, Long &&longIn) : - Matcher(std::begin(shortIn), std::end(shortIn), std::begin(longIn), std::end(longIn)) - {} - - /** Specify a mixed single initializer-list of both short and long flags - * - * This is the fancy one. It takes a single initializer list of - * any number of any mixed kinds of flags. Chars are - * automatically interpreted as short flags, and strings are - * automatically interpreted as long flags: - * - * args::Matcher{'a'} - * args::Matcher{"foo"} - * args::Matcher{'h', "help"} - * args::Matcher{"foo", 'f', 'F', "FoO"} - */ - Matcher(std::initializer_list in) : - Matcher(EitherFlag::GetShort(in), EitherFlag::GetLong(in)) {} - - Matcher(Matcher &&other) : shortFlags(std::move(other.shortFlags)), longFlags(std::move(other.longFlags)) - {} - - ~Matcher() {} - - /** (INTERNAL) Check if there is a match of a short flag - */ - bool Match(const char flag) const - { - return shortFlags.find(flag) != shortFlags.end(); - } - - /** (INTERNAL) Check if there is a match of a long flag - */ - bool Match(const std::string &flag) const - { - return longFlags.find(flag) != longFlags.end(); - } - - /** (INTERNAL) Check if there is a match of a flag - */ - bool Match(const EitherFlag &flag) const - { - return flag.isShort ? Match(flag.shortFlag) : Match(flag.longFlag); - } - - /** (INTERNAL) Get all flag strings as a vector, with the prefixes embedded - */ - std::vector GetFlagStrings() const - { - std::vector flagStrings; - flagStrings.reserve(shortFlags.size() + longFlags.size()); - for (const char flag: shortFlags) - { - flagStrings.emplace_back(flag); - } - for (const std::string &flag: longFlags) - { - flagStrings.emplace_back(flag); - } - return flagStrings; - } - - /** (INTERNAL) Get long flag if it exists or any short flag - */ - EitherFlag GetLongOrAny() const - { - if (!longFlags.empty()) - { - return *longFlags.begin(); - } - - if (!shortFlags.empty()) - { - return *shortFlags.begin(); - } - - // should be unreachable - return ' '; - } - - /** (INTERNAL) Get short flag if it exists or any long flag - */ - EitherFlag GetShortOrAny() const - { - if (!shortFlags.empty()) - { - return *shortFlags.begin(); - } - - if (!longFlags.empty()) - { - return *longFlags.begin(); - } - - // should be unreachable - return ' '; - } - }; - - /** Attributes for flags. - */ - enum class Options - { - /** Default options. - */ - None = 0x0, - - /** Flag can't be passed multiple times. - */ - Single = 0x01, - - /** Flag can't be omitted. - */ - Required = 0x02, - - /** Flag is excluded from usage line. - */ - HiddenFromUsage = 0x04, - - /** Flag is excluded from options help. - */ - HiddenFromDescription = 0x08, - - /** Flag is global and can be used in any subcommand. - */ - Global = 0x10, - - /** Flag stops a parser. - */ - KickOut = 0x20, - - /** Flag is excluded from auto completion. - */ - HiddenFromCompletion = 0x40, - - /** Flag is excluded from options help and usage line - */ - Hidden = HiddenFromUsage | HiddenFromDescription | HiddenFromCompletion, - }; - - inline Options operator | (Options lhs, Options rhs) - { - return static_cast(static_cast(lhs) | static_cast(rhs)); - } - - inline Options operator & (Options lhs, Options rhs) - { - return static_cast(static_cast(lhs) & static_cast(rhs)); - } - - class FlagBase; - class PositionalBase; - class Command; - class ArgumentParser; - - /** A simple structure of parameters for easy user-modifyable help menus - */ - struct HelpParams - { - /** The width of the help menu - */ - unsigned int width = 80; - /** The indent of the program line - */ - unsigned int progindent = 2; - /** The indent of the program trailing lines for long parameters - */ - unsigned int progtailindent = 4; - /** The indent of the description and epilogs - */ - unsigned int descriptionindent = 4; - /** The indent of the flags - */ - unsigned int flagindent = 6; - /** The indent of the flag descriptions - */ - unsigned int helpindent = 40; - /** The additional indent each group adds - */ - unsigned int eachgroupindent = 2; - - /** The minimum gutter between each flag and its help - */ - unsigned int gutter = 1; - - /** Show the terminator when both options and positional parameters are present - */ - bool showTerminator = true; - - /** Show the {OPTIONS} on the prog line when this is true - */ - bool showProglineOptions = true; - - /** Show the positionals on the prog line when this is true - */ - bool showProglinePositionals = true; - - /** The prefix for short flags - */ - std::string shortPrefix; - - /** The prefix for long flags - */ - std::string longPrefix; - - /** The separator for short flags - */ - std::string shortSeparator; - - /** The separator for long flags - */ - std::string longSeparator; - - /** The program name for help generation - */ - std::string programName; - - /** Show command's flags - */ - bool showCommandChildren = false; - - /** Show command's descriptions and epilog - */ - bool showCommandFullHelp = false; - - /** The postfix for progline when showProglineOptions is true and command has any flags - */ - std::string proglineOptions = "{OPTIONS}"; - - /** The prefix for progline when command has any subcommands - */ - std::string proglineCommand = "COMMAND"; - - /** The prefix for progline value - */ - std::string proglineValueOpen = " <"; - - /** The postfix for progline value - */ - std::string proglineValueClose = ">"; - - /** The prefix for progline required argument - */ - std::string proglineRequiredOpen = ""; - - /** The postfix for progline required argument - */ - std::string proglineRequiredClose = ""; - - /** The prefix for progline non-required argument - */ - std::string proglineNonrequiredOpen = "["; - - /** The postfix for progline non-required argument - */ - std::string proglineNonrequiredClose = "]"; - - /** Show flags in program line - */ - bool proglineShowFlags = false; - - /** Use short flags in program lines when possible - */ - bool proglinePreferShortFlags = false; - - /** Program line prefix - */ - std::string usageString; - - /** String shown in help before flags descriptions - */ - std::string optionsString = "OPTIONS:"; - - /** Display value name after all the long and short flags - */ - bool useValueNameOnce = false; - - /** Show value name - */ - bool showValueName = true; - - /** Add newline before flag description - */ - bool addNewlineBeforeDescription = false; - - /** The prefix for option value - */ - std::string valueOpen = "["; - - /** The postfix for option value - */ - std::string valueClose = "]"; - - /** Add choices to argument description - */ - bool addChoices = false; - - /** The prefix for choices - */ - std::string choiceString = "\nOne of: "; - - /** Add default values to argument description - */ - bool addDefault = false; - - /** The prefix for default values - */ - std::string defaultString = "\nDefault: "; - }; - - /** A number of arguments which can be consumed by an option. - * - * Represents a closed interval [min, max]. - */ - struct Nargs - { - const size_t min; - const size_t max; - - Nargs(size_t min_, size_t max_) : min{min_}, max{max_} - { -#ifndef ARGS_NOEXCEPT - if (max < min) - { - throw UsageError("Nargs: max > min"); - } -#endif - } - - Nargs(size_t num_) : min{num_}, max{num_} - { - } - - friend bool operator == (const Nargs &lhs, const Nargs &rhs) - { - return lhs.min == rhs.min && lhs.max == rhs.max; - } - - friend bool operator != (const Nargs &lhs, const Nargs &rhs) - { - return !(lhs == rhs); - } - }; - - /** Base class for all match types - */ - class Base - { - private: - Options options = {}; - - protected: - bool matched = false; - const std::string help; -#ifdef ARGS_NOEXCEPT - /// Only for ARGS_NOEXCEPT - mutable Error error = Error::None; - mutable std::string errorMsg; -#endif - - public: - Base(const std::string &help_, Options options_ = {}) : options(options_), help(help_) {} - virtual ~Base() {} - - Options GetOptions() const noexcept - { - return options; - } - - bool IsRequired() const noexcept - { - return (GetOptions() & Options::Required) != Options::None; - } - - virtual bool Matched() const noexcept - { - return matched; - } - - virtual void Validate(const std::string &, const std::string &) const - { - } - - operator bool() const noexcept - { - return Matched(); - } - - virtual std::vector> GetDescription(const HelpParams &, const unsigned indentLevel) const - { - std::tuple description; - std::get<1>(description) = help; - std::get<2>(description) = indentLevel; - return { std::move(description) }; - } - - virtual std::vector GetCommands() - { - return {}; - } - - virtual bool IsGroup() const - { - return false; - } - - virtual FlagBase *Match(const EitherFlag &) - { - return nullptr; - } - - virtual PositionalBase *GetNextPositional() - { - return nullptr; - } - - virtual std::vector GetAllFlags() - { - return {}; - } - - virtual bool HasFlag() const - { - return false; - } - - virtual bool HasPositional() const - { - return false; - } - - virtual bool HasCommand() const - { - return false; - } - - virtual std::vector GetProgramLine(const HelpParams &) const - { - return {}; - } - - /// Sets a kick-out value for building subparsers - void KickOut(bool kickout_) noexcept - { - if (kickout_) - { - options = options | Options::KickOut; - } - else - { - options = static_cast(static_cast(options) & ~static_cast(Options::KickOut)); - } - } - - /// Gets the kick-out value for building subparsers - bool KickOut() const noexcept - { - return (options & Options::KickOut) != Options::None; - } - - virtual void Reset() noexcept - { - matched = false; -#ifdef ARGS_NOEXCEPT - error = Error::None; - errorMsg.clear(); -#endif - } - -#ifdef ARGS_NOEXCEPT - /// Only for ARGS_NOEXCEPT - virtual Error GetError() const - { - return error; - } - - /// Only for ARGS_NOEXCEPT - std::string GetErrorMsg() const - { - return errorMsg; - } -#endif - }; - - /** Base class for all match types that have a name - */ - class NamedBase : public Base - { - protected: - const std::string name; - bool kickout = false; - std::string defaultString; - bool defaultStringManual = false; - std::vector choicesStrings; - bool choicesStringManual = false; - - virtual std::string GetDefaultString(const HelpParams&) const { return {}; } - - virtual std::vector GetChoicesStrings(const HelpParams&) const { return {}; } - - virtual std::string GetNameString(const HelpParams&) const { return Name(); } - - void AddDescriptionPostfix(std::string &dest, const bool isManual, const std::string &manual, bool isGenerated, const std::string &generated, const std::string &str) const - { - if (isManual && !manual.empty()) - { - dest += str; - dest += manual; - } - else if (!isManual && isGenerated && !generated.empty()) - { - dest += str; - dest += generated; - } - } - - public: - NamedBase(const std::string &name_, const std::string &help_, Options options_ = {}) : Base(help_, options_), name(name_) {} - virtual ~NamedBase() {} - - /** Sets default value string that will be added to argument description. - * Use empty string to disable it for this argument. - */ - void HelpDefault(const std::string &str) - { - defaultStringManual = true; - defaultString = str; - } - - /** Gets default value string that will be added to argument description. - */ - std::string HelpDefault(const HelpParams ¶ms) const - { - return defaultStringManual ? defaultString : GetDefaultString(params); - } - - /** Sets choices strings that will be added to argument description. - * Use empty vector to disable it for this argument. - */ - void HelpChoices(const std::vector &array) - { - choicesStringManual = true; - choicesStrings = array; - } - - /** Gets choices strings that will be added to argument description. - */ - std::vector HelpChoices(const HelpParams ¶ms) const - { - return choicesStringManual ? choicesStrings : GetChoicesStrings(params); - } - - virtual std::vector> GetDescription(const HelpParams ¶ms, const unsigned indentLevel) const override - { - std::tuple description; - std::get<0>(description) = GetNameString(params); - std::get<1>(description) = help; - std::get<2>(description) = indentLevel; - - AddDescriptionPostfix(std::get<1>(description), choicesStringManual, detail::Join(choicesStrings, ", "), params.addChoices, detail::Join(GetChoicesStrings(params), ", "), params.choiceString); - AddDescriptionPostfix(std::get<1>(description), defaultStringManual, defaultString, params.addDefault, GetDefaultString(params), params.defaultString); - - return { std::move(description) }; - } - - virtual std::string Name() const - { - return name; - } - }; - - namespace detail - { - template - struct IsConvertableToString : std::false_type {}; - - template - struct IsConvertableToString() << std::declval(), int())> : std::true_type {}; - - template - typename std::enable_if::value, std::string>::type - ToString(const T &value) - { - std::ostringstream s; - s << value; - return s.str(); - } - - template - typename std::enable_if::value, std::string>::type - ToString(const T &) - { - return {}; - } - - template - std::vector MapKeysToStrings(const T &map) - { - std::vector res; - using K = typename std::decayfirst)>::type; - if (IsConvertableToString::value) - { - for (const auto &p : map) - { - res.push_back(detail::ToString(p.first)); - } - - std::sort(res.begin(), res.end()); - } - return res; - } - } - - /** Base class for all flag options - */ - class FlagBase : public NamedBase - { - protected: - const Matcher matcher; - - virtual std::string GetNameString(const HelpParams ¶ms) const override - { - const std::string postfix = !params.showValueName || NumberOfArguments() == 0 ? std::string() : Name(); - std::string flags; - const auto flagStrings = matcher.GetFlagStrings(); - const bool useValueNameOnce = flagStrings.size() == 1 ? false : params.useValueNameOnce; - for (auto it = flagStrings.begin(); it != flagStrings.end(); ++it) - { - auto &flag = *it; - if (it != flagStrings.begin()) - { - flags += ", "; - } - - flags += flag.isShort ? params.shortPrefix : params.longPrefix; - flags += flag.str(); - - if (!postfix.empty() && (!useValueNameOnce || it + 1 == flagStrings.end())) - { - flags += flag.isShort ? params.shortSeparator : params.longSeparator; - flags += params.valueOpen + postfix + params.valueClose; - } - } - - return flags; - } - - public: - FlagBase(const std::string &name_, const std::string &help_, Matcher &&matcher_, const bool extraError_ = false) : NamedBase(name_, help_, extraError_ ? Options::Single : Options()), matcher(std::move(matcher_)) {} - - FlagBase(const std::string &name_, const std::string &help_, Matcher &&matcher_, Options options_) : NamedBase(name_, help_, options_), matcher(std::move(matcher_)) {} - - virtual ~FlagBase() {} - - virtual FlagBase *Match(const EitherFlag &flag) override - { - if (matcher.Match(flag)) - { - if ((GetOptions() & Options::Single) != Options::None && matched) - { - std::ostringstream problem; - problem << "Flag '" << flag.str() << "' was passed multiple times, but is only allowed to be passed once"; -#ifdef ARGS_NOEXCEPT - error = Error::Extra; - errorMsg = problem.str(); -#else - throw ExtraError(problem.str()); -#endif - } - matched = true; - return this; - } - return nullptr; - } - - virtual std::vector GetAllFlags() override - { - return { this }; - } - - const Matcher &GetMatcher() const - { - return matcher; - } - - virtual void Validate(const std::string &shortPrefix, const std::string &longPrefix) const override - { - if (!Matched() && IsRequired()) - { - std::ostringstream problem; - problem << "Flag '" << matcher.GetLongOrAny().str(shortPrefix, longPrefix) << "' is required"; -#ifdef ARGS_NOEXCEPT - error = Error::Required; - errorMsg = problem.str(); -#else - throw RequiredError(problem.str()); -#endif - } - } - - virtual std::vector GetProgramLine(const HelpParams ¶ms) const override - { - if (!params.proglineShowFlags) - { - return {}; - } - - const std::string postfix = NumberOfArguments() == 0 ? std::string() : Name(); - const EitherFlag flag = params.proglinePreferShortFlags ? matcher.GetShortOrAny() : matcher.GetLongOrAny(); - std::string res = flag.str(params.shortPrefix, params.longPrefix); - if (!postfix.empty()) - { - res += params.proglineValueOpen + postfix + params.proglineValueClose; - } - - return { IsRequired() ? params.proglineRequiredOpen + res + params.proglineRequiredClose - : params.proglineNonrequiredOpen + res + params.proglineNonrequiredClose }; - } - - virtual bool HasFlag() const override - { - return true; - } - -#ifdef ARGS_NOEXCEPT - /// Only for ARGS_NOEXCEPT - virtual Error GetError() const override - { - const auto nargs = NumberOfArguments(); - if (nargs.min > nargs.max) - { - return Error::Usage; - } - - const auto matcherError = matcher.GetError(); - if (matcherError != Error::None) - { - return matcherError; - } - - return error; - } -#endif - - /** Defines how many values can be consumed by this option. - * - * \return closed interval [min, max] - */ - virtual Nargs NumberOfArguments() const noexcept = 0; - - /** Parse values of this option. - * - * \param value Vector of values. It's size must be in NumberOfArguments() interval. - */ - virtual void ParseValue(const std::vector &value) = 0; - }; - - /** Base class for value-accepting flag options - */ - class ValueFlagBase : public FlagBase - { - public: - ValueFlagBase(const std::string &name_, const std::string &help_, Matcher &&matcher_, const bool extraError_ = false) : FlagBase(name_, help_, std::move(matcher_), extraError_) {} - ValueFlagBase(const std::string &name_, const std::string &help_, Matcher &&matcher_, Options options_) : FlagBase(name_, help_, std::move(matcher_), options_) {} - virtual ~ValueFlagBase() {} - - virtual Nargs NumberOfArguments() const noexcept override - { - return 1; - } - }; - - class CompletionFlag : public ValueFlagBase - { - public: - std::vector reply; - size_t cword = 0; - std::string syntax; - - template - CompletionFlag(GroupClass &group_, Matcher &&matcher_): ValueFlagBase("completion", "completion flag", std::move(matcher_), Options::Hidden) - { - group_.AddCompletion(*this); - } - - virtual ~CompletionFlag() {} - - virtual Nargs NumberOfArguments() const noexcept override - { - return 2; - } - - virtual void ParseValue(const std::vector &value_) override - { - syntax = value_.at(0); - std::istringstream(value_.at(1)) >> cword; - } - - /** Get the completion reply - */ - std::string Get() noexcept - { - return detail::Join(reply, "\n"); - } - - virtual void Reset() noexcept override - { - ValueFlagBase::Reset(); - cword = 0; - syntax.clear(); - reply.clear(); - } - }; - - - /** Base class for positional options - */ - class PositionalBase : public NamedBase - { - protected: - bool ready; - - public: - PositionalBase(const std::string &name_, const std::string &help_, Options options_ = {}) : NamedBase(name_, help_, options_), ready(true) {} - virtual ~PositionalBase() {} - - bool Ready() - { - return ready; - } - - virtual void ParseValue(const std::string &value_) = 0; - - virtual void Reset() noexcept override - { - matched = false; - ready = true; -#ifdef ARGS_NOEXCEPT - error = Error::None; - errorMsg.clear(); -#endif - } - - virtual PositionalBase *GetNextPositional() override - { - return Ready() ? this : nullptr; - } - - virtual bool HasPositional() const override - { - return true; - } - - virtual std::vector GetProgramLine(const HelpParams ¶ms) const override - { - return { IsRequired() ? params.proglineRequiredOpen + Name() + params.proglineRequiredClose - : params.proglineNonrequiredOpen + Name() + params.proglineNonrequiredClose }; - } - - virtual void Validate(const std::string &, const std::string &) const override - { - if (IsRequired() && !Matched()) - { - std::ostringstream problem; - problem << "Option '" << Name() << "' is required"; -#ifdef ARGS_NOEXCEPT - error = Error::Required; - errorMsg = problem.str(); -#else - throw RequiredError(problem.str()); -#endif - } - } - }; - - /** Class for all kinds of validating groups, including ArgumentParser - */ - class Group : public Base - { - private: - std::vector children; - std::function validator; - - public: - /** Default validators - */ - struct Validators - { - static bool Xor(const Group &group) - { - return group.MatchedChildren() == 1; - } - - static bool AtLeastOne(const Group &group) - { - return group.MatchedChildren() >= 1; - } - - static bool AtMostOne(const Group &group) - { - return group.MatchedChildren() <= 1; - } - - static bool All(const Group &group) - { - return group.Children().size() == group.MatchedChildren(); - } - - static bool AllOrNone(const Group &group) - { - return (All(group) || None(group)); - } - - static bool AllChildGroups(const Group &group) - { - return std::none_of(std::begin(group.Children()), std::end(group.Children()), [](const Base* child) -> bool { - return child->IsGroup() && !child->Matched(); - }); - } - - static bool DontCare(const Group &) - { - return true; - } - - static bool CareTooMuch(const Group &) - { - return false; - } - - static bool None(const Group &group) - { - return group.MatchedChildren() == 0; - } - }; - /// If help is empty, this group will not be printed in help output - Group(const std::string &help_ = std::string(), const std::function &validator_ = Validators::DontCare, Options options_ = {}) : Base(help_, options_), validator(validator_) {} - /// If help is empty, this group will not be printed in help output - Group(Group &group_, const std::string &help_ = std::string(), const std::function &validator_ = Validators::DontCare, Options options_ = {}) : Base(help_, options_), validator(validator_) - { - group_.Add(*this); - } - virtual ~Group() {} - - /** Append a child to this Group. - */ - void Add(Base &child) - { - children.emplace_back(&child); - } - - /** Get all this group's children - */ - const std::vector &Children() const - { - return children; - } - - /** Return the first FlagBase that matches flag, or nullptr - * - * \param flag The flag with prefixes stripped - * \return the first matching FlagBase pointer, or nullptr if there is no match - */ - virtual FlagBase *Match(const EitherFlag &flag) override - { - for (Base *child: Children()) - { - if (FlagBase *match = child->Match(flag)) - { - return match; - } - } - return nullptr; - } - - virtual std::vector GetAllFlags() override - { - std::vector res; - for (Base *child: Children()) - { - auto childRes = child->GetAllFlags(); - res.insert(res.end(), childRes.begin(), childRes.end()); - } - return res; - } - - virtual void Validate(const std::string &shortPrefix, const std::string &longPrefix) const override - { - for (Base *child: Children()) - { - child->Validate(shortPrefix, longPrefix); - } - } - - /** Get the next ready positional, or nullptr if there is none - * - * \return the first ready PositionalBase pointer, or nullptr if there is no match - */ - virtual PositionalBase *GetNextPositional() override - { - for (Base *child: Children()) - { - if (auto next = child->GetNextPositional()) - { - return next; - } - } - return nullptr; - } - - /** Get whether this has any FlagBase children - * - * \return Whether or not there are any FlagBase children - */ - virtual bool HasFlag() const override - { - return std::any_of(Children().begin(), Children().end(), [](Base *child) { return child->HasFlag(); }); - } - - /** Get whether this has any PositionalBase children - * - * \return Whether or not there are any PositionalBase children - */ - virtual bool HasPositional() const override - { - return std::any_of(Children().begin(), Children().end(), [](Base *child) { return child->HasPositional(); }); - } - - /** Get whether this has any Command children - * - * \return Whether or not there are any Command children - */ - virtual bool HasCommand() const override - { - return std::any_of(Children().begin(), Children().end(), [](Base *child) { return child->HasCommand(); }); - } - - /** Count the number of matched children this group has - */ - std::vector::size_type MatchedChildren() const - { - // Cast to avoid warnings from -Wsign-conversion - return static_cast::size_type>( - std::count_if(std::begin(Children()), std::end(Children()), [](const Base *child){return child->Matched();})); - } - - /** Whether or not this group matches validation - */ - virtual bool Matched() const noexcept override - { - return validator(*this); - } - - /** Get validation - */ - bool Get() const - { - return Matched(); - } - - /** Get all the child descriptions for help generation - */ - virtual std::vector> GetDescription(const HelpParams ¶ms, const unsigned int indent) const override - { - std::vector> descriptions; - - // Push that group description on the back if not empty - unsigned addindent = 0; - if (!help.empty()) - { - descriptions.emplace_back(help, "", indent); - addindent = 1; - } - - for (Base *child: Children()) - { - if ((child->GetOptions() & Options::HiddenFromDescription) != Options::None) - { - continue; - } - - auto groupDescriptions = child->GetDescription(params, indent + addindent); - descriptions.insert( - std::end(descriptions), - std::make_move_iterator(std::begin(groupDescriptions)), - std::make_move_iterator(std::end(groupDescriptions))); - } - return descriptions; - } - - /** Get the names of positional parameters - */ - virtual std::vector GetProgramLine(const HelpParams ¶ms) const override - { - std::vector names; - for (Base *child: Children()) - { - if ((child->GetOptions() & Options::HiddenFromUsage) != Options::None) - { - continue; - } - - auto groupNames = child->GetProgramLine(params); - names.insert( - std::end(names), - std::make_move_iterator(std::begin(groupNames)), - std::make_move_iterator(std::end(groupNames))); - } - return names; - } - - virtual std::vector GetCommands() override - { - std::vector res; - for (const auto &child : Children()) - { - auto subparsers = child->GetCommands(); - res.insert(std::end(res), std::begin(subparsers), std::end(subparsers)); - } - return res; - } - - virtual bool IsGroup() const override - { - return true; - } - - virtual void Reset() noexcept override - { - Base::Reset(); - - for (auto &child: Children()) - { - child->Reset(); - } -#ifdef ARGS_NOEXCEPT - error = Error::None; - errorMsg.clear(); -#endif - } - -#ifdef ARGS_NOEXCEPT - /// Only for ARGS_NOEXCEPT - virtual Error GetError() const override - { - if (error != Error::None) - { - return error; - } - - auto it = std::find_if(Children().begin(), Children().end(), [](const Base *child){return child->GetError() != Error::None;}); - if (it == Children().end()) - { - return Error::None; - } else - { - return (*it)->GetError(); - } - } -#endif - - }; - - /** Class for using global options in ArgumentParser. - */ - class GlobalOptions : public Group - { - public: - GlobalOptions(Group &base, Base &options_) : Group(base, {}, Group::Validators::DontCare, Options::Global) - { - Add(options_); - } - }; - - /** Utility class for building subparsers with coroutines/callbacks. - * - * Brief example: - * \code - * Command command(argumentParser, "command", "my command", [](args::Subparser &s) - * { - * // your command flags/positionals - * s.Parse(); //required - * //your command code - * }); - * \endcode - * - * For ARGS_NOEXCEPT mode don't forget to check `s.GetError()` after `s.Parse()` - * and return if it isn't equals to args::Error::None. - * - * \sa Command - */ - class Subparser : public Group - { - private: - std::vector args; - std::vector kicked; - ArgumentParser *parser = nullptr; - const HelpParams &helpParams; - const Command &command; - bool isParsed = false; - - public: - Subparser(std::vector args_, ArgumentParser &parser_, const Command &command_, const HelpParams &helpParams_) - : Group({}, Validators::AllChildGroups), args(std::move(args_)), parser(&parser_), helpParams(helpParams_), command(command_) - { - } - - Subparser(const Command &command_, const HelpParams &helpParams_) : Group({}, Validators::AllChildGroups), helpParams(helpParams_), command(command_) - { - } - - Subparser(const Subparser&) = delete; - Subparser(Subparser&&) = delete; - Subparser &operator = (const Subparser&) = delete; - Subparser &operator = (Subparser&&) = delete; - - const Command &GetCommand() - { - return command; - } - - /** (INTERNAL) Determines whether Parse was called or not. - */ - bool IsParsed() const - { - return isParsed; - } - - /** Continue parsing arguments for new command. - */ - void Parse(); - - /** Returns a vector of kicked out arguments. - * - * \sa Base::KickOut - */ - const std::vector &KickedOut() const noexcept - { - return kicked; - } - }; - - /** Main class for building subparsers. - * - * /sa Subparser - */ - class Command : public Group - { - private: - friend class Subparser; - - std::string name; - std::string help; - std::string description; - std::string epilog; - std::string proglinePostfix; - - std::function parserCoroutine; - bool commandIsRequired = true; - Command *selectedCommand = nullptr; - - mutable std::vector> subparserDescription; - mutable std::vector subparserProgramLine; - mutable bool subparserHasFlag = false; - mutable bool subparserHasPositional = false; - mutable bool subparserHasCommand = false; -#ifdef ARGS_NOEXCEPT - mutable Error subparserError = Error::None; -#endif - mutable Subparser *subparser = nullptr; - - protected: - - class RaiiSubparser - { - public: - RaiiSubparser(ArgumentParser &parser_, std::vector args_); - RaiiSubparser(const Command &command_, const HelpParams ¶ms_); - - ~RaiiSubparser() - { - command.subparser = oldSubparser; - } - - Subparser &Parser() - { - return parser; - } - - private: - const Command &command; - Subparser parser; - Subparser *oldSubparser; - }; - - Command() = default; - - std::function &GetCoroutine() - { - return selectedCommand != nullptr ? selectedCommand->GetCoroutine() : parserCoroutine; - } - - Command &SelectedCommand() - { - Command *res = this; - while (res->selectedCommand != nullptr) - { - res = res->selectedCommand; - } - - return *res; - } - - const Command &SelectedCommand() const - { - const Command *res = this; - while (res->selectedCommand != nullptr) - { - res = res->selectedCommand; - } - - return *res; - } - - void UpdateSubparserHelp(const HelpParams ¶ms) const - { - if (parserCoroutine) - { - RaiiSubparser coro(*this, params); -#ifndef ARGS_NOEXCEPT - try - { - parserCoroutine(coro.Parser()); - } - catch (args::SubparserError&) - { - } -#else - parserCoroutine(coro.Parser()); -#endif - } - } - - public: - Command(Group &base_, std::string name_, std::string help_, std::function coroutine_ = {}) - : name(std::move(name_)), help(std::move(help_)), parserCoroutine(std::move(coroutine_)) - { - base_.Add(*this); - } - - /** The description that appears on the prog line after options - */ - const std::string &ProglinePostfix() const - { return proglinePostfix; } - - /** The description that appears on the prog line after options - */ - void ProglinePostfix(const std::string &proglinePostfix_) - { this->proglinePostfix = proglinePostfix_; } - - /** The description that appears above options - */ - const std::string &Description() const - { return description; } - /** The description that appears above options - */ - - void Description(const std::string &description_) - { this->description = description_; } - - /** The description that appears below options - */ - const std::string &Epilog() const - { return epilog; } - - /** The description that appears below options - */ - void Epilog(const std::string &epilog_) - { this->epilog = epilog_; } - - /** The name of command - */ - const std::string &Name() const - { return name; } - - /** The description of command - */ - const std::string &Help() const - { return help; } - - /** If value is true, parser will fail if no command was parsed. - * - * Default: true. - */ - void RequireCommand(bool value) - { commandIsRequired = value; } - - virtual bool IsGroup() const override - { return false; } - - virtual bool Matched() const noexcept override - { return Base::Matched(); } - - operator bool() const noexcept - { return Matched(); } - - void Match() noexcept - { matched = true; } - - void SelectCommand(Command *c) noexcept - { - selectedCommand = c; - - if (c != nullptr) - { - c->Match(); - } - } - - virtual FlagBase *Match(const EitherFlag &flag) override - { - if (selectedCommand != nullptr) - { - if (auto *res = selectedCommand->Match(flag)) - { - return res; - } - - for (auto *child: Children()) - { - if ((child->GetOptions() & Options::Global) != Options::None) - { - if (auto *res = child->Match(flag)) - { - return res; - } - } - } - - return nullptr; - } - - if (subparser != nullptr) - { - return subparser->Match(flag); - } - - return Matched() ? Group::Match(flag) : nullptr; - } - - virtual std::vector GetAllFlags() override - { - std::vector res; - - if (!Matched()) - { - return res; - } - - for (auto *child: Children()) - { - if (selectedCommand == nullptr || (child->GetOptions() & Options::Global) != Options::None) - { - auto childFlags = child->GetAllFlags(); - res.insert(res.end(), childFlags.begin(), childFlags.end()); - } - } - - if (selectedCommand != nullptr) - { - auto childFlags = selectedCommand->GetAllFlags(); - res.insert(res.end(), childFlags.begin(), childFlags.end()); - } - - if (subparser != nullptr) - { - auto childFlags = subparser->GetAllFlags(); - res.insert(res.end(), childFlags.begin(), childFlags.end()); - } - - return res; - } - - virtual PositionalBase *GetNextPositional() override - { - if (selectedCommand != nullptr) - { - if (auto *res = selectedCommand->GetNextPositional()) - { - return res; - } - - for (auto *child: Children()) - { - if ((child->GetOptions() & Options::Global) != Options::None) - { - if (auto *res = child->GetNextPositional()) - { - return res; - } - } - } - - return nullptr; - } - - if (subparser != nullptr) - { - return subparser->GetNextPositional(); - } - - return Matched() ? Group::GetNextPositional() : nullptr; - } - - virtual bool HasFlag() const override - { - return subparserHasFlag || Group::HasFlag(); - } - - virtual bool HasPositional() const override - { - return subparserHasPositional || Group::HasPositional(); - } - - virtual bool HasCommand() const override - { - return true; - } - - std::vector GetCommandProgramLine(const HelpParams ¶ms) const - { - UpdateSubparserHelp(params); - - auto res = Group::GetProgramLine(params); - res.insert(res.end(), subparserProgramLine.begin(), subparserProgramLine.end()); - - if (!params.proglineCommand.empty() && (Group::HasCommand() || subparserHasCommand)) - { - res.insert(res.begin(), commandIsRequired ? params.proglineCommand : "[" + params.proglineCommand + "]"); - } - - if (!Name().empty()) - { - res.insert(res.begin(), Name()); - } - - if ((subparserHasFlag || Group::HasFlag()) && params.showProglineOptions && !params.proglineShowFlags) - { - res.push_back(params.proglineOptions); - } - - if (!ProglinePostfix().empty()) - { - std::string line; - for (char c : ProglinePostfix()) - { - if (isspace(c)) - { - if (!line.empty()) - { - res.push_back(line); - line.clear(); - } - - if (c == '\n') - { - res.push_back("\n"); - } - } - else - { - line += c; - } - } - - if (!line.empty()) - { - res.push_back(line); - } - } - - return res; - } - - virtual std::vector GetProgramLine(const HelpParams ¶ms) const override - { - if (!Matched()) - { - return {}; - } - - return GetCommandProgramLine(params); - } - - virtual std::vector GetCommands() override - { - if (selectedCommand != nullptr) - { - return selectedCommand->GetCommands(); - } - - if (Matched()) - { - return Group::GetCommands(); - } - - return { this }; - } - - virtual std::vector> GetDescription(const HelpParams ¶ms, const unsigned int indent) const override - { - std::vector> descriptions; - unsigned addindent = 0; - - UpdateSubparserHelp(params); - - if (!Matched()) - { - if (params.showCommandFullHelp) - { - std::ostringstream s; - bool empty = true; - for (const auto &progline: GetCommandProgramLine(params)) - { - if (!empty) - { - s << ' '; - } - else - { - empty = false; - } - - s << progline; - } - - descriptions.emplace_back(s.str(), "", indent); - } - else - { - descriptions.emplace_back(Name(), help, indent); - } - - if (!params.showCommandChildren && !params.showCommandFullHelp) - { - return descriptions; - } - - addindent = 1; - } - - if (params.showCommandFullHelp && !Matched()) - { - descriptions.emplace_back("", "", indent + addindent); - descriptions.emplace_back(Description().empty() ? Help() : Description(), "", indent + addindent); - descriptions.emplace_back("", "", indent + addindent); - } - - for (Base *child: Children()) - { - if ((child->GetOptions() & Options::HiddenFromDescription) != Options::None) - { - continue; - } - - auto groupDescriptions = child->GetDescription(params, indent + addindent); - descriptions.insert( - std::end(descriptions), - std::make_move_iterator(std::begin(groupDescriptions)), - std::make_move_iterator(std::end(groupDescriptions))); - } - - for (auto childDescription: subparserDescription) - { - std::get<2>(childDescription) += indent + addindent; - descriptions.push_back(std::move(childDescription)); - } - - if (params.showCommandFullHelp && !Matched()) - { - descriptions.emplace_back("", "", indent + addindent); - if (!Epilog().empty()) - { - descriptions.emplace_back(Epilog(), "", indent + addindent); - descriptions.emplace_back("", "", indent + addindent); - } - } - - return descriptions; - } - - virtual void Validate(const std::string &shortprefix, const std::string &longprefix) const override - { - if (!Matched()) - { - return; - } - - auto onValidationError = [&] - { - std::ostringstream problem; - problem << "Group validation failed somewhere!"; -#ifdef ARGS_NOEXCEPT - error = Error::Validation; - errorMsg = problem.str(); -#else - throw ValidationError(problem.str()); -#endif - }; - - for (Base *child: Children()) - { - if (child->IsGroup() && !child->Matched()) - { - onValidationError(); - } - - child->Validate(shortprefix, longprefix); - } - - if (subparser != nullptr) - { - subparser->Validate(shortprefix, longprefix); - if (!subparser->Matched()) - { - onValidationError(); - } - } - - if (selectedCommand == nullptr && commandIsRequired && (Group::HasCommand() || subparserHasCommand)) - { - std::ostringstream problem; - problem << "Command is required"; -#ifdef ARGS_NOEXCEPT - error = Error::Validation; - errorMsg = problem.str(); -#else - throw ValidationError(problem.str()); -#endif - } - } - - virtual void Reset() noexcept override - { - Group::Reset(); - selectedCommand = nullptr; - subparserProgramLine.clear(); - subparserDescription.clear(); - subparserHasFlag = false; - subparserHasPositional = false; - subparserHasCommand = false; -#ifdef ARGS_NOEXCEPT - subparserError = Error::None; -#endif - } - -#ifdef ARGS_NOEXCEPT - /// Only for ARGS_NOEXCEPT - virtual Error GetError() const override - { - if (!Matched()) - { - return Error::None; - } - - if (error != Error::None) - { - return error; - } - - if (subparserError != Error::None) - { - return subparserError; - } - - return Group::GetError(); - } -#endif - }; - - /** The main user facing command line argument parser class - */ - class ArgumentParser : public Command - { - friend class Subparser; - - private: - std::string longprefix; - std::string shortprefix; - - std::string longseparator; - - std::string terminator; - - bool allowJoinedShortValue = true; - bool allowJoinedLongValue = true; - bool allowSeparateShortValue = true; - bool allowSeparateLongValue = true; - - CompletionFlag *completion = nullptr; - bool readCompletion = false; - - protected: - enum class OptionType - { - LongFlag, - ShortFlag, - Positional - }; - - OptionType ParseOption(const std::string &s, bool allowEmpty = false) - { - if (s.find(longprefix) == 0 && (allowEmpty || s.length() > longprefix.length())) - { - return OptionType::LongFlag; - } - - if (s.find(shortprefix) == 0 && (allowEmpty || s.length() > shortprefix.length())) - { - return OptionType::ShortFlag; - } - - return OptionType::Positional; - } - - template - bool Complete(FlagBase &flag, It it, It end) - { - auto nextIt = it; - if (!readCompletion || (++nextIt != end)) - { - return false; - } - - const auto &chunk = *it; - for (auto &choice : flag.HelpChoices(helpParams)) - { - AddCompletionReply(chunk, choice); - } - -#ifndef ARGS_NOEXCEPT - throw Completion(completion->Get()); -#else - return true; -#endif - } - - /** (INTERNAL) Parse flag's values - * - * \param arg The string to display in error message as a flag name - * \param[in, out] it The iterator to first value. It will point to the last value - * \param end The end iterator - * \param joinedArg Joined value (e.g. bar in --foo=bar) - * \param canDiscardJoined If true joined value can be parsed as flag not as a value (as in -abcd) - * \param[out] values The vector to store parsed arg's values - */ - template - std::string ParseArgsValues(FlagBase &flag, const std::string &arg, It &it, It end, - const bool allowSeparate, const bool allowJoined, - const bool hasJoined, const std::string &joinedArg, - const bool canDiscardJoined, std::vector &values) - { - values.clear(); - - Nargs nargs = flag.NumberOfArguments(); - - if (hasJoined && !allowJoined && nargs.min != 0) - { - return "Flag '" + arg + "' was passed a joined argument, but these are disallowed"; - } - - if (hasJoined) - { - if (!canDiscardJoined || nargs.max != 0) - { - values.push_back(joinedArg); - } - } else if (!allowSeparate) - { - if (nargs.min != 0) - { - return "Flag '" + arg + "' was passed a separate argument, but these are disallowed"; - } - } else - { - auto valueIt = it; - ++valueIt; - - while (valueIt != end && - values.size() < nargs.max && - (nargs.min == nargs.max || ParseOption(*valueIt) == OptionType::Positional)) - { - if (Complete(flag, valueIt, end)) - { - it = end; - return ""; - } - - values.push_back(*valueIt); - ++it; - ++valueIt; - } - } - - if (values.size() > nargs.max) - { - return "Passed an argument into a non-argument flag: " + arg; - } else if (values.size() < nargs.min) - { - if (nargs.min == 1 && nargs.max == 1) - { - return "Flag '" + arg + "' requires an argument but received none"; - } else if (nargs.min == 1) - { - return "Flag '" + arg + "' requires at least one argument but received none"; - } else if (nargs.min != nargs.max) - { - return "Flag '" + arg + "' requires at least " + std::to_string(nargs.min) + - " arguments but received " + std::to_string(values.size()); - } else - { - return "Flag '" + arg + "' requires " + std::to_string(nargs.min) + - " arguments but received " + std::to_string(values.size()); - } - } - - return {}; - } - - template - bool ParseLong(It &it, It end) - { - const auto &chunk = *it; - const auto argchunk = chunk.substr(longprefix.size()); - // Try to separate it, in case of a separator: - const auto separator = longseparator.empty() ? argchunk.npos : argchunk.find(longseparator); - // If the separator is in the argument, separate it. - const auto arg = (separator != argchunk.npos ? - std::string(argchunk, 0, separator) - : argchunk); - const auto joined = (separator != argchunk.npos ? - argchunk.substr(separator + longseparator.size()) - : std::string()); - - if (auto flag = Match(arg)) - { - std::vector values; - const std::string errorMessage = ParseArgsValues(*flag, arg, it, end, allowSeparateLongValue, allowJoinedLongValue, - separator != argchunk.npos, joined, false, values); - if (!errorMessage.empty()) - { -#ifndef ARGS_NOEXCEPT - throw ParseError(errorMessage); -#else - error = Error::Parse; - errorMsg = errorMessage; - return false; -#endif - } - - if (!readCompletion) - { - flag->ParseValue(values); - } - - if (flag->KickOut()) - { - ++it; - return false; - } - } else - { - const std::string errorMessage("Flag could not be matched: " + arg); -#ifndef ARGS_NOEXCEPT - throw ParseError(errorMessage); -#else - error = Error::Parse; - errorMsg = errorMessage; - return false; -#endif - } - - return true; - } - - template - bool ParseShort(It &it, It end) - { - const auto &chunk = *it; - const auto argchunk = chunk.substr(shortprefix.size()); - for (auto argit = std::begin(argchunk); argit != std::end(argchunk); ++argit) - { - const auto arg = *argit; - - if (auto flag = Match(arg)) - { - const std::string value(argit + 1, std::end(argchunk)); - std::vector values; - const std::string errorMessage = ParseArgsValues(*flag, std::string(1, arg), it, end, - allowSeparateShortValue, allowJoinedShortValue, - !value.empty(), value, !value.empty(), values); - - if (!errorMessage.empty()) - { -#ifndef ARGS_NOEXCEPT - throw ParseError(errorMessage); -#else - error = Error::Parse; - errorMsg = errorMessage; - return false; -#endif - } - - if (!readCompletion) - { - flag->ParseValue(values); - } - - if (flag->KickOut()) - { - ++it; - return false; - } - - if (!values.empty()) - { - break; - } - } else - { - const std::string errorMessage("Flag could not be matched: '" + std::string(1, arg) + "'"); -#ifndef ARGS_NOEXCEPT - throw ParseError(errorMessage); -#else - error = Error::Parse; - errorMsg = errorMessage; - return false; -#endif - } - } - - return true; - } - - bool AddCompletionReply(const std::string &cur, const std::string &choice) - { - if (cur.empty() || choice.find(cur) == 0) - { - if (completion->syntax == "bash" && ParseOption(choice) == OptionType::LongFlag && choice.find(longseparator) != std::string::npos) - { - completion->reply.push_back(choice.substr(choice.find(longseparator) + 1)); - } else - { - completion->reply.push_back(choice); - } - return true; - } - - return false; - } - - template - bool Complete(It it, It end) - { - auto nextIt = it; - if (!readCompletion || (++nextIt != end)) - { - return false; - } - - const auto &chunk = *it; - auto pos = GetNextPositional(); - std::vector commands = GetCommands(); - const auto optionType = ParseOption(chunk, true); - - if (!commands.empty() && (chunk.empty() || optionType == OptionType::Positional)) - { - for (auto &cmd : commands) - { - if ((cmd->GetOptions() & Options::HiddenFromCompletion) == Options::None) - { - AddCompletionReply(chunk, cmd->Name()); - } - } - } else - { - bool hasPositionalCompletion = true; - - if (!commands.empty()) - { - for (auto &cmd : commands) - { - if ((cmd->GetOptions() & Options::HiddenFromCompletion) == Options::None) - { - AddCompletionReply(chunk, cmd->Name()); - } - } - } else if (pos) - { - if ((pos->GetOptions() & Options::HiddenFromCompletion) == Options::None) - { - auto choices = pos->HelpChoices(helpParams); - hasPositionalCompletion = !choices.empty() || optionType != OptionType::Positional; - for (auto &choice : choices) - { - AddCompletionReply(chunk, choice); - } - } - } - - if (hasPositionalCompletion) - { - auto flags = GetAllFlags(); - for (auto flag : flags) - { - if ((flag->GetOptions() & Options::HiddenFromCompletion) != Options::None) - { - continue; - } - - auto &matcher = flag->GetMatcher(); - if (!AddCompletionReply(chunk, matcher.GetShortOrAny().str(shortprefix, longprefix))) - { - for (auto &flagName : matcher.GetFlagStrings()) - { - if (AddCompletionReply(chunk, flagName.str(shortprefix, longprefix))) - { - break; - } - } - } - } - - if (optionType == OptionType::LongFlag && allowJoinedLongValue) - { - const auto separator = longseparator.empty() ? chunk.npos : chunk.find(longseparator); - if (separator != chunk.npos) - { - std::string arg(chunk, 0, separator); - if (auto flag = this->Match(arg.substr(longprefix.size()))) - { - for (auto &choice : flag->HelpChoices(helpParams)) - { - AddCompletionReply(chunk, arg + longseparator + choice); - } - } - } - } else if (optionType == OptionType::ShortFlag && allowJoinedShortValue) - { - if (chunk.size() > shortprefix.size() + 1) - { - auto arg = chunk.at(shortprefix.size()); - //TODO: support -abcVALUE where a and b take no value - if (auto flag = this->Match(arg)) - { - for (auto &choice : flag->HelpChoices(helpParams)) - { - AddCompletionReply(chunk, shortprefix + arg + choice); - } - } - } - } - } - } - -#ifndef ARGS_NOEXCEPT - throw Completion(completion->Get()); -#else - return true; -#endif - } - - template - It Parse(It begin, It end) - { - bool terminated = false; - std::vector commands = GetCommands(); - - // Check all arg chunks - for (auto it = begin; it != end; ++it) - { - if (Complete(it, end)) - { - return end; - } - - const auto &chunk = *it; - - if (!terminated && chunk == terminator) - { - terminated = true; - } else if (!terminated && ParseOption(chunk) == OptionType::LongFlag) - { - if (!ParseLong(it, end)) - { - return it; - } - } else if (!terminated && ParseOption(chunk) == OptionType::ShortFlag) - { - if (!ParseShort(it, end)) - { - return it; - } - } else if (!terminated && !commands.empty()) - { - auto itCommand = std::find_if(commands.begin(), commands.end(), [&chunk](Command *c) { return c->Name() == chunk; }); - if (itCommand == commands.end()) - { - const std::string errorMessage("Unknown command: " + chunk); -#ifndef ARGS_NOEXCEPT - throw ParseError(errorMessage); -#else - error = Error::Parse; - errorMsg = errorMessage; - return it; -#endif - } - - SelectedCommand().SelectCommand(*itCommand); - - if (const auto &coroutine = GetCoroutine()) - { - ++it; - RaiiSubparser coro(*this, std::vector(it, end)); - coroutine(coro.Parser()); -#ifdef ARGS_NOEXCEPT - error = GetError(); - if (error != Error::None) - { - return end; - } - - if (!coro.Parser().IsParsed()) - { - error = Error::Usage; - return end; - } -#else - if (!coro.Parser().IsParsed()) - { - throw UsageError("Subparser::Parse was not called"); - } -#endif - - break; - } - - commands = GetCommands(); - } else - { - auto pos = GetNextPositional(); - if (pos) - { - pos->ParseValue(chunk); - - if (pos->KickOut()) - { - return ++it; - } - } else - { - const std::string errorMessage("Passed in argument, but no positional arguments were ready to receive it: " + chunk); -#ifndef ARGS_NOEXCEPT - throw ParseError(errorMessage); -#else - error = Error::Parse; - errorMsg = errorMessage; - return it; -#endif - } - } - - if (!readCompletion && completion != nullptr && completion->Matched()) - { -#ifdef ARGS_NOEXCEPT - error = Error::Completion; -#endif - readCompletion = true; - ++it; - const auto argsLeft = static_cast(std::distance(it, end)); - if (completion->cword == 0 || argsLeft <= 1 || completion->cword >= argsLeft) - { -#ifndef ARGS_NOEXCEPT - throw Completion(""); -#endif - } - - std::vector curArgs(++it, end); - curArgs.resize(completion->cword); - - if (completion->syntax == "bash") - { - // bash tokenizes --flag=value as --flag=value - for (size_t idx = 0; idx < curArgs.size(); ) - { - if (idx > 0 && curArgs[idx] == "=") - { - curArgs[idx - 1] += "="; - // Avoid warnings from -Wsign-conversion - const auto signedIdx = static_cast(idx); - if (idx + 1 < curArgs.size()) - { - curArgs[idx - 1] += curArgs[idx + 1]; - curArgs.erase(curArgs.begin() + signedIdx, curArgs.begin() + signedIdx + 2); - } else - { - curArgs.erase(curArgs.begin() + signedIdx); - } - } else - { - ++idx; - } - } - - } -#ifndef ARGS_NOEXCEPT - try - { - Parse(curArgs.begin(), curArgs.end()); - throw Completion(""); - } - catch (Completion &) - { - throw; - } - catch (args::Error&) - { - throw Completion(""); - } -#else - return Parse(curArgs.begin(), curArgs.end()); -#endif - } - } - - Validate(shortprefix, longprefix); - return end; - } - - public: - HelpParams helpParams; - - ArgumentParser(const std::string &description_, const std::string &epilog_ = std::string()) - { - Description(description_); - Epilog(epilog_); - LongPrefix("--"); - ShortPrefix("-"); - LongSeparator("="); - Terminator("--"); - SetArgumentSeparations(true, true, true, true); - matched = true; - } - - void AddCompletion(CompletionFlag &completionFlag) - { - completion = &completionFlag; - Add(completionFlag); - } - - /** The program name for help generation - */ - const std::string &Prog() const - { return helpParams.programName; } - /** The program name for help generation - */ - void Prog(const std::string &prog_) - { this->helpParams.programName = prog_; } - - /** The prefix for long flags - */ - const std::string &LongPrefix() const - { return longprefix; } - /** The prefix for long flags - */ - void LongPrefix(const std::string &longprefix_) - { - this->longprefix = longprefix_; - this->helpParams.longPrefix = longprefix_; - } - - /** The prefix for short flags - */ - const std::string &ShortPrefix() const - { return shortprefix; } - /** The prefix for short flags - */ - void ShortPrefix(const std::string &shortprefix_) - { - this->shortprefix = shortprefix_; - this->helpParams.shortPrefix = shortprefix_; - } - - /** The separator for long flags - */ - const std::string &LongSeparator() const - { return longseparator; } - /** The separator for long flags - */ - void LongSeparator(const std::string &longseparator_) - { - if (longseparator_.empty()) - { - const std::string errorMessage("longseparator can not be set to empty"); -#ifdef ARGS_NOEXCEPT - error = Error::Usage; - errorMsg = errorMessage; -#else - throw UsageError(errorMessage); -#endif - } else - { - this->longseparator = longseparator_; - this->helpParams.longSeparator = allowJoinedLongValue ? longseparator_ : " "; - } - } - - /** The terminator that forcibly separates flags from positionals - */ - const std::string &Terminator() const - { return terminator; } - /** The terminator that forcibly separates flags from positionals - */ - void Terminator(const std::string &terminator_) - { this->terminator = terminator_; } - - /** Get the current argument separation parameters. - * - * See SetArgumentSeparations for details on what each one means. - */ - void GetArgumentSeparations( - bool &allowJoinedShortValue_, - bool &allowJoinedLongValue_, - bool &allowSeparateShortValue_, - bool &allowSeparateLongValue_) const - { - allowJoinedShortValue_ = this->allowJoinedShortValue; - allowJoinedLongValue_ = this->allowJoinedLongValue; - allowSeparateShortValue_ = this->allowSeparateShortValue; - allowSeparateLongValue_ = this->allowSeparateLongValue; - } - - /** Change allowed option separation. - * - * \param allowJoinedShortValue_ Allow a short flag that accepts an argument to be passed its argument immediately next to it (ie. in the same argv field) - * \param allowJoinedLongValue_ Allow a long flag that accepts an argument to be passed its argument separated by the longseparator (ie. in the same argv field) - * \param allowSeparateShortValue_ Allow a short flag that accepts an argument to be passed its argument separated by whitespace (ie. in the next argv field) - * \param allowSeparateLongValue_ Allow a long flag that accepts an argument to be passed its argument separated by whitespace (ie. in the next argv field) - */ - void SetArgumentSeparations( - const bool allowJoinedShortValue_, - const bool allowJoinedLongValue_, - const bool allowSeparateShortValue_, - const bool allowSeparateLongValue_) - { - this->allowJoinedShortValue = allowJoinedShortValue_; - this->allowJoinedLongValue = allowJoinedLongValue_; - this->allowSeparateShortValue = allowSeparateShortValue_; - this->allowSeparateLongValue = allowSeparateLongValue_; - - this->helpParams.longSeparator = allowJoinedLongValue ? longseparator : " "; - this->helpParams.shortSeparator = allowJoinedShortValue ? "" : " "; - } - - /** Pass the help menu into an ostream - */ - void Help(std::ostream &help_) const - { - auto &command = SelectedCommand(); - const auto &commandDescription = command.Description().empty() ? command.Help() : command.Description(); - const auto description_text = Wrap(commandDescription, helpParams.width - helpParams.descriptionindent); - const auto epilog_text = Wrap(command.Epilog(), helpParams.width - helpParams.descriptionindent); - - const bool hasoptions = command.HasFlag(); - const bool hasarguments = command.HasPositional(); - - std::vector prognameline; - prognameline.push_back(helpParams.usageString); - prognameline.push_back(Prog()); - auto commandProgLine = command.GetProgramLine(helpParams); - prognameline.insert(prognameline.end(), commandProgLine.begin(), commandProgLine.end()); - - const auto proglines = Wrap(prognameline.begin(), prognameline.end(), - helpParams.width - (helpParams.progindent + helpParams.progtailindent), - helpParams.width - helpParams.progindent); - auto progit = std::begin(proglines); - if (progit != std::end(proglines)) - { - help_ << std::string(helpParams.progindent, ' ') << *progit << '\n'; - ++progit; - } - for (; progit != std::end(proglines); ++progit) - { - help_ << std::string(helpParams.progtailindent, ' ') << *progit << '\n'; - } - - help_ << '\n'; - - if (!description_text.empty()) - { - for (const auto &line: description_text) - { - help_ << std::string(helpParams.descriptionindent, ' ') << line << "\n"; - } - help_ << "\n"; - } - - bool lastDescriptionIsNewline = false; - - if (!helpParams.optionsString.empty()) - { - help_ << std::string(helpParams.progindent, ' ') << helpParams.optionsString << "\n\n"; - } - - for (const auto &desc: command.GetDescription(helpParams, 0)) - { - lastDescriptionIsNewline = std::get<0>(desc).empty() && std::get<1>(desc).empty(); - const auto groupindent = std::get<2>(desc) * helpParams.eachgroupindent; - const auto flags = Wrap(std::get<0>(desc), helpParams.width - (helpParams.flagindent + helpParams.helpindent + helpParams.gutter)); - const auto info = Wrap(std::get<1>(desc), helpParams.width - (helpParams.helpindent + groupindent)); - - std::string::size_type flagssize = 0; - for (auto flagsit = std::begin(flags); flagsit != std::end(flags); ++flagsit) - { - if (flagsit != std::begin(flags)) - { - help_ << '\n'; - } - help_ << std::string(groupindent + helpParams.flagindent, ' ') << *flagsit; - flagssize = Glyphs(*flagsit); - } - - auto infoit = std::begin(info); - // groupindent is on both sides of this inequality, and therefore can be removed - if ((helpParams.flagindent + flagssize + helpParams.gutter) > helpParams.helpindent || infoit == std::end(info) || helpParams.addNewlineBeforeDescription) - { - help_ << '\n'; - } else - { - // groupindent is on both sides of the minus sign, and therefore doesn't actually need to be in here - help_ << std::string(helpParams.helpindent - (helpParams.flagindent + flagssize), ' ') << *infoit << '\n'; - ++infoit; - } - for (; infoit != std::end(info); ++infoit) - { - help_ << std::string(groupindent + helpParams.helpindent, ' ') << *infoit << '\n'; - } - } - if (hasoptions && hasarguments && helpParams.showTerminator) - { - lastDescriptionIsNewline = false; - for (const auto &item: Wrap(std::string("\"") + terminator + "\" can be used to terminate flag options and force all following arguments to be treated as positional options", helpParams.width - helpParams.flagindent)) - { - help_ << std::string(helpParams.flagindent, ' ') << item << '\n'; - } - } - - if (!lastDescriptionIsNewline) - { - help_ << "\n"; - } - - for (const auto &line: epilog_text) - { - help_ << std::string(helpParams.descriptionindent, ' ') << line << "\n"; - } - } - - /** Generate a help menu as a string. - * - * \return the help text as a single string - */ - std::string Help() const - { - std::ostringstream help_; - Help(help_); - return help_.str(); - } - - virtual void Reset() noexcept override - { - Command::Reset(); - matched = true; - readCompletion = false; - } - - /** Parse all arguments. - * - * \param begin an iterator to the beginning of the argument list - * \param end an iterator to the past-the-end element of the argument list - * \return the iterator after the last parsed value. Only useful for kick-out - */ - template - It ParseArgs(It begin, It end) - { - // Reset all Matched statuses and errors - Reset(); -#ifdef ARGS_NOEXCEPT - error = GetError(); - if (error != Error::None) - { - return end; - } -#endif - return Parse(begin, end); - } - - /** Parse all arguments. - * - * \param args an iterable of the arguments - * \return the iterator after the last parsed value. Only useful for kick-out - */ - template - auto ParseArgs(const T &args) -> decltype(std::begin(args)) - { - return ParseArgs(std::begin(args), std::end(args)); - } - - /** Convenience function to parse the CLI from argc and argv - * - * Just assigns the program name and vectorizes arguments for passing into ParseArgs() - * - * \return whether or not all arguments were parsed. This works for detecting kick-out, but is generally useless as it can't do anything with it. - */ - bool ParseCLI(const int argc, const char * const * argv) - { - if (Prog().empty()) - { - Prog(argv[0]); - } - const std::vector args(argv + 1, argv + argc); - return ParseArgs(args) == std::end(args); - } - - template - bool ParseCLI(const T &args) - { - return ParseArgs(args) == std::end(args); - } - }; - - inline Command::RaiiSubparser::RaiiSubparser(ArgumentParser &parser_, std::vector args_) - : command(parser_.SelectedCommand()), parser(std::move(args_), parser_, command, parser_.helpParams), oldSubparser(command.subparser) - { - command.subparser = &parser; - } - - inline Command::RaiiSubparser::RaiiSubparser(const Command &command_, const HelpParams ¶ms_): command(command_), parser(command, params_), oldSubparser(command.subparser) - { - command.subparser = &parser; - } - - inline void Subparser::Parse() - { - isParsed = true; - Reset(); - command.subparserDescription = GetDescription(helpParams, 0); - command.subparserHasFlag = HasFlag(); - command.subparserHasPositional = HasPositional(); - command.subparserHasCommand = HasCommand(); - command.subparserProgramLine = GetProgramLine(helpParams); - if (parser == nullptr) - { -#ifndef ARGS_NOEXCEPT - throw args::SubparserError(); -#else - error = Error::Subparser; - return; -#endif - } - - auto it = parser->Parse(args.begin(), args.end()); - command.Validate(parser->ShortPrefix(), parser->LongPrefix()); - kicked.assign(it, args.end()); - -#ifdef ARGS_NOEXCEPT - command.subparserError = GetError(); -#endif - } - - inline std::ostream &operator<<(std::ostream &os, const ArgumentParser &parser) - { - parser.Help(os); - return os; - } - - /** Boolean argument matcher - */ - class Flag : public FlagBase - { - public: - Flag(Group &group_, const std::string &name_, const std::string &help_, Matcher &&matcher_, Options options_): FlagBase(name_, help_, std::move(matcher_), options_) - { - group_.Add(*this); - } - - Flag(Group &group_, const std::string &name_, const std::string &help_, Matcher &&matcher_, const bool extraError_ = false): Flag(group_, name_, help_, std::move(matcher_), extraError_ ? Options::Single : Options::None) - { - } - - virtual ~Flag() {} - - /** Get whether this was matched - */ - bool Get() const - { - return Matched(); - } - - virtual Nargs NumberOfArguments() const noexcept override - { - return 0; - } - - virtual void ParseValue(const std::vector&) override - { - } - }; - - /** Help flag class - * - * Works like a regular flag, but throws an instance of Help when it is matched - */ - class HelpFlag : public Flag - { - public: - HelpFlag(Group &group_, const std::string &name_, const std::string &help_, Matcher &&matcher_, Options options_ = {}): Flag(group_, name_, help_, std::move(matcher_), options_) {} - - virtual ~HelpFlag() {} - - virtual void ParseValue(const std::vector &) - { -#ifdef ARGS_NOEXCEPT - error = Error::Help; - errorMsg = Name(); -#else - throw Help(Name()); -#endif - } - - /** Get whether this was matched - */ - bool Get() const noexcept - { - return Matched(); - } - }; - - /** A flag class that simply counts the number of times it's matched - */ - class CounterFlag : public Flag - { - private: - const int startcount; - int count; - - public: - CounterFlag(Group &group_, const std::string &name_, const std::string &help_, Matcher &&matcher_, const int startcount_ = 0, Options options_ = {}): - Flag(group_, name_, help_, std::move(matcher_), options_), startcount(startcount_), count(startcount_) {} - - virtual ~CounterFlag() {} - - virtual FlagBase *Match(const EitherFlag &arg) override - { - auto me = FlagBase::Match(arg); - if (me) - { - ++count; - } - return me; - } - - /** Get the count - */ - int &Get() noexcept - { - return count; - } - - virtual void Reset() noexcept override - { - FlagBase::Reset(); - count = startcount; - } - }; - - /** A flag class that calls a function when it's matched - */ - class ActionFlag : public FlagBase - { - private: - std::function &)> action; - Nargs nargs; - - public: - ActionFlag(Group &group_, const std::string &name_, const std::string &help_, Matcher &&matcher_, Nargs nargs_, std::function &)> action_, Options options_ = {}): - FlagBase(name_, help_, std::move(matcher_), options_), action(std::move(action_)), nargs(nargs_) - { - group_.Add(*this); - } - - ActionFlag(Group &group_, const std::string &name_, const std::string &help_, Matcher &&matcher_, std::function action_, Options options_ = {}): - FlagBase(name_, help_, std::move(matcher_), options_), nargs(1) - { - group_.Add(*this); - action = [action_](const std::vector &a) { return action_(a.at(0)); }; - } - - ActionFlag(Group &group_, const std::string &name_, const std::string &help_, Matcher &&matcher_, std::function action_, Options options_ = {}): - FlagBase(name_, help_, std::move(matcher_), options_), nargs(0) - { - group_.Add(*this); - action = [action_](const std::vector &) { return action_(); }; - } - - virtual Nargs NumberOfArguments() const noexcept override - { return nargs; } - - virtual void ParseValue(const std::vector &value) override - { action(value); } - }; - - /** A default Reader class for argument classes - * - * If destination type is assignable to std::string it uses an assignment to std::string. - * Otherwise ValueReader simply uses a std::istringstream to read into the destination type, and - * raises a ParseError if there are any characters left. - */ - struct ValueReader - { - template - typename std::enable_if::value, bool>::type - operator ()(const std::string &name, const std::string &value, T &destination) - { - std::istringstream ss(value); - bool failed = !(ss >> destination); - - if (!failed) - { - ss >> std::ws; - } - - if (ss.rdbuf()->in_avail() > 0 || failed) - { -#ifdef ARGS_NOEXCEPT - (void)name; - return false; -#else - std::ostringstream problem; - problem << "Argument '" << name << "' received invalid value type '" << value << "'"; - throw ParseError(problem.str()); -#endif - } - return true; - } - - template - typename std::enable_if::value, bool>::type - operator()(const std::string &, const std::string &value, T &destination) - { - destination = value; - return true; - } - }; - - /** An argument-accepting flag class - * - * \tparam T the type to extract the argument as - * \tparam Reader The functor type used to read the argument, taking the name, value, and destination reference with operator(), and returning a bool (if ARGS_NOEXCEPT is defined) - */ - template < - typename T, - typename Reader = ValueReader> - class ValueFlag : public ValueFlagBase - { - protected: - T value; - T defaultValue; - - virtual std::string GetDefaultString(const HelpParams&) const override - { - return detail::ToString(defaultValue); - } - - private: - Reader reader; - - public: - - ValueFlag(Group &group_, const std::string &name_, const std::string &help_, Matcher &&matcher_, const T &defaultValue_, Options options_): ValueFlagBase(name_, help_, std::move(matcher_), options_), value(defaultValue_), defaultValue(defaultValue_) - { - group_.Add(*this); - } - - ValueFlag(Group &group_, const std::string &name_, const std::string &help_, Matcher &&matcher_, const T &defaultValue_ = T(), const bool extraError_ = false): ValueFlag(group_, name_, help_, std::move(matcher_), defaultValue_, extraError_ ? Options::Single : Options::None) - { - } - - ValueFlag(Group &group_, const std::string &name_, const std::string &help_, Matcher &&matcher_, Options options_): ValueFlag(group_, name_, help_, std::move(matcher_), T(), options_) - { - } - - virtual ~ValueFlag() {} - - virtual void ParseValue(const std::vector &values_) override - { - const std::string &value_ = values_.at(0); - -#ifdef ARGS_NOEXCEPT - if (!reader(name, value_, this->value)) - { - error = Error::Parse; - } -#else - reader(name, value_, this->value); -#endif - } - - virtual void Reset() noexcept override - { - ValueFlagBase::Reset(); - value = defaultValue; - } - - /** Get the value - */ - T &Get() noexcept - { - return value; - } - - /** Get the default value - */ - const T &GetDefault() noexcept - { - return defaultValue; - } - }; - - /** An optional argument-accepting flag class - * - * \tparam T the type to extract the argument as - * \tparam Reader The functor type used to read the argument, taking the name, value, and destination reference with operator(), and returning a bool (if ARGS_NOEXCEPT is defined) - */ - template < - typename T, - typename Reader = ValueReader> - class ImplicitValueFlag : public ValueFlag - { - protected: - T implicitValue; - - public: - - ImplicitValueFlag(Group &group_, const std::string &name_, const std::string &help_, Matcher &&matcher_, const T &implicitValue_, const T &defaultValue_ = T(), Options options_ = {}) - : ValueFlag(group_, name_, help_, std::move(matcher_), defaultValue_, options_), implicitValue(implicitValue_) - { - } - - ImplicitValueFlag(Group &group_, const std::string &name_, const std::string &help_, Matcher &&matcher_, const T &defaultValue_ = T(), Options options_ = {}) - : ValueFlag(group_, name_, help_, std::move(matcher_), defaultValue_, options_), implicitValue(defaultValue_) - { - } - - ImplicitValueFlag(Group &group_, const std::string &name_, const std::string &help_, Matcher &&matcher_, Options options_) - : ValueFlag(group_, name_, help_, std::move(matcher_), {}, options_), implicitValue() - { - } - - virtual ~ImplicitValueFlag() {} - - virtual Nargs NumberOfArguments() const noexcept override - { - return {0, 1}; - } - - virtual void ParseValue(const std::vector &value_) override - { - if (value_.empty()) - { - this->value = implicitValue; - } else - { - ValueFlag::ParseValue(value_); - } - } - }; - - /** A variadic arguments accepting flag class - * - * \tparam T the type to extract the argument as - * \tparam List the list type that houses the values - * \tparam Reader The functor type used to read the argument, taking the name, value, and destination reference with operator(), and returning a bool (if ARGS_NOEXCEPT is defined) - */ - template < - typename T, - template class List = std::vector, - typename Reader = ValueReader> - class NargsValueFlag : public FlagBase - { - protected: - - List values; - const List defaultValues; - Nargs nargs; - Reader reader; - - public: - - typedef List Container; - typedef T value_type; - typedef typename Container::allocator_type allocator_type; - typedef typename Container::pointer pointer; - typedef typename Container::const_pointer const_pointer; - typedef T& reference; - typedef const T& const_reference; - typedef typename Container::size_type size_type; - typedef typename Container::difference_type difference_type; - typedef typename Container::iterator iterator; - typedef typename Container::const_iterator const_iterator; - typedef std::reverse_iterator reverse_iterator; - typedef std::reverse_iterator const_reverse_iterator; - - NargsValueFlag(Group &group_, const std::string &name_, const std::string &help_, Matcher &&matcher_, Nargs nargs_, const List &defaultValues_ = {}, Options options_ = {}) - : FlagBase(name_, help_, std::move(matcher_), options_), values(defaultValues_), defaultValues(defaultValues_),nargs(nargs_) - { - group_.Add(*this); - } - - virtual ~NargsValueFlag() {} - - virtual Nargs NumberOfArguments() const noexcept override - { - return nargs; - } - - virtual void ParseValue(const std::vector &values_) override - { - values.clear(); - - for (const std::string &value : values_) - { - T v; -#ifdef ARGS_NOEXCEPT - if (!reader(name, value, v)) - { - error = Error::Parse; - } -#else - reader(name, value, v); -#endif - values.insert(std::end(values), v); - } - } - - List &Get() noexcept - { - return values; - } - - iterator begin() noexcept - { - return values.begin(); - } - - const_iterator begin() const noexcept - { - return values.begin(); - } - - const_iterator cbegin() const noexcept - { - return values.cbegin(); - } - - iterator end() noexcept - { - return values.end(); - } - - const_iterator end() const noexcept - { - return values.end(); - } - - const_iterator cend() const noexcept - { - return values.cend(); - } - - virtual void Reset() noexcept override - { - FlagBase::Reset(); - values = defaultValues; - } - - virtual FlagBase *Match(const EitherFlag &arg) override - { - const bool wasMatched = Matched(); - auto me = FlagBase::Match(arg); - if (me && !wasMatched) - { - values.clear(); - } - return me; - } - }; - - /** An argument-accepting flag class that pushes the found values into a list - * - * \tparam T the type to extract the argument as - * \tparam List the list type that houses the values - * \tparam Reader The functor type used to read the argument, taking the name, value, and destination reference with operator(), and returning a bool (if ARGS_NOEXCEPT is defined) - */ - template < - typename T, - template class List = std::vector, - typename Reader = ValueReader> - class ValueFlagList : public ValueFlagBase - { - private: - using Container = List; - Container values; - const Container defaultValues; - Reader reader; - - public: - - typedef T value_type; - typedef typename Container::allocator_type allocator_type; - typedef typename Container::pointer pointer; - typedef typename Container::const_pointer const_pointer; - typedef T& reference; - typedef const T& const_reference; - typedef typename Container::size_type size_type; - typedef typename Container::difference_type difference_type; - typedef typename Container::iterator iterator; - typedef typename Container::const_iterator const_iterator; - typedef std::reverse_iterator reverse_iterator; - typedef std::reverse_iterator const_reverse_iterator; - - ValueFlagList(Group &group_, const std::string &name_, const std::string &help_, Matcher &&matcher_, const Container &defaultValues_ = Container(), Options options_ = {}): - ValueFlagBase(name_, help_, std::move(matcher_), options_), values(defaultValues_), defaultValues(defaultValues_) - { - group_.Add(*this); - } - - virtual ~ValueFlagList() {} - - virtual void ParseValue(const std::vector &values_) override - { - const std::string &value_ = values_.at(0); - - T v; -#ifdef ARGS_NOEXCEPT - if (!reader(name, value_, v)) - { - error = Error::Parse; - } -#else - reader(name, value_, v); -#endif - values.insert(std::end(values), v); - } - - /** Get the values - */ - Container &Get() noexcept - { - return values; - } - - virtual std::string Name() const override - { - return name + std::string("..."); - } - - virtual void Reset() noexcept override - { - ValueFlagBase::Reset(); - values = defaultValues; - } - - virtual FlagBase *Match(const EitherFlag &arg) override - { - const bool wasMatched = Matched(); - auto me = FlagBase::Match(arg); - if (me && !wasMatched) - { - values.clear(); - } - return me; - } - - iterator begin() noexcept - { - return values.begin(); - } - - const_iterator begin() const noexcept - { - return values.begin(); - } - - const_iterator cbegin() const noexcept - { - return values.cbegin(); - } - - iterator end() noexcept - { - return values.end(); - } - - const_iterator end() const noexcept - { - return values.end(); - } - - const_iterator cend() const noexcept - { - return values.cend(); - } - }; - - /** A mapping value flag class - * - * \tparam K the type to extract the argument as - * \tparam T the type to store the result as - * \tparam Reader The functor type used to read the argument, taking the name, value, and destination reference with operator(), and returning a bool (if ARGS_NOEXCEPT is defined) - * \tparam Map The Map type. Should operate like std::map or std::unordered_map - */ - template < - typename K, - typename T, - typename Reader = ValueReader, - template class Map = std::unordered_map> - class MapFlag : public ValueFlagBase - { - private: - const Map map; - T value; - const T defaultValue; - Reader reader; - - protected: - virtual std::vector GetChoicesStrings(const HelpParams &) const override - { - return detail::MapKeysToStrings(map); - } - - public: - - MapFlag(Group &group_, const std::string &name_, const std::string &help_, Matcher &&matcher_, const Map &map_, const T &defaultValue_, Options options_): ValueFlagBase(name_, help_, std::move(matcher_), options_), map(map_), value(defaultValue_), defaultValue(defaultValue_) - { - group_.Add(*this); - } - - MapFlag(Group &group_, const std::string &name_, const std::string &help_, Matcher &&matcher_, const Map &map_, const T &defaultValue_ = T(), const bool extraError_ = false): MapFlag(group_, name_, help_, std::move(matcher_), map_, defaultValue_, extraError_ ? Options::Single : Options::None) - { - } - - MapFlag(Group &group_, const std::string &name_, const std::string &help_, Matcher &&matcher_, const Map &map_, Options options_): MapFlag(group_, name_, help_, std::move(matcher_), map_, T(), options_) - { - } - - virtual ~MapFlag() {} - - virtual void ParseValue(const std::vector &values_) override - { - const std::string &value_ = values_.at(0); - - K key; -#ifdef ARGS_NOEXCEPT - if (!reader(name, value_, key)) - { - error = Error::Parse; - } -#else - reader(name, value_, key); -#endif - auto it = map.find(key); - if (it == std::end(map)) - { - std::ostringstream problem; - problem << "Could not find key '" << key << "' in map for arg '" << name << "'"; -#ifdef ARGS_NOEXCEPT - error = Error::Map; - errorMsg = problem.str(); -#else - throw MapError(problem.str()); -#endif - } else - { - this->value = it->second; - } - } - - /** Get the value - */ - T &Get() noexcept - { - return value; - } - - virtual void Reset() noexcept override - { - ValueFlagBase::Reset(); - value = defaultValue; - } - }; - - /** A mapping value flag list class - * - * \tparam K the type to extract the argument as - * \tparam T the type to store the result as - * \tparam List the list type that houses the values - * \tparam Reader The functor type used to read the argument, taking the name, value, and destination reference with operator(), and returning a bool (if ARGS_NOEXCEPT is defined) - * \tparam Map The Map type. Should operate like std::map or std::unordered_map - */ - template < - typename K, - typename T, - template class List = std::vector, - typename Reader = ValueReader, - template class Map = std::unordered_map> - class MapFlagList : public ValueFlagBase - { - private: - using Container = List; - const Map map; - Container values; - const Container defaultValues; - Reader reader; - - protected: - virtual std::vector GetChoicesStrings(const HelpParams &) const override - { - return detail::MapKeysToStrings(map); - } - - public: - typedef T value_type; - typedef typename Container::allocator_type allocator_type; - typedef typename Container::pointer pointer; - typedef typename Container::const_pointer const_pointer; - typedef T& reference; - typedef const T& const_reference; - typedef typename Container::size_type size_type; - typedef typename Container::difference_type difference_type; - typedef typename Container::iterator iterator; - typedef typename Container::const_iterator const_iterator; - typedef std::reverse_iterator reverse_iterator; - typedef std::reverse_iterator const_reverse_iterator; - - MapFlagList(Group &group_, const std::string &name_, const std::string &help_, Matcher &&matcher_, const Map &map_, const Container &defaultValues_ = Container()): ValueFlagBase(name_, help_, std::move(matcher_)), map(map_), values(defaultValues_), defaultValues(defaultValues_) - { - group_.Add(*this); - } - - virtual ~MapFlagList() {} - - virtual void ParseValue(const std::vector &values_) override - { - const std::string &value = values_.at(0); - - K key; -#ifdef ARGS_NOEXCEPT - if (!reader(name, value, key)) - { - error = Error::Parse; - } -#else - reader(name, value, key); -#endif - auto it = map.find(key); - if (it == std::end(map)) - { - std::ostringstream problem; - problem << "Could not find key '" << key << "' in map for arg '" << name << "'"; -#ifdef ARGS_NOEXCEPT - error = Error::Map; - errorMsg = problem.str(); -#else - throw MapError(problem.str()); -#endif - } else - { - this->values.emplace_back(it->second); - } - } - - /** Get the value - */ - Container &Get() noexcept - { - return values; - } - - virtual std::string Name() const override - { - return name + std::string("..."); - } - - virtual void Reset() noexcept override - { - ValueFlagBase::Reset(); - values = defaultValues; - } - - virtual FlagBase *Match(const EitherFlag &arg) override - { - const bool wasMatched = Matched(); - auto me = FlagBase::Match(arg); - if (me && !wasMatched) - { - values.clear(); - } - return me; - } - - iterator begin() noexcept - { - return values.begin(); - } - - const_iterator begin() const noexcept - { - return values.begin(); - } - - const_iterator cbegin() const noexcept - { - return values.cbegin(); - } - - iterator end() noexcept - { - return values.end(); - } - - const_iterator end() const noexcept - { - return values.end(); - } - - const_iterator cend() const noexcept - { - return values.cend(); - } - }; - - /** A positional argument class - * - * \tparam T the type to extract the argument as - * \tparam Reader The functor type used to read the argument, taking the name, value, and destination reference with operator(), and returning a bool (if ARGS_NOEXCEPT is defined) - */ - template < - typename T, - typename Reader = ValueReader> - class Positional : public PositionalBase - { - private: - T value; - const T defaultValue; - Reader reader; - public: - Positional(Group &group_, const std::string &name_, const std::string &help_, const T &defaultValue_ = T(), Options options_ = {}): PositionalBase(name_, help_, options_), value(defaultValue_), defaultValue(defaultValue_) - { - group_.Add(*this); - } - - Positional(Group &group_, const std::string &name_, const std::string &help_, Options options_): Positional(group_, name_, help_, T(), options_) - { - } - - virtual ~Positional() {} - - virtual void ParseValue(const std::string &value_) override - { -#ifdef ARGS_NOEXCEPT - if (!reader(name, value_, this->value)) - { - error = Error::Parse; - } -#else - reader(name, value_, this->value); -#endif - ready = false; - matched = true; - } - - /** Get the value - */ - T &Get() noexcept - { - return value; - } - - virtual void Reset() noexcept override - { - PositionalBase::Reset(); - value = defaultValue; - } - }; - - /** A positional argument class that pushes the found values into a list - * - * \tparam T the type to extract the argument as - * \tparam List the list type that houses the values - * \tparam Reader The functor type used to read the argument, taking the name, value, and destination reference with operator(), and returning a bool (if ARGS_NOEXCEPT is defined) - */ - template < - typename T, - template class List = std::vector, - typename Reader = ValueReader> - class PositionalList : public PositionalBase - { - private: - using Container = List; - Container values; - const Container defaultValues; - Reader reader; - - public: - typedef T value_type; - typedef typename Container::allocator_type allocator_type; - typedef typename Container::pointer pointer; - typedef typename Container::const_pointer const_pointer; - typedef T& reference; - typedef const T& const_reference; - typedef typename Container::size_type size_type; - typedef typename Container::difference_type difference_type; - typedef typename Container::iterator iterator; - typedef typename Container::const_iterator const_iterator; - typedef std::reverse_iterator reverse_iterator; - typedef std::reverse_iterator const_reverse_iterator; - - PositionalList(Group &group_, const std::string &name_, const std::string &help_, const Container &defaultValues_ = Container(), Options options_ = {}): PositionalBase(name_, help_, options_), values(defaultValues_), defaultValues(defaultValues_) - { - group_.Add(*this); - } - - PositionalList(Group &group_, const std::string &name_, const std::string &help_, Options options_): PositionalList(group_, name_, help_, {}, options_) - { - } - - virtual ~PositionalList() {} - - virtual void ParseValue(const std::string &value_) override - { - T v; -#ifdef ARGS_NOEXCEPT - if (!reader(name, value_, v)) - { - error = Error::Parse; - } -#else - reader(name, value_, v); -#endif - values.insert(std::end(values), v); - matched = true; - } - - virtual std::string Name() const override - { - return name + std::string("..."); - } - - /** Get the values - */ - Container &Get() noexcept - { - return values; - } - - virtual void Reset() noexcept override - { - PositionalBase::Reset(); - values = defaultValues; - } - - virtual PositionalBase *GetNextPositional() override - { - const bool wasMatched = Matched(); - auto me = PositionalBase::GetNextPositional(); - if (me && !wasMatched) - { - values.clear(); - } - return me; - } - - iterator begin() noexcept - { - return values.begin(); - } - - const_iterator begin() const noexcept - { - return values.begin(); - } - - const_iterator cbegin() const noexcept - { - return values.cbegin(); - } - - iterator end() noexcept - { - return values.end(); - } - - const_iterator end() const noexcept - { - return values.end(); - } - - const_iterator cend() const noexcept - { - return values.cend(); - } - }; - - /** A positional argument mapping class - * - * \tparam K the type to extract the argument as - * \tparam T the type to store the result as - * \tparam Reader The functor type used to read the argument, taking the name, value, and destination reference with operator(), and returning a bool (if ARGS_NOEXCEPT is defined) - * \tparam Map The Map type. Should operate like std::map or std::unordered_map - */ - template < - typename K, - typename T, - typename Reader = ValueReader, - template class Map = std::unordered_map> - class MapPositional : public PositionalBase - { - private: - const Map map; - T value; - const T defaultValue; - Reader reader; - - protected: - virtual std::vector GetChoicesStrings(const HelpParams &) const override - { - return detail::MapKeysToStrings(map); - } - - public: - - MapPositional(Group &group_, const std::string &name_, const std::string &help_, const Map &map_, const T &defaultValue_ = T(), Options options_ = {}): - PositionalBase(name_, help_, options_), map(map_), value(defaultValue_), defaultValue(defaultValue_) - { - group_.Add(*this); - } - - virtual ~MapPositional() {} - - virtual void ParseValue(const std::string &value_) override - { - K key; -#ifdef ARGS_NOEXCEPT - if (!reader(name, value_, key)) - { - error = Error::Parse; - } -#else - reader(name, value_, key); -#endif - auto it = map.find(key); - if (it == std::end(map)) - { - std::ostringstream problem; - problem << "Could not find key '" << key << "' in map for arg '" << name << "'"; -#ifdef ARGS_NOEXCEPT - error = Error::Map; - errorMsg = problem.str(); -#else - throw MapError(problem.str()); -#endif - } else - { - this->value = it->second; - ready = false; - matched = true; - } - } - - /** Get the value - */ - T &Get() noexcept - { - return value; - } - - virtual void Reset() noexcept override - { - PositionalBase::Reset(); - value = defaultValue; - } - }; - - /** A positional argument mapping list class - * - * \tparam K the type to extract the argument as - * \tparam T the type to store the result as - * \tparam List the list type that houses the values - * \tparam Reader The functor type used to read the argument, taking the name, value, and destination reference with operator(), and returning a bool (if ARGS_NOEXCEPT is defined) - * \tparam Map The Map type. Should operate like std::map or std::unordered_map - */ - template < - typename K, - typename T, - template class List = std::vector, - typename Reader = ValueReader, - template class Map = std::unordered_map> - class MapPositionalList : public PositionalBase - { - private: - using Container = List; - - const Map map; - Container values; - const Container defaultValues; - Reader reader; - - protected: - virtual std::vector GetChoicesStrings(const HelpParams &) const override - { - return detail::MapKeysToStrings(map); - } - - public: - typedef T value_type; - typedef typename Container::allocator_type allocator_type; - typedef typename Container::pointer pointer; - typedef typename Container::const_pointer const_pointer; - typedef T& reference; - typedef const T& const_reference; - typedef typename Container::size_type size_type; - typedef typename Container::difference_type difference_type; - typedef typename Container::iterator iterator; - typedef typename Container::const_iterator const_iterator; - typedef std::reverse_iterator reverse_iterator; - typedef std::reverse_iterator const_reverse_iterator; - - MapPositionalList(Group &group_, const std::string &name_, const std::string &help_, const Map &map_, const Container &defaultValues_ = Container(), Options options_ = {}): - PositionalBase(name_, help_, options_), map(map_), values(defaultValues_), defaultValues(defaultValues_) - { - group_.Add(*this); - } - - virtual ~MapPositionalList() {} - - virtual void ParseValue(const std::string &value_) override - { - K key; -#ifdef ARGS_NOEXCEPT - if (!reader(name, value_, key)) - { - error = Error::Parse; - } -#else - reader(name, value_, key); -#endif - auto it = map.find(key); - if (it == std::end(map)) - { - std::ostringstream problem; - problem << "Could not find key '" << key << "' in map for arg '" << name << "'"; -#ifdef ARGS_NOEXCEPT - error = Error::Map; - errorMsg = problem.str(); -#else - throw MapError(problem.str()); -#endif - } else - { - this->values.emplace_back(it->second); - matched = true; - } - } - - /** Get the value - */ - Container &Get() noexcept - { - return values; - } - - virtual std::string Name() const override - { - return name + std::string("..."); - } - - virtual void Reset() noexcept override - { - PositionalBase::Reset(); - values = defaultValues; - } - - virtual PositionalBase *GetNextPositional() override - { - const bool wasMatched = Matched(); - auto me = PositionalBase::GetNextPositional(); - if (me && !wasMatched) - { - values.clear(); - } - return me; - } - - iterator begin() noexcept - { - return values.begin(); - } - - const_iterator begin() const noexcept - { - return values.begin(); - } - - const_iterator cbegin() const noexcept - { - return values.cbegin(); - } - - iterator end() noexcept - { - return values.end(); - } - - const_iterator end() const noexcept - { - return values.end(); - } - - const_iterator cend() const noexcept - { - return values.cend(); - } - }; -} - -#endif diff --git a/src/dds/build/builder.cpp b/src/dds/build/builder.cpp index 6d80c9fa..39855019 100644 --- a/src/dds/build/builder.cpp +++ b/src/dds/build/builder.cpp @@ -10,10 +10,14 @@ #include #include +#include +#include + #include #include using namespace dds; +using namespace fansi::literals; namespace { @@ -23,12 +27,16 @@ struct state { }; void log_failure(const test_failure& fail) { - dds_log(error, "Test '{}' failed! [exited {}]", fail.executable_path.string(), fail.retc); + dds_log(error, + "Test .br.yellow[{}] .br.red[{}] [Exited {}]"_styled, + fail.executable_path.string(), + fail.timed_out ? "TIMED OUT" : "FAILED", + fail.retc); if (fail.signal) { dds_log(error, "Test execution received signal {}", fail.signal); } if (trim_view(fail.output).empty()) { - dds_log(error, "(Test executable produced no output"); + dds_log(error, "(Test executable produced no output)"); } else { dds_log(error, "Test output:\n{}[dds - test output end]", fail.output); } @@ -43,8 +51,8 @@ prepare_catch2_driver(test_lib test_driver, const build_params& params, build_en if (!fs::exists(catch_hpp)) { fs::create_directories(catch_hpp.parent_path()); auto hpp_strm = open(catch_hpp, std::ios::out | std::ios::binary); - hpp_strm.write(detail::catch2_embedded_single_header_str, - std::strlen(detail::catch2_embedded_single_header_str)); + auto c2_str = detail::catch2_embedded_single_header_str(); + hpp_strm.write(c2_str.data(), c2_str.size()); hpp_strm.close(); } ret_lib.include_paths.push_back(test_include_root); @@ -125,7 +133,7 @@ library_plan prepare_library(state& st, } package_plan prepare_one(state& st, const sdist_target& sd) { - package_plan pkg{sd.sd.manifest.pkg_id.name, sd.sd.manifest.namespace_}; + package_plan pkg{sd.sd.manifest.id.name, sd.sd.manifest.namespace_}; auto libs = collect_libraries(sd.sd.path); for (const auto& lib : libs) { pkg.add_library(prepare_library(st, sd, lib, sd.sd.manifest)); @@ -195,7 +203,7 @@ void write_lmp(build_env_ref env, const package_plan& pkg, path_ref lmp_path) { } void write_lmi(build_env_ref env, const build_plan& plan, path_ref base_dir, path_ref lmi_path) { - fs::create_directories(lmi_path.parent_path()); + fs::create_directories(fs::absolute(lmi_path).parent_path()); auto out = open(lmi_path, std::ios::binary | std::ios::out); out << "Type: Index\n"; for (const auto& pkg : plan.packages()) { @@ -205,6 +213,95 @@ void write_lmi(build_env_ref env, const build_plan& plan, path_ref base_dir, pat } } +void write_lib_cmake(build_env_ref env, + std::ostream& out, + const package_plan& pkg, + const library_plan& lib) { + fmt::print(out, "# Library {}/{}\n", pkg.namespace_(), lib.name()); + auto cmake_name = fmt::format("{}::{}", pkg.namespace_(), lib.name()); + auto cm_kind = lib.archive_plan().has_value() ? "STATIC" : "INTERFACE"; + fmt::print( + out, + "if(TARGET {0})\n" + " get_target_property(dds_imported {0} dds_IMPORTED)\n" + " if(NOT dds_imported)\n" + " message(WARNING [[A target \"{0}\" is already defined, and not by a dds import]])\n" + " endif()\n" + "else()\n", + cmake_name); + fmt::print(out, + " add_library({0} {1} IMPORTED GLOBAL)\n" + " set_property(TARGET {0} PROPERTY dds_IMPORTED TRUE)\n" + " set_property(TARGET {0} PROPERTY INTERFACE_INCLUDE_DIRECTORIES [[{2}]])\n", + cmake_name, + cm_kind, + lib.library_().public_include_dir().generic_string()); + for (auto&& use : lib.uses()) { + fmt::print(out, + " set_property(TARGET {} APPEND PROPERTY INTERFACE_LINK_LIBRARIES {}::{})\n", + cmake_name, + use.namespace_, + use.name); + } + for (auto&& link : lib.links()) { + fmt::print(out, + " set_property(TARGET {} APPEND PROPERTY\n" + " INTERFACE_LINK_LIBRARIES $)\n", + cmake_name, + link.namespace_, + link.name); + } + if (auto& arc = lib.archive_plan()) { + fmt::print(out, + " set_property(TARGET {} PROPERTY IMPORTED_LOCATION [[{}]])\n", + cmake_name, + (env.output_root / arc->calc_archive_file_path(env.toolchain)).generic_string()); + } + fmt::print(out, "endif()\n"); +} + +void write_cmake_pkg(build_env_ref env, std::ostream& out, const package_plan& pkg) { + fmt::print(out, "## Imports for {}\n", pkg.name()); + for (auto& lib : pkg.libraries()) { + write_lib_cmake(env, out, pkg, lib); + } + fmt::print(out, "\n"); +} + +void write_cmake(build_env_ref env, const build_plan& plan, path_ref cmake_out) { + fs::create_directories(fs::absolute(cmake_out).parent_path()); + auto out = open(cmake_out, std::ios::binary | std::ios::out); + out << "## This CMake file was generated by `dds build-deps`. DO NOT EDIT!\n\n"; + for (const auto& pkg : plan.packages()) { + write_cmake_pkg(env, out, pkg); + } +} + +/** + * @brief Calculate a hash of the directory layout of the given directory. + * + * Because a tweaks-dir is specifically designed to have files added/removed within it, and + * its contents are inspected by `__has_include`, we need to have a way to invalidate any caches + * when the content of that directory changes. We don't care to hash the contents of the files, + * since those will already break any caches. + */ +std::string hash_tweaks_dir(const fs::path& tweaks_dir) { + if (!fs::is_directory(tweaks_dir)) { + return "0"; // No tweaks directory, no cache to bust + } + std::vector children{fs::recursive_directory_iterator{tweaks_dir}, + fs::recursive_directory_iterator{}}; + std::sort(children.begin(), children.end()); + // A really simple inline djb2 hash + std::uint32_t hash = 5381; + for (auto& p : children) { + for (std::uint32_t c : fs::weakly_canonical(p).string()) { + hash = ((hash << 5) + hash) + c; + } + } + return std::to_string(hash); +} + template void with_build_plan(const build_params& params, const std::vector& sdists, @@ -220,11 +317,20 @@ void with_build_plan(const build_params& params, params.out_root, db, toolchain_knobs{ - .is_tty = stdout_is_a_tty(), + .is_tty = stdout_is_a_tty(), + .tweaks_dir = params.tweaks_dir, }, ureqs, }; + if (env.knobs.tweaks_dir) { + env.knobs.cache_buster = hash_tweaks_dir(*env.knobs.tweaks_dir); + dds_log(trace, + "Build cache-buster value for tweaks-dir [{}] content is '{}'", + *env.knobs.tweaks_dir, + *env.knobs.cache_buster); + } + if (st.generate_catch2_main) { auto catch_lib = prepare_test_driver(params, test_lib::catch_main, env); ureqs.add(".dds", "Catch-Main") = catch_lib; @@ -279,5 +385,9 @@ void builder::build(const build_params& params) const { if (params.emit_lmi) { write_lmi(env, plan, params.out_root, *params.emit_lmi); } + + if (params.emit_cmake) { + write_cmake(env, plan, *params.emit_cmake); + } }); } diff --git a/src/dds/build/builder.hpp b/src/dds/build/builder.hpp index 76013f48..e8483a69 100644 --- a/src/dds/build/builder.hpp +++ b/src/dds/build/builder.hpp @@ -1,7 +1,7 @@ #pragma once #include -#include +#include #include #include diff --git a/src/dds/build/file_deps.cpp b/src/dds/build/file_deps.cpp index 1e6ea7d2..37548ea5 100644 --- a/src/dds/build/file_deps.cpp +++ b/src/dds/build/file_deps.cpp @@ -69,7 +69,7 @@ msvc_deps_info dds::parse_msvc_output_for_deps(std::string_view output, std::str void dds::update_deps_info(neo::output db_, const file_deps_info& deps) { database& db = db_; - db.store_file_command(deps.output, {deps.command, deps.command_output}); + db.record_compilation(deps.output, deps.command); db.forget_inputs_of(deps.output); for (auto&& inp : deps.inputs) { auto mtime = fs::last_write_time(inp); @@ -77,7 +77,8 @@ void dds::update_deps_info(neo::output db_, const file_deps_info& deps } } -deps_rebuild_info dds::get_rebuild_info(const database& db, path_ref output_path) { +std::optional dds::get_prior_compilation(const database& db, + path_ref output_path) { auto cmd_ = db.command_of(output_path); if (!cmd_) { return {}; @@ -95,9 +96,8 @@ deps_rebuild_info dds::get_rebuild_info(const database& db, path_ref output_path }) | ranges::views::transform([](auto& info) { return info.path; }) // | ranges::to_vector; - deps_rebuild_info ret; - ret.newer_inputs = std::move(changed_files); - ret.previous_command = cmd.command; - ret.previous_command_output = cmd.output; + prior_compilation ret; + ret.newer_inputs = std::move(changed_files); + ret.previous_command = cmd; return ret; } diff --git a/src/dds/build/file_deps.hpp b/src/dds/build/file_deps.hpp index 69d4f5c3..cefb9497 100644 --- a/src/dds/build/file_deps.hpp +++ b/src/dds/build/file_deps.hpp @@ -27,6 +27,7 @@ * other languages is not difficult. */ +#include #include #include @@ -64,11 +65,7 @@ struct file_deps_info { /** * The command that was used to generate the output */ - std::string command; - /** - * The output of the command. - */ - std::string command_output; + completed_compilation command; }; class database; @@ -118,7 +115,7 @@ msvc_deps_info parse_msvc_output_for_deps(std::string_view output, std::string_v /** * Update the dependency information in the build database for later reference via - * `get_rebuild_info`. + * `get_prior_compilation`. * @param db The database to update * @param info The dependency information to store */ @@ -129,16 +126,15 @@ void update_deps_info(neo::output db, const file_deps_info& info); * that have a newer mtime than we have recorded, and the previous command and previous command * output that we have stored. */ -struct deps_rebuild_info { +struct prior_compilation { std::vector newer_inputs; - std::string previous_command; - std::string previous_command_output; + completed_compilation previous_command; }; /** * Given the path to an output file, read all the dependency information from the database. If the - * given output has never been recorded, then the resulting object will be empty. + * given output has never been recorded, then the resulting object will be null. */ -deps_rebuild_info get_rebuild_info(const database& db, path_ref output_path); +std::optional get_prior_compilation(const database& db, path_ref output_path); -} // namespace dds \ No newline at end of file +} // namespace dds diff --git a/src/dds/build/file_deps.test.cpp b/src/dds/build/file_deps.test.cpp index 237bfbcf..8d40b3a0 100644 --- a/src/dds/build/file_deps.test.cpp +++ b/src/dds/build/file_deps.test.cpp @@ -12,6 +12,13 @@ TEST_CASE("Parse Makefile deps") { deps = dds::parse_mkfile_deps_str("foo.o: bar.c \\\n baz.c"); CHECK(deps.output == "foo.o"); CHECK(deps.inputs == path_vec("bar.c", "baz.c")); + + deps = dds::parse_mkfile_deps_str( + "/some-path/Ю́рий\\ Алексе́евич\\ Гага́рин/build/obj/foo.main.cpp.o: \\\n" + " /foo.main.cpp \\\n" + " /stdc-predef.h\n"); + CHECK(deps.output == "/some-path/Ю́рий Алексе́евич Гага́рин/build/obj/foo.main.cpp.o"); + CHECK(deps.inputs == path_vec("/foo.main.cpp", "/stdc-predef.h")); } TEST_CASE("Invalid deps") { diff --git a/src/dds/build/params.hpp b/src/dds/build/params.hpp index 02698739..15856ef1 100644 --- a/src/dds/build/params.hpp +++ b/src/dds/build/params.hpp @@ -1,6 +1,6 @@ #pragma once -#include +#include #include #include @@ -12,9 +12,11 @@ struct build_params { fs::path out_root; std::optional existing_lm_index; std::optional emit_lmi; + std::optional emit_cmake{}; + std::optional tweaks_dir{}; dds::toolchain toolchain; bool generate_compdb = true; int parallel_jobs = 0; }; -} // namespace dds \ No newline at end of file +} // namespace dds diff --git a/src/dds/build/plan/archive.cpp b/src/dds/build/plan/archive.cpp index b401ba40..4cdd2ebf 100644 --- a/src/dds/build/plan/archive.cpp +++ b/src/dds/build/plan/archive.cpp @@ -5,10 +5,12 @@ #include #include +#include #include #include using namespace dds; +using namespace fansi::literals; fs::path create_archive_plan::calc_archive_file_path(const toolchain& tc) const noexcept { return _subdir / fmt::format("{}{}{}", "lib", _name, tc.archive_suffix()); @@ -23,9 +25,11 @@ void create_archive_plan::archive(const build_env& env) const { ; // Build up the archive command archive_spec ar; + + auto ar_cwd = env.output_root; ar.input_files = std::move(objects); ar.out_path = env.output_root / calc_archive_file_path(env.toolchain); - auto ar_cmd = env.toolchain.create_archive_command(ar, fs::current_path(), env.knobs); + auto ar_cmd = env.toolchain.create_archive_command(ar, ar_cwd, env.knobs); // `out_relpath` is purely for the benefit of the user to have a short name // in the logs @@ -43,7 +47,8 @@ void create_archive_plan::archive(const build_env& env) const { // Do it! dds_log(info, "[{}] Archive: {}", _qual_name, out_relpath); - auto&& [dur_ms, ar_res] = timed([&] { return run_proc(ar_cmd); }); + auto&& [dur_ms, ar_res] = timed( + [&] { return run_proc(proc_options{.command = ar_cmd, .cwd = ar_cwd}); }); dds_log(info, "[{}] Archive: {} - {:L}ms", _qual_name, out_relpath, dur_ms.count()); // Check, log, and throw @@ -52,7 +57,10 @@ void create_archive_plan::archive(const build_env& env) const { "Creating static library archive [{}] failed for '{}'", out_relpath, _qual_name); - dds_log(error, "Subcommand FAILED: {}\n{}", quote_command(ar_cmd), ar_res.output); + dds_log(error, + "Subcommand FAILED: .bold.yellow[{}]\n{}"_styled, + quote_command(ar_cmd), + ar_res.output); throw_external_error< errc::archive_failure>("Creating static library archive [{}] failed for '{}'", out_relpath, diff --git a/src/dds/build/plan/compile_exec.cpp b/src/dds/build/plan/compile_exec.cpp index 191a23d5..557fb0c6 100644 --- a/src/dds/build/plan/compile_exec.cpp +++ b/src/dds/build/plan/compile_exec.cpp @@ -5,11 +5,14 @@ #include #include #include +#include #include #include +#include +#include +#include #include -#include #include #include @@ -19,23 +22,27 @@ using namespace dds; using namespace ranges; +using namespace fansi::literals; namespace { -/// The actual "real" information that we need to perform a compilation. -struct compile_file_full { - const compile_file_plan& plan; - fs::path object_file_path; - compile_command_info cmd_info; -}; - /// Simple aggregate that stores a counter for keeping track of compile progress struct compile_counter { - std::atomic_size_t n; + std::atomic_size_t n{1}; const std::size_t max; const std::size_t max_digits; }; +struct compile_ticket { + std::reference_wrapper plan; + // If non-null, the information required to compile the file + compile_command_info command; + fs::path object_file_path; + bool needs_recompile; + // Information about the previous time a file was compiled, if any + std::optional prior_command; +}; + /** * Actually performs a compilation and collects deps information from that compilation * @@ -44,20 +51,54 @@ struct compile_counter { * @param counter A thread-safe counter for display progress to the user */ std::optional -do_compile(const compile_file_full& cf, build_env_ref env, compile_counter& counter) { +handle_compilation(const compile_ticket& compile, build_env_ref env, compile_counter& counter) { + if (!compile.needs_recompile) { + // We don't actually compile this file. Just issue any prior warning messages that were from + // a prior compilation. + neo_assert(invariant, + compile.prior_command.has_value(), + "Expected a prior compilation command for file", + compile.plan.get().source_path(), + quote_command(compile.command.command)); + auto& prior = *compile.prior_command; + if (dds::trim_view(prior.output).empty()) { + // Nothing to show + return {}; + } + if (!compile.plan.get().rules().enable_warnings()) { + // This file shouldn't show warnings. The compiler *may* have produced prior output, but + // this block will be hit when the source file belongs to an external dependency. Rather + // than continually spam the user with warnings that belong to dependencies, don't + // repeatedly show them. + dds_log(trace, + "Cached compiler output suppressed for file with disabled warnings ({})", + compile.plan.get().source_path().string()); + return {}; + } + dds_log( + warn, + "While compiling file .bold.cyan[{}] [.bold.yellow[{}]] (.br.blue[cached compiler output]):\n{}"_styled, + compile.plan.get().source_path().string(), + prior.quoted_command, + prior.output); + return {}; + } + // Create the parent directory - fs::create_directories(cf.object_file_path.parent_path()); + fs::create_directories(compile.object_file_path.parent_path()); // Generate a log message to display to the user - auto source_path = cf.plan.source_path(); - auto msg = fmt::format("[{}] Compile: {}", - cf.plan.qualifier(), - fs::relative(source_path, cf.plan.source().basis_path).string()); + auto source_path = compile.plan.get().source_path(); + + auto msg + = fmt::format("[{}] Compile: .br.cyan[{}]"_styled, + compile.plan.get().qualifier(), + fs::relative(source_path, compile.plan.get().source().basis_path).string()); // Do it! dds_log(info, msg); auto&& [dur_ms, proc_res] - = timed([&] { return run_proc(cf.cmd_info.command); }); + = timed([&] { return run_proc(compile.command.command); }); auto nth = counter.n.fetch_add(1); dds_log(info, "{:60} - {:>7L}ms [{:{}}/{}]", @@ -81,8 +122,8 @@ do_compile(const compile_file_full& cf, build_env_ref env, compile_counter& coun */ } else if (env.toolchain.deps_mode() == file_deps_mode::gnu) { // GNU-style deps using Makefile generation - assert(cf.cmd_info.gnu_depfile_path.has_value()); - auto& df_path = *cf.cmd_info.gnu_depfile_path; + assert(compile.command.gnu_depfile_path.has_value()); + auto& df_path = *compile.command.gnu_depfile_path; if (!fs::is_regular_file(df_path)) { dds_log(critical, "The expected Makefile deps were not generated on disk. This is a bug! " @@ -91,10 +132,16 @@ do_compile(const compile_file_full& cf, build_env_ref env, compile_counter& coun } else { dds_log(trace, "Loading compilation dependencies from {}", df_path.string()); auto dep_info = dds::parse_mkfile_deps_file(df_path); - assert(dep_info.output == cf.object_file_path); - dep_info.command = quote_command(cf.cmd_info.command); - dep_info.command_output = compiler_output; - ret_deps_info = std::move(dep_info); + neo_assert(invariant, + dep_info.output == compile.object_file_path, + "Generated mkfile deps output path does not match the object file path that " + " we gave it to compile into.", + dep_info.output.string(), + compile.object_file_path.string()); + dep_info.command.quoted_command = quote_command(compile.command.command); + dep_info.command.output = compiler_output; + dep_info.command.duration = dur_ms; + ret_deps_info = std::move(dep_info); } } else if (env.toolchain.deps_mode() == file_deps_mode::msvc) { // Uglier deps generation by parsing the output from cl.exe @@ -108,11 +155,12 @@ do_compile(const compile_file_full& cf, build_env_ref env, compile_counter& coun // cause a miscompile if (!msvc_deps.deps_info.inputs.empty()) { // Add the main source file as an input, since it is not listed by /showIncludes - msvc_deps.deps_info.inputs.push_back(cf.plan.source_path()); - msvc_deps.deps_info.output = cf.object_file_path; - msvc_deps.deps_info.command = quote_command(cf.cmd_info.command); - msvc_deps.deps_info.command_output = compiler_output; - ret_deps_info = std::move(msvc_deps.deps_info); + msvc_deps.deps_info.inputs.push_back(compile.plan.get().source_path()); + msvc_deps.deps_info.output = compile.object_file_path; + msvc_deps.deps_info.command.quoted_command = quote_command(compile.command.command); + msvc_deps.deps_info.command.output = compiler_output; + msvc_deps.deps_info.command.duration = dur_ms; + ret_deps_info = std::move(msvc_deps.deps_info); } } else { /** @@ -133,11 +181,11 @@ do_compile(const compile_file_full& cf, build_env_ref env, compile_counter& coun // Log a compiler failure if (!compiled_okay) { - dds_log(error, "Compilation failed: {}", source_path.string()); + dds_log(error, "Compilation failed: .bold.cyan[{}]"_styled, source_path.string()); dds_log(error, - "Subcommand FAILED [Exitted {}]: {}\n{}", + "Subcommand .bold.red[FAILED] [Exited {}]: .bold.yellow[{}]\n{}"_styled, compile_retc, - quote_command(cf.cmd_info.command), + quote_command(compile.command.command), compiler_output); if (compile_signal) { dds_log(error, "Process exited via signal {}", compile_signal); @@ -148,9 +196,9 @@ do_compile(const compile_file_full& cf, build_env_ref env, compile_counter& coun // Print any compiler output, sans whitespace if (!dds::trim_view(compiler_output).empty()) { dds_log(warn, - "While compiling file {} [{}]:\n{}", + "While compiling file .bold.cyan[{}] [.bold.yellow[{}]]:\n{}"_styled, source_path.string(), - quote_command(cf.cmd_info.command), + quote_command(compile.command.command), compiler_output); } @@ -159,48 +207,45 @@ do_compile(const compile_file_full& cf, build_env_ref env, compile_counter& coun return ret_deps_info; } -/// Generate the full compile command information from an abstract plan -compile_file_full realize_plan(const compile_file_plan& plan, build_env_ref env) { - auto cmd_info = plan.generate_compile_command(env); - return compile_file_full{plan, plan.calc_object_file_path(env), cmd_info}; -} - /** * Determine if the given compile command should actually be executed based on * the dependency information we have recorded in the database. */ -bool should_compile(const compile_file_full& comp, const database& db) { - if (!fs::exists(comp.object_file_path)) { - dds_log(trace, "Compile {}: Output does not exist", comp.plan.source_path().string()); +compile_ticket mk_compile_ticket(const compile_file_plan& plan, build_env_ref env) { + compile_ticket ret{.plan = plan, + .command = plan.generate_compile_command(env), + .object_file_path = plan.calc_object_file_path(env), + .needs_recompile = false, + .prior_command = {}}; + + auto rb_info = get_prior_compilation(env.db, ret.object_file_path); + if (!rb_info) { + dds_log(trace, "Compile {}: No recorded compilation info", plan.source_path().string()); + ret.needs_recompile = true; + } else if (!fs::exists(ret.object_file_path)) { + dds_log(trace, "Compile {}: Output does not exist", plan.source_path().string()); // The output file simply doesn't exist. We have to recompile, of course. - return true; - } - auto rb_info = get_rebuild_info(db, comp.object_file_path); - if (rb_info.previous_command.empty()) { - // We have no previous compile command for this file. Assume it is new. - dds_log(trace, "Recompile {}: No prior compilation info", comp.plan.source_path().string()); - return true; - } - if (!rb_info.newer_inputs.empty()) { + ret.needs_recompile = true; + } else if (!rb_info->newer_inputs.empty()) { // Inputs to this file have changed from a prior execution. dds_log(trace, "Recompile {}: Inputs have changed (or no input information)", - comp.plan.source_path().string()); - return true; - } - auto cur_cmd_str = quote_command(comp.cmd_info.command); - if (cur_cmd_str != rb_info.previous_command) { - dds_log(trace, - "Recompile {}: Compile command has changed", - comp.plan.source_path().string()); + plan.source_path().string()); + ret.needs_recompile = true; + } else if (quote_command(ret.command.command) != rb_info->previous_command.quoted_command) { + dds_log(trace, "Recompile {}: Compile command has changed", plan.source_path().string()); // The command used to generate the output is new - return true; + ret.needs_recompile = true; + } else { + // Nope. This file is up-to-date. + dds_log(debug, + "Skip compilation of {} (Result is up-to-date)", + plan.source_path().string()); } - // Nope. This file is up-to-date. - dds_log(debug, - "Skip compilation of {} (Result is up-to-date)", - comp.plan.source_path().string()); - return false; + if (rb_info) { + ret.prior_command = rb_info->previous_command; + } + return ret; } } // namespace @@ -211,24 +256,23 @@ bool dds::detail::compile_all(const ref_vector& compile auto each_realized = // compiles // Convert each _plan_ into a concrete object for compiler invocation. - | views::transform([&](auto&& plan) { return realize_plan(plan, env); }) - // Filter out compile jobs that we don't need to run. This drops compilations where the - // output is "up-to-date" based on its inputs. - | views::filter([&](auto&& real) { return should_compile(real, env.db); }) + | views::transform([&](auto&& plan) { return mk_compile_ticket(plan, env); }) // Convert to to a real vector so we can ask its size. | ranges::to_vector; + auto n_to_compile = static_cast( + ranges::count_if(each_realized, &compile_ticket::needs_recompile)); + // Keep a counter to display progress to the user. - const auto total = each_realized.size(); - const auto max_digits = fmt::format("{}", total).size(); - compile_counter counter{{1}, total, max_digits}; + const auto max_digits = fmt::format("{}", n_to_compile).size(); + compile_counter counter{.max = n_to_compile, .max_digits = max_digits}; // Ass we execute, accumulate new dependency information from successful compilations std::vector all_new_deps; std::mutex mut; // Do it! - auto okay = parallel_run(each_realized, njobs, [&](const compile_file_full& full) { - auto new_dep = do_compile(full, env, counter); + auto okay = parallel_run(each_realized, njobs, [&](const compile_ticket& tkt) { + auto new_dep = handle_compilation(tkt, env, counter); if (new_dep) { std::unique_lock lk{mut}; all_new_deps.push_back(std::move(*new_dep)); @@ -236,12 +280,15 @@ bool dds::detail::compile_all(const ref_vector& compile }); // Update compile dependency information - auto tr = env.db.transaction(); + dds::stopwatch update_timer; + auto tr = env.db.transaction(); for (auto& info : all_new_deps) { dds_log(trace, "Update dependency info on {}", info.output.string()); update_deps_info(neo::into(env.db), info); } + dds_log(debug, "Dependency update took {:L}ms", update_timer.elapsed_ms().count()); + cancellation_point(); // Return whether or not there were any failures. return okay; } diff --git a/src/dds/build/plan/compile_file.cpp b/src/dds/build/plan/compile_file.cpp index f1f31b54..c479903f 100644 --- a/src/dds/build/plan/compile_file.cpp +++ b/src/dds/build/plan/compile_file.cpp @@ -5,6 +5,9 @@ #include #include +#include +#include + #include #include @@ -24,6 +27,9 @@ compile_command_info compile_file_plan::generate_compile_command(build_env_ref e extend(spec.external_include_dirs, env.ureqs.include_paths(use)); } extend(spec.definitions, _rules.defs()); + // Avoid huge command lines by shrinking down the list of #include dirs + sort_unique_erase(spec.external_include_dirs); + sort_unique_erase(spec.include_dirs); return env.toolchain.create_compile_command(spec, dds::fs::current_path(), env.knobs); } diff --git a/src/dds/build/plan/compile_file.hpp b/src/dds/build/plan/compile_file.hpp index c2fe9fac..c5a2e6c3 100644 --- a/src/dds/build/plan/compile_file.hpp +++ b/src/dds/build/plan/compile_file.hpp @@ -1,7 +1,7 @@ #pragma once #include -#include +#include #include diff --git a/src/dds/build/plan/exe.cpp b/src/dds/build/plan/exe.cpp index a0bcc9b3..17fc33f6 100644 --- a/src/dds/build/plan/exe.cpp +++ b/src/dds/build/plan/exe.cpp @@ -7,10 +7,13 @@ #include #include +#include + #include #include using namespace dds; +using namespace fansi::literals; fs::path link_executable_plan::calc_executable_path(build_env_ref env) const noexcept { return env.output_root / _out_subdir / (_name + env.toolchain.executable_suffix()); @@ -77,25 +80,27 @@ bool link_executable_plan::is_test() const noexcept { std::optional link_executable_plan::run_test(build_env_ref env) const { auto exe_path = calc_executable_path(env); - auto msg = fmt::format("Run test: {:30}", fs::relative(exe_path, env.output_root).string()); + auto msg = fmt::format("Run test: .br.cyan[{:30}]"_styled, + fs::relative(exe_path, env.output_root).string()); dds_log(info, msg); using namespace std::chrono_literals; auto&& [dur, res] = timed( [&] { return run_proc({.command = {exe_path.string()}, .timeout = 10s}); }); if (res.okay()) { - dds_log(info, "{} - PASSED - {:>9L}μs", msg, dur.count()); + dds_log(info, "{} - .br.green[PASS] - {:>9L}μs"_styled, msg, dur.count()); return std::nullopt; } else { auto exit_msg = fmt::format(res.signal ? "signalled {}" : "exited {}", res.signal ? res.signal : res.retc); - auto fail_str = res.timed_out ? "TIMEOUT" : "FAILED "; + auto fail_str = res.timed_out ? ".br.yellow[TIME]"_styled : ".br.red[FAIL]"_styled; dds_log(error, "{} - {} - {:>9L}μs [{}]", msg, fail_str, dur.count(), exit_msg); test_failure f; f.executable_path = exe_path; f.output = res.output; f.retc = res.retc; f.signal = res.signal; + f.timed_out = res.timed_out; return f; } } diff --git a/src/dds/build/plan/exe.hpp b/src/dds/build/plan/exe.hpp index 2e95fac4..3c8178df 100644 --- a/src/dds/build/plan/exe.hpp +++ b/src/dds/build/plan/exe.hpp @@ -18,8 +18,9 @@ class library_plan; struct test_failure { fs::path executable_path; std::string output; - int retc; - int signal; + int retc{}; + int signal{}; + bool timed_out = false; }; /** diff --git a/src/dds/build/plan/library.hpp b/src/dds/build/plan/library.hpp index e7fcf58d..c14fb270 100644 --- a/src/dds/build/plan/library.hpp +++ b/src/dds/build/plan/library.hpp @@ -3,7 +3,7 @@ #include #include #include -#include +#include #include #include diff --git a/src/dds/build/plan/template.cpp b/src/dds/build/plan/template.cpp index 016f6362..9792f2b7 100644 --- a/src/dds/build/plan/template.cpp +++ b/src/dds/build/plan/template.cpp @@ -1,7 +1,7 @@ #include #include -#include +#include #include #include diff --git a/src/dds/build/plan/template.hpp b/src/dds/build/plan/template.hpp index 7d890ccc..303ca071 100644 --- a/src/dds/build/plan/template.hpp +++ b/src/dds/build/plan/template.hpp @@ -1,7 +1,7 @@ #pragma once #include -#include +#include #include diff --git a/src/dds/catalog/catalog.cpp b/src/dds/catalog/catalog.cpp deleted file mode 100644 index 488a35c2..00000000 --- a/src/dds/catalog/catalog.cpp +++ /dev/null @@ -1,438 +0,0 @@ -#include "./catalog.hpp" - -#include "./import.hpp" - -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -using namespace dds; - -namespace sqlite3 = neo::sqlite3; -using namespace sqlite3::literals; - -namespace { - -void migrate_repodb_1(sqlite3::database& db) { - db.exec(R"( - CREATE TABLE dds_cat_pkgs ( - pkg_id INTEGER PRIMARY KEY AUTOINCREMENT, - name TEXT NOT NULL, - version TEXT NOT NULL, - git_url TEXT, - git_ref TEXT, - lm_name TEXT, - lm_namespace TEXT, - description TEXT NOT NULL, - UNIQUE(name, version), - CONSTRAINT has_source_info CHECK( - ( - git_url NOT NULL - AND git_ref NOT NULL - ) - = 1 - ), - CONSTRAINT valid_lm_info CHECK( - ( - lm_name NOT NULL - AND lm_namespace NOT NULL - ) - + - ( - lm_name ISNULL - AND lm_namespace ISNULL - ) - = 1 - ) - ); - - CREATE TABLE dds_cat_pkg_deps ( - dep_id INTEGER PRIMARY KEY AUTOINCREMENT, - pkg_id INTEGER NOT NULL REFERENCES dds_cat_pkgs(pkg_id), - dep_name TEXT NOT NULL, - low TEXT NOT NULL, - high TEXT NOT NULL, - UNIQUE(pkg_id, dep_name) - ); - )"); -} - -void migrate_repodb_2(sqlite3::database& db) { - db.exec(R"( - ALTER TABLE dds_cat_pkgs - ADD COLUMN repo_transform TEXT NOT NULL DEFAULT '[]' - )"); -} - -std::string transforms_to_json(const std::vector& trs) { - std::string acc = "["; - for (auto it = trs.begin(); it != trs.end(); ++it) { - acc += it->as_json(); - if (std::next(it) != trs.end()) { - acc += ", "; - } - } - return acc + "]"; -} - -void store_with_remote(const neo::sqlite3::statement_cache&, - const package_info& pkg, - std::monostate) { - neo_assert_always( - invariant, - false, - "There was an attempt to insert a package listing into the database where that package " - "listing does not have a remote listing. If you see this message, it is a dds bug.", - pkg.ident.to_string()); -} - -void store_with_remote(neo::sqlite3::statement_cache& stmts, - const package_info& pkg, - const git_remote_listing& git) { - auto lm_usage = git.auto_lib.value_or(lm::usage{}); - sqlite3::exec( // - stmts, - R"( - INSERT OR REPLACE INTO dds_cat_pkgs ( - name, - version, - git_url, - git_ref, - lm_name, - lm_namespace, - description, - repo_transform - ) VALUES ( - ?1, - ?2, - ?3, - ?4, - CASE WHEN ?5 = '' THEN NULL ELSE ?5 END, - CASE WHEN ?6 = '' THEN NULL ELSE ?6 END, - ?7, - ?8 - ) - )"_sql, - std::forward_as_tuple( // - pkg.ident.name, - pkg.ident.version.to_string(), - git.url, - git.ref, - lm_usage.name, - lm_usage.namespace_, - pkg.description, - transforms_to_json(git.transforms))); -} - -void do_store_pkg(neo::sqlite3::database& db, - neo::sqlite3::statement_cache& st_cache, - const package_info& pkg) { - dds_log(debug, "Recording package {}@{}", pkg.ident.name, pkg.ident.version.to_string()); - std::visit([&](auto&& remote) { store_with_remote(st_cache, pkg, remote); }, pkg.remote); - auto db_pkg_id = db.last_insert_rowid(); - auto& new_dep_st = st_cache(R"( - INSERT INTO dds_cat_pkg_deps ( - pkg_id, - dep_name, - low, - high - ) VALUES ( - ?, - ?, - ?, - ? - ) - )"_sql); - for (const auto& dep : pkg.deps) { - new_dep_st.reset(); - assert(dep.versions.num_intervals() == 1); - auto iv_1 = *dep.versions.iter_intervals().begin(); - dds_log(trace, " Depends on: {}", dep.to_string()); - sqlite3::exec(new_dep_st, - std::forward_as_tuple(db_pkg_id, - dep.name, - iv_1.low.to_string(), - iv_1.high.to_string())); - } -} - -void store_init_packages(sqlite3::database& db, sqlite3::statement_cache& st_cache) { - dds_log(debug, "Restoring initial package data"); - for (auto& pkg : init_catalog_packages()) { - do_store_pkg(db, st_cache, pkg); - } -} - -void ensure_migrated(sqlite3::database& db) { - sqlite3::transaction_guard tr{db}; - db.exec(R"( - PRAGMA foreign_keys = 1; - CREATE TABLE IF NOT EXISTS dds_cat_meta AS - WITH init(meta) AS (VALUES ('{"version": 0}')) - SELECT * FROM init; - )"); - auto meta_st = db.prepare("SELECT meta FROM dds_cat_meta"); - auto [meta_json] = sqlite3::unpack_single(meta_st); - - auto meta = nlohmann::json::parse(meta_json); - if (!meta.is_object()) { - dds_log(critical, "Root of catalog dds_cat_meta cell should be a JSON object"); - throw_external_error(); - } - - auto version_ = meta["version"]; - if (!version_.is_number_integer()) { - dds_log(critical, "'version' key in dds_cat_meta is not an integer"); - throw_external_error( - "The catalog database metadata is invalid [bad dds_meta.version]"); - } - - constexpr int current_database_version = 2; - - int version = version_; - - // If this is the first time we're working here, import the initial - // catalog with some useful tidbits. - bool import_init_packages = version == 0; - - if (version > current_database_version) { - dds_log(critical, - "Catalog version is {}, but we only support up to {}", - version, - current_database_version); - throw_external_error(); - } - - if (version < 1) { - dds_log(debug, "Applying catalog migration 1"); - migrate_repodb_1(db); - } - if (version < 2) { - dds_log(debug, "Applying catalog migration 2"); - migrate_repodb_2(db); - } - meta["version"] = 2; - exec(db, "UPDATE dds_cat_meta SET meta=?", std::forward_as_tuple(meta.dump())); - - if (import_init_packages) { - dds_log( - info, - "A new catalog database case been created, and has been populated with some initial " - "contents."); - neo::sqlite3::statement_cache stmts{db}; - store_init_packages(db, stmts); - } -} - -void check_json(bool b, std::string_view what) { - if (!b) { - throw_user_error("Catalog JSON is invalid: {}", what); - } -} - -} // namespace - -catalog catalog::open(const std::string& db_path) { - if (db_path != ":memory:") { - auto pardir = fs::weakly_canonical(db_path).parent_path(); - dds_log(trace, "Ensuring parent directory [{}]", pardir.string()); - fs::create_directories(pardir); - } - dds_log(debug, "Opening package catalog [{}]", db_path); - auto db = sqlite3::database::open(db_path); - try { - ensure_migrated(db); - } catch (const sqlite3::sqlite3_error& e) { - dds_log(critical, - "Failed to load the repository database. It appears to be invalid/corrupted. The " - "exception message is: {}", - e.what()); - throw_external_error(); - } - dds_log(trace, "Successfully opened catalog"); - return catalog(std::move(db)); -} - -catalog::catalog(sqlite3::database db) - : _db(std::move(db)) {} - -void catalog::store(const package_info& pkg) { - sqlite3::transaction_guard tr{_db}; - do_store_pkg(_db, _stmt_cache, pkg); -} - -std::optional catalog::get(const package_id& pk_id) const noexcept { - auto ver_str = pk_id.version.to_string(); - dds_log(trace, "Lookup package {}@{}", pk_id.name, ver_str); - auto& st = _stmt_cache(R"( - SELECT - pkg_id, - name, - version, - git_url, - git_ref, - lm_name, - lm_namespace, - description, - repo_transform - FROM dds_cat_pkgs - WHERE name = ? AND version = ? - )"_sql); - st.reset(); - st.bindings = std::forward_as_tuple(pk_id.name, ver_str); - auto opt_tup = sqlite3::unpack_single_opt, - std::optional, - std::optional, - std::optional, - std::string, - std::string>(st); - if (!opt_tup) { - dym_target::fill([&] { - auto all_ids = this->all(); - auto id_strings - = ranges::views::transform(all_ids, [&](auto id) { return id.to_string(); }); - return did_you_mean(pk_id.to_string(), id_strings); - }); - return std::nullopt; - } - const auto& [pkg_id, - name, - version, - git_url, - git_ref, - lm_name, - lm_namespace, - description, - repo_transform] - = *opt_tup; - assert(pk_id.name == name); - assert(pk_id.version == semver::version::parse(version)); - assert(git_url); - assert(git_ref); - - auto deps = dependencies_of(pk_id); - - auto info = package_info{ - pk_id, - std::move(deps), - std::move(description), - git_remote_listing{ - *git_url, - *git_ref, - lm_name ? std::make_optional(lm::usage{*lm_namespace, *lm_name}) : std::nullopt, - {}, - }, - }; - - if (!repo_transform.empty()) { - // Transforms are stored in the DB as JSON strings. Convert them back to real objects. - auto tr_data = json5::parse_data(repo_transform); - check_json(tr_data.is_array(), - fmt::format("Database record for {} has an invalid 'repo_transform' field [1]", - pkg_id)); - for (const auto& el : tr_data.as_array()) { - check_json( - el.is_object(), - fmt::format("Database record for {} has an invalid 'repo_transform' field [2]", - pkg_id)); - auto tr = fs_transformation::from_json(el); - std::visit( - [&](auto& remote) { - if constexpr (neo::alike) { - // Do nothing - } else { - remote.transforms.push_back(std::move(tr)); - } - }, - info.remote); - } - } - return info; -} - -auto pair_to_pkg_id = [](auto&& pair) { - const auto& [name, ver] = pair; - return package_id{name, semver::version::parse(ver)}; -}; - -std::vector catalog::all() const noexcept { - return view_safe(sqlite3::exec_iter( // - _stmt_cache, - "SELECT name, version FROM dds_cat_pkgs"_sql)) - | ranges::views::transform(pair_to_pkg_id) // - | ranges::to_vector; -} - -std::vector catalog::by_name(std::string_view sv) const noexcept { - return view_safe(sqlite3::exec_iter( // - _stmt_cache, - R"( - SELECT name, version - FROM dds_cat_pkgs - WHERE name = ? - )"_sql, - std::tie(sv))) // - | ranges::views::transform(pair_to_pkg_id) // - | ranges::to_vector; -} - -std::vector catalog::dependencies_of(const package_id& pkg) const noexcept { - dds_log(trace, "Lookup dependencies of {}@{}", pkg.name, pkg.version.to_string()); - return view_safe(sqlite3::exec_iter( // - _stmt_cache, - R"( - WITH this_pkg_id AS ( - SELECT pkg_id - FROM dds_cat_pkgs - WHERE name = ? AND version = ? - ) - SELECT dep_name, low, high - FROM dds_cat_pkg_deps - WHERE pkg_id IN this_pkg_id - ORDER BY dep_name - )"_sql, - std::forward_as_tuple(pkg.name, pkg.version.to_string()))) // - | ranges::views::transform([](auto&& pair) { - auto& [name, low, high] = pair; - auto dep - = dependency{name, {semver::version::parse(low), semver::version::parse(high)}}; - dds_log(trace, " Depends: {}", dep.to_string()); - return dep; - }) // - | ranges::to_vector; -} - -void catalog::import_json_str(std::string_view content) { - dds_log(trace, "Importing JSON string into catalog"); - auto pkgs = parse_packages_json(content); - - sqlite3::transaction_guard tr{_db}; - for (const auto& pkg : pkgs) { - store(pkg); - } -} - -void catalog::import_initial() { - sqlite3::transaction_guard tr{_db}; - dds_log(info, "Restoring built-in initial catalog contents"); - store_init_packages(_db, _stmt_cache); -} diff --git a/src/dds/catalog/catalog.hpp b/src/dds/catalog/catalog.hpp deleted file mode 100644 index 50b109b4..00000000 --- a/src/dds/catalog/catalog.hpp +++ /dev/null @@ -1,50 +0,0 @@ -#pragma once - -#include -#include -#include -#include - -#include "./package_info.hpp" - -#include -#include -#include -#include - -#include -#include -#include - -namespace dds { - -class catalog { - neo::sqlite3::database _db; - mutable neo::sqlite3::statement_cache _stmt_cache{_db}; - - explicit catalog(neo::sqlite3::database db); - catalog(const catalog&) = delete; - -public: - catalog(catalog&&) = default; - catalog& operator=(catalog&&) = default; - - static catalog open(const std::string& db_path); - static catalog open(path_ref db_path) { return open(db_path.string()); } - - void store(const package_info& info); - std::optional get(const package_id& id) const noexcept; - - std::vector all() const noexcept; - std::vector by_name(std::string_view sv) const noexcept; - std::vector dependencies_of(const package_id& pkg) const noexcept; - - void import_initial(); - void import_json_str(std::string_view json_str); - void import_json_file(path_ref json_path) { - auto content = dds::slurp_file(json_path); - import_json_str(content); - } -}; - -} // namespace dds \ No newline at end of file diff --git a/src/dds/catalog/catalog.test.cpp b/src/dds/catalog/catalog.test.cpp deleted file mode 100644 index 391ec381..00000000 --- a/src/dds/catalog/catalog.test.cpp +++ /dev/null @@ -1,95 +0,0 @@ -#include - -#include - -using namespace std::literals; - -TEST_CASE("Create a simple database") { - // Just create and run migrations on an in-memory database - auto repo = dds::catalog::open(":memory:"s); -} - -class catalog_test_case { -public: - dds::catalog db = dds::catalog::open(":memory:"s); -}; - -TEST_CASE_METHOD(catalog_test_case, "Store a simple package") { - db.store(dds::package_info{ - dds::package_id("foo", semver::version::parse("1.2.3")), - {}, - "example", - dds::git_remote_listing{"http://example.com", "master", std::nullopt, {}}, - }); - - auto pkgs = db.by_name("foo"); - REQUIRE(pkgs.size() == 1); - CHECK(pkgs[0].name == "foo"); - CHECK(pkgs[0].version == semver::version::parse("1.2.3")); - auto info = db.get(pkgs[0]); - REQUIRE(info); - CHECK(info->ident == pkgs[0]); - CHECK(info->deps.empty()); - CHECK(std::holds_alternative(info->remote)); - CHECK(std::get(info->remote).ref == "master"); - - // Update the entry with a new git remote ref - CHECK_NOTHROW(db.store(dds::package_info{ - dds::package_id("foo", semver::version::parse("1.2.3")), - {}, - "example", - dds::git_remote_listing{"http://example.com", "develop", std::nullopt, {}}, - })); - // The previous pkg_id is still a valid lookup key - info = db.get(pkgs[0]); - REQUIRE(info); - CHECK(std::get(info->remote).ref == "develop"); -} - -TEST_CASE_METHOD(catalog_test_case, "Package requirements") { - db.store(dds::package_info{ - dds::package_id{"foo", semver::version::parse("1.2.3")}, - { - {"bar", {semver::version::parse("1.2.3"), semver::version::parse("1.4.0")}}, - {"baz", {semver::version::parse("5.3.0"), semver::version::parse("6.0.0")}}, - }, - "example", - dds::git_remote_listing{"http://example.com", "master", std::nullopt, {}}, - }); - auto pkgs = db.by_name("foo"); - REQUIRE(pkgs.size() == 1); - CHECK(pkgs[0].name == "foo"); - auto deps = db.dependencies_of(pkgs[0]); - CHECK(deps.size() == 2); - CHECK(deps[0].name == "bar"); - CHECK(deps[1].name == "baz"); -} - -TEST_CASE_METHOD(catalog_test_case, "Parse JSON repo") { - db.import_json_str(R"({ - "version": 1, - "packages": { - "foo": { - "1.2.3": { - "depends": [ - "bar~4.2.1" - ], - "git": { - "url": "http://example.com", - "ref": "master" - } - } - } - } - })"); - auto pkgs = db.by_name("foo"); - REQUIRE(pkgs.size() == 1); - CHECK(pkgs[0].name == "foo"); - CHECK(pkgs[0].version == semver::version::parse("1.2.3")); - auto deps = db.dependencies_of(pkgs[0]); - REQUIRE(deps.size() == 1); - CHECK(deps[0].name == "bar"); - CHECK(deps[0].versions - == dds::version_range_set{semver::version::parse("4.2.1"), - semver::version::parse("4.3.0")}); -} diff --git a/src/dds/catalog/get.cpp b/src/dds/catalog/get.cpp deleted file mode 100644 index 804017ed..00000000 --- a/src/dds/catalog/get.cpp +++ /dev/null @@ -1,83 +0,0 @@ -#include "./get.hpp" - -#include -#include -#include -#include -#include - -#include -#include -#include - -using namespace dds; - -namespace { - -temporary_sdist do_pull_sdist(const package_info& listing, std::monostate) { - neo_assert_always( - invariant, - false, - "A package listing in the catalog has no defined remote from which to pull. This " - "shouldn't happen in normal usage. This will occur if the database has been " - "manually altered, or if DDS has a bug.", - listing.ident.to_string()); -} - -temporary_sdist do_pull_sdist(const package_info& listing, const git_remote_listing& git) { - auto tmpdir = dds::temporary_dir::create(); - - git.pull_to(listing.ident, tmpdir.path()); - - dds_log(info, "Create sdist from clone ..."); - sdist_params params; - params.project_dir = tmpdir.path(); - auto sd_tmp_dir = dds::temporary_dir::create(); - params.dest_path = sd_tmp_dir.path(); - params.force = true; - auto sd = create_sdist(params); - return {sd_tmp_dir, sd}; -} - -} // namespace - -temporary_sdist dds::get_package_sdist(const package_info& pkg) { - auto tsd = std::visit([&](auto&& remote) { return do_pull_sdist(pkg, remote); }, pkg.remote); - if (!(tsd.sdist.manifest.pkg_id == pkg.ident)) { - throw_external_error( - "The package name@version in the generated source distribution does not match the name " - "listed in the remote listing file (expected '{}', but got '{}')", - pkg.ident.to_string(), - tsd.sdist.manifest.pkg_id.to_string()); - } - return tsd; -} - -void dds::get_all(const std::vector& pkgs, repository& repo, const catalog& cat) { - std::mutex repo_mut; - - auto absent_pkg_infos = pkgs // - | ranges::views::filter([&](auto pk) { - std::scoped_lock lk{repo_mut}; - return !repo.find(pk); - }) - | ranges::views::transform([&](auto id) { - auto info = cat.get(id); - neo_assert(invariant, - info.has_value(), - "No catalog entry for package id?", - id.to_string()); - return *info; - }); - - auto okay = parallel_run(absent_pkg_infos, 8, [&](package_info inf) { - dds_log(info, "Download package: {}", inf.ident.to_string()); - auto tsd = get_package_sdist(inf); - std::scoped_lock lk{repo_mut}; - repo.add_sdist(tsd.sdist, if_exists::throw_exc); - }); - - if (!okay) { - throw_external_error("Downloading of packages failed."); - } -} diff --git a/src/dds/catalog/get.hpp b/src/dds/catalog/get.hpp deleted file mode 100644 index d5be28e1..00000000 --- a/src/dds/catalog/get.hpp +++ /dev/null @@ -1,16 +0,0 @@ -#pragma once - -#include -#include - -namespace dds { - -class repository; -class catalog; -struct package_info; - -temporary_sdist get_package_sdist(const package_info&); - -void get_all(const std::vector& pkgs, dds::repository& repo, const catalog& cat); - -} // namespace dds diff --git a/src/dds/catalog/import.cpp b/src/dds/catalog/import.cpp deleted file mode 100644 index f6dcda29..00000000 --- a/src/dds/catalog/import.cpp +++ /dev/null @@ -1,208 +0,0 @@ -#include "./import.hpp" - -#include -#include - -#include -#include -#include -#include - -#include - -using namespace dds; - -template -struct any_key { - KeyFunc _key_fn; - semester::walk_seq _seq; - - any_key(KeyFunc&& kf, Args&&... args) - : _key_fn(kf) - , _seq(NEO_FWD(args)...) {} - - template - semester::walk_result operator()(std::string_view key, Data&& dat) { - auto res = _key_fn(key); - if (res.rejected()) { - return res; - } - return _seq.invoke(NEO_FWD(dat)); - } -}; - -template -any_key(KF&&, Args&&...) -> any_key; - -namespace { - -using require_obj = semester::require_type; -using require_array = semester::require_type; -using require_str = semester::require_type; - -template -[[noreturn]] void import_error(Args&&... args) { - throw_user_error(NEO_FWD(args)...); -} - -git_remote_listing parse_git_remote(const json5::data& data) { - git_remote_listing git; - - using namespace semester::walk_ops; - - walk(data, - require_obj{"Git remote should be an object"}, - mapping{required_key{"url", - "A git 'url' string is required", - require_str("Git URL should be a string"), - put_into(git.url)}, - required_key{"ref", - "A git 'ref' is required, and must be a tag or branch name", - require_str("Git ref should be a string"), - put_into(git.ref)}, - if_key{"auto-lib", - require_str("'auto-lib' should be a string"), - put_into(git.auto_lib, - [](std::string const& str) { - try { - return lm::split_usage_string(str); - } catch (const std::runtime_error& e) { - import_error("{}: {}", walk.path(), e.what()); - } - })}, - if_key{"transform", - require_array{"Expect an array of transforms"}, - for_each{put_into(std::back_inserter(git.transforms), [](auto&& dat) { - try { - return fs_transformation::from_json(dat); - } catch (const semester::walk_error& e) { - import_error(e.what()); - } - })}}}); - - return git; -} - -package_info -parse_pkg_json_v1(std::string_view name, semver::version version, const json5::data& data) { - package_info ret; - ret.ident = package_id{std::string{name}, version}; - - using namespace semester::walk_ops; - - auto make_dep = [&](std::string const& str) { - try { - return dependency::parse_depends_string(str); - } catch (std::runtime_error const& e) { - import_error(std::string(walk.path()) + e.what()); - } - }; - - auto check_one_remote = [&](auto&&) { - if (!semester::holds_alternative(ret.remote)) { - return walk.reject("Cannot specify multiple remotes for a package"); - } - return walk.pass; - }; - - walk(data, - mapping{if_key{"description", - require_str{"'description' should be a string"}, - put_into{ret.description}}, - if_key{"depends", - require_array{"'depends' must be an array of dependency strings"}, - for_each{require_str{"Each dependency should be a string"}, - put_into{std::back_inserter(ret.deps), make_dep}}}, - if_key{ - "git", - check_one_remote, - put_into(ret.remote, parse_git_remote), - }}); - - if (semester::holds_alternative(ret.remote)) { - import_error("{}: Package listing for {} does not have any remote information", - walk.path(), - ret.ident.to_string()); - } - - return ret; -} - -std::vector parse_json_v1(const json5::data& data) { - std::vector acc_pkgs; - - std::string pkg_name; - semver::version pkg_version; - package_info dummy; - - using namespace semester::walk_ops; - - auto convert_pkg_obj - = [&](auto&& dat) { return parse_pkg_json_v1(pkg_name, pkg_version, dat); }; - - auto convert_version_str = [&](std::string_view str) { - try { - return semver::version::parse(str); - } catch (const semver::invalid_version& e) { - throw_user_error("{}: version string '{}' is invalid: {}", - walk.path(), - pkg_name, - str, - e.what()); - } - }; - - auto import_pkg_versions - = walk_seq{require_obj{"Package entries must be JSON objects"}, - mapping{any_key{put_into(pkg_version, convert_version_str), - require_obj{"Package+version entries must be JSON"}, - put_into{std::back_inserter(acc_pkgs), convert_pkg_obj}}}}; - - auto import_pkgs = walk_seq{require_obj{"'packages' should be a JSON object"}, - mapping{any_key{put_into(pkg_name), import_pkg_versions}}}; - - walk(data, - mapping{ - if_key{"version", just_accept}, - required_key{"packages", "'packages' should be an object of packages", import_pkgs}, - }); - - return acc_pkgs; -} - -} // namespace - -std::vector dds::parse_packages_json(std::string_view content) { - json5::data data; - try { - dds_log(trace, "Parsing packages JSON data: {}", content); - data = json5::parse_data(content); - } catch (const json5::parse_error& e) { - throw_user_error("JSON5 syntax error: {}", e.what()); - } - - if (!data.is_object()) { - throw_user_error("Root of import JSON must be a JSON object"); - } - - auto& data_obj = data.as_object(); - auto version_it = data_obj.find("version"); - if (version_it == data_obj.end() || !version_it->second.is_number()) { - throw_user_error( - "Root JSON import requires a 'version' property"); - } - - double version = version_it->second.as_number(); - - try { - if (version == 1.0) { - dds_log(trace, "Processing JSON data as v1 data"); - return parse_json_v1(data); - } else { - throw_user_error("Unknown catalog JSON version '{}'", - version); - } - } catch (const semester::walk_error& e) { - throw_user_error(e.what()); - } -} diff --git a/src/dds/catalog/import.hpp b/src/dds/catalog/import.hpp deleted file mode 100644 index 70469c99..00000000 --- a/src/dds/catalog/import.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#pragma once - -#include "./package_info.hpp" - -namespace dds { - -std::vector parse_packages_json(std::string_view); - -} // namespace dds diff --git a/src/dds/catalog/import.test.cpp b/src/dds/catalog/import.test.cpp deleted file mode 100644 index 1ec23ddc..00000000 --- a/src/dds/catalog/import.test.cpp +++ /dev/null @@ -1,154 +0,0 @@ -#include "./import.hpp" - -#include - -#include - -TEST_CASE("An empty import is okay") { - // An empty JSON with no packages in it - auto pkgs = dds::parse_packages_json("{version: 1, packages: {}}"); - CHECK(pkgs.empty()); -} - -TEST_CASE("Valid/invalid package JSON5") { - std::string_view bads[] = { - // Invalid JSON: - "", - // Should be an object - "[]", - // Missing keys - "{}", - // Missing "packages" - "{version: 1}", - // Bad version - "{version: 1.7, packages: {}}", - "{version: [], packages: {}}", - "{version: null, packages: {}}", - // 'packages' should be an object - "{version: 1, packages: []}", - "{version: 1, packages: null}", - "{version: 1, packages: 4}", - "{version: 1, packages: 'lol'}", - // Objects in 'packages' should be objects - "{version:1, packages:{foo:null}}", - "{version:1, packages:{foo:[]}}", - "{version:1, packages:{foo:9}}", - "{version:1, packages:{foo:'lol'}}", - // Objects in 'packages' shuold have version strings - "{version:1, packages:{foo:{'lol':{}}}}", - "{version:1, packages:{foo:{'1.2':{}}}}", - // No remote - "{version:1, packages:{foo:{'1.2.3':{}}}}", - // Bad empty git - "{version:1, packages:{foo:{'1.2.3':{git:{}}}}}", - // Git `url` and `ref` should be a string - "{version:1, packages:{foo:{'1.2.3':{git:{url:2, ref:''}}}}}", - "{version:1, packages:{foo:{'1.2.3':{git:{url:'', ref:2}}}}}", - // 'auto-lib' should be a usage string - "{version:1, packages:{foo:{'1.2.3':{git:{url:'', ref:'', 'auto-lib':3}}}}}", - "{version:1, packages:{foo:{'1.2.3':{git:{url:'', ref:'', 'auto-lib':'ffasdf'}}}}}", - // 'transform' should be an array - R"( - { - version: 1, - packages: {foo: {'1.2.3': { - git: { - url: '', - ref: '', - 'auto-lib': 'a/b', - transform: 'lol hi', - } - }}} - } - )", - }; - - for (auto bad : bads) { - INFO("Bad: " << bad); - CHECK_THROWS_AS(dds::parse_packages_json(bad), - dds::user_error); - } - - std::string_view goods[] = { - // Basic empty: - "{version:1, packages:{}}", - // No versions for 'foo' is weird, but okay - "{version:1, packages:{foo:{}}}", - // Basic package with minimum info: - "{version:1, packages:{foo:{'1.2.3':{git:{url:'', ref:''}}}}}", - // Minimal auto-lib: - "{version:1, packages:{foo:{'1.2.3':{git:{url:'', ref:'', 'auto-lib':'a/b'}}}}}", - // Empty transforms: - R"( - { - version: 1, - packages: {foo: {'1.2.3': { - git: { - url: '', - ref: '', - 'auto-lib': 'a/b', - transform: [], - } - }}} - } - )", - // Basic transform: - R"( - { - version: 1, - packages: {foo: {'1.2.3': { - git: { - url: '', - ref: '', - 'auto-lib': 'a/b', - transform: [{ - copy: { - from: 'here', - to: 'there', - include: [ - "*.c", - "*.cpp", - "*.h", - '*.txt' - ] - } - }], - } - }}} - } - )", - }; - for (auto good : goods) { - INFO("Parse: " << good); - CHECK_NOTHROW(dds::parse_packages_json(good)); - } -} - -TEST_CASE("Check a single object") { - // An empty JSON with no packages in it - auto pkgs = dds::parse_packages_json(R"({ - version: 1, - packages: { - foo: { - '1.2.3': { - git: { - url: 'foo', - ref: 'fasdf', - 'auto-lib': 'a/b', - } - } - } - } - })"); - REQUIRE(pkgs.size() == 1); - CHECK(pkgs[0].ident.name == "foo"); - CHECK(pkgs[0].ident.to_string() == "foo@1.2.3"); - CHECK(std::holds_alternative(pkgs[0].remote)); - - auto git = std::get(pkgs[0].remote); - CHECK(git.url == "foo"); - CHECK(git.ref == "fasdf"); - REQUIRE(git.auto_lib); - CHECK(git.auto_lib->namespace_ == "a"); - CHECK(git.auto_lib->name == "b"); -} diff --git a/src/dds/catalog/init_catalog.cpp b/src/dds/catalog/init_catalog.cpp deleted file mode 100644 index 47b2a07c..00000000 --- a/src/dds/catalog/init_catalog.cpp +++ /dev/null @@ -1,34 +0,0 @@ - -#include -#include -#include - -#include -#include -#include -#include - -/** - * The following array of integers is generated and contains gzip-compressed - * JSON encoded initial catalog. MSVC can't handle string literals over - * 64k large, so we have to resort to using a regular char array: - */ -static constexpr const unsigned char INIT_PACKAGES_CONTENT[] = { -31,139,8,0,246,189,81,95,2,255,237,93,13,115,226,182,214,254,43,26,58,115,187,155,93,108,36,3,73,58,109,103,104,66,179,220,55,33,92,96,247,182,183,180,140,176,5,120,227,175,107,155,100,211,189,249,239,175,36,27,108,136,157,56,89,131,29,162,206,236,52,200,182,206,121,206,57,58,210,35,201,242,215,138,131,213,43,60,35,94,229,7,240,181,130,39,30,209,13,254,39,170,193,35,169,41,213,248,15,141,56,196,210,216,61,127,252,249,30,208,159,158,234,234,142,175,219,22,45,170,180,248,83,224,196,54,77,219,2,231,250,196,197,174,78,107,164,119,206,116,63,168,120,225,219,85,67,159,176,219,3,33,114,40,139,222,228,146,41,43,103,18,107,205,90,141,21,249,46,182,188,169,237,154,76,228,215,138,105,95,19,94,15,249,162,26,11,141,44,21,153,186,182,25,86,201,107,210,173,181,203,158,79,181,172,170,182,233,216,22,177,124,166,127,141,85,110,179,103,60,87,101,58,24,114,229,142,235,176,146,97,91,198,109,213,196,190,58,215,173,25,171,170,114,112,32,31,140,125,226,249,146,122,192,196,172,126,211,27,226,69,19,98,169,115,19,187,87,81,225,170,200,219,124,118,172,114,123,69,197,166,173,94,209,10,199,7,81,17,191,111,225,235,134,164,170,203,187,22,62,249,50,182,108,203,113,109,45,42,182,176,73,180,241,140,88,196,197,190,237,70,23,28,87,183,252,241,28,123,243,177,61,141,138,15,216,189,62,158,24,196,99,133,204,90,14,246,231,75,195,84,238,238,88,209,194,101,193,80,153,251,190,227,253,32,203,212,155,243,197,68,162,138,203,107,78,172,170,142,35,49,87,223,49,83,82,63,30,75,71,210,209,78,35,231,184,118,84,59,18,145,243,210,35,7,213,36,36,161,198,46,67,7,213,106,8,53,36,36,130,231,5,7,15,179,37,246,116,155,91,18,74,16,101,235,184,232,19,0,123,183,212,86,174,109,217,11,15,116,228,75,112,242,238,29,48,120,60,221,166,70,19,125,80,230,242,162,72,98,63,171,176,10,81,245,89,61,24,171,145,154,224,57,225,244,120,36,105,182,42,31,112,239,146,47,216,116,168,245,195,159,204,211,171,191,109,219,224,127,39,120,229,61,211,92,11,45,193,254,240,2,88,170,109,249,84,39,118,231,119,26,153,234,22,1,173,65,231,114,60,24,182,186,167,173,243,203,110,27,64,86,55,141,48,141,221,164,91,30,113,125,86,98,208,123,105,9,84,120,221,169,245,180,123,173,126,107,216,30,159,92,94,244,58,231,173,97,231,178,251,88,141,245,187,56,128,208,152,220,91,178,70,124,76,195,135,74,155,234,51,105,238,56,220,116,153,124,179,172,231,169,14,90,61,247,88,104,211,24,212,189,43,123,110,204,237,233,148,171,27,37,70,30,209,176,184,136,134,34,162,69,68,231,31,209,168,184,136,70,34,162,69,68,231,29,209,74,113,163,14,69,140,58,68,68,231,31,209,245,226,34,186,46,34,90,68,244,54,34,26,22,23,209,98,28,45,34,58,247,136,110,22,151,163,155,34,71,139,136,222,70,68,195,226,34,90,228,104,17,209,57,70,52,83,113,98,219,158,47,25,4,79,185,162,53,9,102,74,217,111,186,54,136,21,129,27,236,1,199,181,175,117,141,104,111,211,130,155,203,146,185,172,40,186,3,137,155,113,253,48,162,191,241,103,155,215,19,53,77,182,56,179,107,197,81,94,138,195,157,43,14,243,81,28,237,92,113,148,143,226,202,206,21,87,242,81,188,190,115,197,235,249,40,222,216,185,226,141,60,20,87,118,158,85,148,111,206,42,81,94,55,29,8,195,117,199,195,218,182,145,112,97,17,18,94,88,13,5,63,13,16,127,212,118,103,188,202,248,240,235,16,22,5,2,230,8,2,21,5,2,229,8,66,41,10,132,146,11,136,168,141,56,83,55,108,34,91,111,33,76,84,132,40,16,248,52,40,216,177,141,197,21,29,126,203,38,158,233,234,120,70,252,184,87,106,219,30,74,220,71,0,115,67,192,32,168,140,92,4,163,10,196,150,225,178,116,119,45,96,218,26,113,45,206,175,22,150,238,131,112,35,202,99,100,43,16,38,135,50,35,88,215,161,232,167,147,173,229,248,253,153,67,249,80,147,187,144,185,56,183,91,144,197,168,32,179,244,141,171,251,1,150,24,69,26,89,32,225,191,239,28,23,207,76,12,108,75,37,35,43,229,158,144,92,157,180,134,39,31,40,169,234,254,218,57,27,95,180,58,221,148,219,67,149,193,168,34,5,176,25,105,26,85,210,170,103,155,121,60,7,171,84,0,187,25,124,77,187,49,144,223,111,159,117,6,195,118,159,254,209,187,236,211,63,222,140,24,76,207,54,200,136,26,236,36,248,179,79,28,219,245,137,251,54,173,178,187,228,226,74,2,11,140,199,210,248,134,134,251,216,196,186,21,48,193,199,248,25,123,134,165,39,14,13,197,91,3,113,9,54,66,98,118,156,109,46,141,181,2,8,151,161,15,104,236,2,202,99,117,108,232,127,99,126,83,90,99,224,178,228,80,100,172,49,4,146,159,214,200,63,14,78,244,115,60,9,107,139,143,167,142,179,205,159,108,5,5,204,9,69,214,158,34,127,20,207,233,50,210,81,192,194,80,192,92,81,192,194,80,192,28,81,160,194,80,160,220,80,160,194,34,10,229,24,81,168,176,136,66,57,70,20,42,44,162,80,142,17,165,20,22,81,74,62,17,197,251,113,223,37,225,152,246,40,99,108,177,209,155,110,144,170,175,155,4,244,78,250,109,240,6,27,38,29,130,191,229,151,40,168,137,65,128,75,102,11,3,187,128,124,113,92,226,121,108,48,207,167,231,137,155,6,120,142,45,93,189,194,154,237,203,92,171,181,81,239,209,147,195,47,94,93,76,227,106,168,88,53,82,204,139,237,165,167,130,80,153,173,128,118,101,5,165,204,86,80,118,101,133,122,153,173,80,223,186,21,152,25,166,102,160,88,51,243,208,50,228,188,76,41,236,199,217,46,248,1,44,213,162,181,74,26,185,150,211,160,211,235,236,158,24,228,230,51,6,152,180,6,90,31,23,182,114,107,51,243,224,114,91,56,96,110,56,96,193,56,96,78,56,80,193,56,80,46,56,80,193,113,133,114,138,43,84,112,92,161,92,226,234,176,224,124,117,152,83,190,58,204,56,117,186,77,28,121,249,3,21,140,3,229,132,67,41,24,135,242,173,56,24,144,185,110,89,216,242,171,26,246,151,20,32,227,54,79,192,30,1,216,210,0,31,241,44,81,77,176,71,52,64,135,53,254,156,4,172,71,134,117,25,30,130,31,131,189,70,63,131,57,193,218,3,195,157,64,33,153,43,180,54,214,169,75,73,251,139,30,218,254,243,228,119,36,63,216,55,216,213,62,196,84,136,92,174,100,78,37,187,53,140,146,152,98,118,101,152,59,62,189,255,25,63,105,137,170,5,134,196,116,12,102,166,182,53,99,211,242,140,16,95,172,86,73,210,76,192,4,201,92,218,55,206,57,58,20,133,237,242,170,226,67,253,2,180,71,121,106,15,139,208,30,230,163,125,194,120,188,98,25,246,220,196,150,85,253,236,217,214,187,26,55,213,55,66,138,45,161,37,182,154,196,101,167,175,163,10,91,224,25,209,191,71,220,16,108,145,38,40,227,139,62,155,23,174,137,203,8,84,80,204,37,5,229,33,54,86,254,199,40,9,221,168,242,231,93,124,245,38,60,97,68,98,119,132,203,110,79,81,112,225,145,77,97,50,171,106,83,76,152,162,150,98,158,229,63,180,107,255,161,157,249,15,237,185,255,238,248,30,210,137,103,107,250,194,92,37,114,152,37,23,14,248,51,64,247,0,6,22,185,121,15,8,246,110,171,52,107,80,213,129,103,79,125,218,109,144,181,105,79,98,169,238,45,127,254,253,200,210,200,234,7,240,244,153,133,253,133,75,188,247,192,193,158,119,99,187,26,96,167,32,176,49,19,235,77,77,219,37,82,90,122,10,148,151,67,12,27,91,0,146,2,37,227,166,222,193,229,105,231,227,5,219,214,59,236,156,60,178,1,247,40,113,255,109,168,25,249,194,22,115,165,121,166,141,183,172,79,94,121,68,254,198,85,251,140,187,152,55,22,209,101,25,168,6,182,102,213,96,228,10,236,233,148,23,31,28,140,44,112,0,62,240,177,10,80,231,68,189,242,88,137,60,178,190,211,167,96,204,14,174,24,135,162,223,252,232,221,122,178,73,227,86,154,255,252,54,88,172,94,26,246,67,235,83,123,60,248,125,48,190,184,104,117,199,31,0,164,207,211,64,211,185,148,148,154,168,7,53,219,124,160,174,126,171,123,122,121,145,161,54,221,162,150,75,211,170,211,29,246,59,89,117,194,139,47,215,15,104,212,250,248,219,167,205,154,150,54,108,185,116,64,230,19,149,6,61,54,66,83,242,54,18,104,231,233,234,3,150,53,205,8,3,248,199,63,232,229,139,139,223,198,227,4,53,46,46,50,3,34,247,107,29,12,218,40,177,218,246,195,245,210,231,148,213,115,247,37,57,113,73,209,54,134,53,9,189,117,9,252,122,40,37,165,86,63,67,173,195,244,90,31,118,118,162,109,234,99,152,104,157,65,36,229,177,80,188,175,115,112,87,235,211,202,159,247,170,167,215,162,234,147,13,67,111,65,15,61,143,50,84,208,128,232,215,181,58,232,133,160,26,237,205,120,204,243,195,120,28,26,35,248,101,226,207,182,59,30,131,31,65,125,125,115,10,205,39,65,133,192,196,148,12,17,48,113,237,43,18,219,216,242,29,49,214,106,63,235,126,60,89,85,30,252,160,181,54,239,213,250,253,247,107,117,120,100,253,142,77,216,12,210,58,242,123,232,179,68,195,205,253,104,104,181,7,137,161,240,239,135,27,74,255,180,223,61,77,124,144,94,161,249,44,41,115,156,18,150,54,0,203,172,160,213,235,60,63,1,211,228,219,91,181,130,181,11,189,254,229,176,125,50,76,190,120,126,121,242,127,236,74,20,46,43,191,157,182,127,109,125,60,31,142,7,151,31,251,39,237,183,224,127,255,139,174,253,50,56,93,150,167,196,229,69,235,244,83,103,208,126,90,195,124,172,103,56,107,15,131,142,33,57,13,247,46,7,157,223,170,151,148,35,3,207,95,176,110,46,205,152,11,75,247,124,109,189,157,166,1,79,1,72,117,105,211,96,184,236,253,190,137,49,248,21,40,197,254,99,94,158,226,133,225,7,10,46,253,204,47,201,9,40,249,93,227,139,246,69,235,188,115,214,77,244,27,21,222,235,156,38,94,234,182,186,151,131,243,118,187,23,185,53,174,202,57,109,219,11,58,146,149,87,67,57,18,140,213,0,27,178,128,19,8,55,85,11,58,129,225,233,201,248,83,187,63,232,92,118,105,243,253,249,39,128,106,16,66,116,158,230,254,246,197,160,77,77,152,108,155,160,78,58,216,90,124,73,77,108,237,223,122,231,157,147,206,112,252,203,127,218,253,203,244,56,90,58,255,66,247,84,98,208,212,69,236,197,3,205,200,241,231,46,29,241,164,4,88,111,248,161,223,110,157,102,26,47,56,216,197,241,64,93,110,52,92,187,24,199,251,203,239,195,246,248,178,127,218,238,131,159,126,98,191,59,103,227,118,247,180,211,234,222,55,65,151,142,82,169,62,209,45,145,1,140,196,202,206,59,195,225,121,251,177,250,214,238,138,85,25,207,181,223,17,215,165,67,151,81,229,163,117,101,217,55,22,96,134,160,132,133,120,193,152,198,159,83,146,192,72,30,27,79,74,163,202,166,99,214,146,255,197,224,211,73,104,32,214,111,248,193,76,154,61,5,140,61,81,62,240,30,176,59,0,155,215,2,62,118,103,196,247,40,201,240,125,131,84,3,177,210,186,151,210,112,196,48,60,93,255,152,171,151,155,75,249,182,210,143,253,54,15,133,135,95,214,123,136,43,56,174,126,77,217,176,28,158,55,55,207,184,227,118,178,208,13,141,166,123,239,90,149,67,10,75,159,125,38,107,8,85,137,234,121,50,111,217,202,27,157,155,51,151,145,180,45,236,74,134,27,186,61,194,172,63,83,102,229,169,62,140,148,218,216,251,14,247,134,81,67,193,168,5,163,22,140,90,48,106,193,168,5,163,22,140,90,48,106,193,168,5,163,22,140,90,48,106,193,168,5,163,222,33,163,70,123,195,168,145,96,212,130,81,11,70,45,24,181,96,212,130,81,11,70,45,24,181,96,212,130,81,11,70,45,24,181,96,212,130,81,239,144,81,43,123,195,168,21,193,168,5,163,22,140,90,48,106,193,168,5,163,22,140,90,48,106,193,168,5,163,22,140,90,48,106,193,168,5,163,222,33,163,174,239,13,163,174,11,70,45,24,181,96,212,130,81,11,70,45,24,181,96,212,130,81,11,70,45,24,181,96,212,130,81,11,70,45,24,245,14,25,117,99,111,24,117,67,48,106,193,168,5,163,22,140,90,48,106,193,168,5,163,22,140,90,48,106,193,168,5,163,22,140,90,48,106,193,168,119,200,168,155,123,195,168,155,130,81,11,70,45,24,181,96,212,130,81,11,70,45,24,181,96,212,130,81,11,70,45,24,181,96,212,130,81,11,70,189,67,70,125,184,55,140,250,80,48,106,193,168,5,163,22,140,90,48,106,193,168,5,163,22,140,90,48,106,193,168,5,163,22,140,90,48,106,193,168,119,200,168,143,246,134,81,31,9,70,45,24,181,96,212,130,81,11,70,45,24,181,96,212,130,81,11,70,45,24,181,96,212,130,81,11,70,45,24,245,14,24,53,3,101,44,48,215,171,33,65,41,203,119,169,207,23,56,160,213,142,125,67,220,233,194,224,28,120,138,61,31,56,174,61,163,121,194,100,196,216,8,19,51,141,79,74,210,232,3,140,128,3,223,6,6,193,174,197,159,97,84,156,253,159,22,18,115,66,52,70,47,108,112,107,47,92,128,29,199,208,85,204,100,166,50,107,170,184,204,148,143,56,245,117,128,225,62,167,126,44,60,164,13,179,87,14,36,149,21,29,208,240,202,24,30,143,184,32,84,54,154,201,104,72,72,170,189,120,115,51,12,47,198,220,112,15,204,253,130,162,27,237,129,185,209,203,49,183,178,7,230,86,94,138,185,149,61,200,221,202,203,201,221,202,30,228,110,229,229,228,110,101,15,114,183,242,114,114,183,178,7,185,91,121,73,185,187,190,7,230,174,191,28,115,55,246,192,220,141,151,98,238,250,30,140,76,234,47,98,100,194,231,157,240,76,87,199,196,90,152,92,179,154,212,200,100,254,129,79,173,162,2,138,216,32,42,43,12,119,32,44,76,47,205,80,22,181,248,236,150,200,49,137,49,155,5,130,55,109,246,48,154,238,189,26,163,56,170,73,205,162,128,52,115,7,2,139,2,2,115,6,130,138,2,130,114,6,162,20,5,68,201,25,72,189,40,32,245,156,129,52,138,2,210,200,25,72,179,40,32,205,188,128,240,126,197,171,222,232,6,215,2,213,80,77,170,41,217,142,102,25,206,9,248,183,110,105,246,141,7,58,166,99,16,147,246,116,188,7,6,231,193,2,105,28,96,168,190,166,121,114,76,202,211,96,92,83,11,218,110,213,158,86,39,182,109,200,84,235,24,12,11,155,196,158,134,93,227,81,166,102,223,229,143,0,219,33,46,166,21,115,207,152,182,70,232,112,227,228,221,187,199,220,19,10,92,115,205,209,179,91,125,80,91,60,190,142,51,245,138,249,99,56,126,118,167,152,132,1,22,132,1,230,136,1,21,132,1,229,136,65,41,8,67,158,237,161,94,16,134,122,30,24,120,142,34,118,117,178,152,78,137,27,230,169,132,133,34,126,147,202,118,160,58,190,247,87,109,185,48,192,74,167,11,139,22,176,101,199,4,224,191,240,122,57,63,154,220,250,148,40,25,51,219,165,58,153,158,236,223,58,196,3,19,236,81,202,68,179,179,63,183,61,190,145,160,229,233,118,66,142,174,37,174,253,60,41,53,71,64,227,30,76,152,201,222,68,171,108,162,101,252,108,203,104,149,39,39,188,76,104,235,143,163,13,201,103,28,237,214,125,91,223,22,90,88,78,180,121,71,242,178,29,51,114,239,18,207,11,91,50,76,241,118,240,236,95,43,77,214,35,155,22,252,77,83,208,95,144,54,185,227,36,91,156,132,82,248,219,1,152,237,149,190,230,91,127,136,175,74,60,183,209,164,134,106,137,208,97,30,142,94,162,188,7,62,240,234,42,141,101,233,34,91,224,141,105,123,190,113,251,150,122,80,189,98,175,2,48,223,113,4,96,89,227,242,61,137,247,224,134,42,6,60,219,164,1,160,105,58,171,196,147,82,178,21,202,3,104,32,255,145,124,181,67,88,74,62,254,75,130,5,11,133,5,183,5,11,21,10,107,75,65,88,47,52,8,235,91,8,194,187,40,13,174,146,103,166,121,51,166,239,114,239,109,52,183,26,76,24,107,186,102,125,239,131,255,46,116,218,99,76,117,159,118,31,183,55,115,226,18,192,182,55,74,146,148,146,35,115,8,70,138,35,238,176,108,123,173,182,0,6,229,225,171,123,96,96,81,96,242,247,140,82,148,103,148,45,120,70,41,202,51,202,86,60,131,138,2,131,114,7,83,47,42,204,234,91,8,179,122,81,97,86,207,55,204,150,157,142,247,95,131,170,161,172,6,174,74,166,206,53,156,65,96,148,196,176,111,170,6,185,38,6,235,92,193,224,95,231,12,85,171,215,73,201,98,202,183,131,8,85,126,206,200,244,185,122,231,146,176,214,245,230,14,48,236,185,137,45,171,250,217,179,131,190,95,145,14,51,5,216,63,7,151,93,206,119,46,18,231,114,98,179,203,65,141,223,164,60,211,46,166,181,163,206,170,170,227,132,33,115,124,148,73,225,222,201,25,232,83,187,47,76,208,93,152,19,202,103,207,136,197,230,164,56,147,99,46,104,7,3,175,180,41,41,42,85,94,74,94,159,143,58,122,50,62,221,180,136,73,150,213,197,161,145,153,31,78,253,103,92,133,237,97,215,99,203,245,237,47,75,94,10,206,216,18,62,118,193,144,152,236,221,16,146,52,253,31,71,230,99,91,14,4,71,184,80,226,90,236,215,39,189,6,241,232,154,58,21,76,225,203,189,246,217,240,60,106,77,40,227,178,237,22,145,195,162,144,31,22,235,243,195,226,124,126,88,172,207,15,139,243,249,81,177,62,63,42,206,231,71,197,250,252,168,72,159,163,98,145,163,226,144,43,197,34,87,10,64,206,187,246,197,100,230,46,38,233,11,77,73,102,8,158,1,193,93,196,82,111,1,53,135,109,44,248,170,254,106,30,126,57,241,188,29,226,30,42,30,135,114,59,209,45,13,194,112,160,82,203,198,175,8,54,13,246,226,42,95,10,156,232,116,44,202,142,92,240,111,8,225,195,71,8,249,176,184,119,235,207,31,24,132,113,201,242,74,129,216,64,44,208,227,105,72,55,170,139,199,105,45,27,207,218,1,40,152,31,40,88,18,79,193,60,61,5,75,226,41,152,167,167,80,73,60,133,242,244,20,42,137,167,80,190,158,66,37,1,133,242,4,165,148,4,148,146,39,168,122,73,64,213,243,3,165,148,36,81,40,121,38,138,122,73,64,213,243,5,5,75,2,10,230,9,10,149,4,20,202,19,148,82,18,80,57,102,191,70,73,218,84,35,167,54,197,15,101,193,214,140,84,175,151,171,7,48,27,19,233,179,167,214,206,255,100,192,234,50,60,148,81,237,61,219,205,164,123,209,94,158,239,61,224,249,218,15,63,112,89,169,123,196,151,154,200,43,149,34,208,161,98,79,3,77,92,93,181,116,50,49,136,187,170,51,190,226,0,97,89,177,194,220,177,54,74,10,181,145,59,210,227,146,34,61,222,2,82,88,82,164,48,63,164,12,170,71,204,235,216,254,226,108,123,162,216,122,212,121,12,245,41,193,6,155,15,227,251,132,6,196,196,22,123,137,229,83,112,14,22,155,168,218,202,62,188,64,245,56,22,219,64,225,164,15,74,200,181,236,141,206,119,53,62,15,147,138,234,199,234,207,128,189,129,218,234,117,192,141,139,29,218,205,4,168,176,118,141,45,149,104,209,41,126,193,171,165,14,176,108,95,157,3,122,35,63,245,151,222,147,128,246,58,212,232,233,175,142,82,76,207,57,20,140,61,198,76,194,14,127,11,234,143,157,91,252,149,29,223,54,226,175,192,140,232,239,17,55,220,168,242,62,42,246,28,172,38,93,11,143,54,11,174,4,152,86,215,66,75,179,107,127,4,231,195,141,34,139,7,135,215,253,57,178,238,42,177,9,75,42,229,10,207,136,196,215,119,131,195,200,158,161,240,194,35,247,164,178,151,97,147,101,134,173,117,41,243,225,136,27,206,73,111,126,202,172,137,214,168,90,194,244,91,225,209,5,247,48,186,224,43,141,46,84,186,232,66,123,24,93,232,149,70,151,82,186,232,82,246,48,186,148,87,26,93,245,210,69,87,125,15,163,171,254,74,163,171,81,186,232,106,236,97,116,53,94,105,116,53,75,23,93,205,61,140,174,230,235,139,46,69,42,217,160,62,80,232,126,108,109,211,249,92,230,235,244,189,82,54,223,43,5,248,94,121,141,190,71,229,154,136,84,82,14,70,223,174,239,209,107,156,39,84,18,207,235,40,216,247,176,0,223,191,182,89,60,190,22,225,104,134,61,227,74,194,196,179,61,166,166,255,174,153,22,7,191,178,227,46,89,40,208,58,102,252,184,203,212,35,178,174,97,202,161,148,41,86,138,91,136,235,72,109,148,224,208,216,165,53,127,114,105,65,249,154,51,35,60,163,202,159,207,116,96,138,106,145,239,152,16,153,254,219,20,177,225,175,44,159,110,92,126,171,178,119,122,126,121,54,254,245,98,56,110,255,54,108,247,187,173,243,71,190,88,9,149,228,207,208,112,133,101,255,134,224,43,147,132,223,126,201,117,227,246,12,79,116,115,41,40,254,221,209,164,179,84,114,141,46,184,211,232,130,34,186,202,21,93,104,187,209,133,118,26,93,72,68,87,153,162,171,177,221,158,177,177,211,158,177,33,122,198,114,69,87,115,187,209,213,220,105,116,53,69,116,149,45,186,224,118,163,11,238,52,186,196,184,171,84,209,117,184,221,220,117,184,211,220,117,40,114,87,105,162,235,142,47,250,152,70,120,68,9,204,248,130,236,7,130,53,226,86,249,247,99,135,151,23,231,236,152,184,169,62,3,83,221,32,192,193,174,23,158,193,73,255,175,99,67,255,155,100,61,76,55,208,69,14,85,138,109,198,135,207,120,101,214,196,46,149,28,84,102,44,60,246,47,222,168,96,105,161,194,188,161,162,210,66,69,249,67,85,74,11,85,201,27,106,189,180,80,235,121,67,109,148,22,106,35,95,168,74,105,219,170,146,119,91,85,74,219,86,149,124,219,42,42,109,191,138,114,237,87,25,214,107,123,194,207,104,107,172,14,104,109,100,122,143,132,63,179,249,254,76,202,201,171,141,111,63,164,173,177,161,178,71,232,248,213,95,189,253,146,118,38,247,242,28,253,213,113,228,107,199,237,195,228,117,188,25,59,190,77,87,215,192,105,241,215,100,168,112,221,243,221,133,202,22,242,52,160,97,31,111,231,92,238,37,202,181,215,243,82,142,95,143,62,25,144,4,21,109,29,42,204,31,42,122,208,171,177,15,8,108,124,86,96,187,80,209,54,188,138,30,244,106,113,80,183,226,85,84,74,168,40,87,168,119,225,129,255,33,81,67,89,143,241,196,158,167,95,19,218,161,120,142,62,157,222,130,91,226,83,64,252,139,135,172,116,97,217,19,138,134,221,3,212,232,139,1,73,19,6,241,14,133,105,34,115,117,54,135,243,210,81,65,31,69,100,172,253,209,221,144,236,214,13,81,12,5,21,195,204,203,186,219,44,18,151,164,253,81,206,109,98,141,189,107,201,69,172,13,103,97,41,157,7,11,251,26,241,203,114,94,57,155,30,172,9,231,101,112,94,73,155,30,20,206,123,220,121,168,148,190,67,133,125,230,250,69,57,79,41,165,243,20,49,96,201,226,188,122,41,157,87,47,236,139,231,47,202,121,141,82,58,175,241,172,87,125,95,157,243,154,165,116,94,83,18,3,150,12,206,59,44,165,243,14,69,203,203,226,188,163,82,58,79,12,87,50,184,238,184,148,174,59,22,174,123,192,117,193,90,76,176,89,136,109,148,185,251,127,173,79,218,45,179,102,1,0 -}; - -const std::vector& -dds::init_catalog_packages() noexcept { - using std::nullopt; - static auto pkgs = []{ - using namespace neo; - string_dynbuf_io str_out; - buffer_copy(str_out, - buffer_transform_source{ - buffers_consumer(as_buffer(INIT_PACKAGES_CONTENT)), - gzip_decompressor{inflate_decompressor{}}}, - 91827); - return dds::parse_packages_json(str_out.read_area_view()); - }(); - return pkgs; -} diff --git a/src/dds/catalog/init_catalog.hpp b/src/dds/catalog/init_catalog.hpp deleted file mode 100644 index 0b828e34..00000000 --- a/src/dds/catalog/init_catalog.hpp +++ /dev/null @@ -1,11 +0,0 @@ -#pragma once - -#include "./package_info.hpp" - -#include - -namespace dds { - -const std::vector& init_catalog_packages() noexcept; - -} // namespace dds \ No newline at end of file diff --git a/src/dds/catalog/package_info.hpp b/src/dds/catalog/package_info.hpp deleted file mode 100644 index 689b0cd2..00000000 --- a/src/dds/catalog/package_info.hpp +++ /dev/null @@ -1,25 +0,0 @@ -#pragma once - -#include "./remote/git.hpp" - -#include -#include -#include -#include - -#include -#include -#include -#include - -namespace dds { - -struct package_info { - package_id ident; - std::vector deps; - std::string description; - - std::variant remote; -}; - -} // namespace dds diff --git a/src/dds/catalog/remote/git.cpp b/src/dds/catalog/remote/git.cpp deleted file mode 100644 index baeb6664..00000000 --- a/src/dds/catalog/remote/git.cpp +++ /dev/null @@ -1,42 +0,0 @@ -#include "./git.hpp" - -#include -#include -#include - -#include - -void dds::git_remote_listing::pull_to(const dds::package_id& pid, dds::path_ref dest) const { - fs::remove_all(dest); - using namespace std::literals; - dds_log(info, "Clone Git repository [{}] (at {}) to [{}]", url, ref, dest.string()); - auto command = {"git"s, "clone"s, "--depth=1"s, "--branch"s, ref, url, dest.generic_string()}; - auto git_res = run_proc(command); - if (!git_res.okay()) { - throw_external_error( - "Git clone operation failed [Git command: {}] [Exitted {}]:\n{}", - quote_command(command), - git_res.retc, - git_res.output); - } - - for (const auto& tr : transforms) { - tr.apply_to(dest); - } - - if (auto_lib.has_value()) { - dds_log(info, "Generating library data automatically"); - - auto pkg_strm = dds::open(dest / "package.json5", std::ios::binary | std::ios::out); - auto man_json = nlohmann::json::object(); - man_json["name"] = pid.name; - man_json["version"] = pid.version.to_string(); - man_json["namespace"] = auto_lib->namespace_; - pkg_strm << nlohmann::to_string(man_json); - - auto lib_strm = dds::open(dest / "library.json5", std::ios::binary | std::ios::out); - auto lib_json = nlohmann::json::object(); - lib_json["name"] = auto_lib->name; - lib_strm << nlohmann::to_string(lib_json); - } -} diff --git a/src/dds/catalog/remote/git.hpp b/src/dds/catalog/remote/git.hpp deleted file mode 100644 index 172c0ad4..00000000 --- a/src/dds/catalog/remote/git.hpp +++ /dev/null @@ -1,24 +0,0 @@ -#pragma once - -#include -#include -#include - -#include - -#include -#include - -namespace dds { - -struct git_remote_listing { - std::string url; - std::string ref; - std::optional auto_lib; - - std::vector transforms; - - void pull_to(const package_id& pid, path_ref path) const; -}; - -} // namespace dds diff --git a/src/dds/catch2_embeddead.generated.cpp b/src/dds/catch2_embeddead.generated.cpp deleted file mode 100644 index 64e69821..00000000 --- a/src/dds/catch2_embeddead.generated.cpp +++ /dev/null @@ -1,11 +0,0 @@ - -#include "./catch2_embedded.hpp" - -namespace dds::detail { - -static const char bytes[] = { - '\x2f', '\x2a', '\x0d', '\x0a', '\x20', '\x2a', '\x20', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x76', '\x32', '\x2e', '\x31', '\x30', '\x2e', '\x32', '\x0d', '\x0a', '\x20', '\x2a', '\x20', '\x20', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x65', '\x64', '\x3a', '\x20', '\x32', '\x30', '\x31', '\x39', '\x2d', '\x31', '\x30', '\x2d', '\x32', '\x34', '\x20', '\x31', '\x37', '\x3a', '\x34', '\x39', '\x3a', '\x31', '\x31', '\x2e', '\x34', '\x35', '\x39', '\x39', '\x33', '\x34', '\x0d', '\x0a', '\x20', '\x2a', '\x20', '\x20', '\x2d', '\x2d', '\x2d', '\x2d', '\x2d', '\x2d', '\x2d', '\x2d', '\x2d', '\x2d', '\x2d', '\x2d', '\x2d', '\x2d', '\x2d', '\x2d', '\x2d', '\x2d', '\x2d', '\x2d', '\x2d', '\x2d', '\x2d', '\x2d', '\x2d', '\x2d', '\x2d', '\x2d', '\x2d', '\x2d', '\x2d', '\x2d', '\x2d', '\x2d', '\x2d', '\x2d', '\x2d', '\x2d', '\x2d', '\x2d', '\x2d', '\x2d', '\x2d', '\x2d', '\x2d', '\x2d', '\x2d', '\x2d', '\x2d', '\x2d', '\x2d', '\x2d', '\x2d', '\x2d', '\x2d', '\x2d', '\x2d', '\x2d', '\x0d', '\x0a', '\x20', '\x2a', '\x20', '\x20', '\x54', '\x68', '\x69', '\x73', '\x20', '\x66', '\x69', '\x6c', '\x65', '\x20', '\x68', '\x61', '\x73', '\x20', '\x62', '\x65', '\x65', '\x6e', '\x20', '\x6d', '\x65', '\x72', '\x67', '\x65', '\x64', '\x20', '\x66', '\x72', '\x6f', '\x6d', '\x20', '\x6d', '\x75', '\x6c', '\x74', '\x69', '\x70', '\x6c', '\x65', '\x20', '\x68', '\x65', '\x61', '\x64', '\x65', '\x72', '\x73', '\x2e', '\x20', '\x50', '\x6c', '\x65', '\x61', '\x73', '\x65', '\x20', '\x64', '\x6f', '\x6e', '\x27', '\x74', '\x20', '\x65', '\x64', '\x69', '\x74', '\x20', '\x69', '\x74', '\x20', '\x64', '\x69', '\x72', '\x65', '\x63', '\x74', '\x6c', '\x79', '\x0d', '\x0a', '\x20', '\x2a', '\x20', '\x20', '\x43', '\x6f', '\x70', '\x79', '\x72', '\x69', '\x67', '\x68', '\x74', '\x20', '\x28', '\x63', '\x29', '\x20', '\x32', '\x30', '\x31', '\x39', '\x20', '\x54', '\x77', '\x6f', '\x20', '\x42', '\x6c', '\x75', '\x65', '\x20', '\x43', '\x75', '\x62', '\x65', '\x73', '\x20', '\x4c', '\x74', '\x64', '\x2e', '\x20', '\x41', '\x6c', '\x6c', '\x20', '\x72', '\x69', '\x67', '\x68', '\x74', '\x73', '\x20', '\x72', '\x65', '\x73', '\x65', '\x72', '\x76', '\x65', '\x64', '\x2e', '\x0d', '\x0a', '\x20', '\x2a', '\x0d', '\x0a', '\x20', '\x2a', '\x20', '\x20', '\x44', '\x69', '\x73', '\x74', '\x72', '\x69', '\x62', '\x75', '\x74', '\x65', '\x64', '\x20', '\x75', '\x6e', '\x64', '\x65', '\x72', '\x20', '\x74', '\x68', '\x65', '\x20', '\x42', '\x6f', '\x6f', '\x73', '\x74', '\x20', '\x53', '\x6f', '\x66', '\x74', '\x77', '\x61', '\x72', '\x65', '\x20', '\x4c', '\x69', '\x63', '\x65', '\x6e', '\x73', '\x65', '\x2c', '\x20', '\x56', '\x65', '\x72', '\x73', '\x69', '\x6f', '\x6e', '\x20', '\x31', '\x2e', '\x30', '\x2e', '\x20', '\x28', '\x53', '\x65', '\x65', '\x20', '\x61', '\x63', '\x63', '\x6f', '\x6d', '\x70', '\x61', '\x6e', '\x79', '\x69', '\x6e', '\x67', '\x0d', '\x0a', '\x20', '\x2a', '\x20', '\x20', '\x66', '\x69', '\x6c', '\x65', '\x20', '\x4c', '\x49', '\x43', '\x45', '\x4e', '\x53', '\x45', '\x5f', '\x31', '\x5f', '\x30', '\x2e', '\x74', '\x78', '\x74', '\x20', '\x6f', '\x72', '\x20', '\x63', '\x6f', '\x70', '\x79', '\x20', '\x61', '\x74', '\x20', '\x68', '\x74', '\x74', '\x70', '\x3a', '\x2f', '\x2f', '\x77', '\x77', '\x77', '\x2e', '\x62', '\x6f', '\x6f', '\x73', '\x74', '\x2e', '\x6f', '\x72', '\x67', '\x2f', '\x4c', '\x49', '\x43', '\x45', '\x4e', '\x53', '\x45', '\x5f', '\x31', '\x5f', '\x30', '\x2e', '\x74', '\x78', '\x74', '\x29', '\x0d', '\x0a', '\x20', '\x2a', '\x2f', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x6e', '\x64', '\x65', '\x66', '\x20', '\x54', '\x57', '\x4f', '\x42', '\x4c', '\x55', '\x45', '\x43', '\x55', '\x42', '\x45', '\x53', '\x5f', '\x53', '\x49', '\x4e', '\x47', '\x4c', '\x45', '\x5f', '\x49', '\x4e', '\x43', '\x4c', '\x55', '\x44', '\x45', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x48', '\x50', '\x50', '\x5f', '\x49', '\x4e', '\x43', '\x4c', '\x55', '\x44', '\x45', '\x44', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x54', '\x57', '\x4f', '\x42', '\x4c', '\x55', '\x45', '\x43', '\x55', '\x42', '\x45', '\x53', '\x5f', '\x53', '\x49', '\x4e', '\x47', '\x4c', '\x45', '\x5f', '\x49', '\x4e', '\x43', '\x4c', '\x55', '\x44', '\x45', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x48', '\x50', '\x50', '\x5f', '\x49', '\x4e', '\x43', '\x4c', '\x55', '\x44', '\x45', '\x44', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x2e', '\x68', '\x70', '\x70', '\x0d', '\x0a', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x56', '\x45', '\x52', '\x53', '\x49', '\x4f', '\x4e', '\x5f', '\x4d', '\x41', '\x4a', '\x4f', '\x52', '\x20', '\x32', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x56', '\x45', '\x52', '\x53', '\x49', '\x4f', '\x4e', '\x5f', '\x4d', '\x49', '\x4e', '\x4f', '\x52', '\x20', '\x31', '\x30', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x56', '\x45', '\x52', '\x53', '\x49', '\x4f', '\x4e', '\x5f', '\x50', '\x41', '\x54', '\x43', '\x48', '\x20', '\x32', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x64', '\x65', '\x66', '\x20', '\x5f', '\x5f', '\x63', '\x6c', '\x61', '\x6e', '\x67', '\x5f', '\x5f', '\x0d', '\x0a', '\x23', '\x20', '\x20', '\x20', '\x20', '\x70', '\x72', '\x61', '\x67', '\x6d', '\x61', '\x20', '\x63', '\x6c', '\x61', '\x6e', '\x67', '\x20', '\x73', '\x79', '\x73', '\x74', '\x65', '\x6d', '\x5f', '\x68', '\x65', '\x61', '\x64', '\x65', '\x72', '\x0d', '\x0a', '\x23', '\x65', '\x6c', '\x69', '\x66', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x20', '\x5f', '\x5f', '\x47', '\x4e', '\x55', '\x43', '\x5f', '\x5f', '\x0d', '\x0a', '\x23', '\x20', '\x20', '\x20', '\x20', '\x70', '\x72', '\x61', '\x67', '\x6d', '\x61', '\x20', '\x47', '\x43', '\x43', '\x20', '\x73', '\x79', '\x73', '\x74', '\x65', '\x6d', '\x5f', '\x68', '\x65', '\x61', '\x64', '\x65', '\x72', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x73', '\x75', '\x70', '\x70', '\x72', '\x65', '\x73', '\x73', '\x5f', '\x77', '\x61', '\x72', '\x6e', '\x69', '\x6e', '\x67', '\x73', '\x2e', '\x68', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x64', '\x65', '\x66', '\x20', '\x5f', '\x5f', '\x63', '\x6c', '\x61', '\x6e', '\x67', '\x5f', '\x5f', '\x0d', '\x0a', '\x23', '\x20', '\x20', '\x20', '\x69', '\x66', '\x64', '\x65', '\x66', '\x20', '\x5f', '\x5f', '\x49', '\x43', '\x43', '\x20', '\x2f', '\x2f', '\x20', '\x69', '\x63', '\x70', '\x63', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x73', '\x20', '\x74', '\x68', '\x65', '\x20', '\x5f', '\x5f', '\x63', '\x6c', '\x61', '\x6e', '\x67', '\x5f', '\x5f', '\x20', '\x6d', '\x61', '\x63', '\x72', '\x6f', '\x0d', '\x0a', '\x23', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x72', '\x61', '\x67', '\x6d', '\x61', '\x20', '\x77', '\x61', '\x72', '\x6e', '\x69', '\x6e', '\x67', '\x28', '\x70', '\x75', '\x73', '\x68', '\x29', '\x0d', '\x0a', '\x23', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x72', '\x61', '\x67', '\x6d', '\x61', '\x20', '\x77', '\x61', '\x72', '\x6e', '\x69', '\x6e', '\x67', '\x28', '\x64', '\x69', '\x73', '\x61', '\x62', '\x6c', '\x65', '\x3a', '\x20', '\x31', '\x36', '\x31', '\x20', '\x31', '\x36', '\x38', '\x32', '\x29', '\x0d', '\x0a', '\x23', '\x20', '\x20', '\x20', '\x65', '\x6c', '\x73', '\x65', '\x20', '\x2f', '\x2f', '\x20', '\x5f', '\x5f', '\x49', '\x43', '\x43', '\x0d', '\x0a', '\x23', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x72', '\x61', '\x67', '\x6d', '\x61', '\x20', '\x63', '\x6c', '\x61', '\x6e', '\x67', '\x20', '\x64', '\x69', '\x61', '\x67', '\x6e', '\x6f', '\x73', '\x74', '\x69', '\x63', '\x20', '\x70', '\x75', '\x73', '\x68', '\x0d', '\x0a', '\x23', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x72', '\x61', '\x67', '\x6d', '\x61', '\x20', '\x63', '\x6c', '\x61', '\x6e', '\x67', '\x20', '\x64', '\x69', '\x61', '\x67', '\x6e', '\x6f', '\x73', '\x74', '\x69', '\x63', '\x20', '\x69', '\x67', '\x6e', '\x6f', '\x72', '\x65', '\x64', '\x20', '\x22', '\x2d', '\x57', '\x70', '\x61', '\x64', '\x64', '\x65', '\x64', '\x22', '\x0d', '\x0a', '\x23', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x72', '\x61', '\x67', '\x6d', '\x61', '\x20', '\x63', '\x6c', '\x61', '\x6e', '\x67', '\x20', '\x64', '\x69', '\x61', '\x67', '\x6e', '\x6f', '\x73', '\x74', '\x69', '\x63', '\x20', '\x69', '\x67', '\x6e', '\x6f', '\x72', '\x65', '\x64', '\x20', '\x22', '\x2d', '\x57', '\x73', '\x77', '\x69', '\x74', '\x63', '\x68', '\x2d', '\x65', '\x6e', '\x75', '\x6d', '\x22', '\x0d', '\x0a', '\x23', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x72', '\x61', '\x67', '\x6d', '\x61', '\x20', '\x63', '\x6c', '\x61', '\x6e', '\x67', '\x20', '\x64', '\x69', '\x61', '\x67', '\x6e', '\x6f', '\x73', '\x74', '\x69', '\x63', '\x20', '\x69', '\x67', '\x6e', '\x6f', '\x72', '\x65', '\x64', '\x20', '\x22', '\x2d', '\x57', '\x63', '\x6f', '\x76', '\x65', '\x72', '\x65', '\x64', '\x2d', '\x73', '\x77', '\x69', '\x74', '\x63', '\x68', '\x2d', '\x64', '\x65', '\x66', '\x61', '\x75', '\x6c', '\x74', '\x22', '\x0d', '\x0a', '\x23', '\x20', '\x20', '\x20', '\x20', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x23', '\x65', '\x6c', '\x69', '\x66', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x20', '\x5f', '\x5f', '\x47', '\x4e', '\x55', '\x43', '\x5f', '\x5f', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x42', '\x65', '\x63', '\x61', '\x75', '\x73', '\x65', '\x20', '\x52', '\x45', '\x51', '\x55', '\x49', '\x52', '\x45', '\x73', '\x20', '\x74', '\x72', '\x69', '\x67', '\x67', '\x65', '\x72', '\x20', '\x47', '\x43', '\x43', '\x27', '\x73', '\x20', '\x2d', '\x57', '\x70', '\x61', '\x72', '\x65', '\x6e', '\x74', '\x68', '\x65', '\x73', '\x65', '\x73', '\x2c', '\x20', '\x61', '\x6e', '\x64', '\x20', '\x62', '\x65', '\x63', '\x61', '\x75', '\x73', '\x65', '\x20', '\x73', '\x74', '\x69', '\x6c', '\x6c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x73', '\x75', '\x70', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x64', '\x20', '\x76', '\x65', '\x72', '\x73', '\x69', '\x6f', '\x6e', '\x20', '\x6f', '\x66', '\x20', '\x67', '\x2b', '\x2b', '\x20', '\x68', '\x61', '\x76', '\x65', '\x20', '\x6f', '\x6e', '\x6c', '\x79', '\x20', '\x62', '\x75', '\x67', '\x67', '\x79', '\x20', '\x73', '\x75', '\x70', '\x70', '\x6f', '\x72', '\x74', '\x20', '\x66', '\x6f', '\x72', '\x20', '\x5f', '\x50', '\x72', '\x61', '\x67', '\x6d', '\x61', '\x73', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x57', '\x70', '\x61', '\x72', '\x65', '\x6e', '\x74', '\x68', '\x65', '\x73', '\x65', '\x73', '\x20', '\x68', '\x61', '\x76', '\x65', '\x20', '\x74', '\x6f', '\x20', '\x62', '\x65', '\x20', '\x73', '\x75', '\x70', '\x70', '\x72', '\x65', '\x73', '\x73', '\x65', '\x64', '\x20', '\x67', '\x6c', '\x6f', '\x62', '\x61', '\x6c', '\x6c', '\x79', '\x2e', '\x0d', '\x0a', '\x23', '\x20', '\x20', '\x20', '\x20', '\x70', '\x72', '\x61', '\x67', '\x6d', '\x61', '\x20', '\x47', '\x43', '\x43', '\x20', '\x64', '\x69', '\x61', '\x67', '\x6e', '\x6f', '\x73', '\x74', '\x69', '\x63', '\x20', '\x69', '\x67', '\x6e', '\x6f', '\x72', '\x65', '\x64', '\x20', '\x22', '\x2d', '\x57', '\x70', '\x61', '\x72', '\x65', '\x6e', '\x74', '\x68', '\x65', '\x73', '\x65', '\x73', '\x22', '\x20', '\x2f', '\x2f', '\x20', '\x53', '\x65', '\x65', '\x20', '\x23', '\x36', '\x37', '\x34', '\x20', '\x66', '\x6f', '\x72', '\x20', '\x64', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x73', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x20', '\x20', '\x20', '\x20', '\x70', '\x72', '\x61', '\x67', '\x6d', '\x61', '\x20', '\x47', '\x43', '\x43', '\x20', '\x64', '\x69', '\x61', '\x67', '\x6e', '\x6f', '\x73', '\x74', '\x69', '\x63', '\x20', '\x70', '\x75', '\x73', '\x68', '\x0d', '\x0a', '\x23', '\x20', '\x20', '\x20', '\x20', '\x70', '\x72', '\x61', '\x67', '\x6d', '\x61', '\x20', '\x47', '\x43', '\x43', '\x20', '\x64', '\x69', '\x61', '\x67', '\x6e', '\x6f', '\x73', '\x74', '\x69', '\x63', '\x20', '\x69', '\x67', '\x6e', '\x6f', '\x72', '\x65', '\x64', '\x20', '\x22', '\x2d', '\x57', '\x75', '\x6e', '\x75', '\x73', '\x65', '\x64', '\x2d', '\x76', '\x61', '\x72', '\x69', '\x61', '\x62', '\x6c', '\x65', '\x22', '\x0d', '\x0a', '\x23', '\x20', '\x20', '\x20', '\x20', '\x70', '\x72', '\x61', '\x67', '\x6d', '\x61', '\x20', '\x47', '\x43', '\x43', '\x20', '\x64', '\x69', '\x61', '\x67', '\x6e', '\x6f', '\x73', '\x74', '\x69', '\x63', '\x20', '\x69', '\x67', '\x6e', '\x6f', '\x72', '\x65', '\x64', '\x20', '\x22', '\x2d', '\x57', '\x70', '\x61', '\x64', '\x64', '\x65', '\x64', '\x22', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x73', '\x75', '\x70', '\x70', '\x72', '\x65', '\x73', '\x73', '\x5f', '\x77', '\x61', '\x72', '\x6e', '\x69', '\x6e', '\x67', '\x73', '\x2e', '\x68', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x4d', '\x41', '\x49', '\x4e', '\x29', '\x20', '\x7c', '\x7c', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x52', '\x55', '\x4e', '\x4e', '\x45', '\x52', '\x29', '\x0d', '\x0a', '\x23', '\x20', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4d', '\x50', '\x4c', '\x0d', '\x0a', '\x23', '\x20', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x41', '\x4c', '\x4c', '\x5f', '\x50', '\x41', '\x52', '\x54', '\x53', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x49', '\x6e', '\x20', '\x74', '\x68', '\x65', '\x20', '\x69', '\x6d', '\x70', '\x6c', '\x20', '\x66', '\x69', '\x6c', '\x65', '\x2c', '\x20', '\x77', '\x65', '\x20', '\x77', '\x61', '\x6e', '\x74', '\x20', '\x74', '\x6f', '\x20', '\x68', '\x61', '\x76', '\x65', '\x20', '\x61', '\x63', '\x63', '\x65', '\x73', '\x73', '\x20', '\x74', '\x6f', '\x20', '\x61', '\x6c', '\x6c', '\x20', '\x70', '\x61', '\x72', '\x74', '\x73', '\x20', '\x6f', '\x66', '\x20', '\x74', '\x68', '\x65', '\x20', '\x68', '\x65', '\x61', '\x64', '\x65', '\x72', '\x73', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x43', '\x61', '\x6e', '\x20', '\x61', '\x6c', '\x73', '\x6f', '\x20', '\x62', '\x65', '\x20', '\x75', '\x73', '\x65', '\x64', '\x20', '\x74', '\x6f', '\x20', '\x73', '\x61', '\x6e', '\x65', '\x6c', '\x79', '\x20', '\x73', '\x75', '\x70', '\x70', '\x6f', '\x72', '\x74', '\x20', '\x50', '\x43', '\x48', '\x73', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x41', '\x4c', '\x4c', '\x5f', '\x50', '\x41', '\x52', '\x54', '\x53', '\x29', '\x0d', '\x0a', '\x23', '\x20', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x45', '\x58', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x46', '\x41', '\x43', '\x45', '\x53', '\x0d', '\x0a', '\x23', '\x20', '\x20', '\x69', '\x66', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x44', '\x49', '\x53', '\x41', '\x42', '\x4c', '\x45', '\x5f', '\x4d', '\x41', '\x54', '\x43', '\x48', '\x45', '\x52', '\x53', '\x29', '\x0d', '\x0a', '\x23', '\x20', '\x20', '\x20', '\x20', '\x75', '\x6e', '\x64', '\x65', '\x66', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x44', '\x49', '\x53', '\x41', '\x42', '\x4c', '\x45', '\x5f', '\x4d', '\x41', '\x54', '\x43', '\x48', '\x45', '\x52', '\x53', '\x0d', '\x0a', '\x23', '\x20', '\x20', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x23', '\x20', '\x20', '\x69', '\x66', '\x20', '\x21', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x45', '\x4e', '\x41', '\x42', '\x4c', '\x45', '\x5f', '\x43', '\x48', '\x52', '\x4f', '\x4e', '\x4f', '\x5f', '\x53', '\x54', '\x52', '\x49', '\x4e', '\x47', '\x4d', '\x41', '\x4b', '\x45', '\x52', '\x29', '\x0d', '\x0a', '\x23', '\x20', '\x20', '\x20', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x45', '\x4e', '\x41', '\x42', '\x4c', '\x45', '\x5f', '\x43', '\x48', '\x52', '\x4f', '\x4e', '\x4f', '\x5f', '\x53', '\x54', '\x52', '\x49', '\x4e', '\x47', '\x4d', '\x41', '\x4b', '\x45', '\x52', '\x0d', '\x0a', '\x23', '\x20', '\x20', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x20', '\x21', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x49', '\x4d', '\x50', '\x4c', '\x5f', '\x4f', '\x4e', '\x4c', '\x59', '\x29', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x70', '\x6c', '\x61', '\x74', '\x66', '\x6f', '\x72', '\x6d', '\x2e', '\x68', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x64', '\x65', '\x66', '\x20', '\x5f', '\x5f', '\x41', '\x50', '\x50', '\x4c', '\x45', '\x5f', '\x5f', '\x0d', '\x0a', '\x23', '\x20', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x54', '\x61', '\x72', '\x67', '\x65', '\x74', '\x43', '\x6f', '\x6e', '\x64', '\x69', '\x74', '\x69', '\x6f', '\x6e', '\x61', '\x6c', '\x73', '\x2e', '\x68', '\x3e', '\x0d', '\x0a', '\x23', '\x20', '\x69', '\x66', '\x20', '\x54', '\x41', '\x52', '\x47', '\x45', '\x54', '\x5f', '\x4f', '\x53', '\x5f', '\x4f', '\x53', '\x58', '\x20', '\x3d', '\x3d', '\x20', '\x31', '\x0d', '\x0a', '\x23', '\x20', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x50', '\x4c', '\x41', '\x54', '\x46', '\x4f', '\x52', '\x4d', '\x5f', '\x4d', '\x41', '\x43', '\x0d', '\x0a', '\x23', '\x20', '\x65', '\x6c', '\x69', '\x66', '\x20', '\x54', '\x41', '\x52', '\x47', '\x45', '\x54', '\x5f', '\x4f', '\x53', '\x5f', '\x49', '\x50', '\x48', '\x4f', '\x4e', '\x45', '\x20', '\x3d', '\x3d', '\x20', '\x31', '\x0d', '\x0a', '\x23', '\x20', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x50', '\x4c', '\x41', '\x54', '\x46', '\x4f', '\x52', '\x4d', '\x5f', '\x49', '\x50', '\x48', '\x4f', '\x4e', '\x45', '\x0d', '\x0a', '\x23', '\x20', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x65', '\x6c', '\x69', '\x66', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x6c', '\x69', '\x6e', '\x75', '\x78', '\x29', '\x20', '\x7c', '\x7c', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x5f', '\x5f', '\x6c', '\x69', '\x6e', '\x75', '\x78', '\x29', '\x20', '\x7c', '\x7c', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x5f', '\x5f', '\x6c', '\x69', '\x6e', '\x75', '\x78', '\x5f', '\x5f', '\x29', '\x0d', '\x0a', '\x23', '\x20', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x50', '\x4c', '\x41', '\x54', '\x46', '\x4f', '\x52', '\x4d', '\x5f', '\x4c', '\x49', '\x4e', '\x55', '\x58', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x65', '\x6c', '\x69', '\x66', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x57', '\x49', '\x4e', '\x33', '\x32', '\x29', '\x20', '\x7c', '\x7c', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x5f', '\x5f', '\x57', '\x49', '\x4e', '\x33', '\x32', '\x5f', '\x5f', '\x29', '\x20', '\x7c', '\x7c', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x5f', '\x57', '\x49', '\x4e', '\x33', '\x32', '\x29', '\x20', '\x7c', '\x7c', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x5f', '\x4d', '\x53', '\x43', '\x5f', '\x56', '\x45', '\x52', '\x29', '\x20', '\x7c', '\x7c', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x5f', '\x5f', '\x4d', '\x49', '\x4e', '\x47', '\x57', '\x33', '\x32', '\x5f', '\x5f', '\x29', '\x0d', '\x0a', '\x23', '\x20', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x50', '\x4c', '\x41', '\x54', '\x46', '\x4f', '\x52', '\x4d', '\x5f', '\x57', '\x49', '\x4e', '\x44', '\x4f', '\x57', '\x53', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x70', '\x6c', '\x61', '\x74', '\x66', '\x6f', '\x72', '\x6d', '\x2e', '\x68', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x64', '\x65', '\x66', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4d', '\x50', '\x4c', '\x0d', '\x0a', '\x23', '\x20', '\x20', '\x69', '\x66', '\x6e', '\x64', '\x65', '\x66', '\x20', '\x43', '\x4c', '\x41', '\x52', '\x41', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x4d', '\x41', '\x49', '\x4e', '\x0d', '\x0a', '\x23', '\x20', '\x20', '\x20', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x4c', '\x41', '\x52', '\x41', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x4d', '\x41', '\x49', '\x4e', '\x5f', '\x4e', '\x4f', '\x54', '\x5f', '\x44', '\x45', '\x46', '\x49', '\x4e', '\x45', '\x44', '\x0d', '\x0a', '\x23', '\x20', '\x20', '\x20', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x4c', '\x41', '\x52', '\x41', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x4d', '\x41', '\x49', '\x4e', '\x0d', '\x0a', '\x23', '\x20', '\x20', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x75', '\x73', '\x65', '\x72', '\x5f', '\x69', '\x6e', '\x74', '\x65', '\x72', '\x66', '\x61', '\x63', '\x65', '\x73', '\x2e', '\x68', '\x0d', '\x0a', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x75', '\x6e', '\x73', '\x69', '\x67', '\x6e', '\x65', '\x64', '\x20', '\x69', '\x6e', '\x74', '\x20', '\x72', '\x6e', '\x67', '\x53', '\x65', '\x65', '\x64', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x75', '\x73', '\x65', '\x72', '\x5f', '\x69', '\x6e', '\x74', '\x65', '\x72', '\x66', '\x61', '\x63', '\x65', '\x73', '\x2e', '\x68', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x74', '\x61', '\x67', '\x5f', '\x61', '\x6c', '\x69', '\x61', '\x73', '\x5f', '\x61', '\x75', '\x74', '\x6f', '\x72', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x61', '\x72', '\x2e', '\x68', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x63', '\x6f', '\x6d', '\x6d', '\x6f', '\x6e', '\x2e', '\x68', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x63', '\x6f', '\x6d', '\x70', '\x69', '\x6c', '\x65', '\x72', '\x5f', '\x63', '\x61', '\x70', '\x61', '\x62', '\x69', '\x6c', '\x69', '\x74', '\x69', '\x65', '\x73', '\x2e', '\x68', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x44', '\x65', '\x74', '\x65', '\x63', '\x74', '\x20', '\x61', '\x20', '\x6e', '\x75', '\x6d', '\x62', '\x65', '\x72', '\x20', '\x6f', '\x66', '\x20', '\x63', '\x6f', '\x6d', '\x70', '\x69', '\x6c', '\x65', '\x72', '\x20', '\x66', '\x65', '\x61', '\x74', '\x75', '\x72', '\x65', '\x73', '\x20', '\x2d', '\x20', '\x62', '\x79', '\x20', '\x63', '\x6f', '\x6d', '\x70', '\x69', '\x6c', '\x65', '\x72', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x54', '\x68', '\x65', '\x20', '\x66', '\x6f', '\x6c', '\x6c', '\x6f', '\x77', '\x69', '\x6e', '\x67', '\x20', '\x66', '\x65', '\x61', '\x74', '\x75', '\x72', '\x65', '\x73', '\x20', '\x61', '\x72', '\x65', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x3a', '\x0d', '\x0a', '\x2f', '\x2f', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x43', '\x4f', '\x55', '\x4e', '\x54', '\x45', '\x52', '\x20', '\x3a', '\x20', '\x69', '\x73', '\x20', '\x74', '\x68', '\x65', '\x20', '\x5f', '\x5f', '\x43', '\x4f', '\x55', '\x4e', '\x54', '\x45', '\x52', '\x5f', '\x5f', '\x20', '\x6d', '\x61', '\x63', '\x72', '\x6f', '\x20', '\x73', '\x75', '\x70', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x64', '\x3f', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x57', '\x49', '\x4e', '\x44', '\x4f', '\x57', '\x53', '\x5f', '\x53', '\x45', '\x48', '\x20', '\x3a', '\x20', '\x69', '\x73', '\x20', '\x57', '\x69', '\x6e', '\x64', '\x6f', '\x77', '\x73', '\x20', '\x53', '\x45', '\x48', '\x20', '\x73', '\x75', '\x70', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x64', '\x3f', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x50', '\x4f', '\x53', '\x49', '\x58', '\x5f', '\x53', '\x49', '\x47', '\x4e', '\x41', '\x4c', '\x53', '\x20', '\x3a', '\x20', '\x61', '\x72', '\x65', '\x20', '\x50', '\x4f', '\x53', '\x49', '\x58', '\x20', '\x73', '\x69', '\x67', '\x6e', '\x61', '\x6c', '\x73', '\x20', '\x73', '\x75', '\x70', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x64', '\x3f', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x44', '\x49', '\x53', '\x41', '\x42', '\x4c', '\x45', '\x5f', '\x45', '\x58', '\x43', '\x45', '\x50', '\x54', '\x49', '\x4f', '\x4e', '\x53', '\x20', '\x3a', '\x20', '\x41', '\x72', '\x65', '\x20', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x20', '\x65', '\x6e', '\x61', '\x62', '\x6c', '\x65', '\x64', '\x3f', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x2a', '\x2a', '\x2a', '\x2a', '\x2a', '\x2a', '\x2a', '\x2a', '\x2a', '\x2a', '\x2a', '\x2a', '\x2a', '\x2a', '\x2a', '\x2a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x4e', '\x6f', '\x74', '\x65', '\x20', '\x74', '\x6f', '\x20', '\x6d', '\x61', '\x69', '\x6e', '\x74', '\x61', '\x69', '\x6e', '\x65', '\x72', '\x73', '\x3a', '\x20', '\x69', '\x66', '\x20', '\x6e', '\x65', '\x77', '\x20', '\x74', '\x6f', '\x67', '\x67', '\x6c', '\x65', '\x73', '\x20', '\x61', '\x72', '\x65', '\x20', '\x61', '\x64', '\x64', '\x65', '\x64', '\x20', '\x70', '\x6c', '\x65', '\x61', '\x73', '\x65', '\x20', '\x64', '\x6f', '\x63', '\x75', '\x6d', '\x65', '\x6e', '\x74', '\x20', '\x74', '\x68', '\x65', '\x6d', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x69', '\x6e', '\x20', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x2e', '\x6d', '\x64', '\x2c', '\x20', '\x74', '\x6f', '\x6f', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x2a', '\x2a', '\x2a', '\x2a', '\x2a', '\x2a', '\x2a', '\x2a', '\x2a', '\x2a', '\x2a', '\x2a', '\x2a', '\x2a', '\x2a', '\x2a', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x49', '\x6e', '\x20', '\x67', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x6c', '\x20', '\x65', '\x61', '\x63', '\x68', '\x20', '\x6d', '\x61', '\x63', '\x72', '\x6f', '\x20', '\x68', '\x61', '\x73', '\x20', '\x61', '\x20', '\x5f', '\x4e', '\x4f', '\x5f', '\x3c', '\x66', '\x65', '\x61', '\x74', '\x75', '\x72', '\x65', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x3e', '\x20', '\x66', '\x6f', '\x72', '\x6d', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x28', '\x65', '\x2e', '\x67', '\x2e', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x4e', '\x4f', '\x5f', '\x50', '\x4f', '\x53', '\x49', '\x58', '\x5f', '\x53', '\x49', '\x47', '\x4e', '\x41', '\x4c', '\x53', '\x29', '\x20', '\x77', '\x68', '\x69', '\x63', '\x68', '\x20', '\x64', '\x69', '\x73', '\x61', '\x62', '\x6c', '\x65', '\x73', '\x20', '\x74', '\x68', '\x65', '\x20', '\x66', '\x65', '\x61', '\x74', '\x75', '\x72', '\x65', '\x2e', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x4d', '\x61', '\x6e', '\x79', '\x20', '\x66', '\x65', '\x61', '\x74', '\x75', '\x72', '\x65', '\x73', '\x2c', '\x20', '\x61', '\x74', '\x20', '\x70', '\x6f', '\x69', '\x6e', '\x74', '\x20', '\x6f', '\x66', '\x20', '\x64', '\x65', '\x74', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x2c', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x61', '\x6e', '\x20', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x20', '\x6d', '\x61', '\x63', '\x72', '\x6f', '\x2c', '\x20', '\x73', '\x6f', '\x20', '\x74', '\x68', '\x65', '\x79', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x63', '\x61', '\x6e', '\x20', '\x62', '\x65', '\x20', '\x63', '\x6f', '\x6d', '\x62', '\x69', '\x6e', '\x65', '\x64', '\x2c', '\x20', '\x65', '\x6e', '\x2d', '\x6d', '\x61', '\x73', '\x73', '\x2c', '\x20', '\x77', '\x69', '\x74', '\x68', '\x20', '\x74', '\x68', '\x65', '\x20', '\x5f', '\x4e', '\x4f', '\x5f', '\x20', '\x66', '\x6f', '\x72', '\x6d', '\x73', '\x20', '\x6c', '\x61', '\x74', '\x65', '\x72', '\x2e', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x64', '\x65', '\x66', '\x20', '\x5f', '\x5f', '\x63', '\x70', '\x6c', '\x75', '\x73', '\x70', '\x6c', '\x75', '\x73', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x5f', '\x5f', '\x63', '\x70', '\x6c', '\x75', '\x73', '\x70', '\x6c', '\x75', '\x73', '\x20', '\x3e', '\x3d', '\x20', '\x32', '\x30', '\x31', '\x34', '\x30', '\x32', '\x4c', '\x29', '\x20', '\x7c', '\x7c', '\x20', '\x28', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x5f', '\x4d', '\x53', '\x56', '\x43', '\x5f', '\x4c', '\x41', '\x4e', '\x47', '\x29', '\x20', '\x26', '\x26', '\x20', '\x5f', '\x4d', '\x53', '\x56', '\x43', '\x5f', '\x4c', '\x41', '\x4e', '\x47', '\x20', '\x3e', '\x3d', '\x20', '\x32', '\x30', '\x31', '\x34', '\x30', '\x32', '\x4c', '\x29', '\x0d', '\x0a', '\x23', '\x20', '\x20', '\x20', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x50', '\x50', '\x31', '\x34', '\x5f', '\x4f', '\x52', '\x5f', '\x47', '\x52', '\x45', '\x41', '\x54', '\x45', '\x52', '\x0d', '\x0a', '\x23', '\x20', '\x20', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x5f', '\x5f', '\x63', '\x70', '\x6c', '\x75', '\x73', '\x70', '\x6c', '\x75', '\x73', '\x20', '\x3e', '\x3d', '\x20', '\x32', '\x30', '\x31', '\x37', '\x30', '\x33', '\x4c', '\x29', '\x20', '\x7c', '\x7c', '\x20', '\x28', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x5f', '\x4d', '\x53', '\x56', '\x43', '\x5f', '\x4c', '\x41', '\x4e', '\x47', '\x29', '\x20', '\x26', '\x26', '\x20', '\x5f', '\x4d', '\x53', '\x56', '\x43', '\x5f', '\x4c', '\x41', '\x4e', '\x47', '\x20', '\x3e', '\x3d', '\x20', '\x32', '\x30', '\x31', '\x37', '\x30', '\x33', '\x4c', '\x29', '\x0d', '\x0a', '\x23', '\x20', '\x20', '\x20', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x50', '\x50', '\x31', '\x37', '\x5f', '\x4f', '\x52', '\x5f', '\x47', '\x52', '\x45', '\x41', '\x54', '\x45', '\x52', '\x0d', '\x0a', '\x23', '\x20', '\x20', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x50', '\x50', '\x31', '\x37', '\x5f', '\x4f', '\x52', '\x5f', '\x47', '\x52', '\x45', '\x41', '\x54', '\x45', '\x52', '\x29', '\x0d', '\x0a', '\x23', '\x20', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x43', '\x50', '\x50', '\x31', '\x37', '\x5f', '\x55', '\x4e', '\x43', '\x41', '\x55', '\x47', '\x48', '\x54', '\x5f', '\x45', '\x58', '\x43', '\x45', '\x50', '\x54', '\x49', '\x4f', '\x4e', '\x53', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x64', '\x65', '\x66', '\x20', '\x5f', '\x5f', '\x63', '\x6c', '\x61', '\x6e', '\x67', '\x5f', '\x5f', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x53', '\x55', '\x50', '\x50', '\x52', '\x45', '\x53', '\x53', '\x5f', '\x47', '\x4c', '\x4f', '\x42', '\x41', '\x4c', '\x53', '\x5f', '\x57', '\x41', '\x52', '\x4e', '\x49', '\x4e', '\x47', '\x53', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x5f', '\x50', '\x72', '\x61', '\x67', '\x6d', '\x61', '\x28', '\x20', '\x22', '\x63', '\x6c', '\x61', '\x6e', '\x67', '\x20', '\x64', '\x69', '\x61', '\x67', '\x6e', '\x6f', '\x73', '\x74', '\x69', '\x63', '\x20', '\x70', '\x75', '\x73', '\x68', '\x22', '\x20', '\x29', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x5f', '\x50', '\x72', '\x61', '\x67', '\x6d', '\x61', '\x28', '\x20', '\x22', '\x63', '\x6c', '\x61', '\x6e', '\x67', '\x20', '\x64', '\x69', '\x61', '\x67', '\x6e', '\x6f', '\x73', '\x74', '\x69', '\x63', '\x20', '\x69', '\x67', '\x6e', '\x6f', '\x72', '\x65', '\x64', '\x20', '\x5c', '\x22', '\x2d', '\x57', '\x65', '\x78', '\x69', '\x74', '\x2d', '\x74', '\x69', '\x6d', '\x65', '\x2d', '\x64', '\x65', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x6f', '\x72', '\x73', '\x5c', '\x22', '\x22', '\x20', '\x29', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x5f', '\x50', '\x72', '\x61', '\x67', '\x6d', '\x61', '\x28', '\x20', '\x22', '\x63', '\x6c', '\x61', '\x6e', '\x67', '\x20', '\x64', '\x69', '\x61', '\x67', '\x6e', '\x6f', '\x73', '\x74', '\x69', '\x63', '\x20', '\x69', '\x67', '\x6e', '\x6f', '\x72', '\x65', '\x64', '\x20', '\x5c', '\x22', '\x2d', '\x57', '\x67', '\x6c', '\x6f', '\x62', '\x61', '\x6c', '\x2d', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x6f', '\x72', '\x73', '\x5c', '\x22', '\x22', '\x29', '\x0d', '\x0a', '\x23', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x55', '\x4e', '\x53', '\x55', '\x50', '\x50', '\x52', '\x45', '\x53', '\x53', '\x5f', '\x47', '\x4c', '\x4f', '\x42', '\x41', '\x4c', '\x53', '\x5f', '\x57', '\x41', '\x52', '\x4e', '\x49', '\x4e', '\x47', '\x53', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x5f', '\x50', '\x72', '\x61', '\x67', '\x6d', '\x61', '\x28', '\x20', '\x22', '\x63', '\x6c', '\x61', '\x6e', '\x67', '\x20', '\x64', '\x69', '\x61', '\x67', '\x6e', '\x6f', '\x73', '\x74', '\x69', '\x63', '\x20', '\x70', '\x6f', '\x70', '\x22', '\x20', '\x29', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x53', '\x55', '\x50', '\x50', '\x52', '\x45', '\x53', '\x53', '\x5f', '\x50', '\x41', '\x52', '\x45', '\x4e', '\x54', '\x48', '\x45', '\x53', '\x45', '\x53', '\x5f', '\x57', '\x41', '\x52', '\x4e', '\x49', '\x4e', '\x47', '\x53', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x5f', '\x50', '\x72', '\x61', '\x67', '\x6d', '\x61', '\x28', '\x20', '\x22', '\x63', '\x6c', '\x61', '\x6e', '\x67', '\x20', '\x64', '\x69', '\x61', '\x67', '\x6e', '\x6f', '\x73', '\x74', '\x69', '\x63', '\x20', '\x70', '\x75', '\x73', '\x68', '\x22', '\x20', '\x29', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x5f', '\x50', '\x72', '\x61', '\x67', '\x6d', '\x61', '\x28', '\x20', '\x22', '\x63', '\x6c', '\x61', '\x6e', '\x67', '\x20', '\x64', '\x69', '\x61', '\x67', '\x6e', '\x6f', '\x73', '\x74', '\x69', '\x63', '\x20', '\x69', '\x67', '\x6e', '\x6f', '\x72', '\x65', '\x64', '\x20', '\x5c', '\x22', '\x2d', '\x57', '\x70', '\x61', '\x72', '\x65', '\x6e', '\x74', '\x68', '\x65', '\x73', '\x65', '\x73', '\x5c', '\x22', '\x22', '\x20', '\x29', '\x0d', '\x0a', '\x23', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x55', '\x4e', '\x53', '\x55', '\x50', '\x50', '\x52', '\x45', '\x53', '\x53', '\x5f', '\x50', '\x41', '\x52', '\x45', '\x4e', '\x54', '\x48', '\x45', '\x53', '\x45', '\x53', '\x5f', '\x57', '\x41', '\x52', '\x4e', '\x49', '\x4e', '\x47', '\x53', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x5f', '\x50', '\x72', '\x61', '\x67', '\x6d', '\x61', '\x28', '\x20', '\x22', '\x63', '\x6c', '\x61', '\x6e', '\x67', '\x20', '\x64', '\x69', '\x61', '\x67', '\x6e', '\x6f', '\x73', '\x74', '\x69', '\x63', '\x20', '\x70', '\x6f', '\x70', '\x22', '\x20', '\x29', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x53', '\x55', '\x50', '\x50', '\x52', '\x45', '\x53', '\x53', '\x5f', '\x55', '\x4e', '\x55', '\x53', '\x45', '\x44', '\x5f', '\x57', '\x41', '\x52', '\x4e', '\x49', '\x4e', '\x47', '\x53', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x5f', '\x50', '\x72', '\x61', '\x67', '\x6d', '\x61', '\x28', '\x20', '\x22', '\x63', '\x6c', '\x61', '\x6e', '\x67', '\x20', '\x64', '\x69', '\x61', '\x67', '\x6e', '\x6f', '\x73', '\x74', '\x69', '\x63', '\x20', '\x70', '\x75', '\x73', '\x68', '\x22', '\x20', '\x29', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x5f', '\x50', '\x72', '\x61', '\x67', '\x6d', '\x61', '\x28', '\x20', '\x22', '\x63', '\x6c', '\x61', '\x6e', '\x67', '\x20', '\x64', '\x69', '\x61', '\x67', '\x6e', '\x6f', '\x73', '\x74', '\x69', '\x63', '\x20', '\x69', '\x67', '\x6e', '\x6f', '\x72', '\x65', '\x64', '\x20', '\x5c', '\x22', '\x2d', '\x57', '\x75', '\x6e', '\x75', '\x73', '\x65', '\x64', '\x2d', '\x76', '\x61', '\x72', '\x69', '\x61', '\x62', '\x6c', '\x65', '\x5c', '\x22', '\x22', '\x20', '\x29', '\x0d', '\x0a', '\x23', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x55', '\x4e', '\x53', '\x55', '\x50', '\x50', '\x52', '\x45', '\x53', '\x53', '\x5f', '\x55', '\x4e', '\x55', '\x53', '\x45', '\x44', '\x5f', '\x57', '\x41', '\x52', '\x4e', '\x49', '\x4e', '\x47', '\x53', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x5f', '\x50', '\x72', '\x61', '\x67', '\x6d', '\x61', '\x28', '\x20', '\x22', '\x63', '\x6c', '\x61', '\x6e', '\x67', '\x20', '\x64', '\x69', '\x61', '\x67', '\x6e', '\x6f', '\x73', '\x74', '\x69', '\x63', '\x20', '\x70', '\x6f', '\x70', '\x22', '\x20', '\x29', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x53', '\x55', '\x50', '\x50', '\x52', '\x45', '\x53', '\x53', '\x5f', '\x5a', '\x45', '\x52', '\x4f', '\x5f', '\x56', '\x41', '\x52', '\x49', '\x41', '\x44', '\x49', '\x43', '\x5f', '\x57', '\x41', '\x52', '\x4e', '\x49', '\x4e', '\x47', '\x53', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x5f', '\x50', '\x72', '\x61', '\x67', '\x6d', '\x61', '\x28', '\x20', '\x22', '\x63', '\x6c', '\x61', '\x6e', '\x67', '\x20', '\x64', '\x69', '\x61', '\x67', '\x6e', '\x6f', '\x73', '\x74', '\x69', '\x63', '\x20', '\x70', '\x75', '\x73', '\x68', '\x22', '\x20', '\x29', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x5f', '\x50', '\x72', '\x61', '\x67', '\x6d', '\x61', '\x28', '\x20', '\x22', '\x63', '\x6c', '\x61', '\x6e', '\x67', '\x20', '\x64', '\x69', '\x61', '\x67', '\x6e', '\x6f', '\x73', '\x74', '\x69', '\x63', '\x20', '\x69', '\x67', '\x6e', '\x6f', '\x72', '\x65', '\x64', '\x20', '\x5c', '\x22', '\x2d', '\x57', '\x67', '\x6e', '\x75', '\x2d', '\x7a', '\x65', '\x72', '\x6f', '\x2d', '\x76', '\x61', '\x72', '\x69', '\x61', '\x64', '\x69', '\x63', '\x2d', '\x6d', '\x61', '\x63', '\x72', '\x6f', '\x2d', '\x61', '\x72', '\x67', '\x75', '\x6d', '\x65', '\x6e', '\x74', '\x73', '\x5c', '\x22', '\x22', '\x20', '\x29', '\x0d', '\x0a', '\x23', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x55', '\x4e', '\x53', '\x55', '\x50', '\x50', '\x52', '\x45', '\x53', '\x53', '\x5f', '\x5a', '\x45', '\x52', '\x4f', '\x5f', '\x56', '\x41', '\x52', '\x49', '\x41', '\x44', '\x49', '\x43', '\x5f', '\x57', '\x41', '\x52', '\x4e', '\x49', '\x4e', '\x47', '\x53', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x5f', '\x50', '\x72', '\x61', '\x67', '\x6d', '\x61', '\x28', '\x20', '\x22', '\x63', '\x6c', '\x61', '\x6e', '\x67', '\x20', '\x64', '\x69', '\x61', '\x67', '\x6e', '\x6f', '\x73', '\x74', '\x69', '\x63', '\x20', '\x70', '\x6f', '\x70', '\x22', '\x20', '\x29', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x53', '\x55', '\x50', '\x50', '\x52', '\x45', '\x53', '\x53', '\x5f', '\x55', '\x4e', '\x55', '\x53', '\x45', '\x44', '\x5f', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x57', '\x41', '\x52', '\x4e', '\x49', '\x4e', '\x47', '\x53', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x5f', '\x50', '\x72', '\x61', '\x67', '\x6d', '\x61', '\x28', '\x20', '\x22', '\x63', '\x6c', '\x61', '\x6e', '\x67', '\x20', '\x64', '\x69', '\x61', '\x67', '\x6e', '\x6f', '\x73', '\x74', '\x69', '\x63', '\x20', '\x70', '\x75', '\x73', '\x68', '\x22', '\x20', '\x29', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x5f', '\x50', '\x72', '\x61', '\x67', '\x6d', '\x61', '\x28', '\x20', '\x22', '\x63', '\x6c', '\x61', '\x6e', '\x67', '\x20', '\x64', '\x69', '\x61', '\x67', '\x6e', '\x6f', '\x73', '\x74', '\x69', '\x63', '\x20', '\x69', '\x67', '\x6e', '\x6f', '\x72', '\x65', '\x64', '\x20', '\x5c', '\x22', '\x2d', '\x57', '\x75', '\x6e', '\x75', '\x73', '\x65', '\x64', '\x2d', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x5c', '\x22', '\x22', '\x20', '\x29', '\x0d', '\x0a', '\x23', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x55', '\x4e', '\x53', '\x55', '\x50', '\x50', '\x52', '\x45', '\x53', '\x53', '\x5f', '\x55', '\x4e', '\x55', '\x53', '\x45', '\x44', '\x5f', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x57', '\x41', '\x52', '\x4e', '\x49', '\x4e', '\x47', '\x53', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x5f', '\x50', '\x72', '\x61', '\x67', '\x6d', '\x61', '\x28', '\x20', '\x22', '\x63', '\x6c', '\x61', '\x6e', '\x67', '\x20', '\x64', '\x69', '\x61', '\x67', '\x6e', '\x6f', '\x73', '\x74', '\x69', '\x63', '\x20', '\x70', '\x6f', '\x70', '\x22', '\x20', '\x29', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x20', '\x2f', '\x2f', '\x20', '\x5f', '\x5f', '\x63', '\x6c', '\x61', '\x6e', '\x67', '\x5f', '\x5f', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x41', '\x73', '\x73', '\x75', '\x6d', '\x65', '\x20', '\x74', '\x68', '\x61', '\x74', '\x20', '\x6e', '\x6f', '\x6e', '\x2d', '\x57', '\x69', '\x6e', '\x64', '\x6f', '\x77', '\x73', '\x20', '\x70', '\x6c', '\x61', '\x74', '\x66', '\x6f', '\x72', '\x6d', '\x73', '\x20', '\x73', '\x75', '\x70', '\x70', '\x6f', '\x72', '\x74', '\x20', '\x70', '\x6f', '\x73', '\x69', '\x78', '\x20', '\x73', '\x69', '\x67', '\x6e', '\x61', '\x6c', '\x73', '\x20', '\x62', '\x79', '\x20', '\x64', '\x65', '\x66', '\x61', '\x75', '\x6c', '\x74', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x20', '\x21', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x50', '\x4c', '\x41', '\x54', '\x46', '\x4f', '\x52', '\x4d', '\x5f', '\x57', '\x49', '\x4e', '\x44', '\x4f', '\x57', '\x53', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x50', '\x4f', '\x53', '\x49', '\x58', '\x5f', '\x53', '\x49', '\x47', '\x4e', '\x41', '\x4c', '\x53', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x57', '\x65', '\x20', '\x6b', '\x6e', '\x6f', '\x77', '\x20', '\x73', '\x6f', '\x6d', '\x65', '\x20', '\x65', '\x6e', '\x76', '\x69', '\x72', '\x6f', '\x6e', '\x6d', '\x65', '\x6e', '\x74', '\x73', '\x20', '\x6e', '\x6f', '\x74', '\x20', '\x74', '\x6f', '\x20', '\x73', '\x75', '\x70', '\x70', '\x6f', '\x72', '\x74', '\x20', '\x66', '\x75', '\x6c', '\x6c', '\x20', '\x50', '\x4f', '\x53', '\x49', '\x58', '\x20', '\x73', '\x69', '\x67', '\x6e', '\x61', '\x6c', '\x73', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x5f', '\x5f', '\x43', '\x59', '\x47', '\x57', '\x49', '\x4e', '\x5f', '\x5f', '\x29', '\x20', '\x7c', '\x7c', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x5f', '\x5f', '\x51', '\x4e', '\x58', '\x5f', '\x5f', '\x29', '\x20', '\x7c', '\x7c', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x5f', '\x5f', '\x45', '\x4d', '\x53', '\x43', '\x52', '\x49', '\x50', '\x54', '\x45', '\x4e', '\x5f', '\x5f', '\x29', '\x20', '\x7c', '\x7c', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x5f', '\x5f', '\x44', '\x4a', '\x47', '\x50', '\x50', '\x5f', '\x5f', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x4e', '\x4f', '\x5f', '\x50', '\x4f', '\x53', '\x49', '\x58', '\x5f', '\x53', '\x49', '\x47', '\x4e', '\x41', '\x4c', '\x53', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x64', '\x65', '\x66', '\x20', '\x5f', '\x5f', '\x4f', '\x53', '\x34', '\x30', '\x30', '\x5f', '\x5f', '\x0d', '\x0a', '\x23', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x4e', '\x4f', '\x5f', '\x50', '\x4f', '\x53', '\x49', '\x58', '\x5f', '\x53', '\x49', '\x47', '\x4e', '\x41', '\x4c', '\x53', '\x0d', '\x0a', '\x23', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x43', '\x4f', '\x4c', '\x4f', '\x55', '\x52', '\x5f', '\x4e', '\x4f', '\x4e', '\x45', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x41', '\x6e', '\x64', '\x72', '\x6f', '\x69', '\x64', '\x20', '\x73', '\x6f', '\x6d', '\x65', '\x68', '\x6f', '\x77', '\x20', '\x73', '\x74', '\x69', '\x6c', '\x6c', '\x20', '\x64', '\x6f', '\x65', '\x73', '\x20', '\x6e', '\x6f', '\x74', '\x20', '\x73', '\x75', '\x70', '\x70', '\x6f', '\x72', '\x74', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x74', '\x6f', '\x5f', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x5f', '\x5f', '\x41', '\x4e', '\x44', '\x52', '\x4f', '\x49', '\x44', '\x5f', '\x5f', '\x29', '\x0d', '\x0a', '\x23', '\x20', '\x20', '\x20', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x4e', '\x4f', '\x5f', '\x43', '\x50', '\x50', '\x31', '\x31', '\x5f', '\x54', '\x4f', '\x5f', '\x53', '\x54', '\x52', '\x49', '\x4e', '\x47', '\x0d', '\x0a', '\x23', '\x20', '\x20', '\x20', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x41', '\x4e', '\x44', '\x52', '\x4f', '\x49', '\x44', '\x5f', '\x4c', '\x4f', '\x47', '\x57', '\x52', '\x49', '\x54', '\x45', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x4e', '\x6f', '\x74', '\x20', '\x61', '\x6c', '\x6c', '\x20', '\x57', '\x69', '\x6e', '\x64', '\x6f', '\x77', '\x73', '\x20', '\x65', '\x6e', '\x76', '\x69', '\x72', '\x6f', '\x6e', '\x6d', '\x65', '\x6e', '\x74', '\x73', '\x20', '\x73', '\x75', '\x70', '\x70', '\x6f', '\x72', '\x74', '\x20', '\x53', '\x45', '\x48', '\x20', '\x70', '\x72', '\x6f', '\x70', '\x65', '\x72', '\x6c', '\x79', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x5f', '\x5f', '\x4d', '\x49', '\x4e', '\x47', '\x57', '\x33', '\x32', '\x5f', '\x5f', '\x29', '\x0d', '\x0a', '\x23', '\x20', '\x20', '\x20', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x4e', '\x4f', '\x5f', '\x57', '\x49', '\x4e', '\x44', '\x4f', '\x57', '\x53', '\x5f', '\x53', '\x45', '\x48', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x50', '\x53', '\x34', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x5f', '\x5f', '\x4f', '\x52', '\x42', '\x49', '\x53', '\x5f', '\x5f', '\x29', '\x0d', '\x0a', '\x23', '\x20', '\x20', '\x20', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x4e', '\x4f', '\x5f', '\x4e', '\x45', '\x57', '\x5f', '\x43', '\x41', '\x50', '\x54', '\x55', '\x52', '\x45', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x43', '\x79', '\x67', '\x77', '\x69', '\x6e', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x64', '\x65', '\x66', '\x20', '\x5f', '\x5f', '\x43', '\x59', '\x47', '\x57', '\x49', '\x4e', '\x5f', '\x5f', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x52', '\x65', '\x71', '\x75', '\x69', '\x72', '\x65', '\x64', '\x20', '\x66', '\x6f', '\x72', '\x20', '\x73', '\x6f', '\x6d', '\x65', '\x20', '\x76', '\x65', '\x72', '\x73', '\x69', '\x6f', '\x6e', '\x73', '\x20', '\x6f', '\x66', '\x20', '\x43', '\x79', '\x67', '\x77', '\x69', '\x6e', '\x20', '\x74', '\x6f', '\x20', '\x64', '\x65', '\x63', '\x6c', '\x61', '\x72', '\x65', '\x20', '\x67', '\x65', '\x74', '\x74', '\x69', '\x6d', '\x65', '\x6f', '\x66', '\x64', '\x61', '\x79', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x65', '\x65', '\x3a', '\x20', '\x68', '\x74', '\x74', '\x70', '\x3a', '\x2f', '\x2f', '\x73', '\x74', '\x61', '\x63', '\x6b', '\x6f', '\x76', '\x65', '\x72', '\x66', '\x6c', '\x6f', '\x77', '\x2e', '\x63', '\x6f', '\x6d', '\x2f', '\x71', '\x75', '\x65', '\x73', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x2f', '\x33', '\x36', '\x39', '\x30', '\x31', '\x38', '\x30', '\x33', '\x2f', '\x67', '\x65', '\x74', '\x74', '\x69', '\x6d', '\x65', '\x6f', '\x66', '\x64', '\x61', '\x79', '\x2d', '\x6e', '\x6f', '\x74', '\x2d', '\x64', '\x65', '\x63', '\x6c', '\x61', '\x72', '\x65', '\x64', '\x2d', '\x69', '\x6e', '\x2d', '\x74', '\x68', '\x69', '\x73', '\x2d', '\x73', '\x63', '\x6f', '\x70', '\x65', '\x2d', '\x63', '\x79', '\x67', '\x77', '\x69', '\x6e', '\x0d', '\x0a', '\x23', '\x20', '\x20', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x5f', '\x42', '\x53', '\x44', '\x5f', '\x53', '\x4f', '\x55', '\x52', '\x43', '\x45', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x6f', '\x6d', '\x65', '\x20', '\x76', '\x65', '\x72', '\x73', '\x69', '\x6f', '\x6e', '\x73', '\x20', '\x6f', '\x66', '\x20', '\x63', '\x79', '\x67', '\x77', '\x69', '\x6e', '\x20', '\x28', '\x6d', '\x6f', '\x73', '\x74', '\x29', '\x20', '\x64', '\x6f', '\x20', '\x6e', '\x6f', '\x74', '\x20', '\x73', '\x75', '\x70', '\x70', '\x6f', '\x72', '\x74', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x74', '\x6f', '\x5f', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x2e', '\x20', '\x55', '\x73', '\x65', '\x20', '\x74', '\x68', '\x65', '\x20', '\x6c', '\x69', '\x62', '\x73', '\x74', '\x64', '\x20', '\x63', '\x68', '\x65', '\x63', '\x6b', '\x2e', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x68', '\x74', '\x74', '\x70', '\x73', '\x3a', '\x2f', '\x2f', '\x67', '\x63', '\x63', '\x2e', '\x67', '\x6e', '\x75', '\x2e', '\x6f', '\x72', '\x67', '\x2f', '\x6f', '\x6e', '\x6c', '\x69', '\x6e', '\x65', '\x64', '\x6f', '\x63', '\x73', '\x2f', '\x67', '\x63', '\x63', '\x2d', '\x34', '\x2e', '\x38', '\x2e', '\x32', '\x2f', '\x6c', '\x69', '\x62', '\x73', '\x74', '\x64', '\x63', '\x2b', '\x2b', '\x2f', '\x61', '\x70', '\x69', '\x2f', '\x61', '\x30', '\x31', '\x30', '\x35', '\x33', '\x5f', '\x73', '\x6f', '\x75', '\x72', '\x63', '\x65', '\x2e', '\x68', '\x74', '\x6d', '\x6c', '\x20', '\x6c', '\x69', '\x6e', '\x65', '\x20', '\x32', '\x38', '\x31', '\x32', '\x2d', '\x32', '\x38', '\x31', '\x33', '\x0d', '\x0a', '\x23', '\x20', '\x69', '\x66', '\x20', '\x21', '\x28', '\x28', '\x5f', '\x5f', '\x63', '\x70', '\x6c', '\x75', '\x73', '\x70', '\x6c', '\x75', '\x73', '\x20', '\x3e', '\x3d', '\x20', '\x32', '\x30', '\x31', '\x31', '\x30', '\x33', '\x4c', '\x29', '\x20', '\x26', '\x26', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x5f', '\x47', '\x4c', '\x49', '\x42', '\x43', '\x58', '\x58', '\x5f', '\x55', '\x53', '\x45', '\x5f', '\x43', '\x39', '\x39', '\x29', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x26', '\x26', '\x20', '\x21', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x5f', '\x47', '\x4c', '\x49', '\x42', '\x43', '\x58', '\x58', '\x5f', '\x48', '\x41', '\x56', '\x45', '\x5f', '\x42', '\x52', '\x4f', '\x4b', '\x45', '\x4e', '\x5f', '\x56', '\x53', '\x57', '\x50', '\x52', '\x49', '\x4e', '\x54', '\x46', '\x29', '\x29', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x20', '\x20', '\x20', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x4e', '\x4f', '\x5f', '\x43', '\x50', '\x50', '\x31', '\x31', '\x5f', '\x54', '\x4f', '\x5f', '\x53', '\x54', '\x52', '\x49', '\x4e', '\x47', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x20', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x20', '\x2f', '\x2f', '\x20', '\x5f', '\x5f', '\x43', '\x59', '\x47', '\x57', '\x49', '\x4e', '\x5f', '\x5f', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x56', '\x69', '\x73', '\x75', '\x61', '\x6c', '\x20', '\x43', '\x2b', '\x2b', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x64', '\x65', '\x66', '\x20', '\x5f', '\x4d', '\x53', '\x43', '\x5f', '\x56', '\x45', '\x52', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x20', '\x20', '\x69', '\x66', '\x20', '\x5f', '\x4d', '\x53', '\x43', '\x5f', '\x56', '\x45', '\x52', '\x20', '\x3e', '\x3d', '\x20', '\x31', '\x39', '\x30', '\x30', '\x20', '\x2f', '\x2f', '\x20', '\x56', '\x69', '\x73', '\x75', '\x61', '\x6c', '\x20', '\x53', '\x74', '\x75', '\x64', '\x69', '\x6f', '\x20', '\x32', '\x30', '\x31', '\x35', '\x20', '\x6f', '\x72', '\x20', '\x6e', '\x65', '\x77', '\x65', '\x72', '\x0d', '\x0a', '\x23', '\x20', '\x20', '\x20', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x43', '\x50', '\x50', '\x31', '\x37', '\x5f', '\x55', '\x4e', '\x43', '\x41', '\x55', '\x47', '\x48', '\x54', '\x5f', '\x45', '\x58', '\x43', '\x45', '\x50', '\x54', '\x49', '\x4f', '\x4e', '\x53', '\x0d', '\x0a', '\x23', '\x20', '\x20', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x55', '\x6e', '\x69', '\x76', '\x65', '\x72', '\x73', '\x61', '\x6c', '\x20', '\x57', '\x69', '\x6e', '\x64', '\x6f', '\x77', '\x73', '\x20', '\x70', '\x6c', '\x61', '\x74', '\x66', '\x6f', '\x72', '\x6d', '\x20', '\x64', '\x6f', '\x65', '\x73', '\x20', '\x6e', '\x6f', '\x74', '\x20', '\x73', '\x75', '\x70', '\x70', '\x6f', '\x72', '\x74', '\x20', '\x53', '\x45', '\x48', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x4f', '\x72', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x6f', '\x6c', '\x65', '\x20', '\x63', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x73', '\x20', '\x28', '\x6f', '\x72', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x6f', '\x6c', '\x65', '\x20', '\x61', '\x74', '\x20', '\x61', '\x6c', '\x6c', '\x2e', '\x2e', '\x2e', '\x29', '\x0d', '\x0a', '\x23', '\x20', '\x20', '\x69', '\x66', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x57', '\x49', '\x4e', '\x41', '\x50', '\x49', '\x5f', '\x46', '\x41', '\x4d', '\x49', '\x4c', '\x59', '\x29', '\x20', '\x26', '\x26', '\x20', '\x28', '\x57', '\x49', '\x4e', '\x41', '\x50', '\x49', '\x5f', '\x46', '\x41', '\x4d', '\x49', '\x4c', '\x59', '\x20', '\x3d', '\x3d', '\x20', '\x57', '\x49', '\x4e', '\x41', '\x50', '\x49', '\x5f', '\x46', '\x41', '\x4d', '\x49', '\x4c', '\x59', '\x5f', '\x41', '\x50', '\x50', '\x29', '\x0d', '\x0a', '\x23', '\x20', '\x20', '\x20', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x43', '\x4f', '\x4c', '\x4f', '\x55', '\x52', '\x5f', '\x4e', '\x4f', '\x4e', '\x45', '\x0d', '\x0a', '\x23', '\x20', '\x20', '\x65', '\x6c', '\x73', '\x65', '\x0d', '\x0a', '\x23', '\x20', '\x20', '\x20', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x57', '\x49', '\x4e', '\x44', '\x4f', '\x57', '\x53', '\x5f', '\x53', '\x45', '\x48', '\x0d', '\x0a', '\x23', '\x20', '\x20', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x4d', '\x53', '\x56', '\x43', '\x20', '\x74', '\x72', '\x61', '\x64', '\x69', '\x74', '\x69', '\x6f', '\x6e', '\x61', '\x6c', '\x20', '\x70', '\x72', '\x65', '\x70', '\x72', '\x6f', '\x63', '\x65', '\x73', '\x73', '\x6f', '\x72', '\x20', '\x6e', '\x65', '\x65', '\x64', '\x73', '\x20', '\x73', '\x6f', '\x6d', '\x65', '\x20', '\x77', '\x6f', '\x72', '\x6b', '\x61', '\x72', '\x6f', '\x75', '\x6e', '\x64', '\x20', '\x66', '\x6f', '\x72', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x5f', '\x4d', '\x53', '\x56', '\x43', '\x5f', '\x54', '\x52', '\x41', '\x44', '\x49', '\x54', '\x49', '\x4f', '\x4e', '\x41', '\x4c', '\x20', '\x3d', '\x3d', '\x20', '\x30', '\x20', '\x6d', '\x65', '\x61', '\x6e', '\x73', '\x20', '\x6e', '\x65', '\x77', '\x20', '\x63', '\x6f', '\x6e', '\x66', '\x6f', '\x72', '\x6d', '\x61', '\x6e', '\x74', '\x20', '\x70', '\x72', '\x65', '\x70', '\x72', '\x6f', '\x63', '\x65', '\x73', '\x73', '\x6f', '\x72', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x5f', '\x4d', '\x53', '\x56', '\x43', '\x5f', '\x54', '\x52', '\x41', '\x44', '\x49', '\x54', '\x49', '\x4f', '\x4e', '\x41', '\x4c', '\x20', '\x3d', '\x3d', '\x20', '\x31', '\x20', '\x6d', '\x65', '\x61', '\x6e', '\x73', '\x20', '\x6f', '\x6c', '\x64', '\x20', '\x74', '\x72', '\x61', '\x64', '\x69', '\x74', '\x69', '\x6f', '\x6e', '\x61', '\x6c', '\x20', '\x6e', '\x6f', '\x6e', '\x2d', '\x63', '\x6f', '\x6e', '\x66', '\x6f', '\x72', '\x6d', '\x61', '\x6e', '\x74', '\x20', '\x70', '\x72', '\x65', '\x70', '\x72', '\x6f', '\x63', '\x65', '\x73', '\x73', '\x6f', '\x72', '\x0d', '\x0a', '\x23', '\x20', '\x20', '\x69', '\x66', '\x20', '\x21', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x5f', '\x4d', '\x53', '\x56', '\x43', '\x5f', '\x54', '\x52', '\x41', '\x44', '\x49', '\x54', '\x49', '\x4f', '\x4e', '\x41', '\x4c', '\x29', '\x20', '\x7c', '\x7c', '\x20', '\x28', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x5f', '\x4d', '\x53', '\x56', '\x43', '\x5f', '\x54', '\x52', '\x41', '\x44', '\x49', '\x54', '\x49', '\x4f', '\x4e', '\x41', '\x4c', '\x29', '\x20', '\x26', '\x26', '\x20', '\x5f', '\x4d', '\x53', '\x56', '\x43', '\x5f', '\x54', '\x52', '\x41', '\x44', '\x49', '\x54', '\x49', '\x4f', '\x4e', '\x41', '\x4c', '\x29', '\x0d', '\x0a', '\x23', '\x20', '\x20', '\x20', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x54', '\x52', '\x41', '\x44', '\x49', '\x54', '\x49', '\x4f', '\x4e', '\x41', '\x4c', '\x5f', '\x4d', '\x53', '\x56', '\x43', '\x5f', '\x50', '\x52', '\x45', '\x50', '\x52', '\x4f', '\x43', '\x45', '\x53', '\x53', '\x4f', '\x52', '\x0d', '\x0a', '\x23', '\x20', '\x20', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x20', '\x2f', '\x2f', '\x20', '\x5f', '\x4d', '\x53', '\x43', '\x5f', '\x56', '\x45', '\x52', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x5f', '\x52', '\x45', '\x45', '\x4e', '\x54', '\x52', '\x41', '\x4e', '\x54', '\x29', '\x20', '\x7c', '\x7c', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x5f', '\x4d', '\x53', '\x43', '\x5f', '\x56', '\x45', '\x52', '\x29', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x45', '\x6e', '\x61', '\x62', '\x6c', '\x65', '\x20', '\x61', '\x73', '\x79', '\x6e', '\x63', '\x20', '\x70', '\x72', '\x6f', '\x63', '\x65', '\x73', '\x73', '\x69', '\x6e', '\x67', '\x2c', '\x20', '\x61', '\x73', '\x20', '\x2d', '\x70', '\x74', '\x68', '\x72', '\x65', '\x61', '\x64', '\x20', '\x69', '\x73', '\x20', '\x73', '\x70', '\x65', '\x63', '\x69', '\x66', '\x69', '\x65', '\x64', '\x20', '\x6f', '\x72', '\x20', '\x6e', '\x6f', '\x20', '\x61', '\x64', '\x64', '\x69', '\x74', '\x69', '\x6f', '\x6e', '\x61', '\x6c', '\x20', '\x6c', '\x69', '\x6e', '\x6b', '\x69', '\x6e', '\x67', '\x20', '\x69', '\x73', '\x20', '\x72', '\x65', '\x71', '\x75', '\x69', '\x72', '\x65', '\x64', '\x0d', '\x0a', '\x23', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x55', '\x53', '\x45', '\x5f', '\x41', '\x53', '\x59', '\x4e', '\x43', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x20', '\x2f', '\x2f', '\x20', '\x5f', '\x4d', '\x53', '\x43', '\x5f', '\x56', '\x45', '\x52', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x43', '\x68', '\x65', '\x63', '\x6b', '\x20', '\x69', '\x66', '\x20', '\x77', '\x65', '\x20', '\x61', '\x72', '\x65', '\x20', '\x63', '\x6f', '\x6d', '\x70', '\x69', '\x6c', '\x65', '\x64', '\x20', '\x77', '\x69', '\x74', '\x68', '\x20', '\x2d', '\x66', '\x6e', '\x6f', '\x2d', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x20', '\x6f', '\x72', '\x20', '\x65', '\x71', '\x75', '\x69', '\x76', '\x61', '\x6c', '\x65', '\x6e', '\x74', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x5f', '\x5f', '\x45', '\x58', '\x43', '\x45', '\x50', '\x54', '\x49', '\x4f', '\x4e', '\x53', '\x29', '\x20', '\x7c', '\x7c', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x5f', '\x5f', '\x63', '\x70', '\x70', '\x5f', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x29', '\x20', '\x7c', '\x7c', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x5f', '\x43', '\x50', '\x50', '\x55', '\x4e', '\x57', '\x49', '\x4e', '\x44', '\x29', '\x0d', '\x0a', '\x23', '\x20', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x45', '\x58', '\x43', '\x45', '\x50', '\x54', '\x49', '\x4f', '\x4e', '\x53', '\x5f', '\x45', '\x4e', '\x41', '\x42', '\x4c', '\x45', '\x44', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x44', '\x4a', '\x47', '\x50', '\x50', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x64', '\x65', '\x66', '\x20', '\x5f', '\x5f', '\x44', '\x4a', '\x47', '\x50', '\x50', '\x5f', '\x5f', '\x0d', '\x0a', '\x23', '\x20', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x4e', '\x4f', '\x5f', '\x57', '\x43', '\x48', '\x41', '\x52', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x20', '\x2f', '\x2f', '\x20', '\x5f', '\x5f', '\x44', '\x4a', '\x47', '\x50', '\x50', '\x5f', '\x5f', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x45', '\x6d', '\x62', '\x61', '\x72', '\x63', '\x61', '\x64', '\x65', '\x72', '\x6f', '\x20', '\x43', '\x2b', '\x2b', '\x42', '\x75', '\x69', '\x6c', '\x64', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x5f', '\x5f', '\x42', '\x4f', '\x52', '\x4c', '\x41', '\x4e', '\x44', '\x43', '\x5f', '\x5f', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x50', '\x4f', '\x4c', '\x59', '\x46', '\x49', '\x4c', '\x4c', '\x5f', '\x49', '\x53', '\x4e', '\x41', '\x4e', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x55', '\x73', '\x65', '\x20', '\x6f', '\x66', '\x20', '\x5f', '\x5f', '\x43', '\x4f', '\x55', '\x4e', '\x54', '\x45', '\x52', '\x5f', '\x5f', '\x20', '\x69', '\x73', '\x20', '\x73', '\x75', '\x70', '\x70', '\x72', '\x65', '\x73', '\x73', '\x65', '\x64', '\x20', '\x64', '\x75', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x64', '\x65', '\x20', '\x61', '\x6e', '\x61', '\x6c', '\x79', '\x73', '\x69', '\x73', '\x20', '\x69', '\x6e', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x43', '\x4c', '\x69', '\x6f', '\x6e', '\x2f', '\x41', '\x70', '\x70', '\x43', '\x6f', '\x64', '\x65', '\x20', '\x32', '\x30', '\x31', '\x37', '\x2e', '\x32', '\x2e', '\x78', '\x20', '\x61', '\x6e', '\x64', '\x20', '\x66', '\x6f', '\x72', '\x6d', '\x65', '\x72', '\x2c', '\x20', '\x62', '\x65', '\x63', '\x61', '\x75', '\x73', '\x65', '\x20', '\x5f', '\x5f', '\x43', '\x4f', '\x55', '\x4e', '\x54', '\x45', '\x52', '\x5f', '\x5f', '\x20', '\x69', '\x73', '\x20', '\x6e', '\x6f', '\x74', '\x20', '\x70', '\x72', '\x6f', '\x70', '\x65', '\x72', '\x6c', '\x79', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x68', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x64', '\x20', '\x62', '\x79', '\x20', '\x69', '\x74', '\x2e', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x4f', '\x74', '\x68', '\x65', '\x72', '\x77', '\x69', '\x73', '\x65', '\x20', '\x61', '\x6c', '\x6c', '\x20', '\x73', '\x75', '\x70', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x64', '\x20', '\x63', '\x6f', '\x6d', '\x70', '\x69', '\x6c', '\x65', '\x72', '\x73', '\x20', '\x73', '\x75', '\x70', '\x70', '\x6f', '\x72', '\x74', '\x20', '\x43', '\x4f', '\x55', '\x4e', '\x54', '\x45', '\x52', '\x20', '\x6d', '\x61', '\x63', '\x72', '\x6f', '\x2c', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x62', '\x75', '\x74', '\x20', '\x75', '\x73', '\x65', '\x72', '\x20', '\x73', '\x74', '\x69', '\x6c', '\x6c', '\x20', '\x6d', '\x69', '\x67', '\x68', '\x74', '\x20', '\x77', '\x61', '\x6e', '\x74', '\x20', '\x74', '\x6f', '\x20', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x69', '\x74', '\x20', '\x6f', '\x66', '\x66', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x20', '\x28', '\x20', '\x21', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x5f', '\x5f', '\x4a', '\x45', '\x54', '\x42', '\x52', '\x41', '\x49', '\x4e', '\x53', '\x5f', '\x49', '\x44', '\x45', '\x5f', '\x5f', '\x29', '\x20', '\x7c', '\x7c', '\x20', '\x5f', '\x5f', '\x4a', '\x45', '\x54', '\x42', '\x52', '\x41', '\x49', '\x4e', '\x53', '\x5f', '\x49', '\x44', '\x45', '\x5f', '\x5f', '\x20', '\x3e', '\x3d', '\x20', '\x32', '\x30', '\x31', '\x37', '\x30', '\x33', '\x30', '\x30', '\x4c', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x43', '\x4f', '\x55', '\x4e', '\x54', '\x45', '\x52', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x52', '\x54', '\x58', '\x20', '\x69', '\x73', '\x20', '\x61', '\x20', '\x73', '\x70', '\x65', '\x63', '\x69', '\x61', '\x6c', '\x20', '\x76', '\x65', '\x72', '\x73', '\x69', '\x6f', '\x6e', '\x20', '\x6f', '\x66', '\x20', '\x57', '\x69', '\x6e', '\x64', '\x6f', '\x77', '\x73', '\x20', '\x74', '\x68', '\x61', '\x74', '\x20', '\x69', '\x73', '\x20', '\x72', '\x65', '\x61', '\x6c', '\x20', '\x74', '\x69', '\x6d', '\x65', '\x2e', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x54', '\x68', '\x69', '\x73', '\x20', '\x6d', '\x65', '\x61', '\x6e', '\x73', '\x20', '\x74', '\x68', '\x61', '\x74', '\x20', '\x69', '\x74', '\x20', '\x69', '\x73', '\x20', '\x64', '\x65', '\x74', '\x65', '\x63', '\x74', '\x65', '\x64', '\x20', '\x61', '\x73', '\x20', '\x57', '\x69', '\x6e', '\x64', '\x6f', '\x77', '\x73', '\x2c', '\x20', '\x62', '\x75', '\x74', '\x20', '\x64', '\x6f', '\x65', '\x73', '\x20', '\x6e', '\x6f', '\x74', '\x20', '\x70', '\x72', '\x6f', '\x76', '\x69', '\x64', '\x65', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x74', '\x68', '\x65', '\x20', '\x73', '\x61', '\x6d', '\x65', '\x20', '\x73', '\x65', '\x74', '\x20', '\x6f', '\x66', '\x20', '\x63', '\x61', '\x70', '\x61', '\x62', '\x69', '\x6c', '\x69', '\x74', '\x69', '\x65', '\x73', '\x20', '\x61', '\x73', '\x20', '\x72', '\x65', '\x61', '\x6c', '\x20', '\x57', '\x69', '\x6e', '\x64', '\x6f', '\x77', '\x73', '\x20', '\x64', '\x6f', '\x65', '\x73', '\x2e', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x55', '\x4e', '\x44', '\x45', '\x52', '\x5f', '\x52', '\x54', '\x53', '\x53', '\x29', '\x20', '\x7c', '\x7c', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x52', '\x54', '\x58', '\x36', '\x34', '\x5f', '\x42', '\x55', '\x49', '\x4c', '\x44', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x4e', '\x4f', '\x5f', '\x57', '\x49', '\x4e', '\x44', '\x4f', '\x57', '\x53', '\x5f', '\x53', '\x45', '\x48', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x4e', '\x4f', '\x5f', '\x41', '\x53', '\x59', '\x4e', '\x43', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x43', '\x4f', '\x4c', '\x4f', '\x55', '\x52', '\x5f', '\x4e', '\x4f', '\x4e', '\x45', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x5f', '\x5f', '\x55', '\x43', '\x4c', '\x49', '\x42', '\x43', '\x5f', '\x5f', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x47', '\x4c', '\x4f', '\x42', '\x41', '\x4c', '\x5f', '\x4e', '\x45', '\x58', '\x54', '\x41', '\x46', '\x54', '\x45', '\x52', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x56', '\x61', '\x72', '\x69', '\x6f', '\x75', '\x73', '\x20', '\x73', '\x74', '\x64', '\x6c', '\x69', '\x62', '\x20', '\x73', '\x75', '\x70', '\x70', '\x6f', '\x72', '\x74', '\x20', '\x63', '\x68', '\x65', '\x63', '\x6b', '\x73', '\x20', '\x74', '\x68', '\x61', '\x74', '\x20', '\x72', '\x65', '\x71', '\x75', '\x69', '\x72', '\x65', '\x20', '\x5f', '\x5f', '\x68', '\x61', '\x73', '\x5f', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x5f', '\x5f', '\x68', '\x61', '\x73', '\x5f', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x43', '\x68', '\x65', '\x63', '\x6b', '\x20', '\x69', '\x66', '\x20', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x5f', '\x76', '\x69', '\x65', '\x77', '\x20', '\x69', '\x73', '\x20', '\x61', '\x76', '\x61', '\x69', '\x6c', '\x61', '\x62', '\x6c', '\x65', '\x20', '\x61', '\x6e', '\x64', '\x20', '\x75', '\x73', '\x61', '\x62', '\x6c', '\x65', '\x0d', '\x0a', '\x20', '\x20', '\x23', '\x69', '\x66', '\x20', '\x5f', '\x5f', '\x68', '\x61', '\x73', '\x5f', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x28', '\x3c', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x5f', '\x76', '\x69', '\x65', '\x77', '\x3e', '\x29', '\x20', '\x26', '\x26', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x50', '\x50', '\x31', '\x37', '\x5f', '\x4f', '\x52', '\x5f', '\x47', '\x52', '\x45', '\x41', '\x54', '\x45', '\x52', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x23', '\x20', '\x20', '\x20', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x43', '\x50', '\x50', '\x31', '\x37', '\x5f', '\x53', '\x54', '\x52', '\x49', '\x4e', '\x47', '\x5f', '\x56', '\x49', '\x45', '\x57', '\x0d', '\x0a', '\x20', '\x20', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x43', '\x68', '\x65', '\x63', '\x6b', '\x20', '\x69', '\x66', '\x20', '\x6f', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x61', '\x6c', '\x20', '\x69', '\x73', '\x20', '\x61', '\x76', '\x61', '\x69', '\x6c', '\x61', '\x62', '\x6c', '\x65', '\x20', '\x61', '\x6e', '\x64', '\x20', '\x75', '\x73', '\x61', '\x62', '\x6c', '\x65', '\x0d', '\x0a', '\x20', '\x20', '\x23', '\x20', '\x20', '\x69', '\x66', '\x20', '\x5f', '\x5f', '\x68', '\x61', '\x73', '\x5f', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x28', '\x3c', '\x6f', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x61', '\x6c', '\x3e', '\x29', '\x20', '\x26', '\x26', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x50', '\x50', '\x31', '\x37', '\x5f', '\x4f', '\x52', '\x5f', '\x47', '\x52', '\x45', '\x41', '\x54', '\x45', '\x52', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x23', '\x20', '\x20', '\x20', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x43', '\x50', '\x50', '\x31', '\x37', '\x5f', '\x4f', '\x50', '\x54', '\x49', '\x4f', '\x4e', '\x41', '\x4c', '\x0d', '\x0a', '\x20', '\x20', '\x23', '\x20', '\x20', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x20', '\x2f', '\x2f', '\x20', '\x5f', '\x5f', '\x68', '\x61', '\x73', '\x5f', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x28', '\x3c', '\x6f', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x61', '\x6c', '\x3e', '\x29', '\x20', '\x26', '\x26', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x50', '\x50', '\x31', '\x37', '\x5f', '\x4f', '\x52', '\x5f', '\x47', '\x52', '\x45', '\x41', '\x54', '\x45', '\x52', '\x29', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x43', '\x68', '\x65', '\x63', '\x6b', '\x20', '\x69', '\x66', '\x20', '\x62', '\x79', '\x74', '\x65', '\x20', '\x69', '\x73', '\x20', '\x61', '\x76', '\x61', '\x69', '\x6c', '\x61', '\x62', '\x6c', '\x65', '\x20', '\x61', '\x6e', '\x64', '\x20', '\x75', '\x73', '\x61', '\x62', '\x6c', '\x65', '\x0d', '\x0a', '\x20', '\x20', '\x23', '\x20', '\x20', '\x69', '\x66', '\x20', '\x5f', '\x5f', '\x68', '\x61', '\x73', '\x5f', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x28', '\x3c', '\x63', '\x73', '\x74', '\x64', '\x64', '\x65', '\x66', '\x3e', '\x29', '\x20', '\x26', '\x26', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x50', '\x50', '\x31', '\x37', '\x5f', '\x4f', '\x52', '\x5f', '\x47', '\x52', '\x45', '\x41', '\x54', '\x45', '\x52', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x23', '\x20', '\x20', '\x20', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x43', '\x50', '\x50', '\x31', '\x37', '\x5f', '\x42', '\x59', '\x54', '\x45', '\x0d', '\x0a', '\x20', '\x20', '\x23', '\x20', '\x20', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x20', '\x2f', '\x2f', '\x20', '\x5f', '\x5f', '\x68', '\x61', '\x73', '\x5f', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x28', '\x3c', '\x63', '\x73', '\x74', '\x64', '\x64', '\x65', '\x66', '\x3e', '\x29', '\x20', '\x26', '\x26', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x50', '\x50', '\x31', '\x37', '\x5f', '\x4f', '\x52', '\x5f', '\x47', '\x52', '\x45', '\x41', '\x54', '\x45', '\x52', '\x29', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x43', '\x68', '\x65', '\x63', '\x6b', '\x20', '\x69', '\x66', '\x20', '\x76', '\x61', '\x72', '\x69', '\x61', '\x6e', '\x74', '\x20', '\x69', '\x73', '\x20', '\x61', '\x76', '\x61', '\x69', '\x6c', '\x61', '\x62', '\x6c', '\x65', '\x20', '\x61', '\x6e', '\x64', '\x20', '\x75', '\x73', '\x61', '\x62', '\x6c', '\x65', '\x0d', '\x0a', '\x20', '\x20', '\x23', '\x20', '\x20', '\x69', '\x66', '\x20', '\x5f', '\x5f', '\x68', '\x61', '\x73', '\x5f', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x28', '\x3c', '\x76', '\x61', '\x72', '\x69', '\x61', '\x6e', '\x74', '\x3e', '\x29', '\x20', '\x26', '\x26', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x50', '\x50', '\x31', '\x37', '\x5f', '\x4f', '\x52', '\x5f', '\x47', '\x52', '\x45', '\x41', '\x54', '\x45', '\x52', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x23', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x5f', '\x5f', '\x63', '\x6c', '\x61', '\x6e', '\x67', '\x5f', '\x5f', '\x29', '\x20', '\x26', '\x26', '\x20', '\x28', '\x5f', '\x5f', '\x63', '\x6c', '\x61', '\x6e', '\x67', '\x5f', '\x6d', '\x61', '\x6a', '\x6f', '\x72', '\x5f', '\x5f', '\x20', '\x3c', '\x20', '\x38', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x77', '\x6f', '\x72', '\x6b', '\x20', '\x61', '\x72', '\x6f', '\x75', '\x6e', '\x64', '\x20', '\x63', '\x6c', '\x61', '\x6e', '\x67', '\x20', '\x62', '\x75', '\x67', '\x20', '\x77', '\x69', '\x74', '\x68', '\x20', '\x6c', '\x69', '\x62', '\x73', '\x74', '\x64', '\x63', '\x2b', '\x2b', '\x20', '\x68', '\x74', '\x74', '\x70', '\x73', '\x3a', '\x2f', '\x2f', '\x62', '\x75', '\x67', '\x73', '\x2e', '\x6c', '\x6c', '\x76', '\x6d', '\x2e', '\x6f', '\x72', '\x67', '\x2f', '\x73', '\x68', '\x6f', '\x77', '\x5f', '\x62', '\x75', '\x67', '\x2e', '\x63', '\x67', '\x69', '\x3f', '\x69', '\x64', '\x3d', '\x33', '\x31', '\x38', '\x35', '\x32', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x66', '\x69', '\x78', '\x20', '\x73', '\x68', '\x6f', '\x75', '\x6c', '\x64', '\x20', '\x62', '\x65', '\x20', '\x69', '\x6e', '\x20', '\x63', '\x6c', '\x61', '\x6e', '\x67', '\x20', '\x38', '\x2c', '\x20', '\x77', '\x6f', '\x72', '\x6b', '\x61', '\x72', '\x6f', '\x75', '\x6e', '\x64', '\x20', '\x69', '\x6e', '\x20', '\x6c', '\x69', '\x62', '\x73', '\x74', '\x64', '\x63', '\x2b', '\x2b', '\x20', '\x38', '\x2e', '\x32', '\x0d', '\x0a', '\x20', '\x20', '\x23', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x63', '\x69', '\x73', '\x6f', '\x36', '\x34', '\x36', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x23', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x5f', '\x5f', '\x47', '\x4c', '\x49', '\x42', '\x43', '\x58', '\x58', '\x5f', '\x5f', '\x29', '\x20', '\x26', '\x26', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x5f', '\x47', '\x4c', '\x49', '\x42', '\x43', '\x58', '\x58', '\x5f', '\x52', '\x45', '\x4c', '\x45', '\x41', '\x53', '\x45', '\x29', '\x20', '\x26', '\x26', '\x20', '\x28', '\x5f', '\x47', '\x4c', '\x49', '\x42', '\x43', '\x58', '\x58', '\x5f', '\x52', '\x45', '\x4c', '\x45', '\x41', '\x53', '\x45', '\x20', '\x3c', '\x20', '\x39', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x23', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x4e', '\x4f', '\x5f', '\x43', '\x50', '\x50', '\x31', '\x37', '\x5f', '\x56', '\x41', '\x52', '\x49', '\x41', '\x4e', '\x54', '\x0d', '\x0a', '\x20', '\x20', '\x23', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x6c', '\x73', '\x65', '\x0d', '\x0a', '\x20', '\x20', '\x23', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x43', '\x50', '\x50', '\x31', '\x37', '\x5f', '\x56', '\x41', '\x52', '\x49', '\x41', '\x4e', '\x54', '\x0d', '\x0a', '\x20', '\x20', '\x23', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x20', '\x2f', '\x2f', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x5f', '\x5f', '\x47', '\x4c', '\x49', '\x42', '\x43', '\x58', '\x58', '\x5f', '\x5f', '\x29', '\x20', '\x26', '\x26', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x5f', '\x47', '\x4c', '\x49', '\x42', '\x43', '\x58', '\x58', '\x5f', '\x52', '\x45', '\x4c', '\x45', '\x41', '\x53', '\x45', '\x29', '\x20', '\x26', '\x26', '\x20', '\x28', '\x5f', '\x47', '\x4c', '\x49', '\x42', '\x43', '\x58', '\x58', '\x5f', '\x52', '\x45', '\x4c', '\x45', '\x41', '\x53', '\x45', '\x20', '\x3c', '\x20', '\x39', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x23', '\x20', '\x20', '\x20', '\x20', '\x65', '\x6c', '\x73', '\x65', '\x0d', '\x0a', '\x20', '\x20', '\x23', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x43', '\x50', '\x50', '\x31', '\x37', '\x5f', '\x56', '\x41', '\x52', '\x49', '\x41', '\x4e', '\x54', '\x0d', '\x0a', '\x20', '\x20', '\x23', '\x20', '\x20', '\x20', '\x20', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x20', '\x2f', '\x2f', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x5f', '\x5f', '\x63', '\x6c', '\x61', '\x6e', '\x67', '\x5f', '\x5f', '\x29', '\x20', '\x26', '\x26', '\x20', '\x28', '\x5f', '\x5f', '\x63', '\x6c', '\x61', '\x6e', '\x67', '\x5f', '\x6d', '\x61', '\x6a', '\x6f', '\x72', '\x5f', '\x5f', '\x20', '\x3c', '\x20', '\x38', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x23', '\x20', '\x20', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x20', '\x2f', '\x2f', '\x20', '\x5f', '\x5f', '\x68', '\x61', '\x73', '\x5f', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x28', '\x3c', '\x76', '\x61', '\x72', '\x69', '\x61', '\x6e', '\x74', '\x3e', '\x29', '\x20', '\x26', '\x26', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x50', '\x50', '\x31', '\x37', '\x5f', '\x4f', '\x52', '\x5f', '\x47', '\x52', '\x45', '\x41', '\x54', '\x45', '\x52', '\x29', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x20', '\x2f', '\x2f', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x5f', '\x5f', '\x68', '\x61', '\x73', '\x5f', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x29', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x43', '\x4f', '\x55', '\x4e', '\x54', '\x45', '\x52', '\x29', '\x20', '\x26', '\x26', '\x20', '\x21', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x4e', '\x4f', '\x5f', '\x43', '\x4f', '\x55', '\x4e', '\x54', '\x45', '\x52', '\x29', '\x20', '\x26', '\x26', '\x20', '\x21', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x43', '\x4f', '\x55', '\x4e', '\x54', '\x45', '\x52', '\x29', '\x0d', '\x0a', '\x23', '\x20', '\x20', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x43', '\x4f', '\x55', '\x4e', '\x54', '\x45', '\x52', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x57', '\x49', '\x4e', '\x44', '\x4f', '\x57', '\x53', '\x5f', '\x53', '\x45', '\x48', '\x29', '\x20', '\x26', '\x26', '\x20', '\x21', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x4e', '\x4f', '\x5f', '\x57', '\x49', '\x4e', '\x44', '\x4f', '\x57', '\x53', '\x5f', '\x53', '\x45', '\x48', '\x29', '\x20', '\x26', '\x26', '\x20', '\x21', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x57', '\x49', '\x4e', '\x44', '\x4f', '\x57', '\x53', '\x5f', '\x53', '\x45', '\x48', '\x29', '\x20', '\x26', '\x26', '\x20', '\x21', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x4e', '\x4f', '\x5f', '\x57', '\x49', '\x4e', '\x44', '\x4f', '\x57', '\x53', '\x5f', '\x53', '\x45', '\x48', '\x29', '\x0d', '\x0a', '\x23', '\x20', '\x20', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x57', '\x49', '\x4e', '\x44', '\x4f', '\x57', '\x53', '\x5f', '\x53', '\x45', '\x48', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x54', '\x68', '\x69', '\x73', '\x20', '\x69', '\x73', '\x20', '\x73', '\x65', '\x74', '\x20', '\x62', '\x79', '\x20', '\x64', '\x65', '\x66', '\x61', '\x75', '\x6c', '\x74', '\x2c', '\x20', '\x62', '\x65', '\x63', '\x61', '\x75', '\x73', '\x65', '\x20', '\x77', '\x65', '\x20', '\x61', '\x73', '\x73', '\x75', '\x6d', '\x65', '\x20', '\x74', '\x68', '\x61', '\x74', '\x20', '\x75', '\x6e', '\x69', '\x78', '\x20', '\x63', '\x6f', '\x6d', '\x70', '\x69', '\x6c', '\x65', '\x72', '\x73', '\x20', '\x61', '\x72', '\x65', '\x20', '\x70', '\x6f', '\x73', '\x69', '\x78', '\x2d', '\x73', '\x69', '\x67', '\x6e', '\x61', '\x6c', '\x2d', '\x63', '\x6f', '\x6d', '\x70', '\x61', '\x74', '\x69', '\x62', '\x6c', '\x65', '\x20', '\x62', '\x79', '\x20', '\x64', '\x65', '\x66', '\x61', '\x75', '\x6c', '\x74', '\x2e', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x50', '\x4f', '\x53', '\x49', '\x58', '\x5f', '\x53', '\x49', '\x47', '\x4e', '\x41', '\x4c', '\x53', '\x29', '\x20', '\x26', '\x26', '\x20', '\x21', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x4e', '\x4f', '\x5f', '\x50', '\x4f', '\x53', '\x49', '\x58', '\x5f', '\x53', '\x49', '\x47', '\x4e', '\x41', '\x4c', '\x53', '\x29', '\x20', '\x26', '\x26', '\x20', '\x21', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x4e', '\x4f', '\x5f', '\x50', '\x4f', '\x53', '\x49', '\x58', '\x5f', '\x53', '\x49', '\x47', '\x4e', '\x41', '\x4c', '\x53', '\x29', '\x20', '\x26', '\x26', '\x20', '\x21', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x50', '\x4f', '\x53', '\x49', '\x58', '\x5f', '\x53', '\x49', '\x47', '\x4e', '\x41', '\x4c', '\x53', '\x29', '\x0d', '\x0a', '\x23', '\x20', '\x20', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x50', '\x4f', '\x53', '\x49', '\x58', '\x5f', '\x53', '\x49', '\x47', '\x4e', '\x41', '\x4c', '\x53', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x54', '\x68', '\x69', '\x73', '\x20', '\x69', '\x73', '\x20', '\x73', '\x65', '\x74', '\x20', '\x62', '\x79', '\x20', '\x64', '\x65', '\x66', '\x61', '\x75', '\x6c', '\x74', '\x2c', '\x20', '\x62', '\x65', '\x63', '\x61', '\x75', '\x73', '\x65', '\x20', '\x77', '\x65', '\x20', '\x61', '\x73', '\x73', '\x75', '\x6d', '\x65', '\x20', '\x74', '\x68', '\x61', '\x74', '\x20', '\x63', '\x6f', '\x6d', '\x70', '\x69', '\x6c', '\x65', '\x72', '\x73', '\x20', '\x77', '\x69', '\x74', '\x68', '\x20', '\x6e', '\x6f', '\x20', '\x77', '\x63', '\x68', '\x61', '\x72', '\x5f', '\x74', '\x20', '\x73', '\x75', '\x70', '\x70', '\x6f', '\x72', '\x74', '\x20', '\x61', '\x72', '\x65', '\x20', '\x6a', '\x75', '\x73', '\x74', '\x20', '\x72', '\x61', '\x72', '\x65', '\x20', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x2e', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x20', '\x21', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x4e', '\x4f', '\x5f', '\x57', '\x43', '\x48', '\x41', '\x52', '\x29', '\x20', '\x26', '\x26', '\x20', '\x21', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x4e', '\x4f', '\x5f', '\x57', '\x43', '\x48', '\x41', '\x52', '\x29', '\x20', '\x26', '\x26', '\x20', '\x21', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x57', '\x43', '\x48', '\x41', '\x52', '\x29', '\x0d', '\x0a', '\x23', '\x20', '\x20', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x57', '\x43', '\x48', '\x41', '\x52', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x20', '\x21', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x4e', '\x4f', '\x5f', '\x43', '\x50', '\x50', '\x31', '\x31', '\x5f', '\x54', '\x4f', '\x5f', '\x53', '\x54', '\x52', '\x49', '\x4e', '\x47', '\x29', '\x20', '\x26', '\x26', '\x20', '\x21', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x4e', '\x4f', '\x5f', '\x43', '\x50', '\x50', '\x31', '\x31', '\x5f', '\x54', '\x4f', '\x5f', '\x53', '\x54', '\x52', '\x49', '\x4e', '\x47', '\x29', '\x20', '\x26', '\x26', '\x20', '\x21', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x43', '\x50', '\x50', '\x31', '\x31', '\x5f', '\x54', '\x4f', '\x5f', '\x53', '\x54', '\x52', '\x49', '\x4e', '\x47', '\x29', '\x0d', '\x0a', '\x23', '\x20', '\x20', '\x20', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x43', '\x50', '\x50', '\x31', '\x31', '\x5f', '\x54', '\x4f', '\x5f', '\x53', '\x54', '\x52', '\x49', '\x4e', '\x47', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x43', '\x50', '\x50', '\x31', '\x37', '\x5f', '\x4f', '\x50', '\x54', '\x49', '\x4f', '\x4e', '\x41', '\x4c', '\x29', '\x20', '\x26', '\x26', '\x20', '\x21', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x4e', '\x4f', '\x5f', '\x43', '\x50', '\x50', '\x31', '\x37', '\x5f', '\x4f', '\x50', '\x54', '\x49', '\x4f', '\x4e', '\x41', '\x4c', '\x29', '\x20', '\x26', '\x26', '\x20', '\x21', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x43', '\x50', '\x50', '\x31', '\x37', '\x5f', '\x4f', '\x50', '\x54', '\x49', '\x4f', '\x4e', '\x41', '\x4c', '\x29', '\x0d', '\x0a', '\x23', '\x20', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x43', '\x50', '\x50', '\x31', '\x37', '\x5f', '\x4f', '\x50', '\x54', '\x49', '\x4f', '\x4e', '\x41', '\x4c', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x43', '\x50', '\x50', '\x31', '\x37', '\x5f', '\x55', '\x4e', '\x43', '\x41', '\x55', '\x47', '\x48', '\x54', '\x5f', '\x45', '\x58', '\x43', '\x45', '\x50', '\x54', '\x49', '\x4f', '\x4e', '\x53', '\x29', '\x20', '\x26', '\x26', '\x20', '\x21', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x4e', '\x4f', '\x5f', '\x43', '\x50', '\x50', '\x31', '\x37', '\x5f', '\x55', '\x4e', '\x43', '\x41', '\x55', '\x47', '\x48', '\x54', '\x5f', '\x45', '\x58', '\x43', '\x45', '\x50', '\x54', '\x49', '\x4f', '\x4e', '\x53', '\x29', '\x20', '\x26', '\x26', '\x20', '\x21', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x43', '\x50', '\x50', '\x31', '\x37', '\x5f', '\x55', '\x4e', '\x43', '\x41', '\x55', '\x47', '\x48', '\x54', '\x5f', '\x45', '\x58', '\x43', '\x45', '\x50', '\x54', '\x49', '\x4f', '\x4e', '\x53', '\x29', '\x0d', '\x0a', '\x23', '\x20', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x43', '\x50', '\x50', '\x31', '\x37', '\x5f', '\x55', '\x4e', '\x43', '\x41', '\x55', '\x47', '\x48', '\x54', '\x5f', '\x45', '\x58', '\x43', '\x45', '\x50', '\x54', '\x49', '\x4f', '\x4e', '\x53', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x43', '\x50', '\x50', '\x31', '\x37', '\x5f', '\x53', '\x54', '\x52', '\x49', '\x4e', '\x47', '\x5f', '\x56', '\x49', '\x45', '\x57', '\x29', '\x20', '\x26', '\x26', '\x20', '\x21', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x4e', '\x4f', '\x5f', '\x43', '\x50', '\x50', '\x31', '\x37', '\x5f', '\x53', '\x54', '\x52', '\x49', '\x4e', '\x47', '\x5f', '\x56', '\x49', '\x45', '\x57', '\x29', '\x20', '\x26', '\x26', '\x20', '\x21', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x43', '\x50', '\x50', '\x31', '\x37', '\x5f', '\x53', '\x54', '\x52', '\x49', '\x4e', '\x47', '\x5f', '\x56', '\x49', '\x45', '\x57', '\x29', '\x0d', '\x0a', '\x23', '\x20', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x43', '\x50', '\x50', '\x31', '\x37', '\x5f', '\x53', '\x54', '\x52', '\x49', '\x4e', '\x47', '\x5f', '\x56', '\x49', '\x45', '\x57', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x43', '\x50', '\x50', '\x31', '\x37', '\x5f', '\x56', '\x41', '\x52', '\x49', '\x41', '\x4e', '\x54', '\x29', '\x20', '\x26', '\x26', '\x20', '\x21', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x4e', '\x4f', '\x5f', '\x43', '\x50', '\x50', '\x31', '\x37', '\x5f', '\x56', '\x41', '\x52', '\x49', '\x41', '\x4e', '\x54', '\x29', '\x20', '\x26', '\x26', '\x20', '\x21', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x43', '\x50', '\x50', '\x31', '\x37', '\x5f', '\x56', '\x41', '\x52', '\x49', '\x41', '\x4e', '\x54', '\x29', '\x0d', '\x0a', '\x23', '\x20', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x43', '\x50', '\x50', '\x31', '\x37', '\x5f', '\x56', '\x41', '\x52', '\x49', '\x41', '\x4e', '\x54', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x43', '\x50', '\x50', '\x31', '\x37', '\x5f', '\x42', '\x59', '\x54', '\x45', '\x29', '\x20', '\x26', '\x26', '\x20', '\x21', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x4e', '\x4f', '\x5f', '\x43', '\x50', '\x50', '\x31', '\x37', '\x5f', '\x42', '\x59', '\x54', '\x45', '\x29', '\x20', '\x26', '\x26', '\x20', '\x21', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x43', '\x50', '\x50', '\x31', '\x37', '\x5f', '\x42', '\x59', '\x54', '\x45', '\x29', '\x0d', '\x0a', '\x23', '\x20', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x43', '\x50', '\x50', '\x31', '\x37', '\x5f', '\x42', '\x59', '\x54', '\x45', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x45', '\x58', '\x50', '\x45', '\x52', '\x49', '\x4d', '\x45', '\x4e', '\x54', '\x41', '\x4c', '\x5f', '\x52', '\x45', '\x44', '\x49', '\x52', '\x45', '\x43', '\x54', '\x29', '\x0d', '\x0a', '\x23', '\x20', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x4e', '\x45', '\x57', '\x5f', '\x43', '\x41', '\x50', '\x54', '\x55', '\x52', '\x45', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x4e', '\x45', '\x57', '\x5f', '\x43', '\x41', '\x50', '\x54', '\x55', '\x52', '\x45', '\x29', '\x20', '\x26', '\x26', '\x20', '\x21', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x4e', '\x4f', '\x5f', '\x4e', '\x45', '\x57', '\x5f', '\x43', '\x41', '\x50', '\x54', '\x55', '\x52', '\x45', '\x29', '\x20', '\x26', '\x26', '\x20', '\x21', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x4e', '\x4f', '\x5f', '\x4e', '\x45', '\x57', '\x5f', '\x43', '\x41', '\x50', '\x54', '\x55', '\x52', '\x45', '\x29', '\x20', '\x26', '\x26', '\x20', '\x21', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x4e', '\x45', '\x57', '\x5f', '\x43', '\x41', '\x50', '\x54', '\x55', '\x52', '\x45', '\x29', '\x0d', '\x0a', '\x23', '\x20', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x4e', '\x45', '\x57', '\x5f', '\x43', '\x41', '\x50', '\x54', '\x55', '\x52', '\x45', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x20', '\x21', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x45', '\x58', '\x43', '\x45', '\x50', '\x54', '\x49', '\x4f', '\x4e', '\x53', '\x5f', '\x45', '\x4e', '\x41', '\x42', '\x4c', '\x45', '\x44', '\x29', '\x20', '\x26', '\x26', '\x20', '\x21', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x44', '\x49', '\x53', '\x41', '\x42', '\x4c', '\x45', '\x5f', '\x45', '\x58', '\x43', '\x45', '\x50', '\x54', '\x49', '\x4f', '\x4e', '\x53', '\x29', '\x0d', '\x0a', '\x23', '\x20', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x44', '\x49', '\x53', '\x41', '\x42', '\x4c', '\x45', '\x5f', '\x45', '\x58', '\x43', '\x45', '\x50', '\x54', '\x49', '\x4f', '\x4e', '\x53', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x50', '\x4f', '\x4c', '\x59', '\x46', '\x49', '\x4c', '\x4c', '\x5f', '\x49', '\x53', '\x4e', '\x41', '\x4e', '\x29', '\x20', '\x26', '\x26', '\x20', '\x21', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x4e', '\x4f', '\x5f', '\x50', '\x4f', '\x4c', '\x59', '\x46', '\x49', '\x4c', '\x4c', '\x5f', '\x49', '\x53', '\x4e', '\x41', '\x4e', '\x29', '\x20', '\x26', '\x26', '\x20', '\x21', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x50', '\x4f', '\x4c', '\x59', '\x46', '\x49', '\x4c', '\x4c', '\x5f', '\x49', '\x53', '\x4e', '\x41', '\x4e', '\x29', '\x0d', '\x0a', '\x23', '\x20', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x50', '\x4f', '\x4c', '\x59', '\x46', '\x49', '\x4c', '\x4c', '\x5f', '\x49', '\x53', '\x4e', '\x41', '\x4e', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x55', '\x53', '\x45', '\x5f', '\x41', '\x53', '\x59', '\x4e', '\x43', '\x29', '\x20', '\x20', '\x26', '\x26', '\x20', '\x21', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x4e', '\x4f', '\x5f', '\x41', '\x53', '\x59', '\x4e', '\x43', '\x29', '\x20', '\x26', '\x26', '\x20', '\x21', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x4e', '\x4f', '\x5f', '\x55', '\x53', '\x45', '\x5f', '\x41', '\x53', '\x59', '\x4e', '\x43', '\x29', '\x20', '\x26', '\x26', '\x20', '\x21', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x55', '\x53', '\x45', '\x5f', '\x41', '\x53', '\x59', '\x4e', '\x43', '\x29', '\x0d', '\x0a', '\x23', '\x20', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x55', '\x53', '\x45', '\x5f', '\x41', '\x53', '\x59', '\x4e', '\x43', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x41', '\x4e', '\x44', '\x52', '\x4f', '\x49', '\x44', '\x5f', '\x4c', '\x4f', '\x47', '\x57', '\x52', '\x49', '\x54', '\x45', '\x29', '\x20', '\x26', '\x26', '\x20', '\x21', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x4e', '\x4f', '\x5f', '\x41', '\x4e', '\x44', '\x52', '\x4f', '\x49', '\x44', '\x5f', '\x4c', '\x4f', '\x47', '\x57', '\x52', '\x49', '\x54', '\x45', '\x29', '\x20', '\x26', '\x26', '\x20', '\x21', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x41', '\x4e', '\x44', '\x52', '\x4f', '\x49', '\x44', '\x5f', '\x4c', '\x4f', '\x47', '\x57', '\x52', '\x49', '\x54', '\x45', '\x29', '\x0d', '\x0a', '\x23', '\x20', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x41', '\x4e', '\x44', '\x52', '\x4f', '\x49', '\x44', '\x5f', '\x4c', '\x4f', '\x47', '\x57', '\x52', '\x49', '\x54', '\x45', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x47', '\x4c', '\x4f', '\x42', '\x41', '\x4c', '\x5f', '\x4e', '\x45', '\x58', '\x54', '\x41', '\x46', '\x54', '\x45', '\x52', '\x29', '\x20', '\x26', '\x26', '\x20', '\x21', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x4e', '\x4f', '\x5f', '\x47', '\x4c', '\x4f', '\x42', '\x41', '\x4c', '\x5f', '\x4e', '\x45', '\x58', '\x54', '\x41', '\x46', '\x54', '\x45', '\x52', '\x29', '\x20', '\x26', '\x26', '\x20', '\x21', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x47', '\x4c', '\x4f', '\x42', '\x41', '\x4c', '\x5f', '\x4e', '\x45', '\x58', '\x54', '\x41', '\x46', '\x54', '\x45', '\x52', '\x29', '\x0d', '\x0a', '\x23', '\x20', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x47', '\x4c', '\x4f', '\x42', '\x41', '\x4c', '\x5f', '\x4e', '\x45', '\x58', '\x54', '\x41', '\x46', '\x54', '\x45', '\x52', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x20', '\x21', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x53', '\x55', '\x50', '\x50', '\x52', '\x45', '\x53', '\x53', '\x5f', '\x50', '\x41', '\x52', '\x45', '\x4e', '\x54', '\x48', '\x45', '\x53', '\x45', '\x53', '\x5f', '\x57', '\x41', '\x52', '\x4e', '\x49', '\x4e', '\x47', '\x53', '\x29', '\x0d', '\x0a', '\x23', '\x20', '\x20', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x53', '\x55', '\x50', '\x50', '\x52', '\x45', '\x53', '\x53', '\x5f', '\x50', '\x41', '\x52', '\x45', '\x4e', '\x54', '\x48', '\x45', '\x53', '\x45', '\x53', '\x5f', '\x57', '\x41', '\x52', '\x4e', '\x49', '\x4e', '\x47', '\x53', '\x0d', '\x0a', '\x23', '\x20', '\x20', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x55', '\x4e', '\x53', '\x55', '\x50', '\x50', '\x52', '\x45', '\x53', '\x53', '\x5f', '\x50', '\x41', '\x52', '\x45', '\x4e', '\x54', '\x48', '\x45', '\x53', '\x45', '\x53', '\x5f', '\x57', '\x41', '\x52', '\x4e', '\x49', '\x4e', '\x47', '\x53', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x20', '\x21', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x53', '\x55', '\x50', '\x50', '\x52', '\x45', '\x53', '\x53', '\x5f', '\x47', '\x4c', '\x4f', '\x42', '\x41', '\x4c', '\x53', '\x5f', '\x57', '\x41', '\x52', '\x4e', '\x49', '\x4e', '\x47', '\x53', '\x29', '\x0d', '\x0a', '\x23', '\x20', '\x20', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x53', '\x55', '\x50', '\x50', '\x52', '\x45', '\x53', '\x53', '\x5f', '\x47', '\x4c', '\x4f', '\x42', '\x41', '\x4c', '\x53', '\x5f', '\x57', '\x41', '\x52', '\x4e', '\x49', '\x4e', '\x47', '\x53', '\x0d', '\x0a', '\x23', '\x20', '\x20', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x55', '\x4e', '\x53', '\x55', '\x50', '\x50', '\x52', '\x45', '\x53', '\x53', '\x5f', '\x47', '\x4c', '\x4f', '\x42', '\x41', '\x4c', '\x53', '\x5f', '\x57', '\x41', '\x52', '\x4e', '\x49', '\x4e', '\x47', '\x53', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x20', '\x21', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x53', '\x55', '\x50', '\x50', '\x52', '\x45', '\x53', '\x53', '\x5f', '\x55', '\x4e', '\x55', '\x53', '\x45', '\x44', '\x5f', '\x57', '\x41', '\x52', '\x4e', '\x49', '\x4e', '\x47', '\x53', '\x29', '\x0d', '\x0a', '\x23', '\x20', '\x20', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x53', '\x55', '\x50', '\x50', '\x52', '\x45', '\x53', '\x53', '\x5f', '\x55', '\x4e', '\x55', '\x53', '\x45', '\x44', '\x5f', '\x57', '\x41', '\x52', '\x4e', '\x49', '\x4e', '\x47', '\x53', '\x0d', '\x0a', '\x23', '\x20', '\x20', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x55', '\x4e', '\x53', '\x55', '\x50', '\x50', '\x52', '\x45', '\x53', '\x53', '\x5f', '\x55', '\x4e', '\x55', '\x53', '\x45', '\x44', '\x5f', '\x57', '\x41', '\x52', '\x4e', '\x49', '\x4e', '\x47', '\x53', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x20', '\x21', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x53', '\x55', '\x50', '\x50', '\x52', '\x45', '\x53', '\x53', '\x5f', '\x5a', '\x45', '\x52', '\x4f', '\x5f', '\x56', '\x41', '\x52', '\x49', '\x41', '\x44', '\x49', '\x43', '\x5f', '\x57', '\x41', '\x52', '\x4e', '\x49', '\x4e', '\x47', '\x53', '\x29', '\x0d', '\x0a', '\x23', '\x20', '\x20', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x53', '\x55', '\x50', '\x50', '\x52', '\x45', '\x53', '\x53', '\x5f', '\x5a', '\x45', '\x52', '\x4f', '\x5f', '\x56', '\x41', '\x52', '\x49', '\x41', '\x44', '\x49', '\x43', '\x5f', '\x57', '\x41', '\x52', '\x4e', '\x49', '\x4e', '\x47', '\x53', '\x0d', '\x0a', '\x23', '\x20', '\x20', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x55', '\x4e', '\x53', '\x55', '\x50', '\x50', '\x52', '\x45', '\x53', '\x53', '\x5f', '\x5a', '\x45', '\x52', '\x4f', '\x5f', '\x56', '\x41', '\x52', '\x49', '\x41', '\x44', '\x49', '\x43', '\x5f', '\x57', '\x41', '\x52', '\x4e', '\x49', '\x4e', '\x47', '\x53', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x5f', '\x5f', '\x41', '\x50', '\x50', '\x4c', '\x45', '\x5f', '\x5f', '\x29', '\x20', '\x26', '\x26', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x5f', '\x5f', '\x61', '\x70', '\x70', '\x6c', '\x65', '\x5f', '\x62', '\x75', '\x69', '\x6c', '\x64', '\x5f', '\x76', '\x65', '\x72', '\x73', '\x69', '\x6f', '\x6e', '\x5f', '\x5f', '\x29', '\x20', '\x26', '\x26', '\x20', '\x28', '\x5f', '\x5f', '\x63', '\x6c', '\x61', '\x6e', '\x67', '\x5f', '\x6d', '\x61', '\x6a', '\x6f', '\x72', '\x5f', '\x5f', '\x20', '\x3c', '\x20', '\x31', '\x30', '\x29', '\x0d', '\x0a', '\x23', '\x20', '\x20', '\x20', '\x75', '\x6e', '\x64', '\x65', '\x66', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x53', '\x55', '\x50', '\x50', '\x52', '\x45', '\x53', '\x53', '\x5f', '\x55', '\x4e', '\x55', '\x53', '\x45', '\x44', '\x5f', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x57', '\x41', '\x52', '\x4e', '\x49', '\x4e', '\x47', '\x53', '\x0d', '\x0a', '\x23', '\x20', '\x20', '\x20', '\x75', '\x6e', '\x64', '\x65', '\x66', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x55', '\x4e', '\x53', '\x55', '\x50', '\x50', '\x52', '\x45', '\x53', '\x53', '\x5f', '\x55', '\x4e', '\x55', '\x53', '\x45', '\x44', '\x5f', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x57', '\x41', '\x52', '\x4e', '\x49', '\x4e', '\x47', '\x53', '\x0d', '\x0a', '\x23', '\x65', '\x6c', '\x69', '\x66', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x5f', '\x5f', '\x63', '\x6c', '\x61', '\x6e', '\x67', '\x5f', '\x5f', '\x29', '\x20', '\x26', '\x26', '\x20', '\x28', '\x5f', '\x5f', '\x63', '\x6c', '\x61', '\x6e', '\x67', '\x5f', '\x6d', '\x61', '\x6a', '\x6f', '\x72', '\x5f', '\x5f', '\x20', '\x3c', '\x20', '\x35', '\x29', '\x0d', '\x0a', '\x23', '\x20', '\x20', '\x20', '\x75', '\x6e', '\x64', '\x65', '\x66', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x53', '\x55', '\x50', '\x50', '\x52', '\x45', '\x53', '\x53', '\x5f', '\x55', '\x4e', '\x55', '\x53', '\x45', '\x44', '\x5f', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x57', '\x41', '\x52', '\x4e', '\x49', '\x4e', '\x47', '\x53', '\x0d', '\x0a', '\x23', '\x20', '\x20', '\x20', '\x75', '\x6e', '\x64', '\x65', '\x66', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x55', '\x4e', '\x53', '\x55', '\x50', '\x50', '\x52', '\x45', '\x53', '\x53', '\x5f', '\x55', '\x4e', '\x55', '\x53', '\x45', '\x44', '\x5f', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x57', '\x41', '\x52', '\x4e', '\x49', '\x4e', '\x47', '\x53', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x20', '\x21', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x53', '\x55', '\x50', '\x50', '\x52', '\x45', '\x53', '\x53', '\x5f', '\x55', '\x4e', '\x55', '\x53', '\x45', '\x44', '\x5f', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x57', '\x41', '\x52', '\x4e', '\x49', '\x4e', '\x47', '\x53', '\x29', '\x0d', '\x0a', '\x23', '\x20', '\x20', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x53', '\x55', '\x50', '\x50', '\x52', '\x45', '\x53', '\x53', '\x5f', '\x55', '\x4e', '\x55', '\x53', '\x45', '\x44', '\x5f', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x57', '\x41', '\x52', '\x4e', '\x49', '\x4e', '\x47', '\x53', '\x0d', '\x0a', '\x23', '\x20', '\x20', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x55', '\x4e', '\x53', '\x55', '\x50', '\x50', '\x52', '\x45', '\x53', '\x53', '\x5f', '\x55', '\x4e', '\x55', '\x53', '\x45', '\x44', '\x5f', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x57', '\x41', '\x52', '\x4e', '\x49', '\x4e', '\x47', '\x53', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x44', '\x49', '\x53', '\x41', '\x42', '\x4c', '\x45', '\x5f', '\x45', '\x58', '\x43', '\x45', '\x50', '\x54', '\x49', '\x4f', '\x4e', '\x53', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x52', '\x59', '\x20', '\x69', '\x66', '\x20', '\x28', '\x28', '\x74', '\x72', '\x75', '\x65', '\x29', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x41', '\x4c', '\x4c', '\x20', '\x69', '\x66', '\x20', '\x28', '\x28', '\x66', '\x61', '\x6c', '\x73', '\x65', '\x29', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x41', '\x4e', '\x4f', '\x4e', '\x28', '\x74', '\x79', '\x70', '\x65', '\x29', '\x20', '\x69', '\x66', '\x20', '\x28', '\x28', '\x66', '\x61', '\x6c', '\x73', '\x65', '\x29', '\x29', '\x0d', '\x0a', '\x23', '\x65', '\x6c', '\x73', '\x65', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x52', '\x59', '\x20', '\x74', '\x72', '\x79', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x41', '\x4c', '\x4c', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x20', '\x28', '\x2e', '\x2e', '\x2e', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x41', '\x4e', '\x4f', '\x4e', '\x28', '\x74', '\x79', '\x70', '\x65', '\x29', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x20', '\x28', '\x74', '\x79', '\x70', '\x65', '\x29', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x54', '\x52', '\x41', '\x44', '\x49', '\x54', '\x49', '\x4f', '\x4e', '\x41', '\x4c', '\x5f', '\x4d', '\x53', '\x56', '\x43', '\x5f', '\x50', '\x52', '\x45', '\x50', '\x52', '\x4f', '\x43', '\x45', '\x53', '\x53', '\x4f', '\x52', '\x29', '\x20', '\x26', '\x26', '\x20', '\x21', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x4e', '\x4f', '\x5f', '\x54', '\x52', '\x41', '\x44', '\x49', '\x54', '\x49', '\x4f', '\x4e', '\x41', '\x4c', '\x5f', '\x4d', '\x53', '\x56', '\x43', '\x5f', '\x50', '\x52', '\x45', '\x50', '\x52', '\x4f', '\x43', '\x45', '\x53', '\x53', '\x4f', '\x52', '\x29', '\x20', '\x26', '\x26', '\x20', '\x21', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x54', '\x52', '\x41', '\x44', '\x49', '\x54', '\x49', '\x4f', '\x4e', '\x41', '\x4c', '\x5f', '\x4d', '\x53', '\x56', '\x43', '\x5f', '\x50', '\x52', '\x45', '\x50', '\x52', '\x4f', '\x43', '\x45', '\x53', '\x53', '\x4f', '\x52', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x54', '\x52', '\x41', '\x44', '\x49', '\x54', '\x49', '\x4f', '\x4e', '\x41', '\x4c', '\x5f', '\x4d', '\x53', '\x56', '\x43', '\x5f', '\x50', '\x52', '\x45', '\x50', '\x52', '\x4f', '\x43', '\x45', '\x53', '\x53', '\x4f', '\x52', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x63', '\x6f', '\x6d', '\x70', '\x69', '\x6c', '\x65', '\x72', '\x5f', '\x63', '\x61', '\x70', '\x61', '\x62', '\x69', '\x6c', '\x69', '\x74', '\x69', '\x65', '\x73', '\x2e', '\x68', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x55', '\x4e', '\x49', '\x51', '\x55', '\x45', '\x5f', '\x4e', '\x41', '\x4d', '\x45', '\x5f', '\x4c', '\x49', '\x4e', '\x45', '\x32', '\x28', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x6c', '\x69', '\x6e', '\x65', '\x20', '\x29', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x23', '\x23', '\x6c', '\x69', '\x6e', '\x65', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x55', '\x4e', '\x49', '\x51', '\x55', '\x45', '\x5f', '\x4e', '\x41', '\x4d', '\x45', '\x5f', '\x4c', '\x49', '\x4e', '\x45', '\x28', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x6c', '\x69', '\x6e', '\x65', '\x20', '\x29', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x55', '\x4e', '\x49', '\x51', '\x55', '\x45', '\x5f', '\x4e', '\x41', '\x4d', '\x45', '\x5f', '\x4c', '\x49', '\x4e', '\x45', '\x32', '\x28', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x6c', '\x69', '\x6e', '\x65', '\x20', '\x29', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x64', '\x65', '\x66', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x43', '\x4f', '\x55', '\x4e', '\x54', '\x45', '\x52', '\x0d', '\x0a', '\x23', '\x20', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x55', '\x4e', '\x49', '\x51', '\x55', '\x45', '\x5f', '\x4e', '\x41', '\x4d', '\x45', '\x28', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x29', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x55', '\x4e', '\x49', '\x51', '\x55', '\x45', '\x5f', '\x4e', '\x41', '\x4d', '\x45', '\x5f', '\x4c', '\x49', '\x4e', '\x45', '\x28', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x5f', '\x5f', '\x43', '\x4f', '\x55', '\x4e', '\x54', '\x45', '\x52', '\x5f', '\x5f', '\x20', '\x29', '\x0d', '\x0a', '\x23', '\x65', '\x6c', '\x73', '\x65', '\x0d', '\x0a', '\x23', '\x20', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x55', '\x4e', '\x49', '\x51', '\x55', '\x45', '\x5f', '\x4e', '\x41', '\x4d', '\x45', '\x28', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x29', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x55', '\x4e', '\x49', '\x51', '\x55', '\x45', '\x5f', '\x4e', '\x41', '\x4d', '\x45', '\x5f', '\x4c', '\x49', '\x4e', '\x45', '\x28', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x5f', '\x5f', '\x4c', '\x49', '\x4e', '\x45', '\x5f', '\x5f', '\x20', '\x29', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x69', '\x6f', '\x73', '\x66', '\x77', '\x64', '\x3e', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x3e', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x63', '\x73', '\x74', '\x64', '\x69', '\x6e', '\x74', '\x3e', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x57', '\x65', '\x20', '\x6e', '\x65', '\x65', '\x64', '\x20', '\x61', '\x20', '\x64', '\x75', '\x6d', '\x6d', '\x79', '\x20', '\x67', '\x6c', '\x6f', '\x62', '\x61', '\x6c', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x3c', '\x3c', '\x20', '\x73', '\x6f', '\x20', '\x77', '\x65', '\x20', '\x63', '\x61', '\x6e', '\x20', '\x62', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x69', '\x74', '\x20', '\x69', '\x6e', '\x74', '\x6f', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x6c', '\x61', '\x74', '\x65', '\x72', '\x0d', '\x0a', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x67', '\x6c', '\x6f', '\x62', '\x61', '\x6c', '\x5f', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x5f', '\x64', '\x75', '\x6d', '\x6d', '\x79', '\x20', '\x7b', '\x7d', '\x3b', '\x0d', '\x0a', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6f', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x26', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x3c', '\x3c', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6f', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x26', '\x2c', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x67', '\x6c', '\x6f', '\x62', '\x61', '\x6c', '\x5f', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x5f', '\x64', '\x75', '\x6d', '\x6d', '\x79', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x43', '\x61', '\x73', '\x65', '\x53', '\x65', '\x6e', '\x73', '\x69', '\x74', '\x69', '\x76', '\x65', '\x20', '\x7b', '\x20', '\x65', '\x6e', '\x75', '\x6d', '\x20', '\x43', '\x68', '\x6f', '\x69', '\x63', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x59', '\x65', '\x73', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x4e', '\x6f', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x20', '\x4e', '\x6f', '\x6e', '\x43', '\x6f', '\x70', '\x79', '\x61', '\x62', '\x6c', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x4e', '\x6f', '\x6e', '\x43', '\x6f', '\x70', '\x79', '\x61', '\x62', '\x6c', '\x65', '\x28', '\x20', '\x4e', '\x6f', '\x6e', '\x43', '\x6f', '\x70', '\x79', '\x61', '\x62', '\x6c', '\x65', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x29', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x3d', '\x20', '\x64', '\x65', '\x6c', '\x65', '\x74', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x4e', '\x6f', '\x6e', '\x43', '\x6f', '\x70', '\x79', '\x61', '\x62', '\x6c', '\x65', '\x28', '\x20', '\x4e', '\x6f', '\x6e', '\x43', '\x6f', '\x70', '\x79', '\x61', '\x62', '\x6c', '\x65', '\x20', '\x26', '\x26', '\x20', '\x29', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x3d', '\x20', '\x64', '\x65', '\x6c', '\x65', '\x74', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x4e', '\x6f', '\x6e', '\x43', '\x6f', '\x70', '\x79', '\x61', '\x62', '\x6c', '\x65', '\x26', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x3d', '\x20', '\x28', '\x20', '\x4e', '\x6f', '\x6e', '\x43', '\x6f', '\x70', '\x79', '\x61', '\x62', '\x6c', '\x65', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x29', '\x20', '\x3d', '\x20', '\x64', '\x65', '\x6c', '\x65', '\x74', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x4e', '\x6f', '\x6e', '\x43', '\x6f', '\x70', '\x79', '\x61', '\x62', '\x6c', '\x65', '\x26', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x3d', '\x20', '\x28', '\x20', '\x4e', '\x6f', '\x6e', '\x43', '\x6f', '\x70', '\x79', '\x61', '\x62', '\x6c', '\x65', '\x20', '\x26', '\x26', '\x20', '\x29', '\x20', '\x20', '\x20', '\x20', '\x20', '\x3d', '\x20', '\x64', '\x65', '\x6c', '\x65', '\x74', '\x65', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x70', '\x72', '\x6f', '\x74', '\x65', '\x63', '\x74', '\x65', '\x64', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x4e', '\x6f', '\x6e', '\x43', '\x6f', '\x70', '\x79', '\x61', '\x62', '\x6c', '\x65', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x69', '\x72', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x7e', '\x4e', '\x6f', '\x6e', '\x43', '\x6f', '\x70', '\x79', '\x61', '\x62', '\x6c', '\x65', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x53', '\x6f', '\x75', '\x72', '\x63', '\x65', '\x4c', '\x69', '\x6e', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x53', '\x6f', '\x75', '\x72', '\x63', '\x65', '\x4c', '\x69', '\x6e', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x28', '\x29', '\x20', '\x3d', '\x20', '\x64', '\x65', '\x6c', '\x65', '\x74', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x53', '\x6f', '\x75', '\x72', '\x63', '\x65', '\x4c', '\x69', '\x6e', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x28', '\x20', '\x63', '\x68', '\x61', '\x72', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x2a', '\x20', '\x5f', '\x66', '\x69', '\x6c', '\x65', '\x2c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x69', '\x7a', '\x65', '\x5f', '\x74', '\x20', '\x5f', '\x6c', '\x69', '\x6e', '\x65', '\x20', '\x29', '\x20', '\x6e', '\x6f', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x3a', '\x20', '\x20', '\x20', '\x66', '\x69', '\x6c', '\x65', '\x28', '\x20', '\x5f', '\x66', '\x69', '\x6c', '\x65', '\x20', '\x29', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6c', '\x69', '\x6e', '\x65', '\x28', '\x20', '\x5f', '\x6c', '\x69', '\x6e', '\x65', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7b', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x53', '\x6f', '\x75', '\x72', '\x63', '\x65', '\x4c', '\x69', '\x6e', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x28', '\x20', '\x53', '\x6f', '\x75', '\x72', '\x63', '\x65', '\x4c', '\x69', '\x6e', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6f', '\x74', '\x68', '\x65', '\x72', '\x20', '\x29', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x3d', '\x20', '\x64', '\x65', '\x66', '\x61', '\x75', '\x6c', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x53', '\x6f', '\x75', '\x72', '\x63', '\x65', '\x4c', '\x69', '\x6e', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x26', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x3d', '\x20', '\x28', '\x20', '\x53', '\x6f', '\x75', '\x72', '\x63', '\x65', '\x4c', '\x69', '\x6e', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x29', '\x20', '\x20', '\x20', '\x20', '\x20', '\x3d', '\x20', '\x64', '\x65', '\x66', '\x61', '\x75', '\x6c', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x53', '\x6f', '\x75', '\x72', '\x63', '\x65', '\x4c', '\x69', '\x6e', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x28', '\x20', '\x53', '\x6f', '\x75', '\x72', '\x63', '\x65', '\x4c', '\x69', '\x6e', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x26', '\x26', '\x20', '\x29', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6e', '\x6f', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x20', '\x3d', '\x20', '\x64', '\x65', '\x66', '\x61', '\x75', '\x6c', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x53', '\x6f', '\x75', '\x72', '\x63', '\x65', '\x4c', '\x69', '\x6e', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x26', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x3d', '\x20', '\x28', '\x20', '\x53', '\x6f', '\x75', '\x72', '\x63', '\x65', '\x4c', '\x69', '\x6e', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x26', '\x26', '\x20', '\x29', '\x20', '\x6e', '\x6f', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x20', '\x3d', '\x20', '\x64', '\x65', '\x66', '\x61', '\x75', '\x6c', '\x74', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x65', '\x6d', '\x70', '\x74', '\x79', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x6e', '\x6f', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x20', '\x7b', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x66', '\x69', '\x6c', '\x65', '\x5b', '\x30', '\x5d', '\x20', '\x3d', '\x3d', '\x20', '\x27', '\x5c', '\x30', '\x27', '\x3b', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x3d', '\x3d', '\x20', '\x28', '\x20', '\x53', '\x6f', '\x75', '\x72', '\x63', '\x65', '\x4c', '\x69', '\x6e', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6f', '\x74', '\x68', '\x65', '\x72', '\x20', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x6e', '\x6f', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x3c', '\x20', '\x28', '\x20', '\x53', '\x6f', '\x75', '\x72', '\x63', '\x65', '\x4c', '\x69', '\x6e', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6f', '\x74', '\x68', '\x65', '\x72', '\x20', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x6e', '\x6f', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x68', '\x61', '\x72', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x2a', '\x20', '\x66', '\x69', '\x6c', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x69', '\x7a', '\x65', '\x5f', '\x74', '\x20', '\x6c', '\x69', '\x6e', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6f', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x26', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x3c', '\x3c', '\x20', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6f', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x26', '\x20', '\x6f', '\x73', '\x2c', '\x20', '\x53', '\x6f', '\x75', '\x72', '\x63', '\x65', '\x4c', '\x69', '\x6e', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x69', '\x6e', '\x66', '\x6f', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x42', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x69', '\x6e', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x3c', '\x3c', '\x20', '\x66', '\x72', '\x6f', '\x6d', '\x20', '\x67', '\x6c', '\x6f', '\x62', '\x61', '\x6c', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x69', '\x6e', '\x74', '\x6f', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x54', '\x68', '\x69', '\x73', '\x20', '\x69', '\x73', '\x20', '\x6e', '\x65', '\x63', '\x65', '\x73', '\x73', '\x61', '\x72', '\x79', '\x20', '\x62', '\x65', '\x63', '\x61', '\x75', '\x73', '\x65', '\x20', '\x74', '\x68', '\x65', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x6c', '\x6f', '\x61', '\x64', '\x20', '\x6f', '\x66', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x3c', '\x3c', '\x20', '\x61', '\x62', '\x6f', '\x76', '\x65', '\x20', '\x6d', '\x61', '\x6b', '\x65', '\x73', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x6c', '\x6f', '\x6f', '\x6b', '\x75', '\x70', '\x20', '\x73', '\x74', '\x6f', '\x70', '\x20', '\x61', '\x74', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x75', '\x73', '\x69', '\x6e', '\x67', '\x20', '\x3a', '\x3a', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x3c', '\x3c', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x55', '\x73', '\x65', '\x20', '\x74', '\x68', '\x69', '\x73', '\x20', '\x69', '\x6e', '\x20', '\x76', '\x61', '\x72', '\x69', '\x61', '\x64', '\x69', '\x63', '\x20', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x69', '\x6e', '\x67', '\x20', '\x6d', '\x61', '\x63', '\x72', '\x6f', '\x73', '\x20', '\x74', '\x6f', '\x20', '\x61', '\x6c', '\x6c', '\x6f', '\x77', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x20', '\x20', '\x20', '\x3e', '\x3e', '\x20', '\x2b', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x45', '\x6e', '\x64', '\x53', '\x74', '\x6f', '\x70', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x61', '\x73', '\x20', '\x77', '\x65', '\x6c', '\x6c', '\x20', '\x61', '\x73', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x20', '\x20', '\x20', '\x3e', '\x3e', '\x20', '\x73', '\x74', '\x75', '\x66', '\x66', '\x20', '\x2b', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x45', '\x6e', '\x64', '\x53', '\x74', '\x6f', '\x70', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x45', '\x6e', '\x64', '\x53', '\x74', '\x6f', '\x70', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x2b', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x54', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x54', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x2b', '\x20', '\x28', '\x20', '\x54', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x2c', '\x20', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x45', '\x6e', '\x64', '\x53', '\x74', '\x6f', '\x70', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x4c', '\x49', '\x4e', '\x45', '\x49', '\x4e', '\x46', '\x4f', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x3a', '\x3a', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x53', '\x6f', '\x75', '\x72', '\x63', '\x65', '\x4c', '\x69', '\x6e', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x28', '\x20', '\x5f', '\x5f', '\x46', '\x49', '\x4c', '\x45', '\x5f', '\x5f', '\x2c', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x5f', '\x63', '\x61', '\x73', '\x74', '\x3c', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x69', '\x7a', '\x65', '\x5f', '\x74', '\x3e', '\x28', '\x20', '\x5f', '\x5f', '\x4c', '\x49', '\x4e', '\x45', '\x5f', '\x5f', '\x20', '\x29', '\x20', '\x29', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x63', '\x6f', '\x6d', '\x6d', '\x6f', '\x6e', '\x2e', '\x68', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x61', '\x72', '\x46', '\x6f', '\x72', '\x54', '\x61', '\x67', '\x41', '\x6c', '\x69', '\x61', '\x73', '\x65', '\x73', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x61', '\x72', '\x46', '\x6f', '\x72', '\x54', '\x61', '\x67', '\x41', '\x6c', '\x69', '\x61', '\x73', '\x65', '\x73', '\x28', '\x20', '\x63', '\x68', '\x61', '\x72', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x2a', '\x20', '\x61', '\x6c', '\x69', '\x61', '\x73', '\x2c', '\x20', '\x63', '\x68', '\x61', '\x72', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x2a', '\x20', '\x74', '\x61', '\x67', '\x2c', '\x20', '\x53', '\x6f', '\x75', '\x72', '\x63', '\x65', '\x4c', '\x69', '\x6e', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6c', '\x69', '\x6e', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x47', '\x49', '\x53', '\x54', '\x45', '\x52', '\x5f', '\x54', '\x41', '\x47', '\x5f', '\x41', '\x4c', '\x49', '\x41', '\x53', '\x28', '\x20', '\x61', '\x6c', '\x69', '\x61', '\x73', '\x2c', '\x20', '\x73', '\x70', '\x65', '\x63', '\x20', '\x29', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x53', '\x55', '\x50', '\x50', '\x52', '\x45', '\x53', '\x53', '\x5f', '\x47', '\x4c', '\x4f', '\x42', '\x41', '\x4c', '\x53', '\x5f', '\x57', '\x41', '\x52', '\x4e', '\x49', '\x4e', '\x47', '\x53', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x7b', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x61', '\x72', '\x46', '\x6f', '\x72', '\x54', '\x61', '\x67', '\x41', '\x6c', '\x69', '\x61', '\x73', '\x65', '\x73', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x55', '\x4e', '\x49', '\x51', '\x55', '\x45', '\x5f', '\x4e', '\x41', '\x4d', '\x45', '\x28', '\x20', '\x41', '\x75', '\x74', '\x6f', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x65', '\x72', '\x54', '\x61', '\x67', '\x41', '\x6c', '\x69', '\x61', '\x73', '\x20', '\x29', '\x28', '\x20', '\x61', '\x6c', '\x69', '\x61', '\x73', '\x2c', '\x20', '\x73', '\x70', '\x65', '\x63', '\x2c', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x4c', '\x49', '\x4e', '\x45', '\x49', '\x4e', '\x46', '\x4f', '\x20', '\x29', '\x3b', '\x20', '\x7d', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x55', '\x4e', '\x53', '\x55', '\x50', '\x50', '\x52', '\x45', '\x53', '\x53', '\x5f', '\x47', '\x4c', '\x4f', '\x42', '\x41', '\x4c', '\x53', '\x5f', '\x57', '\x41', '\x52', '\x4e', '\x49', '\x4e', '\x47', '\x53', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x74', '\x61', '\x67', '\x5f', '\x61', '\x6c', '\x69', '\x61', '\x73', '\x5f', '\x61', '\x75', '\x74', '\x6f', '\x72', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x61', '\x72', '\x2e', '\x68', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x74', '\x65', '\x73', '\x74', '\x5f', '\x72', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x2e', '\x68', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x69', '\x6e', '\x74', '\x65', '\x72', '\x66', '\x61', '\x63', '\x65', '\x73', '\x5f', '\x74', '\x65', '\x73', '\x74', '\x63', '\x61', '\x73', '\x65', '\x2e', '\x68', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3e', '\x0d', '\x0a', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x20', '\x54', '\x65', '\x73', '\x74', '\x53', '\x70', '\x65', '\x63', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x49', '\x54', '\x65', '\x73', '\x74', '\x49', '\x6e', '\x76', '\x6f', '\x6b', '\x65', '\x72', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x69', '\x72', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x69', '\x6e', '\x76', '\x6f', '\x6b', '\x65', '\x20', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x69', '\x72', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x7e', '\x49', '\x54', '\x65', '\x73', '\x74', '\x49', '\x6e', '\x76', '\x6f', '\x6b', '\x65', '\x72', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x20', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x49', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x49', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x69', '\x72', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x7e', '\x49', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x69', '\x72', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x3e', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x67', '\x65', '\x74', '\x41', '\x6c', '\x6c', '\x54', '\x65', '\x73', '\x74', '\x73', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x69', '\x72', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x3e', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x67', '\x65', '\x74', '\x41', '\x6c', '\x6c', '\x54', '\x65', '\x73', '\x74', '\x73', '\x53', '\x6f', '\x72', '\x74', '\x65', '\x64', '\x28', '\x20', '\x49', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x20', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x69', '\x73', '\x54', '\x68', '\x72', '\x6f', '\x77', '\x53', '\x61', '\x66', '\x65', '\x28', '\x20', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x2c', '\x20', '\x49', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x54', '\x65', '\x73', '\x74', '\x28', '\x20', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x2c', '\x20', '\x54', '\x65', '\x73', '\x74', '\x53', '\x70', '\x65', '\x63', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x74', '\x65', '\x73', '\x74', '\x53', '\x70', '\x65', '\x63', '\x2c', '\x20', '\x49', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x3e', '\x20', '\x66', '\x69', '\x6c', '\x74', '\x65', '\x72', '\x54', '\x65', '\x73', '\x74', '\x73', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x3e', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x73', '\x2c', '\x20', '\x54', '\x65', '\x73', '\x74', '\x53', '\x70', '\x65', '\x63', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x74', '\x65', '\x73', '\x74', '\x53', '\x70', '\x65', '\x63', '\x2c', '\x20', '\x49', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x3e', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x67', '\x65', '\x74', '\x41', '\x6c', '\x6c', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x73', '\x53', '\x6f', '\x72', '\x74', '\x65', '\x64', '\x28', '\x20', '\x49', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x69', '\x6e', '\x74', '\x65', '\x72', '\x66', '\x61', '\x63', '\x65', '\x73', '\x5f', '\x74', '\x65', '\x73', '\x74', '\x63', '\x61', '\x73', '\x65', '\x2e', '\x68', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x72', '\x65', '\x66', '\x2e', '\x68', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x63', '\x73', '\x74', '\x64', '\x64', '\x65', '\x66', '\x3e', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x3e', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x69', '\x6f', '\x73', '\x66', '\x77', '\x64', '\x3e', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x63', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x3e', '\x0d', '\x0a', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x2f', '\x20', '\x41', '\x20', '\x6e', '\x6f', '\x6e', '\x2d', '\x6f', '\x77', '\x6e', '\x69', '\x6e', '\x67', '\x20', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x20', '\x28', '\x73', '\x69', '\x6d', '\x69', '\x6c', '\x61', '\x72', '\x20', '\x74', '\x6f', '\x20', '\x74', '\x68', '\x65', '\x20', '\x66', '\x6f', '\x72', '\x74', '\x68', '\x63', '\x6f', '\x6d', '\x69', '\x6e', '\x67', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x5f', '\x76', '\x69', '\x65', '\x77', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x2f', '\x20', '\x4e', '\x6f', '\x74', '\x65', '\x20', '\x74', '\x68', '\x61', '\x74', '\x2c', '\x20', '\x62', '\x65', '\x63', '\x61', '\x75', '\x73', '\x65', '\x20', '\x61', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x66', '\x20', '\x6d', '\x61', '\x79', '\x20', '\x62', '\x65', '\x20', '\x61', '\x20', '\x73', '\x75', '\x62', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x6f', '\x66', '\x20', '\x61', '\x6e', '\x6f', '\x74', '\x68', '\x65', '\x72', '\x20', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x2f', '\x20', '\x69', '\x74', '\x20', '\x6d', '\x61', '\x79', '\x20', '\x6e', '\x6f', '\x74', '\x20', '\x62', '\x65', '\x20', '\x6e', '\x75', '\x6c', '\x6c', '\x20', '\x74', '\x65', '\x72', '\x6d', '\x69', '\x6e', '\x61', '\x74', '\x65', '\x64', '\x2e', '\x20', '\x63', '\x5f', '\x73', '\x74', '\x72', '\x28', '\x29', '\x20', '\x6d', '\x75', '\x73', '\x74', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x61', '\x20', '\x6e', '\x75', '\x6c', '\x6c', '\x20', '\x74', '\x65', '\x72', '\x6d', '\x69', '\x6e', '\x61', '\x74', '\x65', '\x64', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x2c', '\x20', '\x68', '\x6f', '\x77', '\x65', '\x76', '\x65', '\x72', '\x2c', '\x20', '\x61', '\x6e', '\x64', '\x20', '\x73', '\x6f', '\x20', '\x74', '\x68', '\x65', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x66', '\x20', '\x77', '\x69', '\x6c', '\x6c', '\x20', '\x69', '\x6e', '\x74', '\x65', '\x72', '\x6e', '\x61', '\x6c', '\x6c', '\x79', '\x20', '\x74', '\x61', '\x6b', '\x65', '\x20', '\x6f', '\x77', '\x6e', '\x65', '\x72', '\x73', '\x68', '\x69', '\x70', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x2f', '\x20', '\x28', '\x74', '\x61', '\x6b', '\x69', '\x6e', '\x67', '\x20', '\x61', '\x20', '\x63', '\x6f', '\x70', '\x79', '\x29', '\x2c', '\x20', '\x69', '\x66', '\x20', '\x6e', '\x65', '\x63', '\x65', '\x73', '\x73', '\x61', '\x72', '\x79', '\x2e', '\x20', '\x49', '\x6e', '\x20', '\x74', '\x68', '\x65', '\x6f', '\x72', '\x79', '\x20', '\x74', '\x68', '\x69', '\x73', '\x20', '\x6f', '\x77', '\x6e', '\x65', '\x72', '\x73', '\x68', '\x69', '\x70', '\x20', '\x69', '\x73', '\x20', '\x6e', '\x6f', '\x74', '\x20', '\x65', '\x78', '\x74', '\x65', '\x72', '\x6e', '\x61', '\x6c', '\x6c', '\x79', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x2f', '\x20', '\x76', '\x69', '\x73', '\x69', '\x62', '\x6c', '\x65', '\x20', '\x2d', '\x20', '\x62', '\x75', '\x74', '\x20', '\x69', '\x74', '\x20', '\x64', '\x6f', '\x65', '\x73', '\x20', '\x6d', '\x65', '\x61', '\x6e', '\x20', '\x28', '\x73', '\x75', '\x62', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x29', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x66', '\x73', '\x20', '\x73', '\x68', '\x6f', '\x75', '\x6c', '\x64', '\x20', '\x6e', '\x6f', '\x74', '\x20', '\x62', '\x65', '\x20', '\x73', '\x68', '\x61', '\x72', '\x65', '\x64', '\x20', '\x62', '\x65', '\x74', '\x77', '\x65', '\x65', '\x6e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x2f', '\x20', '\x74', '\x68', '\x72', '\x65', '\x61', '\x64', '\x73', '\x2e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x66', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x70', '\x75', '\x62', '\x6c', '\x69', '\x63', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x75', '\x73', '\x69', '\x6e', '\x67', '\x20', '\x73', '\x69', '\x7a', '\x65', '\x5f', '\x74', '\x79', '\x70', '\x65', '\x20', '\x3d', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x69', '\x7a', '\x65', '\x5f', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x75', '\x73', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x5f', '\x69', '\x74', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x3d', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x63', '\x68', '\x61', '\x72', '\x2a', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x70', '\x72', '\x69', '\x76', '\x61', '\x74', '\x65', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x66', '\x72', '\x69', '\x65', '\x6e', '\x64', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x66', '\x54', '\x65', '\x73', '\x74', '\x41', '\x63', '\x63', '\x65', '\x73', '\x73', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x68', '\x61', '\x72', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x2a', '\x20', '\x6d', '\x5f', '\x73', '\x74', '\x61', '\x72', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x69', '\x7a', '\x65', '\x5f', '\x74', '\x79', '\x70', '\x65', '\x20', '\x6d', '\x5f', '\x73', '\x69', '\x7a', '\x65', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x68', '\x61', '\x72', '\x2a', '\x20', '\x6d', '\x5f', '\x64', '\x61', '\x74', '\x61', '\x20', '\x3d', '\x20', '\x6e', '\x75', '\x6c', '\x6c', '\x70', '\x74', '\x72', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x74', '\x61', '\x6b', '\x65', '\x4f', '\x77', '\x6e', '\x65', '\x72', '\x73', '\x68', '\x69', '\x70', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x65', '\x78', '\x70', '\x72', '\x20', '\x63', '\x68', '\x61', '\x72', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x2a', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x73', '\x5f', '\x65', '\x6d', '\x70', '\x74', '\x79', '\x20', '\x3d', '\x20', '\x22', '\x22', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x70', '\x75', '\x62', '\x6c', '\x69', '\x63', '\x3a', '\x20', '\x2f', '\x2f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x2f', '\x20', '\x61', '\x73', '\x73', '\x69', '\x67', '\x6e', '\x6d', '\x65', '\x6e', '\x74', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x66', '\x28', '\x29', '\x20', '\x6e', '\x6f', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x3a', '\x20', '\x20', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x66', '\x28', '\x20', '\x73', '\x5f', '\x65', '\x6d', '\x70', '\x74', '\x79', '\x2c', '\x20', '\x30', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7b', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x66', '\x28', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x66', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6f', '\x74', '\x68', '\x65', '\x72', '\x20', '\x29', '\x20', '\x6e', '\x6f', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x3a', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x73', '\x74', '\x61', '\x72', '\x74', '\x28', '\x20', '\x6f', '\x74', '\x68', '\x65', '\x72', '\x2e', '\x6d', '\x5f', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x29', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x73', '\x69', '\x7a', '\x65', '\x28', '\x20', '\x6f', '\x74', '\x68', '\x65', '\x72', '\x2e', '\x6d', '\x5f', '\x73', '\x69', '\x7a', '\x65', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7b', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x66', '\x28', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x66', '\x26', '\x26', '\x20', '\x6f', '\x74', '\x68', '\x65', '\x72', '\x20', '\x29', '\x20', '\x6e', '\x6f', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x3a', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x73', '\x74', '\x61', '\x72', '\x74', '\x28', '\x20', '\x6f', '\x74', '\x68', '\x65', '\x72', '\x2e', '\x6d', '\x5f', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x29', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x73', '\x69', '\x7a', '\x65', '\x28', '\x20', '\x6f', '\x74', '\x68', '\x65', '\x72', '\x2e', '\x6d', '\x5f', '\x73', '\x69', '\x7a', '\x65', '\x20', '\x29', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x64', '\x61', '\x74', '\x61', '\x28', '\x20', '\x6f', '\x74', '\x68', '\x65', '\x72', '\x2e', '\x6d', '\x5f', '\x64', '\x61', '\x74', '\x61', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6f', '\x74', '\x68', '\x65', '\x72', '\x2e', '\x6d', '\x5f', '\x64', '\x61', '\x74', '\x61', '\x20', '\x3d', '\x20', '\x6e', '\x75', '\x6c', '\x6c', '\x70', '\x74', '\x72', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x66', '\x28', '\x20', '\x63', '\x68', '\x61', '\x72', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x2a', '\x20', '\x72', '\x61', '\x77', '\x43', '\x68', '\x61', '\x72', '\x73', '\x20', '\x29', '\x20', '\x6e', '\x6f', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x66', '\x28', '\x20', '\x63', '\x68', '\x61', '\x72', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x2a', '\x20', '\x72', '\x61', '\x77', '\x43', '\x68', '\x61', '\x72', '\x73', '\x2c', '\x20', '\x73', '\x69', '\x7a', '\x65', '\x5f', '\x74', '\x79', '\x70', '\x65', '\x20', '\x73', '\x69', '\x7a', '\x65', '\x20', '\x29', '\x20', '\x6e', '\x6f', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x3a', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x73', '\x74', '\x61', '\x72', '\x74', '\x28', '\x20', '\x72', '\x61', '\x77', '\x43', '\x68', '\x61', '\x72', '\x73', '\x20', '\x29', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x73', '\x69', '\x7a', '\x65', '\x28', '\x20', '\x73', '\x69', '\x7a', '\x65', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7b', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x66', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x73', '\x74', '\x64', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x29', '\x20', '\x6e', '\x6f', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x3a', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x73', '\x74', '\x61', '\x72', '\x74', '\x28', '\x20', '\x73', '\x74', '\x64', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x2e', '\x63', '\x5f', '\x73', '\x74', '\x72', '\x28', '\x29', '\x20', '\x29', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x73', '\x69', '\x7a', '\x65', '\x28', '\x20', '\x73', '\x74', '\x64', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x2e', '\x73', '\x69', '\x7a', '\x65', '\x28', '\x29', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7b', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7e', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x66', '\x28', '\x29', '\x20', '\x6e', '\x6f', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x64', '\x65', '\x6c', '\x65', '\x74', '\x65', '\x5b', '\x5d', '\x20', '\x6d', '\x5f', '\x64', '\x61', '\x74', '\x61', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x3d', '\x20', '\x28', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x66', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x26', '\x6f', '\x74', '\x68', '\x65', '\x72', '\x20', '\x29', '\x20', '\x6e', '\x6f', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x20', '\x2d', '\x3e', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x66', '\x26', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x64', '\x65', '\x6c', '\x65', '\x74', '\x65', '\x5b', '\x5d', '\x20', '\x6d', '\x5f', '\x64', '\x61', '\x74', '\x61', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x64', '\x61', '\x74', '\x61', '\x20', '\x3d', '\x20', '\x6e', '\x75', '\x6c', '\x6c', '\x70', '\x74', '\x72', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x3d', '\x20', '\x6f', '\x74', '\x68', '\x65', '\x72', '\x2e', '\x6d', '\x5f', '\x73', '\x74', '\x61', '\x72', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x73', '\x69', '\x7a', '\x65', '\x20', '\x3d', '\x20', '\x6f', '\x74', '\x68', '\x65', '\x72', '\x2e', '\x6d', '\x5f', '\x73', '\x69', '\x7a', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x2a', '\x74', '\x68', '\x69', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x78', '\x70', '\x6c', '\x69', '\x63', '\x69', '\x74', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x28', '\x6d', '\x5f', '\x73', '\x74', '\x61', '\x72', '\x74', '\x2c', '\x20', '\x6d', '\x5f', '\x73', '\x69', '\x7a', '\x65', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x73', '\x77', '\x61', '\x70', '\x28', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x66', '\x26', '\x20', '\x6f', '\x74', '\x68', '\x65', '\x72', '\x20', '\x29', '\x20', '\x6e', '\x6f', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x70', '\x75', '\x62', '\x6c', '\x69', '\x63', '\x3a', '\x20', '\x2f', '\x2f', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x73', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x3d', '\x3d', '\x20', '\x28', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x66', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6f', '\x74', '\x68', '\x65', '\x72', '\x20', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x6e', '\x6f', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x20', '\x2d', '\x3e', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x21', '\x3d', '\x20', '\x28', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x66', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6f', '\x74', '\x68', '\x65', '\x72', '\x20', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x6e', '\x6f', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x20', '\x2d', '\x3e', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x5b', '\x5d', '\x20', '\x28', '\x20', '\x73', '\x69', '\x7a', '\x65', '\x5f', '\x74', '\x79', '\x70', '\x65', '\x20', '\x69', '\x6e', '\x64', '\x65', '\x78', '\x20', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x6e', '\x6f', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x20', '\x2d', '\x3e', '\x20', '\x63', '\x68', '\x61', '\x72', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x28', '\x69', '\x6e', '\x64', '\x65', '\x78', '\x20', '\x3c', '\x20', '\x6d', '\x5f', '\x73', '\x69', '\x7a', '\x65', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6d', '\x5f', '\x73', '\x74', '\x61', '\x72', '\x74', '\x5b', '\x69', '\x6e', '\x64', '\x65', '\x78', '\x5d', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x70', '\x75', '\x62', '\x6c', '\x69', '\x63', '\x3a', '\x20', '\x2f', '\x2f', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x64', '\x20', '\x71', '\x75', '\x65', '\x72', '\x69', '\x65', '\x73', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x65', '\x6d', '\x70', '\x74', '\x79', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x6e', '\x6f', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x20', '\x2d', '\x3e', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6d', '\x5f', '\x73', '\x69', '\x7a', '\x65', '\x20', '\x3d', '\x3d', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x73', '\x69', '\x7a', '\x65', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x6e', '\x6f', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x20', '\x2d', '\x3e', '\x20', '\x73', '\x69', '\x7a', '\x65', '\x5f', '\x74', '\x79', '\x70', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6d', '\x5f', '\x73', '\x69', '\x7a', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x63', '\x5f', '\x73', '\x74', '\x72', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x2d', '\x3e', '\x20', '\x63', '\x68', '\x61', '\x72', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x2a', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x70', '\x75', '\x62', '\x6c', '\x69', '\x63', '\x3a', '\x20', '\x2f', '\x2f', '\x20', '\x73', '\x75', '\x62', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x73', '\x20', '\x61', '\x6e', '\x64', '\x20', '\x73', '\x65', '\x61', '\x72', '\x63', '\x68', '\x65', '\x73', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x73', '\x75', '\x62', '\x73', '\x74', '\x72', '\x28', '\x20', '\x73', '\x69', '\x7a', '\x65', '\x5f', '\x74', '\x79', '\x70', '\x65', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x2c', '\x20', '\x73', '\x69', '\x7a', '\x65', '\x5f', '\x74', '\x79', '\x70', '\x65', '\x20', '\x73', '\x69', '\x7a', '\x65', '\x20', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x6e', '\x6f', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x20', '\x2d', '\x3e', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x66', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x52', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x73', '\x20', '\x74', '\x68', '\x65', '\x20', '\x63', '\x75', '\x72', '\x72', '\x65', '\x6e', '\x74', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x70', '\x6f', '\x69', '\x6e', '\x74', '\x65', '\x72', '\x2e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x4e', '\x6f', '\x74', '\x65', '\x20', '\x74', '\x68', '\x61', '\x74', '\x20', '\x74', '\x68', '\x65', '\x20', '\x70', '\x6f', '\x69', '\x6e', '\x74', '\x65', '\x72', '\x20', '\x63', '\x61', '\x6e', '\x20', '\x63', '\x68', '\x61', '\x6e', '\x67', '\x65', '\x20', '\x77', '\x68', '\x65', '\x6e', '\x20', '\x69', '\x66', '\x20', '\x74', '\x68', '\x65', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x66', '\x20', '\x69', '\x73', '\x20', '\x61', '\x20', '\x73', '\x75', '\x62', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x63', '\x75', '\x72', '\x72', '\x65', '\x6e', '\x74', '\x44', '\x61', '\x74', '\x61', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x6e', '\x6f', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x20', '\x2d', '\x3e', '\x20', '\x63', '\x68', '\x61', '\x72', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x2a', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x70', '\x75', '\x62', '\x6c', '\x69', '\x63', '\x3a', '\x20', '\x2f', '\x2f', '\x20', '\x69', '\x74', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x73', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x5f', '\x69', '\x74', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x62', '\x65', '\x67', '\x69', '\x6e', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x7b', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6d', '\x5f', '\x73', '\x74', '\x61', '\x72', '\x74', '\x3b', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x5f', '\x69', '\x74', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x65', '\x6e', '\x64', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x7b', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6d', '\x5f', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x2b', '\x20', '\x6d', '\x5f', '\x73', '\x69', '\x7a', '\x65', '\x3b', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x70', '\x72', '\x69', '\x76', '\x61', '\x74', '\x65', '\x3a', '\x20', '\x2f', '\x2f', '\x20', '\x6f', '\x77', '\x6e', '\x65', '\x72', '\x73', '\x68', '\x69', '\x70', '\x20', '\x71', '\x75', '\x65', '\x72', '\x69', '\x65', '\x73', '\x20', '\x2d', '\x20', '\x6d', '\x61', '\x79', '\x20', '\x6e', '\x6f', '\x74', '\x20', '\x62', '\x65', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x69', '\x73', '\x74', '\x65', '\x6e', '\x74', '\x20', '\x62', '\x65', '\x74', '\x77', '\x65', '\x65', '\x6e', '\x20', '\x63', '\x61', '\x6c', '\x6c', '\x73', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x69', '\x73', '\x4f', '\x77', '\x6e', '\x65', '\x64', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x6e', '\x6f', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x20', '\x2d', '\x3e', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x69', '\x73', '\x53', '\x75', '\x62', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x6e', '\x6f', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x20', '\x2d', '\x3e', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x2b', '\x3d', '\x20', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x26', '\x20', '\x6c', '\x68', '\x73', '\x2c', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x66', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x73', '\x72', '\x20', '\x29', '\x20', '\x2d', '\x3e', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x26', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x3c', '\x3c', '\x20', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6f', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x26', '\x20', '\x6f', '\x73', '\x2c', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x66', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x73', '\x72', '\x20', '\x29', '\x20', '\x2d', '\x3e', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6f', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x26', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x69', '\x6e', '\x6c', '\x69', '\x6e', '\x65', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x22', '\x22', '\x20', '\x5f', '\x73', '\x72', '\x28', '\x20', '\x63', '\x68', '\x61', '\x72', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x2a', '\x20', '\x72', '\x61', '\x77', '\x43', '\x68', '\x61', '\x72', '\x73', '\x2c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x69', '\x7a', '\x65', '\x5f', '\x74', '\x20', '\x73', '\x69', '\x7a', '\x65', '\x20', '\x29', '\x20', '\x6e', '\x6f', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x20', '\x2d', '\x3e', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x66', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x66', '\x28', '\x20', '\x72', '\x61', '\x77', '\x43', '\x68', '\x61', '\x72', '\x73', '\x2c', '\x20', '\x73', '\x69', '\x7a', '\x65', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x0d', '\x0a', '\x0d', '\x0a', '\x69', '\x6e', '\x6c', '\x69', '\x6e', '\x65', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x22', '\x22', '\x20', '\x5f', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x73', '\x72', '\x28', '\x20', '\x63', '\x68', '\x61', '\x72', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x2a', '\x20', '\x72', '\x61', '\x77', '\x43', '\x68', '\x61', '\x72', '\x73', '\x2c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x69', '\x7a', '\x65', '\x5f', '\x74', '\x20', '\x73', '\x69', '\x7a', '\x65', '\x20', '\x29', '\x20', '\x6e', '\x6f', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x20', '\x2d', '\x3e', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x66', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x66', '\x28', '\x20', '\x72', '\x61', '\x77', '\x43', '\x68', '\x61', '\x72', '\x73', '\x2c', '\x20', '\x73', '\x69', '\x7a', '\x65', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x72', '\x65', '\x66', '\x2e', '\x68', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x70', '\x72', '\x65', '\x70', '\x72', '\x6f', '\x63', '\x65', '\x73', '\x73', '\x6f', '\x72', '\x2e', '\x68', '\x70', '\x70', '\x0d', '\x0a', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x43', '\x55', '\x52', '\x53', '\x49', '\x4f', '\x4e', '\x5f', '\x4c', '\x45', '\x56', '\x45', '\x4c', '\x30', '\x28', '\x2e', '\x2e', '\x2e', '\x29', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x43', '\x55', '\x52', '\x53', '\x49', '\x4f', '\x4e', '\x5f', '\x4c', '\x45', '\x56', '\x45', '\x4c', '\x31', '\x28', '\x2e', '\x2e', '\x2e', '\x29', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x43', '\x55', '\x52', '\x53', '\x49', '\x4f', '\x4e', '\x5f', '\x4c', '\x45', '\x56', '\x45', '\x4c', '\x30', '\x28', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x43', '\x55', '\x52', '\x53', '\x49', '\x4f', '\x4e', '\x5f', '\x4c', '\x45', '\x56', '\x45', '\x4c', '\x30', '\x28', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x43', '\x55', '\x52', '\x53', '\x49', '\x4f', '\x4e', '\x5f', '\x4c', '\x45', '\x56', '\x45', '\x4c', '\x30', '\x28', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x29', '\x29', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x43', '\x55', '\x52', '\x53', '\x49', '\x4f', '\x4e', '\x5f', '\x4c', '\x45', '\x56', '\x45', '\x4c', '\x32', '\x28', '\x2e', '\x2e', '\x2e', '\x29', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x43', '\x55', '\x52', '\x53', '\x49', '\x4f', '\x4e', '\x5f', '\x4c', '\x45', '\x56', '\x45', '\x4c', '\x31', '\x28', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x43', '\x55', '\x52', '\x53', '\x49', '\x4f', '\x4e', '\x5f', '\x4c', '\x45', '\x56', '\x45', '\x4c', '\x31', '\x28', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x43', '\x55', '\x52', '\x53', '\x49', '\x4f', '\x4e', '\x5f', '\x4c', '\x45', '\x56', '\x45', '\x4c', '\x31', '\x28', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x29', '\x29', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x43', '\x55', '\x52', '\x53', '\x49', '\x4f', '\x4e', '\x5f', '\x4c', '\x45', '\x56', '\x45', '\x4c', '\x33', '\x28', '\x2e', '\x2e', '\x2e', '\x29', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x43', '\x55', '\x52', '\x53', '\x49', '\x4f', '\x4e', '\x5f', '\x4c', '\x45', '\x56', '\x45', '\x4c', '\x32', '\x28', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x43', '\x55', '\x52', '\x53', '\x49', '\x4f', '\x4e', '\x5f', '\x4c', '\x45', '\x56', '\x45', '\x4c', '\x32', '\x28', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x43', '\x55', '\x52', '\x53', '\x49', '\x4f', '\x4e', '\x5f', '\x4c', '\x45', '\x56', '\x45', '\x4c', '\x32', '\x28', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x29', '\x29', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x43', '\x55', '\x52', '\x53', '\x49', '\x4f', '\x4e', '\x5f', '\x4c', '\x45', '\x56', '\x45', '\x4c', '\x34', '\x28', '\x2e', '\x2e', '\x2e', '\x29', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x43', '\x55', '\x52', '\x53', '\x49', '\x4f', '\x4e', '\x5f', '\x4c', '\x45', '\x56', '\x45', '\x4c', '\x33', '\x28', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x43', '\x55', '\x52', '\x53', '\x49', '\x4f', '\x4e', '\x5f', '\x4c', '\x45', '\x56', '\x45', '\x4c', '\x33', '\x28', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x43', '\x55', '\x52', '\x53', '\x49', '\x4f', '\x4e', '\x5f', '\x4c', '\x45', '\x56', '\x45', '\x4c', '\x33', '\x28', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x29', '\x29', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x43', '\x55', '\x52', '\x53', '\x49', '\x4f', '\x4e', '\x5f', '\x4c', '\x45', '\x56', '\x45', '\x4c', '\x35', '\x28', '\x2e', '\x2e', '\x2e', '\x29', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x43', '\x55', '\x52', '\x53', '\x49', '\x4f', '\x4e', '\x5f', '\x4c', '\x45', '\x56', '\x45', '\x4c', '\x34', '\x28', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x43', '\x55', '\x52', '\x53', '\x49', '\x4f', '\x4e', '\x5f', '\x4c', '\x45', '\x56', '\x45', '\x4c', '\x34', '\x28', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x43', '\x55', '\x52', '\x53', '\x49', '\x4f', '\x4e', '\x5f', '\x4c', '\x45', '\x56', '\x45', '\x4c', '\x34', '\x28', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x29', '\x29', '\x29', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x64', '\x65', '\x66', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x54', '\x52', '\x41', '\x44', '\x49', '\x54', '\x49', '\x4f', '\x4e', '\x41', '\x4c', '\x5f', '\x4d', '\x53', '\x56', '\x43', '\x5f', '\x50', '\x52', '\x45', '\x50', '\x52', '\x4f', '\x43', '\x45', '\x53', '\x53', '\x4f', '\x52', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x45', '\x58', '\x50', '\x41', '\x4e', '\x44', '\x5f', '\x56', '\x41', '\x52', '\x47', '\x53', '\x28', '\x2e', '\x2e', '\x2e', '\x29', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x4d', '\x53', '\x56', '\x43', '\x20', '\x6e', '\x65', '\x65', '\x64', '\x73', '\x20', '\x6d', '\x6f', '\x72', '\x65', '\x20', '\x65', '\x76', '\x61', '\x6c', '\x75', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x43', '\x55', '\x52', '\x53', '\x49', '\x4f', '\x4e', '\x5f', '\x4c', '\x45', '\x56', '\x45', '\x4c', '\x36', '\x28', '\x2e', '\x2e', '\x2e', '\x29', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x43', '\x55', '\x52', '\x53', '\x49', '\x4f', '\x4e', '\x5f', '\x4c', '\x45', '\x56', '\x45', '\x4c', '\x35', '\x28', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x43', '\x55', '\x52', '\x53', '\x49', '\x4f', '\x4e', '\x5f', '\x4c', '\x45', '\x56', '\x45', '\x4c', '\x35', '\x28', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x43', '\x55', '\x52', '\x53', '\x49', '\x4f', '\x4e', '\x5f', '\x4c', '\x45', '\x56', '\x45', '\x4c', '\x35', '\x28', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x29', '\x29', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x43', '\x55', '\x52', '\x53', '\x45', '\x28', '\x2e', '\x2e', '\x2e', '\x29', '\x20', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x43', '\x55', '\x52', '\x53', '\x49', '\x4f', '\x4e', '\x5f', '\x4c', '\x45', '\x56', '\x45', '\x4c', '\x36', '\x28', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x43', '\x55', '\x52', '\x53', '\x49', '\x4f', '\x4e', '\x5f', '\x4c', '\x45', '\x56', '\x45', '\x4c', '\x36', '\x28', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x29', '\x29', '\x0d', '\x0a', '\x23', '\x65', '\x6c', '\x73', '\x65', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x43', '\x55', '\x52', '\x53', '\x45', '\x28', '\x2e', '\x2e', '\x2e', '\x29', '\x20', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x43', '\x55', '\x52', '\x53', '\x49', '\x4f', '\x4e', '\x5f', '\x4c', '\x45', '\x56', '\x45', '\x4c', '\x35', '\x28', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x29', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x43', '\x5f', '\x45', '\x4e', '\x44', '\x28', '\x2e', '\x2e', '\x2e', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x43', '\x5f', '\x4f', '\x55', '\x54', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x45', '\x4d', '\x50', '\x54', '\x59', '\x28', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x44', '\x45', '\x46', '\x45', '\x52', '\x28', '\x69', '\x64', '\x29', '\x20', '\x69', '\x64', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x45', '\x4d', '\x50', '\x54', '\x59', '\x28', '\x29', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x43', '\x5f', '\x47', '\x45', '\x54', '\x5f', '\x45', '\x4e', '\x44', '\x32', '\x28', '\x29', '\x20', '\x30', '\x2c', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x43', '\x5f', '\x45', '\x4e', '\x44', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x43', '\x5f', '\x47', '\x45', '\x54', '\x5f', '\x45', '\x4e', '\x44', '\x31', '\x28', '\x2e', '\x2e', '\x2e', '\x29', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x43', '\x5f', '\x47', '\x45', '\x54', '\x5f', '\x45', '\x4e', '\x44', '\x32', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x43', '\x5f', '\x47', '\x45', '\x54', '\x5f', '\x45', '\x4e', '\x44', '\x28', '\x2e', '\x2e', '\x2e', '\x29', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x43', '\x5f', '\x47', '\x45', '\x54', '\x5f', '\x45', '\x4e', '\x44', '\x31', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x43', '\x5f', '\x4e', '\x45', '\x58', '\x54', '\x30', '\x28', '\x74', '\x65', '\x73', '\x74', '\x2c', '\x20', '\x6e', '\x65', '\x78', '\x74', '\x2c', '\x20', '\x2e', '\x2e', '\x2e', '\x29', '\x20', '\x6e', '\x65', '\x78', '\x74', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x43', '\x5f', '\x4f', '\x55', '\x54', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x43', '\x5f', '\x4e', '\x45', '\x58', '\x54', '\x31', '\x28', '\x74', '\x65', '\x73', '\x74', '\x2c', '\x20', '\x6e', '\x65', '\x78', '\x74', '\x29', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x44', '\x45', '\x46', '\x45', '\x52', '\x20', '\x28', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x43', '\x5f', '\x4e', '\x45', '\x58', '\x54', '\x30', '\x20', '\x29', '\x20', '\x28', '\x20', '\x74', '\x65', '\x73', '\x74', '\x2c', '\x20', '\x6e', '\x65', '\x78', '\x74', '\x2c', '\x20', '\x30', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x43', '\x5f', '\x4e', '\x45', '\x58', '\x54', '\x28', '\x74', '\x65', '\x73', '\x74', '\x2c', '\x20', '\x6e', '\x65', '\x78', '\x74', '\x29', '\x20', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x43', '\x5f', '\x4e', '\x45', '\x58', '\x54', '\x31', '\x28', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x43', '\x5f', '\x47', '\x45', '\x54', '\x5f', '\x45', '\x4e', '\x44', '\x20', '\x74', '\x65', '\x73', '\x74', '\x2c', '\x20', '\x6e', '\x65', '\x78', '\x74', '\x29', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x43', '\x5f', '\x4c', '\x49', '\x53', '\x54', '\x30', '\x28', '\x66', '\x2c', '\x20', '\x78', '\x2c', '\x20', '\x70', '\x65', '\x65', '\x6b', '\x2c', '\x20', '\x2e', '\x2e', '\x2e', '\x29', '\x20', '\x2c', '\x20', '\x66', '\x28', '\x78', '\x29', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x44', '\x45', '\x46', '\x45', '\x52', '\x20', '\x28', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x43', '\x5f', '\x4e', '\x45', '\x58', '\x54', '\x28', '\x70', '\x65', '\x65', '\x6b', '\x2c', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x43', '\x5f', '\x4c', '\x49', '\x53', '\x54', '\x31', '\x29', '\x20', '\x29', '\x20', '\x28', '\x20', '\x66', '\x2c', '\x20', '\x70', '\x65', '\x65', '\x6b', '\x2c', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x20', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x43', '\x5f', '\x4c', '\x49', '\x53', '\x54', '\x31', '\x28', '\x66', '\x2c', '\x20', '\x78', '\x2c', '\x20', '\x70', '\x65', '\x65', '\x6b', '\x2c', '\x20', '\x2e', '\x2e', '\x2e', '\x29', '\x20', '\x2c', '\x20', '\x66', '\x28', '\x78', '\x29', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x44', '\x45', '\x46', '\x45', '\x52', '\x20', '\x28', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x43', '\x5f', '\x4e', '\x45', '\x58', '\x54', '\x28', '\x70', '\x65', '\x65', '\x6b', '\x2c', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x43', '\x5f', '\x4c', '\x49', '\x53', '\x54', '\x30', '\x29', '\x20', '\x29', '\x20', '\x28', '\x20', '\x66', '\x2c', '\x20', '\x70', '\x65', '\x65', '\x6b', '\x2c', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x20', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x43', '\x5f', '\x4c', '\x49', '\x53', '\x54', '\x32', '\x28', '\x66', '\x2c', '\x20', '\x78', '\x2c', '\x20', '\x70', '\x65', '\x65', '\x6b', '\x2c', '\x20', '\x2e', '\x2e', '\x2e', '\x29', '\x20', '\x20', '\x20', '\x66', '\x28', '\x78', '\x29', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x44', '\x45', '\x46', '\x45', '\x52', '\x20', '\x28', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x43', '\x5f', '\x4e', '\x45', '\x58', '\x54', '\x28', '\x70', '\x65', '\x65', '\x6b', '\x2c', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x43', '\x5f', '\x4c', '\x49', '\x53', '\x54', '\x31', '\x29', '\x20', '\x29', '\x20', '\x28', '\x20', '\x66', '\x2c', '\x20', '\x70', '\x65', '\x65', '\x6b', '\x2c', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x20', '\x29', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x43', '\x5f', '\x4c', '\x49', '\x53', '\x54', '\x30', '\x5f', '\x55', '\x44', '\x28', '\x66', '\x2c', '\x20', '\x75', '\x73', '\x65', '\x72', '\x64', '\x61', '\x74', '\x61', '\x2c', '\x20', '\x78', '\x2c', '\x20', '\x70', '\x65', '\x65', '\x6b', '\x2c', '\x20', '\x2e', '\x2e', '\x2e', '\x29', '\x20', '\x2c', '\x20', '\x66', '\x28', '\x75', '\x73', '\x65', '\x72', '\x64', '\x61', '\x74', '\x61', '\x2c', '\x20', '\x78', '\x29', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x44', '\x45', '\x46', '\x45', '\x52', '\x20', '\x28', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x43', '\x5f', '\x4e', '\x45', '\x58', '\x54', '\x28', '\x70', '\x65', '\x65', '\x6b', '\x2c', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x43', '\x5f', '\x4c', '\x49', '\x53', '\x54', '\x31', '\x5f', '\x55', '\x44', '\x29', '\x20', '\x29', '\x20', '\x28', '\x20', '\x66', '\x2c', '\x20', '\x75', '\x73', '\x65', '\x72', '\x64', '\x61', '\x74', '\x61', '\x2c', '\x20', '\x70', '\x65', '\x65', '\x6b', '\x2c', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x20', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x43', '\x5f', '\x4c', '\x49', '\x53', '\x54', '\x31', '\x5f', '\x55', '\x44', '\x28', '\x66', '\x2c', '\x20', '\x75', '\x73', '\x65', '\x72', '\x64', '\x61', '\x74', '\x61', '\x2c', '\x20', '\x78', '\x2c', '\x20', '\x70', '\x65', '\x65', '\x6b', '\x2c', '\x20', '\x2e', '\x2e', '\x2e', '\x29', '\x20', '\x2c', '\x20', '\x66', '\x28', '\x75', '\x73', '\x65', '\x72', '\x64', '\x61', '\x74', '\x61', '\x2c', '\x20', '\x78', '\x29', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x44', '\x45', '\x46', '\x45', '\x52', '\x20', '\x28', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x43', '\x5f', '\x4e', '\x45', '\x58', '\x54', '\x28', '\x70', '\x65', '\x65', '\x6b', '\x2c', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x43', '\x5f', '\x4c', '\x49', '\x53', '\x54', '\x30', '\x5f', '\x55', '\x44', '\x29', '\x20', '\x29', '\x20', '\x28', '\x20', '\x66', '\x2c', '\x20', '\x75', '\x73', '\x65', '\x72', '\x64', '\x61', '\x74', '\x61', '\x2c', '\x20', '\x70', '\x65', '\x65', '\x6b', '\x2c', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x20', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x43', '\x5f', '\x4c', '\x49', '\x53', '\x54', '\x32', '\x5f', '\x55', '\x44', '\x28', '\x66', '\x2c', '\x20', '\x75', '\x73', '\x65', '\x72', '\x64', '\x61', '\x74', '\x61', '\x2c', '\x20', '\x78', '\x2c', '\x20', '\x70', '\x65', '\x65', '\x6b', '\x2c', '\x20', '\x2e', '\x2e', '\x2e', '\x29', '\x20', '\x20', '\x20', '\x66', '\x28', '\x75', '\x73', '\x65', '\x72', '\x64', '\x61', '\x74', '\x61', '\x2c', '\x20', '\x78', '\x29', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x44', '\x45', '\x46', '\x45', '\x52', '\x20', '\x28', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x43', '\x5f', '\x4e', '\x45', '\x58', '\x54', '\x28', '\x70', '\x65', '\x65', '\x6b', '\x2c', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x43', '\x5f', '\x4c', '\x49', '\x53', '\x54', '\x31', '\x5f', '\x55', '\x44', '\x29', '\x20', '\x29', '\x20', '\x28', '\x20', '\x66', '\x2c', '\x20', '\x75', '\x73', '\x65', '\x72', '\x64', '\x61', '\x74', '\x61', '\x2c', '\x20', '\x70', '\x65', '\x65', '\x6b', '\x2c', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x20', '\x29', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x41', '\x70', '\x70', '\x6c', '\x69', '\x65', '\x73', '\x20', '\x74', '\x68', '\x65', '\x20', '\x66', '\x75', '\x6e', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x6d', '\x61', '\x63', '\x72', '\x6f', '\x20', '\x60', '\x66', '\x60', '\x20', '\x74', '\x6f', '\x20', '\x65', '\x61', '\x63', '\x68', '\x20', '\x6f', '\x66', '\x20', '\x74', '\x68', '\x65', '\x20', '\x72', '\x65', '\x6d', '\x61', '\x69', '\x6e', '\x69', '\x6e', '\x67', '\x20', '\x70', '\x61', '\x72', '\x61', '\x6d', '\x65', '\x74', '\x65', '\x72', '\x73', '\x2c', '\x20', '\x69', '\x6e', '\x73', '\x65', '\x72', '\x74', '\x73', '\x20', '\x63', '\x6f', '\x6d', '\x6d', '\x61', '\x73', '\x20', '\x62', '\x65', '\x74', '\x77', '\x65', '\x65', '\x6e', '\x20', '\x74', '\x68', '\x65', '\x20', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x73', '\x2c', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x61', '\x6e', '\x64', '\x20', '\x70', '\x61', '\x73', '\x73', '\x65', '\x73', '\x20', '\x75', '\x73', '\x65', '\x72', '\x64', '\x61', '\x74', '\x61', '\x20', '\x61', '\x73', '\x20', '\x74', '\x68', '\x65', '\x20', '\x66', '\x69', '\x72', '\x73', '\x74', '\x20', '\x70', '\x61', '\x72', '\x61', '\x6d', '\x65', '\x74', '\x65', '\x72', '\x20', '\x74', '\x6f', '\x20', '\x65', '\x61', '\x63', '\x68', '\x20', '\x69', '\x6e', '\x76', '\x6f', '\x63', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x2c', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x2e', '\x67', '\x2e', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x43', '\x5f', '\x4c', '\x49', '\x53', '\x54', '\x5f', '\x55', '\x44', '\x28', '\x66', '\x2c', '\x20', '\x78', '\x2c', '\x20', '\x61', '\x2c', '\x20', '\x62', '\x2c', '\x20', '\x63', '\x29', '\x20', '\x65', '\x76', '\x61', '\x6c', '\x75', '\x61', '\x74', '\x65', '\x73', '\x20', '\x74', '\x6f', '\x20', '\x66', '\x28', '\x78', '\x2c', '\x20', '\x61', '\x29', '\x2c', '\x20', '\x66', '\x28', '\x78', '\x2c', '\x20', '\x62', '\x29', '\x2c', '\x20', '\x66', '\x28', '\x78', '\x2c', '\x20', '\x63', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x43', '\x5f', '\x4c', '\x49', '\x53', '\x54', '\x5f', '\x55', '\x44', '\x28', '\x66', '\x2c', '\x20', '\x75', '\x73', '\x65', '\x72', '\x64', '\x61', '\x74', '\x61', '\x2c', '\x20', '\x2e', '\x2e', '\x2e', '\x29', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x43', '\x55', '\x52', '\x53', '\x45', '\x28', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x43', '\x5f', '\x4c', '\x49', '\x53', '\x54', '\x32', '\x5f', '\x55', '\x44', '\x28', '\x66', '\x2c', '\x20', '\x75', '\x73', '\x65', '\x72', '\x64', '\x61', '\x74', '\x61', '\x2c', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x2c', '\x20', '\x28', '\x29', '\x28', '\x29', '\x28', '\x29', '\x2c', '\x20', '\x28', '\x29', '\x28', '\x29', '\x28', '\x29', '\x2c', '\x20', '\x28', '\x29', '\x28', '\x29', '\x28', '\x29', '\x2c', '\x20', '\x30', '\x29', '\x29', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x43', '\x5f', '\x4c', '\x49', '\x53', '\x54', '\x28', '\x66', '\x2c', '\x20', '\x2e', '\x2e', '\x2e', '\x29', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x43', '\x55', '\x52', '\x53', '\x45', '\x28', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x43', '\x5f', '\x4c', '\x49', '\x53', '\x54', '\x32', '\x28', '\x66', '\x2c', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x2c', '\x20', '\x28', '\x29', '\x28', '\x29', '\x28', '\x29', '\x2c', '\x20', '\x28', '\x29', '\x28', '\x29', '\x28', '\x29', '\x2c', '\x20', '\x28', '\x29', '\x28', '\x29', '\x28', '\x29', '\x2c', '\x20', '\x30', '\x29', '\x29', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x45', '\x58', '\x50', '\x41', '\x4e', '\x44', '\x31', '\x28', '\x70', '\x61', '\x72', '\x61', '\x6d', '\x29', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x45', '\x58', '\x50', '\x41', '\x4e', '\x44', '\x32', '\x28', '\x70', '\x61', '\x72', '\x61', '\x6d', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x45', '\x58', '\x50', '\x41', '\x4e', '\x44', '\x32', '\x28', '\x2e', '\x2e', '\x2e', '\x29', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x4e', '\x4f', '\x23', '\x23', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x44', '\x45', '\x46', '\x28', '\x2e', '\x2e', '\x2e', '\x29', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x44', '\x45', '\x46', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x4e', '\x4f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x44', '\x45', '\x46', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x53', '\x54', '\x52', '\x49', '\x4e', '\x47', '\x49', '\x5a', '\x45', '\x28', '\x2e', '\x2e', '\x2e', '\x29', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x53', '\x54', '\x52', '\x49', '\x4e', '\x47', '\x49', '\x5a', '\x45', '\x32', '\x28', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x29', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x6e', '\x64', '\x65', '\x66', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x54', '\x52', '\x41', '\x44', '\x49', '\x54', '\x49', '\x4f', '\x4e', '\x41', '\x4c', '\x5f', '\x4d', '\x53', '\x56', '\x43', '\x5f', '\x50', '\x52', '\x45', '\x50', '\x52', '\x4f', '\x43', '\x45', '\x53', '\x53', '\x4f', '\x52', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x53', '\x54', '\x52', '\x49', '\x4e', '\x47', '\x49', '\x5a', '\x45', '\x32', '\x28', '\x2e', '\x2e', '\x2e', '\x29', '\x20', '\x23', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x53', '\x54', '\x52', '\x49', '\x4e', '\x47', '\x49', '\x5a', '\x45', '\x5f', '\x57', '\x49', '\x54', '\x48', '\x4f', '\x55', '\x54', '\x5f', '\x50', '\x41', '\x52', '\x45', '\x4e', '\x53', '\x28', '\x70', '\x61', '\x72', '\x61', '\x6d', '\x29', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x53', '\x54', '\x52', '\x49', '\x4e', '\x47', '\x49', '\x5a', '\x45', '\x28', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x4d', '\x4f', '\x56', '\x45', '\x5f', '\x50', '\x41', '\x52', '\x45', '\x4e', '\x53', '\x28', '\x70', '\x61', '\x72', '\x61', '\x6d', '\x29', '\x29', '\x0d', '\x0a', '\x23', '\x65', '\x6c', '\x73', '\x65', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x4d', '\x53', '\x56', '\x43', '\x20', '\x69', '\x73', '\x20', '\x61', '\x64', '\x64', '\x69', '\x6e', '\x67', '\x20', '\x65', '\x78', '\x74', '\x72', '\x61', '\x20', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x61', '\x6e', '\x64', '\x20', '\x6e', '\x65', '\x65', '\x64', '\x73', '\x20', '\x61', '\x6e', '\x6f', '\x74', '\x68', '\x65', '\x72', '\x20', '\x69', '\x6e', '\x64', '\x69', '\x72', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x74', '\x6f', '\x20', '\x65', '\x78', '\x70', '\x61', '\x6e', '\x64', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x4e', '\x4f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x44', '\x45', '\x46', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x53', '\x54', '\x52', '\x49', '\x4e', '\x47', '\x49', '\x5a', '\x45', '\x32', '\x28', '\x2e', '\x2e', '\x2e', '\x29', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x53', '\x54', '\x52', '\x49', '\x4e', '\x47', '\x49', '\x5a', '\x45', '\x33', '\x28', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x53', '\x54', '\x52', '\x49', '\x4e', '\x47', '\x49', '\x5a', '\x45', '\x33', '\x28', '\x2e', '\x2e', '\x2e', '\x29', '\x20', '\x23', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x53', '\x54', '\x52', '\x49', '\x4e', '\x47', '\x49', '\x5a', '\x45', '\x5f', '\x57', '\x49', '\x54', '\x48', '\x4f', '\x55', '\x54', '\x5f', '\x50', '\x41', '\x52', '\x45', '\x4e', '\x53', '\x28', '\x70', '\x61', '\x72', '\x61', '\x6d', '\x29', '\x20', '\x28', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x53', '\x54', '\x52', '\x49', '\x4e', '\x47', '\x49', '\x5a', '\x45', '\x28', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x4d', '\x4f', '\x56', '\x45', '\x5f', '\x50', '\x41', '\x52', '\x45', '\x4e', '\x53', '\x28', '\x70', '\x61', '\x72', '\x61', '\x6d', '\x29', '\x29', '\x20', '\x2b', '\x20', '\x31', '\x29', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x4d', '\x41', '\x4b', '\x45', '\x5f', '\x4e', '\x41', '\x4d', '\x45', '\x53', '\x50', '\x41', '\x43', '\x45', '\x32', '\x28', '\x2e', '\x2e', '\x2e', '\x29', '\x20', '\x6e', '\x73', '\x5f', '\x23', '\x23', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x4d', '\x41', '\x4b', '\x45', '\x5f', '\x4e', '\x41', '\x4d', '\x45', '\x53', '\x50', '\x41', '\x43', '\x45', '\x28', '\x6e', '\x61', '\x6d', '\x65', '\x29', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x4d', '\x41', '\x4b', '\x45', '\x5f', '\x4e', '\x41', '\x4d', '\x45', '\x53', '\x50', '\x41', '\x43', '\x45', '\x32', '\x28', '\x6e', '\x61', '\x6d', '\x65', '\x29', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x4d', '\x4f', '\x56', '\x45', '\x5f', '\x50', '\x41', '\x52', '\x45', '\x4e', '\x53', '\x28', '\x2e', '\x2e', '\x2e', '\x29', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x45', '\x58', '\x50', '\x41', '\x4e', '\x44', '\x31', '\x28', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x44', '\x45', '\x46', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x29', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x6e', '\x64', '\x65', '\x66', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x54', '\x52', '\x41', '\x44', '\x49', '\x54', '\x49', '\x4f', '\x4e', '\x41', '\x4c', '\x5f', '\x4d', '\x53', '\x56', '\x43', '\x5f', '\x50', '\x52', '\x45', '\x50', '\x52', '\x4f', '\x43', '\x45', '\x53', '\x53', '\x4f', '\x52', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x4d', '\x41', '\x4b', '\x45', '\x5f', '\x54', '\x59', '\x50', '\x45', '\x5f', '\x4c', '\x49', '\x53', '\x54', '\x32', '\x28', '\x2e', '\x2e', '\x2e', '\x29', '\x20', '\x64', '\x65', '\x63', '\x6c', '\x74', '\x79', '\x70', '\x65', '\x28', '\x67', '\x65', '\x74', '\x5f', '\x77', '\x72', '\x61', '\x70', '\x70', '\x65', '\x72', '\x3c', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x4d', '\x4f', '\x56', '\x45', '\x5f', '\x50', '\x41', '\x52', '\x45', '\x4e', '\x53', '\x5f', '\x47', '\x45', '\x4e', '\x28', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x29', '\x3e', '\x28', '\x29', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x4d', '\x41', '\x4b', '\x45', '\x5f', '\x54', '\x59', '\x50', '\x45', '\x5f', '\x4c', '\x49', '\x53', '\x54', '\x28', '\x2e', '\x2e', '\x2e', '\x29', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x4d', '\x41', '\x4b', '\x45', '\x5f', '\x54', '\x59', '\x50', '\x45', '\x5f', '\x4c', '\x49', '\x53', '\x54', '\x32', '\x28', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x4d', '\x4f', '\x56', '\x45', '\x5f', '\x50', '\x41', '\x52', '\x45', '\x4e', '\x53', '\x28', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x29', '\x29', '\x0d', '\x0a', '\x23', '\x65', '\x6c', '\x73', '\x65', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x4d', '\x41', '\x4b', '\x45', '\x5f', '\x54', '\x59', '\x50', '\x45', '\x5f', '\x4c', '\x49', '\x53', '\x54', '\x32', '\x28', '\x2e', '\x2e', '\x2e', '\x29', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x45', '\x58', '\x50', '\x41', '\x4e', '\x44', '\x5f', '\x56', '\x41', '\x52', '\x47', '\x53', '\x28', '\x64', '\x65', '\x63', '\x6c', '\x74', '\x79', '\x70', '\x65', '\x28', '\x67', '\x65', '\x74', '\x5f', '\x77', '\x72', '\x61', '\x70', '\x70', '\x65', '\x72', '\x3c', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x4d', '\x4f', '\x56', '\x45', '\x5f', '\x50', '\x41', '\x52', '\x45', '\x4e', '\x53', '\x5f', '\x47', '\x45', '\x4e', '\x28', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x29', '\x3e', '\x28', '\x29', '\x29', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x4d', '\x41', '\x4b', '\x45', '\x5f', '\x54', '\x59', '\x50', '\x45', '\x5f', '\x4c', '\x49', '\x53', '\x54', '\x28', '\x2e', '\x2e', '\x2e', '\x29', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x45', '\x58', '\x50', '\x41', '\x4e', '\x44', '\x5f', '\x56', '\x41', '\x52', '\x47', '\x53', '\x28', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x4d', '\x41', '\x4b', '\x45', '\x5f', '\x54', '\x59', '\x50', '\x45', '\x5f', '\x4c', '\x49', '\x53', '\x54', '\x32', '\x28', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x4d', '\x4f', '\x56', '\x45', '\x5f', '\x50', '\x41', '\x52', '\x45', '\x4e', '\x53', '\x28', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x29', '\x29', '\x29', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x4d', '\x41', '\x4b', '\x45', '\x5f', '\x54', '\x59', '\x50', '\x45', '\x5f', '\x4c', '\x49', '\x53', '\x54', '\x53', '\x5f', '\x46', '\x52', '\x4f', '\x4d', '\x5f', '\x54', '\x59', '\x50', '\x45', '\x53', '\x28', '\x2e', '\x2e', '\x2e', '\x29', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x43', '\x5f', '\x4c', '\x49', '\x53', '\x54', '\x28', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x4d', '\x41', '\x4b', '\x45', '\x5f', '\x54', '\x59', '\x50', '\x45', '\x5f', '\x4c', '\x49', '\x53', '\x54', '\x2c', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x29', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x4d', '\x4f', '\x56', '\x45', '\x5f', '\x50', '\x41', '\x52', '\x45', '\x4e', '\x53', '\x5f', '\x31', '\x5f', '\x41', '\x52', '\x47', '\x28', '\x5f', '\x30', '\x29', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x4d', '\x4f', '\x56', '\x45', '\x5f', '\x50', '\x41', '\x52', '\x45', '\x4e', '\x53', '\x28', '\x5f', '\x30', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x4d', '\x4f', '\x56', '\x45', '\x5f', '\x50', '\x41', '\x52', '\x45', '\x4e', '\x53', '\x5f', '\x32', '\x5f', '\x41', '\x52', '\x47', '\x28', '\x5f', '\x30', '\x2c', '\x20', '\x5f', '\x31', '\x29', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x4d', '\x4f', '\x56', '\x45', '\x5f', '\x50', '\x41', '\x52', '\x45', '\x4e', '\x53', '\x28', '\x5f', '\x30', '\x29', '\x2c', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x4d', '\x4f', '\x56', '\x45', '\x5f', '\x50', '\x41', '\x52', '\x45', '\x4e', '\x53', '\x5f', '\x31', '\x5f', '\x41', '\x52', '\x47', '\x28', '\x5f', '\x31', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x4d', '\x4f', '\x56', '\x45', '\x5f', '\x50', '\x41', '\x52', '\x45', '\x4e', '\x53', '\x5f', '\x33', '\x5f', '\x41', '\x52', '\x47', '\x28', '\x5f', '\x30', '\x2c', '\x20', '\x5f', '\x31', '\x2c', '\x20', '\x5f', '\x32', '\x29', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x4d', '\x4f', '\x56', '\x45', '\x5f', '\x50', '\x41', '\x52', '\x45', '\x4e', '\x53', '\x28', '\x5f', '\x30', '\x29', '\x2c', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x4d', '\x4f', '\x56', '\x45', '\x5f', '\x50', '\x41', '\x52', '\x45', '\x4e', '\x53', '\x5f', '\x32', '\x5f', '\x41', '\x52', '\x47', '\x28', '\x5f', '\x31', '\x2c', '\x20', '\x5f', '\x32', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x4d', '\x4f', '\x56', '\x45', '\x5f', '\x50', '\x41', '\x52', '\x45', '\x4e', '\x53', '\x5f', '\x34', '\x5f', '\x41', '\x52', '\x47', '\x28', '\x5f', '\x30', '\x2c', '\x20', '\x5f', '\x31', '\x2c', '\x20', '\x5f', '\x32', '\x2c', '\x20', '\x5f', '\x33', '\x29', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x4d', '\x4f', '\x56', '\x45', '\x5f', '\x50', '\x41', '\x52', '\x45', '\x4e', '\x53', '\x28', '\x5f', '\x30', '\x29', '\x2c', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x4d', '\x4f', '\x56', '\x45', '\x5f', '\x50', '\x41', '\x52', '\x45', '\x4e', '\x53', '\x5f', '\x33', '\x5f', '\x41', '\x52', '\x47', '\x28', '\x5f', '\x31', '\x2c', '\x20', '\x5f', '\x32', '\x2c', '\x20', '\x5f', '\x33', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x4d', '\x4f', '\x56', '\x45', '\x5f', '\x50', '\x41', '\x52', '\x45', '\x4e', '\x53', '\x5f', '\x35', '\x5f', '\x41', '\x52', '\x47', '\x28', '\x5f', '\x30', '\x2c', '\x20', '\x5f', '\x31', '\x2c', '\x20', '\x5f', '\x32', '\x2c', '\x20', '\x5f', '\x33', '\x2c', '\x20', '\x5f', '\x34', '\x29', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x4d', '\x4f', '\x56', '\x45', '\x5f', '\x50', '\x41', '\x52', '\x45', '\x4e', '\x53', '\x28', '\x5f', '\x30', '\x29', '\x2c', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x4d', '\x4f', '\x56', '\x45', '\x5f', '\x50', '\x41', '\x52', '\x45', '\x4e', '\x53', '\x5f', '\x34', '\x5f', '\x41', '\x52', '\x47', '\x28', '\x5f', '\x31', '\x2c', '\x20', '\x5f', '\x32', '\x2c', '\x20', '\x5f', '\x33', '\x2c', '\x20', '\x5f', '\x34', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x4d', '\x4f', '\x56', '\x45', '\x5f', '\x50', '\x41', '\x52', '\x45', '\x4e', '\x53', '\x5f', '\x36', '\x5f', '\x41', '\x52', '\x47', '\x28', '\x5f', '\x30', '\x2c', '\x20', '\x5f', '\x31', '\x2c', '\x20', '\x5f', '\x32', '\x2c', '\x20', '\x5f', '\x33', '\x2c', '\x20', '\x5f', '\x34', '\x2c', '\x20', '\x5f', '\x35', '\x29', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x4d', '\x4f', '\x56', '\x45', '\x5f', '\x50', '\x41', '\x52', '\x45', '\x4e', '\x53', '\x28', '\x5f', '\x30', '\x29', '\x2c', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x4d', '\x4f', '\x56', '\x45', '\x5f', '\x50', '\x41', '\x52', '\x45', '\x4e', '\x53', '\x5f', '\x35', '\x5f', '\x41', '\x52', '\x47', '\x28', '\x5f', '\x31', '\x2c', '\x20', '\x5f', '\x32', '\x2c', '\x20', '\x5f', '\x33', '\x2c', '\x20', '\x5f', '\x34', '\x2c', '\x20', '\x5f', '\x35', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x4d', '\x4f', '\x56', '\x45', '\x5f', '\x50', '\x41', '\x52', '\x45', '\x4e', '\x53', '\x5f', '\x37', '\x5f', '\x41', '\x52', '\x47', '\x28', '\x5f', '\x30', '\x2c', '\x20', '\x5f', '\x31', '\x2c', '\x20', '\x5f', '\x32', '\x2c', '\x20', '\x5f', '\x33', '\x2c', '\x20', '\x5f', '\x34', '\x2c', '\x20', '\x5f', '\x35', '\x2c', '\x20', '\x5f', '\x36', '\x29', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x4d', '\x4f', '\x56', '\x45', '\x5f', '\x50', '\x41', '\x52', '\x45', '\x4e', '\x53', '\x28', '\x5f', '\x30', '\x29', '\x2c', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x4d', '\x4f', '\x56', '\x45', '\x5f', '\x50', '\x41', '\x52', '\x45', '\x4e', '\x53', '\x5f', '\x36', '\x5f', '\x41', '\x52', '\x47', '\x28', '\x5f', '\x31', '\x2c', '\x20', '\x5f', '\x32', '\x2c', '\x20', '\x5f', '\x34', '\x2c', '\x20', '\x5f', '\x35', '\x2c', '\x20', '\x5f', '\x36', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x4d', '\x4f', '\x56', '\x45', '\x5f', '\x50', '\x41', '\x52', '\x45', '\x4e', '\x53', '\x5f', '\x38', '\x5f', '\x41', '\x52', '\x47', '\x28', '\x5f', '\x30', '\x2c', '\x20', '\x5f', '\x31', '\x2c', '\x20', '\x5f', '\x32', '\x2c', '\x20', '\x5f', '\x33', '\x2c', '\x20', '\x5f', '\x34', '\x2c', '\x20', '\x5f', '\x35', '\x2c', '\x20', '\x5f', '\x36', '\x2c', '\x20', '\x5f', '\x37', '\x29', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x4d', '\x4f', '\x56', '\x45', '\x5f', '\x50', '\x41', '\x52', '\x45', '\x4e', '\x53', '\x28', '\x5f', '\x30', '\x29', '\x2c', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x4d', '\x4f', '\x56', '\x45', '\x5f', '\x50', '\x41', '\x52', '\x45', '\x4e', '\x53', '\x5f', '\x37', '\x5f', '\x41', '\x52', '\x47', '\x28', '\x5f', '\x31', '\x2c', '\x20', '\x5f', '\x32', '\x2c', '\x20', '\x5f', '\x33', '\x2c', '\x20', '\x5f', '\x34', '\x2c', '\x20', '\x5f', '\x35', '\x2c', '\x20', '\x5f', '\x36', '\x2c', '\x20', '\x5f', '\x37', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x4d', '\x4f', '\x56', '\x45', '\x5f', '\x50', '\x41', '\x52', '\x45', '\x4e', '\x53', '\x5f', '\x39', '\x5f', '\x41', '\x52', '\x47', '\x28', '\x5f', '\x30', '\x2c', '\x20', '\x5f', '\x31', '\x2c', '\x20', '\x5f', '\x32', '\x2c', '\x20', '\x5f', '\x33', '\x2c', '\x20', '\x5f', '\x34', '\x2c', '\x20', '\x5f', '\x35', '\x2c', '\x20', '\x5f', '\x36', '\x2c', '\x20', '\x5f', '\x37', '\x2c', '\x20', '\x5f', '\x38', '\x29', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x4d', '\x4f', '\x56', '\x45', '\x5f', '\x50', '\x41', '\x52', '\x45', '\x4e', '\x53', '\x28', '\x5f', '\x30', '\x29', '\x2c', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x4d', '\x4f', '\x56', '\x45', '\x5f', '\x50', '\x41', '\x52', '\x45', '\x4e', '\x53', '\x5f', '\x38', '\x5f', '\x41', '\x52', '\x47', '\x28', '\x5f', '\x31', '\x2c', '\x20', '\x5f', '\x32', '\x2c', '\x20', '\x5f', '\x33', '\x2c', '\x20', '\x5f', '\x34', '\x2c', '\x20', '\x5f', '\x35', '\x2c', '\x20', '\x5f', '\x36', '\x2c', '\x20', '\x5f', '\x37', '\x2c', '\x20', '\x5f', '\x38', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x4d', '\x4f', '\x56', '\x45', '\x5f', '\x50', '\x41', '\x52', '\x45', '\x4e', '\x53', '\x5f', '\x31', '\x30', '\x5f', '\x41', '\x52', '\x47', '\x28', '\x5f', '\x30', '\x2c', '\x20', '\x5f', '\x31', '\x2c', '\x20', '\x5f', '\x32', '\x2c', '\x20', '\x5f', '\x33', '\x2c', '\x20', '\x5f', '\x34', '\x2c', '\x20', '\x5f', '\x35', '\x2c', '\x20', '\x5f', '\x36', '\x2c', '\x20', '\x5f', '\x37', '\x2c', '\x20', '\x5f', '\x38', '\x2c', '\x20', '\x5f', '\x39', '\x29', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x4d', '\x4f', '\x56', '\x45', '\x5f', '\x50', '\x41', '\x52', '\x45', '\x4e', '\x53', '\x28', '\x5f', '\x30', '\x29', '\x2c', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x4d', '\x4f', '\x56', '\x45', '\x5f', '\x50', '\x41', '\x52', '\x45', '\x4e', '\x53', '\x5f', '\x39', '\x5f', '\x41', '\x52', '\x47', '\x28', '\x5f', '\x31', '\x2c', '\x20', '\x5f', '\x32', '\x2c', '\x20', '\x5f', '\x33', '\x2c', '\x20', '\x5f', '\x34', '\x2c', '\x20', '\x5f', '\x35', '\x2c', '\x20', '\x5f', '\x36', '\x2c', '\x20', '\x5f', '\x37', '\x2c', '\x20', '\x5f', '\x38', '\x2c', '\x20', '\x5f', '\x39', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x4d', '\x4f', '\x56', '\x45', '\x5f', '\x50', '\x41', '\x52', '\x45', '\x4e', '\x53', '\x5f', '\x31', '\x31', '\x5f', '\x41', '\x52', '\x47', '\x28', '\x5f', '\x30', '\x2c', '\x20', '\x5f', '\x31', '\x2c', '\x20', '\x5f', '\x32', '\x2c', '\x20', '\x5f', '\x33', '\x2c', '\x20', '\x5f', '\x34', '\x2c', '\x20', '\x5f', '\x35', '\x2c', '\x20', '\x5f', '\x36', '\x2c', '\x20', '\x5f', '\x37', '\x2c', '\x20', '\x5f', '\x38', '\x2c', '\x20', '\x5f', '\x39', '\x2c', '\x20', '\x5f', '\x31', '\x30', '\x29', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x4d', '\x4f', '\x56', '\x45', '\x5f', '\x50', '\x41', '\x52', '\x45', '\x4e', '\x53', '\x28', '\x5f', '\x30', '\x29', '\x2c', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x4d', '\x4f', '\x56', '\x45', '\x5f', '\x50', '\x41', '\x52', '\x45', '\x4e', '\x53', '\x5f', '\x31', '\x30', '\x5f', '\x41', '\x52', '\x47', '\x28', '\x5f', '\x31', '\x2c', '\x20', '\x5f', '\x32', '\x2c', '\x20', '\x5f', '\x33', '\x2c', '\x20', '\x5f', '\x34', '\x2c', '\x20', '\x5f', '\x35', '\x2c', '\x20', '\x5f', '\x36', '\x2c', '\x20', '\x5f', '\x37', '\x2c', '\x20', '\x5f', '\x38', '\x2c', '\x20', '\x5f', '\x39', '\x2c', '\x20', '\x5f', '\x31', '\x30', '\x29', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x56', '\x41', '\x5f', '\x4e', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x49', '\x4d', '\x50', '\x4c', '\x28', '\x5f', '\x30', '\x2c', '\x20', '\x5f', '\x31', '\x2c', '\x20', '\x5f', '\x32', '\x2c', '\x20', '\x5f', '\x33', '\x2c', '\x20', '\x5f', '\x34', '\x2c', '\x20', '\x5f', '\x35', '\x2c', '\x20', '\x5f', '\x36', '\x2c', '\x20', '\x5f', '\x37', '\x2c', '\x20', '\x5f', '\x38', '\x2c', '\x20', '\x5f', '\x39', '\x2c', '\x20', '\x5f', '\x31', '\x30', '\x2c', '\x20', '\x4e', '\x2c', '\x20', '\x2e', '\x2e', '\x2e', '\x29', '\x20', '\x4e', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x59', '\x50', '\x45', '\x5f', '\x47', '\x45', '\x4e', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x2e', '\x2e', '\x2e', '\x3e', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x54', '\x79', '\x70', '\x65', '\x4c', '\x69', '\x73', '\x74', '\x20', '\x7b', '\x7d', '\x3b', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x2e', '\x2e', '\x2e', '\x54', '\x73', '\x3e', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x65', '\x78', '\x70', '\x72', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x67', '\x65', '\x74', '\x5f', '\x77', '\x72', '\x61', '\x70', '\x70', '\x65', '\x72', '\x28', '\x29', '\x20', '\x6e', '\x6f', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x20', '\x2d', '\x3e', '\x20', '\x54', '\x79', '\x70', '\x65', '\x4c', '\x69', '\x73', '\x74', '\x3c', '\x54', '\x73', '\x2e', '\x2e', '\x2e', '\x3e', '\x20', '\x7b', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x7b', '\x7d', '\x3b', '\x20', '\x7d', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x2e', '\x2e', '\x2e', '\x3e', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x2e', '\x2e', '\x2e', '\x3e', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x54', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x54', '\x79', '\x70', '\x65', '\x4c', '\x69', '\x73', '\x74', '\x7b', '\x7d', '\x3b', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x2e', '\x2e', '\x2e', '\x3e', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x2e', '\x2e', '\x2e', '\x43', '\x73', '\x3e', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x65', '\x78', '\x70', '\x72', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x67', '\x65', '\x74', '\x5f', '\x77', '\x72', '\x61', '\x70', '\x70', '\x65', '\x72', '\x28', '\x29', '\x20', '\x6e', '\x6f', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x20', '\x2d', '\x3e', '\x20', '\x54', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x54', '\x79', '\x70', '\x65', '\x4c', '\x69', '\x73', '\x74', '\x3c', '\x43', '\x73', '\x2e', '\x2e', '\x2e', '\x3e', '\x20', '\x7b', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x7b', '\x7d', '\x3b', '\x20', '\x7d', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x2e', '\x2e', '\x2e', '\x3e', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x61', '\x70', '\x70', '\x65', '\x6e', '\x64', '\x3b', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x2e', '\x2e', '\x2e', '\x3e', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x72', '\x65', '\x77', '\x72', '\x61', '\x70', '\x3b', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x2e', '\x2e', '\x2e', '\x3e', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x2c', '\x20', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x2e', '\x2e', '\x2e', '\x3e', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x63', '\x72', '\x65', '\x61', '\x74', '\x65', '\x3b', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x2e', '\x2e', '\x2e', '\x3e', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x2c', '\x20', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x3e', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x63', '\x6f', '\x6e', '\x76', '\x65', '\x72', '\x74', '\x3b', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x54', '\x3e', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x61', '\x70', '\x70', '\x65', '\x6e', '\x64', '\x3c', '\x54', '\x3e', '\x20', '\x7b', '\x20', '\x75', '\x73', '\x69', '\x6e', '\x67', '\x20', '\x74', '\x79', '\x70', '\x65', '\x20', '\x3d', '\x20', '\x54', '\x3b', '\x20', '\x7d', '\x3b', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x2e', '\x2e', '\x2e', '\x3e', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x20', '\x4c', '\x31', '\x2c', '\x20', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x2e', '\x2e', '\x2e', '\x45', '\x31', '\x2c', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x2e', '\x2e', '\x2e', '\x3e', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x20', '\x4c', '\x32', '\x2c', '\x20', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x2e', '\x2e', '\x2e', '\x45', '\x32', '\x2c', '\x20', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x2e', '\x2e', '\x2e', '\x52', '\x65', '\x73', '\x74', '\x3e', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x61', '\x70', '\x70', '\x65', '\x6e', '\x64', '\x3c', '\x4c', '\x31', '\x3c', '\x45', '\x31', '\x2e', '\x2e', '\x2e', '\x3e', '\x2c', '\x20', '\x4c', '\x32', '\x3c', '\x45', '\x32', '\x2e', '\x2e', '\x2e', '\x3e', '\x2c', '\x20', '\x52', '\x65', '\x73', '\x74', '\x2e', '\x2e', '\x2e', '\x3e', '\x20', '\x7b', '\x20', '\x75', '\x73', '\x69', '\x6e', '\x67', '\x20', '\x74', '\x79', '\x70', '\x65', '\x20', '\x3d', '\x20', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x61', '\x70', '\x70', '\x65', '\x6e', '\x64', '\x3c', '\x4c', '\x31', '\x3c', '\x45', '\x31', '\x2e', '\x2e', '\x2e', '\x2c', '\x45', '\x32', '\x2e', '\x2e', '\x2e', '\x3e', '\x2c', '\x20', '\x52', '\x65', '\x73', '\x74', '\x2e', '\x2e', '\x2e', '\x3e', '\x3a', '\x3a', '\x74', '\x79', '\x70', '\x65', '\x3b', '\x20', '\x7d', '\x3b', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x2e', '\x2e', '\x2e', '\x3e', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x20', '\x4c', '\x31', '\x2c', '\x20', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x2e', '\x2e', '\x2e', '\x45', '\x31', '\x2c', '\x20', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x2e', '\x2e', '\x2e', '\x52', '\x65', '\x73', '\x74', '\x3e', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x61', '\x70', '\x70', '\x65', '\x6e', '\x64', '\x3c', '\x4c', '\x31', '\x3c', '\x45', '\x31', '\x2e', '\x2e', '\x2e', '\x3e', '\x2c', '\x20', '\x54', '\x79', '\x70', '\x65', '\x4c', '\x69', '\x73', '\x74', '\x3c', '\x6d', '\x70', '\x6c', '\x5f', '\x3a', '\x3a', '\x6e', '\x61', '\x3e', '\x2c', '\x20', '\x52', '\x65', '\x73', '\x74', '\x2e', '\x2e', '\x2e', '\x3e', '\x20', '\x7b', '\x20', '\x75', '\x73', '\x69', '\x6e', '\x67', '\x20', '\x74', '\x79', '\x70', '\x65', '\x20', '\x3d', '\x20', '\x4c', '\x31', '\x3c', '\x45', '\x31', '\x2e', '\x2e', '\x2e', '\x3e', '\x3b', '\x20', '\x7d', '\x3b', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x2e', '\x2e', '\x2e', '\x3e', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x20', '\x43', '\x6f', '\x6e', '\x74', '\x61', '\x69', '\x6e', '\x65', '\x72', '\x2c', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x2e', '\x2e', '\x2e', '\x3e', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x20', '\x4c', '\x69', '\x73', '\x74', '\x2c', '\x20', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x2e', '\x2e', '\x2e', '\x65', '\x6c', '\x65', '\x6d', '\x73', '\x3e', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x72', '\x65', '\x77', '\x72', '\x61', '\x70', '\x3c', '\x54', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x54', '\x79', '\x70', '\x65', '\x4c', '\x69', '\x73', '\x74', '\x3c', '\x43', '\x6f', '\x6e', '\x74', '\x61', '\x69', '\x6e', '\x65', '\x72', '\x3e', '\x2c', '\x20', '\x4c', '\x69', '\x73', '\x74', '\x3c', '\x65', '\x6c', '\x65', '\x6d', '\x73', '\x2e', '\x2e', '\x2e', '\x3e', '\x3e', '\x20', '\x7b', '\x20', '\x75', '\x73', '\x69', '\x6e', '\x67', '\x20', '\x74', '\x79', '\x70', '\x65', '\x20', '\x3d', '\x20', '\x54', '\x79', '\x70', '\x65', '\x4c', '\x69', '\x73', '\x74', '\x3c', '\x43', '\x6f', '\x6e', '\x74', '\x61', '\x69', '\x6e', '\x65', '\x72', '\x3c', '\x65', '\x6c', '\x65', '\x6d', '\x73', '\x2e', '\x2e', '\x2e', '\x3e', '\x3e', '\x3b', '\x20', '\x7d', '\x3b', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x2e', '\x2e', '\x2e', '\x3e', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x20', '\x43', '\x6f', '\x6e', '\x74', '\x61', '\x69', '\x6e', '\x65', '\x72', '\x2c', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x2e', '\x2e', '\x2e', '\x3e', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x20', '\x4c', '\x69', '\x73', '\x74', '\x2c', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x2e', '\x2e', '\x2e', '\x45', '\x6c', '\x65', '\x6d', '\x73', '\x2c', '\x20', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x2e', '\x2e', '\x2e', '\x45', '\x6c', '\x65', '\x6d', '\x65', '\x6e', '\x74', '\x73', '\x3e', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x72', '\x65', '\x77', '\x72', '\x61', '\x70', '\x3c', '\x54', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x54', '\x79', '\x70', '\x65', '\x4c', '\x69', '\x73', '\x74', '\x3c', '\x43', '\x6f', '\x6e', '\x74', '\x61', '\x69', '\x6e', '\x65', '\x72', '\x3e', '\x2c', '\x20', '\x4c', '\x69', '\x73', '\x74', '\x3c', '\x45', '\x6c', '\x65', '\x6d', '\x73', '\x2e', '\x2e', '\x2e', '\x3e', '\x2c', '\x20', '\x45', '\x6c', '\x65', '\x6d', '\x65', '\x6e', '\x74', '\x73', '\x2e', '\x2e', '\x2e', '\x3e', '\x20', '\x7b', '\x20', '\x75', '\x73', '\x69', '\x6e', '\x67', '\x20', '\x74', '\x79', '\x70', '\x65', '\x20', '\x3d', '\x20', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x61', '\x70', '\x70', '\x65', '\x6e', '\x64', '\x3c', '\x54', '\x79', '\x70', '\x65', '\x4c', '\x69', '\x73', '\x74', '\x3c', '\x43', '\x6f', '\x6e', '\x74', '\x61', '\x69', '\x6e', '\x65', '\x72', '\x3c', '\x45', '\x6c', '\x65', '\x6d', '\x73', '\x2e', '\x2e', '\x2e', '\x3e', '\x3e', '\x2c', '\x20', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x72', '\x65', '\x77', '\x72', '\x61', '\x70', '\x3c', '\x54', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x54', '\x79', '\x70', '\x65', '\x4c', '\x69', '\x73', '\x74', '\x3c', '\x43', '\x6f', '\x6e', '\x74', '\x61', '\x69', '\x6e', '\x65', '\x72', '\x3e', '\x2c', '\x20', '\x45', '\x6c', '\x65', '\x6d', '\x65', '\x6e', '\x74', '\x73', '\x2e', '\x2e', '\x2e', '\x3e', '\x3a', '\x3a', '\x74', '\x79', '\x70', '\x65', '\x3e', '\x3a', '\x3a', '\x74', '\x79', '\x70', '\x65', '\x3b', '\x20', '\x7d', '\x3b', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x20', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x2e', '\x2e', '\x2e', '\x3e', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x20', '\x46', '\x69', '\x6e', '\x61', '\x6c', '\x2c', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x20', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x2e', '\x2e', '\x2e', '\x3e', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x2e', '\x2e', '\x2e', '\x43', '\x6f', '\x6e', '\x74', '\x61', '\x69', '\x6e', '\x65', '\x72', '\x73', '\x2c', '\x20', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x2e', '\x2e', '\x2e', '\x54', '\x79', '\x70', '\x65', '\x73', '\x3e', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x63', '\x72', '\x65', '\x61', '\x74', '\x65', '\x3c', '\x46', '\x69', '\x6e', '\x61', '\x6c', '\x2c', '\x20', '\x54', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x54', '\x79', '\x70', '\x65', '\x4c', '\x69', '\x73', '\x74', '\x3c', '\x43', '\x6f', '\x6e', '\x74', '\x61', '\x69', '\x6e', '\x65', '\x72', '\x73', '\x2e', '\x2e', '\x2e', '\x3e', '\x2c', '\x20', '\x54', '\x79', '\x70', '\x65', '\x4c', '\x69', '\x73', '\x74', '\x3c', '\x54', '\x79', '\x70', '\x65', '\x73', '\x2e', '\x2e', '\x2e', '\x3e', '\x3e', '\x20', '\x7b', '\x20', '\x75', '\x73', '\x69', '\x6e', '\x67', '\x20', '\x74', '\x79', '\x70', '\x65', '\x20', '\x3d', '\x20', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x61', '\x70', '\x70', '\x65', '\x6e', '\x64', '\x3c', '\x46', '\x69', '\x6e', '\x61', '\x6c', '\x3c', '\x3e', '\x2c', '\x20', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x72', '\x65', '\x77', '\x72', '\x61', '\x70', '\x3c', '\x54', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x54', '\x79', '\x70', '\x65', '\x4c', '\x69', '\x73', '\x74', '\x3c', '\x43', '\x6f', '\x6e', '\x74', '\x61', '\x69', '\x6e', '\x65', '\x72', '\x73', '\x3e', '\x2c', '\x20', '\x54', '\x79', '\x70', '\x65', '\x73', '\x2e', '\x2e', '\x2e', '\x3e', '\x3a', '\x3a', '\x74', '\x79', '\x70', '\x65', '\x2e', '\x2e', '\x2e', '\x3e', '\x3a', '\x3a', '\x74', '\x79', '\x70', '\x65', '\x3b', '\x20', '\x7d', '\x3b', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x20', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x2e', '\x2e', '\x2e', '\x3e', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x20', '\x46', '\x69', '\x6e', '\x61', '\x6c', '\x2c', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x20', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x2e', '\x2e', '\x2e', '\x3e', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x20', '\x4c', '\x69', '\x73', '\x74', '\x2c', '\x20', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x2e', '\x2e', '\x2e', '\x54', '\x73', '\x3e', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x63', '\x6f', '\x6e', '\x76', '\x65', '\x72', '\x74', '\x3c', '\x46', '\x69', '\x6e', '\x61', '\x6c', '\x2c', '\x20', '\x4c', '\x69', '\x73', '\x74', '\x3c', '\x54', '\x73', '\x2e', '\x2e', '\x2e', '\x3e', '\x3e', '\x20', '\x7b', '\x20', '\x75', '\x73', '\x69', '\x6e', '\x67', '\x20', '\x74', '\x79', '\x70', '\x65', '\x20', '\x3d', '\x20', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x61', '\x70', '\x70', '\x65', '\x6e', '\x64', '\x3c', '\x46', '\x69', '\x6e', '\x61', '\x6c', '\x3c', '\x3e', '\x2c', '\x54', '\x79', '\x70', '\x65', '\x4c', '\x69', '\x73', '\x74', '\x3c', '\x54', '\x73', '\x3e', '\x2e', '\x2e', '\x2e', '\x3e', '\x3a', '\x3a', '\x74', '\x79', '\x70', '\x65', '\x3b', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x4e', '\x54', '\x54', '\x50', '\x5f', '\x31', '\x28', '\x73', '\x69', '\x67', '\x6e', '\x61', '\x74', '\x75', '\x72', '\x65', '\x2c', '\x20', '\x2e', '\x2e', '\x2e', '\x29', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x4d', '\x4f', '\x56', '\x45', '\x5f', '\x50', '\x41', '\x52', '\x45', '\x4e', '\x53', '\x28', '\x73', '\x69', '\x67', '\x6e', '\x61', '\x74', '\x75', '\x72', '\x65', '\x29', '\x3e', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x4e', '\x74', '\x74', '\x70', '\x7b', '\x7d', '\x3b', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x4d', '\x4f', '\x56', '\x45', '\x5f', '\x50', '\x41', '\x52', '\x45', '\x4e', '\x53', '\x28', '\x73', '\x69', '\x67', '\x6e', '\x61', '\x74', '\x75', '\x72', '\x65', '\x29', '\x3e', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x65', '\x78', '\x70', '\x72', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x67', '\x65', '\x74', '\x5f', '\x77', '\x72', '\x61', '\x70', '\x70', '\x65', '\x72', '\x28', '\x29', '\x20', '\x6e', '\x6f', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x20', '\x2d', '\x3e', '\x20', '\x4e', '\x74', '\x74', '\x70', '\x3c', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x3e', '\x20', '\x7b', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x7b', '\x7d', '\x3b', '\x20', '\x7d', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x4d', '\x4f', '\x56', '\x45', '\x5f', '\x50', '\x41', '\x52', '\x45', '\x4e', '\x53', '\x28', '\x73', '\x69', '\x67', '\x6e', '\x61', '\x74', '\x75', '\x72', '\x65', '\x29', '\x3e', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x2e', '\x2e', '\x2e', '\x3e', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x4e', '\x74', '\x74', '\x70', '\x54', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x54', '\x79', '\x70', '\x65', '\x4c', '\x69', '\x73', '\x74', '\x7b', '\x7d', '\x3b', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x4d', '\x4f', '\x56', '\x45', '\x5f', '\x50', '\x41', '\x52', '\x45', '\x4e', '\x53', '\x28', '\x73', '\x69', '\x67', '\x6e', '\x61', '\x74', '\x75', '\x72', '\x65', '\x29', '\x3e', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x2e', '\x2e', '\x2e', '\x43', '\x73', '\x3e', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x65', '\x78', '\x70', '\x72', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x67', '\x65', '\x74', '\x5f', '\x77', '\x72', '\x61', '\x70', '\x70', '\x65', '\x72', '\x28', '\x29', '\x20', '\x6e', '\x6f', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x20', '\x2d', '\x3e', '\x20', '\x4e', '\x74', '\x74', '\x70', '\x54', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x54', '\x79', '\x70', '\x65', '\x4c', '\x69', '\x73', '\x74', '\x3c', '\x43', '\x73', '\x2e', '\x2e', '\x2e', '\x3e', '\x20', '\x7b', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x7b', '\x7d', '\x3b', '\x20', '\x7d', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x4d', '\x4f', '\x56', '\x45', '\x5f', '\x50', '\x41', '\x52', '\x45', '\x4e', '\x53', '\x28', '\x73', '\x69', '\x67', '\x6e', '\x61', '\x74', '\x75', '\x72', '\x65', '\x29', '\x3e', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x20', '\x43', '\x6f', '\x6e', '\x74', '\x61', '\x69', '\x6e', '\x65', '\x72', '\x2c', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x4d', '\x4f', '\x56', '\x45', '\x5f', '\x50', '\x41', '\x52', '\x45', '\x4e', '\x53', '\x28', '\x73', '\x69', '\x67', '\x6e', '\x61', '\x74', '\x75', '\x72', '\x65', '\x29', '\x3e', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x20', '\x4c', '\x69', '\x73', '\x74', '\x2c', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x4d', '\x4f', '\x56', '\x45', '\x5f', '\x50', '\x41', '\x52', '\x45', '\x4e', '\x53', '\x28', '\x73', '\x69', '\x67', '\x6e', '\x61', '\x74', '\x75', '\x72', '\x65', '\x29', '\x3e', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x72', '\x65', '\x77', '\x72', '\x61', '\x70', '\x3c', '\x4e', '\x74', '\x74', '\x70', '\x54', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x54', '\x79', '\x70', '\x65', '\x4c', '\x69', '\x73', '\x74', '\x3c', '\x43', '\x6f', '\x6e', '\x74', '\x61', '\x69', '\x6e', '\x65', '\x72', '\x3e', '\x2c', '\x20', '\x4c', '\x69', '\x73', '\x74', '\x3c', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x3e', '\x3e', '\x20', '\x7b', '\x20', '\x75', '\x73', '\x69', '\x6e', '\x67', '\x20', '\x74', '\x79', '\x70', '\x65', '\x20', '\x3d', '\x20', '\x54', '\x79', '\x70', '\x65', '\x4c', '\x69', '\x73', '\x74', '\x3c', '\x43', '\x6f', '\x6e', '\x74', '\x61', '\x69', '\x6e', '\x65', '\x72', '\x3c', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x3e', '\x3e', '\x3b', '\x20', '\x7d', '\x3b', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x4d', '\x4f', '\x56', '\x45', '\x5f', '\x50', '\x41', '\x52', '\x45', '\x4e', '\x53', '\x28', '\x73', '\x69', '\x67', '\x6e', '\x61', '\x74', '\x75', '\x72', '\x65', '\x29', '\x3e', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x20', '\x43', '\x6f', '\x6e', '\x74', '\x61', '\x69', '\x6e', '\x65', '\x72', '\x2c', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x4d', '\x4f', '\x56', '\x45', '\x5f', '\x50', '\x41', '\x52', '\x45', '\x4e', '\x53', '\x28', '\x73', '\x69', '\x67', '\x6e', '\x61', '\x74', '\x75', '\x72', '\x65', '\x29', '\x3e', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x20', '\x4c', '\x69', '\x73', '\x74', '\x2c', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x4d', '\x4f', '\x56', '\x45', '\x5f', '\x50', '\x41', '\x52', '\x45', '\x4e', '\x53', '\x28', '\x73', '\x69', '\x67', '\x6e', '\x61', '\x74', '\x75', '\x72', '\x65', '\x29', '\x2c', '\x20', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x2e', '\x2e', '\x2e', '\x45', '\x6c', '\x65', '\x6d', '\x65', '\x6e', '\x74', '\x73', '\x3e', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x72', '\x65', '\x77', '\x72', '\x61', '\x70', '\x3c', '\x4e', '\x74', '\x74', '\x70', '\x54', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x54', '\x79', '\x70', '\x65', '\x4c', '\x69', '\x73', '\x74', '\x3c', '\x43', '\x6f', '\x6e', '\x74', '\x61', '\x69', '\x6e', '\x65', '\x72', '\x3e', '\x2c', '\x20', '\x4c', '\x69', '\x73', '\x74', '\x3c', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x3e', '\x2c', '\x20', '\x45', '\x6c', '\x65', '\x6d', '\x65', '\x6e', '\x74', '\x73', '\x2e', '\x2e', '\x2e', '\x3e', '\x20', '\x7b', '\x20', '\x75', '\x73', '\x69', '\x6e', '\x67', '\x20', '\x74', '\x79', '\x70', '\x65', '\x20', '\x3d', '\x20', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x61', '\x70', '\x70', '\x65', '\x6e', '\x64', '\x3c', '\x54', '\x79', '\x70', '\x65', '\x4c', '\x69', '\x73', '\x74', '\x3c', '\x43', '\x6f', '\x6e', '\x74', '\x61', '\x69', '\x6e', '\x65', '\x72', '\x3c', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x3e', '\x3e', '\x2c', '\x20', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x72', '\x65', '\x77', '\x72', '\x61', '\x70', '\x3c', '\x4e', '\x74', '\x74', '\x70', '\x54', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x54', '\x79', '\x70', '\x65', '\x4c', '\x69', '\x73', '\x74', '\x3c', '\x43', '\x6f', '\x6e', '\x74', '\x61', '\x69', '\x6e', '\x65', '\x72', '\x3e', '\x2c', '\x20', '\x45', '\x6c', '\x65', '\x6d', '\x65', '\x6e', '\x74', '\x73', '\x2e', '\x2e', '\x2e', '\x3e', '\x3a', '\x3a', '\x74', '\x79', '\x70', '\x65', '\x3e', '\x3a', '\x3a', '\x74', '\x79', '\x70', '\x65', '\x3b', '\x20', '\x7d', '\x3b', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x20', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x2e', '\x2e', '\x2e', '\x3e', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x20', '\x46', '\x69', '\x6e', '\x61', '\x6c', '\x2c', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x4d', '\x4f', '\x56', '\x45', '\x5f', '\x50', '\x41', '\x52', '\x45', '\x4e', '\x53', '\x28', '\x73', '\x69', '\x67', '\x6e', '\x61', '\x74', '\x75', '\x72', '\x65', '\x29', '\x3e', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x2e', '\x2e', '\x2e', '\x43', '\x6f', '\x6e', '\x74', '\x61', '\x69', '\x6e', '\x65', '\x72', '\x73', '\x2c', '\x20', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x2e', '\x2e', '\x2e', '\x54', '\x79', '\x70', '\x65', '\x73', '\x3e', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x63', '\x72', '\x65', '\x61', '\x74', '\x65', '\x3c', '\x46', '\x69', '\x6e', '\x61', '\x6c', '\x2c', '\x20', '\x4e', '\x74', '\x74', '\x70', '\x54', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x54', '\x79', '\x70', '\x65', '\x4c', '\x69', '\x73', '\x74', '\x3c', '\x43', '\x6f', '\x6e', '\x74', '\x61', '\x69', '\x6e', '\x65', '\x72', '\x73', '\x2e', '\x2e', '\x2e', '\x3e', '\x2c', '\x20', '\x54', '\x79', '\x70', '\x65', '\x4c', '\x69', '\x73', '\x74', '\x3c', '\x54', '\x79', '\x70', '\x65', '\x73', '\x2e', '\x2e', '\x2e', '\x3e', '\x3e', '\x20', '\x7b', '\x20', '\x75', '\x73', '\x69', '\x6e', '\x67', '\x20', '\x74', '\x79', '\x70', '\x65', '\x20', '\x3d', '\x20', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x61', '\x70', '\x70', '\x65', '\x6e', '\x64', '\x3c', '\x46', '\x69', '\x6e', '\x61', '\x6c', '\x3c', '\x3e', '\x2c', '\x20', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x72', '\x65', '\x77', '\x72', '\x61', '\x70', '\x3c', '\x4e', '\x74', '\x74', '\x70', '\x54', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x54', '\x79', '\x70', '\x65', '\x4c', '\x69', '\x73', '\x74', '\x3c', '\x43', '\x6f', '\x6e', '\x74', '\x61', '\x69', '\x6e', '\x65', '\x72', '\x73', '\x3e', '\x2c', '\x20', '\x54', '\x79', '\x70', '\x65', '\x73', '\x2e', '\x2e', '\x2e', '\x3e', '\x3a', '\x3a', '\x74', '\x79', '\x70', '\x65', '\x2e', '\x2e', '\x2e', '\x3e', '\x3a', '\x3a', '\x74', '\x79', '\x70', '\x65', '\x3b', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x44', '\x45', '\x43', '\x4c', '\x41', '\x52', '\x45', '\x5f', '\x53', '\x49', '\x47', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x30', '\x28', '\x54', '\x65', '\x73', '\x74', '\x4e', '\x61', '\x6d', '\x65', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x44', '\x45', '\x43', '\x4c', '\x41', '\x52', '\x45', '\x5f', '\x53', '\x49', '\x47', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x31', '\x28', '\x54', '\x65', '\x73', '\x74', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x73', '\x69', '\x67', '\x6e', '\x61', '\x74', '\x75', '\x72', '\x65', '\x29', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x4d', '\x4f', '\x56', '\x45', '\x5f', '\x50', '\x41', '\x52', '\x45', '\x4e', '\x53', '\x28', '\x73', '\x69', '\x67', '\x6e', '\x61', '\x74', '\x75', '\x72', '\x65', '\x29', '\x3e', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x54', '\x65', '\x73', '\x74', '\x4e', '\x61', '\x6d', '\x65', '\x28', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x44', '\x45', '\x43', '\x4c', '\x41', '\x52', '\x45', '\x5f', '\x53', '\x49', '\x47', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x58', '\x28', '\x54', '\x65', '\x73', '\x74', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x73', '\x69', '\x67', '\x6e', '\x61', '\x74', '\x75', '\x72', '\x65', '\x2c', '\x20', '\x2e', '\x2e', '\x2e', '\x29', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x4d', '\x4f', '\x56', '\x45', '\x5f', '\x50', '\x41', '\x52', '\x45', '\x4e', '\x53', '\x28', '\x73', '\x69', '\x67', '\x6e', '\x61', '\x74', '\x75', '\x72', '\x65', '\x29', '\x3e', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x54', '\x65', '\x73', '\x74', '\x4e', '\x61', '\x6d', '\x65', '\x28', '\x29', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x44', '\x45', '\x46', '\x49', '\x4e', '\x45', '\x5f', '\x53', '\x49', '\x47', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x30', '\x28', '\x54', '\x65', '\x73', '\x74', '\x4e', '\x61', '\x6d', '\x65', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x44', '\x45', '\x46', '\x49', '\x4e', '\x45', '\x5f', '\x53', '\x49', '\x47', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x31', '\x28', '\x54', '\x65', '\x73', '\x74', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x73', '\x69', '\x67', '\x6e', '\x61', '\x74', '\x75', '\x72', '\x65', '\x29', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x4d', '\x4f', '\x56', '\x45', '\x5f', '\x50', '\x41', '\x52', '\x45', '\x4e', '\x53', '\x28', '\x73', '\x69', '\x67', '\x6e', '\x61', '\x74', '\x75', '\x72', '\x65', '\x29', '\x3e', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x54', '\x65', '\x73', '\x74', '\x4e', '\x61', '\x6d', '\x65', '\x28', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x44', '\x45', '\x46', '\x49', '\x4e', '\x45', '\x5f', '\x53', '\x49', '\x47', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x58', '\x28', '\x54', '\x65', '\x73', '\x74', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x73', '\x69', '\x67', '\x6e', '\x61', '\x74', '\x75', '\x72', '\x65', '\x2c', '\x2e', '\x2e', '\x2e', '\x29', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x4d', '\x4f', '\x56', '\x45', '\x5f', '\x50', '\x41', '\x52', '\x45', '\x4e', '\x53', '\x28', '\x73', '\x69', '\x67', '\x6e', '\x61', '\x74', '\x75', '\x72', '\x65', '\x29', '\x3e', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x54', '\x65', '\x73', '\x74', '\x4e', '\x61', '\x6d', '\x65', '\x28', '\x29', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x4e', '\x54', '\x54', '\x50', '\x5f', '\x52', '\x45', '\x47', '\x49', '\x53', '\x54', '\x45', '\x52', '\x30', '\x28', '\x54', '\x65', '\x73', '\x74', '\x46', '\x75', '\x6e', '\x63', '\x2c', '\x20', '\x73', '\x69', '\x67', '\x6e', '\x61', '\x74', '\x75', '\x72', '\x65', '\x29', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x54', '\x79', '\x70', '\x65', '\x3e', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x72', '\x65', '\x67', '\x5f', '\x74', '\x65', '\x73', '\x74', '\x28', '\x54', '\x79', '\x70', '\x65', '\x4c', '\x69', '\x73', '\x74', '\x3c', '\x54', '\x79', '\x70', '\x65', '\x3e', '\x2c', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x4e', '\x61', '\x6d', '\x65', '\x41', '\x6e', '\x64', '\x54', '\x61', '\x67', '\x73', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x41', '\x6e', '\x64', '\x54', '\x61', '\x67', '\x73', '\x29', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7b', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x41', '\x75', '\x74', '\x6f', '\x52', '\x65', '\x67', '\x28', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x6d', '\x61', '\x6b', '\x65', '\x54', '\x65', '\x73', '\x74', '\x49', '\x6e', '\x76', '\x6f', '\x6b', '\x65', '\x72', '\x28', '\x26', '\x54', '\x65', '\x73', '\x74', '\x46', '\x75', '\x6e', '\x63', '\x3c', '\x54', '\x79', '\x70', '\x65', '\x3e', '\x29', '\x2c', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x4c', '\x49', '\x4e', '\x45', '\x49', '\x4e', '\x46', '\x4f', '\x2c', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x66', '\x28', '\x29', '\x2c', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x41', '\x6e', '\x64', '\x54', '\x61', '\x67', '\x73', '\x29', '\x3b', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x4e', '\x54', '\x54', '\x50', '\x5f', '\x52', '\x45', '\x47', '\x49', '\x53', '\x54', '\x45', '\x52', '\x28', '\x54', '\x65', '\x73', '\x74', '\x46', '\x75', '\x6e', '\x63', '\x2c', '\x20', '\x73', '\x69', '\x67', '\x6e', '\x61', '\x74', '\x75', '\x72', '\x65', '\x2c', '\x20', '\x2e', '\x2e', '\x2e', '\x29', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x4d', '\x4f', '\x56', '\x45', '\x5f', '\x50', '\x41', '\x52', '\x45', '\x4e', '\x53', '\x28', '\x73', '\x69', '\x67', '\x6e', '\x61', '\x74', '\x75', '\x72', '\x65', '\x29', '\x3e', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x72', '\x65', '\x67', '\x5f', '\x74', '\x65', '\x73', '\x74', '\x28', '\x4e', '\x74', '\x74', '\x70', '\x3c', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x3e', '\x2c', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x4e', '\x61', '\x6d', '\x65', '\x41', '\x6e', '\x64', '\x54', '\x61', '\x67', '\x73', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x41', '\x6e', '\x64', '\x54', '\x61', '\x67', '\x73', '\x29', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7b', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x41', '\x75', '\x74', '\x6f', '\x52', '\x65', '\x67', '\x28', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x6d', '\x61', '\x6b', '\x65', '\x54', '\x65', '\x73', '\x74', '\x49', '\x6e', '\x76', '\x6f', '\x6b', '\x65', '\x72', '\x28', '\x26', '\x54', '\x65', '\x73', '\x74', '\x46', '\x75', '\x6e', '\x63', '\x3c', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x3e', '\x29', '\x2c', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x4c', '\x49', '\x4e', '\x45', '\x49', '\x4e', '\x46', '\x4f', '\x2c', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x66', '\x28', '\x29', '\x2c', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x41', '\x6e', '\x64', '\x54', '\x61', '\x67', '\x73', '\x29', '\x3b', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x4e', '\x54', '\x54', '\x50', '\x5f', '\x52', '\x45', '\x47', '\x49', '\x53', '\x54', '\x45', '\x52', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x30', '\x28', '\x54', '\x65', '\x73', '\x74', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x73', '\x69', '\x67', '\x6e', '\x61', '\x74', '\x75', '\x72', '\x65', '\x2c', '\x20', '\x2e', '\x2e', '\x2e', '\x29', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x54', '\x79', '\x70', '\x65', '\x3e', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x72', '\x65', '\x67', '\x5f', '\x74', '\x65', '\x73', '\x74', '\x28', '\x54', '\x79', '\x70', '\x65', '\x4c', '\x69', '\x73', '\x74', '\x3c', '\x54', '\x79', '\x70', '\x65', '\x3e', '\x2c', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x66', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x4e', '\x61', '\x6d', '\x65', '\x41', '\x6e', '\x64', '\x54', '\x61', '\x67', '\x73', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x41', '\x6e', '\x64', '\x54', '\x61', '\x67', '\x73', '\x29', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7b', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x41', '\x75', '\x74', '\x6f', '\x52', '\x65', '\x67', '\x28', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x6d', '\x61', '\x6b', '\x65', '\x54', '\x65', '\x73', '\x74', '\x49', '\x6e', '\x76', '\x6f', '\x6b', '\x65', '\x72', '\x28', '\x26', '\x54', '\x65', '\x73', '\x74', '\x4e', '\x61', '\x6d', '\x65', '\x3c', '\x54', '\x79', '\x70', '\x65', '\x3e', '\x3a', '\x3a', '\x74', '\x65', '\x73', '\x74', '\x29', '\x2c', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x4c', '\x49', '\x4e', '\x45', '\x49', '\x4e', '\x46', '\x4f', '\x2c', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x41', '\x6e', '\x64', '\x54', '\x61', '\x67', '\x73', '\x29', '\x3b', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x4e', '\x54', '\x54', '\x50', '\x5f', '\x52', '\x45', '\x47', '\x49', '\x53', '\x54', '\x45', '\x52', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x28', '\x54', '\x65', '\x73', '\x74', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x73', '\x69', '\x67', '\x6e', '\x61', '\x74', '\x75', '\x72', '\x65', '\x2c', '\x20', '\x2e', '\x2e', '\x2e', '\x29', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x4d', '\x4f', '\x56', '\x45', '\x5f', '\x50', '\x41', '\x52', '\x45', '\x4e', '\x53', '\x28', '\x73', '\x69', '\x67', '\x6e', '\x61', '\x74', '\x75', '\x72', '\x65', '\x29', '\x3e', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x72', '\x65', '\x67', '\x5f', '\x74', '\x65', '\x73', '\x74', '\x28', '\x4e', '\x74', '\x74', '\x70', '\x3c', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x3e', '\x2c', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x66', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x4e', '\x61', '\x6d', '\x65', '\x41', '\x6e', '\x64', '\x54', '\x61', '\x67', '\x73', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x41', '\x6e', '\x64', '\x54', '\x61', '\x67', '\x73', '\x29', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7b', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x41', '\x75', '\x74', '\x6f', '\x52', '\x65', '\x67', '\x28', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x6d', '\x61', '\x6b', '\x65', '\x54', '\x65', '\x73', '\x74', '\x49', '\x6e', '\x76', '\x6f', '\x6b', '\x65', '\x72', '\x28', '\x26', '\x54', '\x65', '\x73', '\x74', '\x4e', '\x61', '\x6d', '\x65', '\x3c', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x3e', '\x3a', '\x3a', '\x74', '\x65', '\x73', '\x74', '\x29', '\x2c', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x4c', '\x49', '\x4e', '\x45', '\x49', '\x4e', '\x46', '\x4f', '\x2c', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x41', '\x6e', '\x64', '\x54', '\x61', '\x67', '\x73', '\x29', '\x3b', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x44', '\x45', '\x43', '\x4c', '\x41', '\x52', '\x45', '\x5f', '\x53', '\x49', '\x47', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x30', '\x28', '\x54', '\x65', '\x73', '\x74', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x43', '\x6c', '\x61', '\x73', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x44', '\x45', '\x43', '\x4c', '\x41', '\x52', '\x45', '\x5f', '\x53', '\x49', '\x47', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x31', '\x28', '\x54', '\x65', '\x73', '\x74', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x43', '\x6c', '\x61', '\x73', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x73', '\x69', '\x67', '\x6e', '\x61', '\x74', '\x75', '\x72', '\x65', '\x29', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x54', '\x65', '\x73', '\x74', '\x54', '\x79', '\x70', '\x65', '\x3e', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x54', '\x65', '\x73', '\x74', '\x4e', '\x61', '\x6d', '\x65', '\x20', '\x3a', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x4d', '\x4f', '\x56', '\x45', '\x5f', '\x50', '\x41', '\x52', '\x45', '\x4e', '\x53', '\x28', '\x43', '\x6c', '\x61', '\x73', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x29', '\x3c', '\x54', '\x65', '\x73', '\x74', '\x54', '\x79', '\x70', '\x65', '\x3e', '\x20', '\x7b', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x74', '\x65', '\x73', '\x74', '\x28', '\x29', '\x3b', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x44', '\x45', '\x43', '\x4c', '\x41', '\x52', '\x45', '\x5f', '\x53', '\x49', '\x47', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x5f', '\x58', '\x28', '\x54', '\x65', '\x73', '\x74', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x43', '\x6c', '\x61', '\x73', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x73', '\x69', '\x67', '\x6e', '\x61', '\x74', '\x75', '\x72', '\x65', '\x2c', '\x20', '\x2e', '\x2e', '\x2e', '\x29', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x4d', '\x4f', '\x56', '\x45', '\x5f', '\x50', '\x41', '\x52', '\x45', '\x4e', '\x53', '\x28', '\x73', '\x69', '\x67', '\x6e', '\x61', '\x74', '\x75', '\x72', '\x65', '\x29', '\x3e', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x54', '\x65', '\x73', '\x74', '\x4e', '\x61', '\x6d', '\x65', '\x20', '\x3a', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x4d', '\x4f', '\x56', '\x45', '\x5f', '\x50', '\x41', '\x52', '\x45', '\x4e', '\x53', '\x28', '\x43', '\x6c', '\x61', '\x73', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x29', '\x3c', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x3e', '\x20', '\x7b', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x74', '\x65', '\x73', '\x74', '\x28', '\x29', '\x3b', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x44', '\x45', '\x46', '\x49', '\x4e', '\x45', '\x5f', '\x53', '\x49', '\x47', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x30', '\x28', '\x54', '\x65', '\x73', '\x74', '\x4e', '\x61', '\x6d', '\x65', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x44', '\x45', '\x46', '\x49', '\x4e', '\x45', '\x5f', '\x53', '\x49', '\x47', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x31', '\x28', '\x54', '\x65', '\x73', '\x74', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x73', '\x69', '\x67', '\x6e', '\x61', '\x74', '\x75', '\x72', '\x65', '\x29', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x54', '\x65', '\x73', '\x74', '\x54', '\x79', '\x70', '\x65', '\x3e', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x4d', '\x41', '\x4b', '\x45', '\x5f', '\x4e', '\x41', '\x4d', '\x45', '\x53', '\x50', '\x41', '\x43', '\x45', '\x28', '\x54', '\x65', '\x73', '\x74', '\x4e', '\x61', '\x6d', '\x65', '\x29', '\x3a', '\x3a', '\x54', '\x65', '\x73', '\x74', '\x4e', '\x61', '\x6d', '\x65', '\x3c', '\x54', '\x65', '\x73', '\x74', '\x54', '\x79', '\x70', '\x65', '\x3e', '\x3a', '\x3a', '\x74', '\x65', '\x73', '\x74', '\x28', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x44', '\x45', '\x46', '\x49', '\x4e', '\x45', '\x5f', '\x53', '\x49', '\x47', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x5f', '\x58', '\x28', '\x54', '\x65', '\x73', '\x74', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x73', '\x69', '\x67', '\x6e', '\x61', '\x74', '\x75', '\x72', '\x65', '\x2c', '\x20', '\x2e', '\x2e', '\x2e', '\x29', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x4d', '\x4f', '\x56', '\x45', '\x5f', '\x50', '\x41', '\x52', '\x45', '\x4e', '\x53', '\x28', '\x73', '\x69', '\x67', '\x6e', '\x61', '\x74', '\x75', '\x72', '\x65', '\x29', '\x3e', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x4d', '\x41', '\x4b', '\x45', '\x5f', '\x4e', '\x41', '\x4d', '\x45', '\x53', '\x50', '\x41', '\x43', '\x45', '\x28', '\x54', '\x65', '\x73', '\x74', '\x4e', '\x61', '\x6d', '\x65', '\x29', '\x3a', '\x3a', '\x54', '\x65', '\x73', '\x74', '\x4e', '\x61', '\x6d', '\x65', '\x3c', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x3e', '\x3a', '\x3a', '\x74', '\x65', '\x73', '\x74', '\x28', '\x29', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x6e', '\x64', '\x65', '\x66', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x54', '\x52', '\x41', '\x44', '\x49', '\x54', '\x49', '\x4f', '\x4e', '\x41', '\x4c', '\x5f', '\x4d', '\x53', '\x56', '\x43', '\x5f', '\x50', '\x52', '\x45', '\x50', '\x52', '\x4f', '\x43', '\x45', '\x53', '\x53', '\x4f', '\x52', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x4e', '\x54', '\x54', '\x50', '\x5f', '\x30', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x4e', '\x54', '\x54', '\x50', '\x5f', '\x47', '\x45', '\x4e', '\x28', '\x2e', '\x2e', '\x2e', '\x29', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x56', '\x41', '\x5f', '\x4e', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x49', '\x4d', '\x50', '\x4c', '\x28', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x2c', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x4e', '\x54', '\x54', '\x50', '\x5f', '\x31', '\x28', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x29', '\x2c', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x4e', '\x54', '\x54', '\x50', '\x5f', '\x31', '\x28', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x29', '\x2c', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x4e', '\x54', '\x54', '\x50', '\x5f', '\x31', '\x28', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x29', '\x2c', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x4e', '\x54', '\x54', '\x50', '\x5f', '\x31', '\x28', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x29', '\x2c', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x4e', '\x54', '\x54', '\x50', '\x5f', '\x31', '\x28', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x29', '\x2c', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x4e', '\x54', '\x54', '\x50', '\x5f', '\x31', '\x28', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x29', '\x2c', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x4e', '\x54', '\x54', '\x50', '\x5f', '\x31', '\x28', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x29', '\x2c', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x4e', '\x54', '\x54', '\x50', '\x5f', '\x31', '\x28', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x29', '\x2c', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x4e', '\x54', '\x54', '\x50', '\x5f', '\x31', '\x28', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x29', '\x2c', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x4e', '\x54', '\x54', '\x50', '\x5f', '\x31', '\x28', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x29', '\x2c', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x4e', '\x54', '\x54', '\x50', '\x5f', '\x30', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x44', '\x45', '\x46', '\x49', '\x4e', '\x45', '\x5f', '\x53', '\x49', '\x47', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x28', '\x54', '\x65', '\x73', '\x74', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x2e', '\x2e', '\x2e', '\x29', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x56', '\x41', '\x5f', '\x4e', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x49', '\x4d', '\x50', '\x4c', '\x28', '\x20', '\x22', '\x64', '\x75', '\x6d', '\x6d', '\x79', '\x22', '\x2c', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x2c', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x44', '\x45', '\x46', '\x49', '\x4e', '\x45', '\x5f', '\x53', '\x49', '\x47', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x5f', '\x58', '\x2c', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x44', '\x45', '\x46', '\x49', '\x4e', '\x45', '\x5f', '\x53', '\x49', '\x47', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x5f', '\x58', '\x2c', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x44', '\x45', '\x46', '\x49', '\x4e', '\x45', '\x5f', '\x53', '\x49', '\x47', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x5f', '\x58', '\x2c', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x44', '\x45', '\x46', '\x49', '\x4e', '\x45', '\x5f', '\x53', '\x49', '\x47', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x5f', '\x58', '\x2c', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x44', '\x45', '\x46', '\x49', '\x4e', '\x45', '\x5f', '\x53', '\x49', '\x47', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x5f', '\x58', '\x2c', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x44', '\x45', '\x46', '\x49', '\x4e', '\x45', '\x5f', '\x53', '\x49', '\x47', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x5f', '\x58', '\x2c', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x44', '\x45', '\x46', '\x49', '\x4e', '\x45', '\x5f', '\x53', '\x49', '\x47', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x5f', '\x58', '\x2c', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x44', '\x45', '\x46', '\x49', '\x4e', '\x45', '\x5f', '\x53', '\x49', '\x47', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x5f', '\x58', '\x2c', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x44', '\x45', '\x46', '\x49', '\x4e', '\x45', '\x5f', '\x53', '\x49', '\x47', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x5f', '\x58', '\x2c', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x44', '\x45', '\x46', '\x49', '\x4e', '\x45', '\x5f', '\x53', '\x49', '\x47', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x31', '\x2c', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x44', '\x45', '\x46', '\x49', '\x4e', '\x45', '\x5f', '\x53', '\x49', '\x47', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x30', '\x29', '\x28', '\x54', '\x65', '\x73', '\x74', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x44', '\x45', '\x43', '\x4c', '\x41', '\x52', '\x45', '\x5f', '\x53', '\x49', '\x47', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x28', '\x54', '\x65', '\x73', '\x74', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x43', '\x6c', '\x61', '\x73', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x2e', '\x2e', '\x2e', '\x29', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x56', '\x41', '\x5f', '\x4e', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x49', '\x4d', '\x50', '\x4c', '\x28', '\x20', '\x22', '\x64', '\x75', '\x6d', '\x6d', '\x79', '\x22', '\x2c', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x2c', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x44', '\x45', '\x43', '\x4c', '\x41', '\x52', '\x45', '\x5f', '\x53', '\x49', '\x47', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x5f', '\x58', '\x2c', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x44', '\x45', '\x43', '\x4c', '\x41', '\x52', '\x45', '\x5f', '\x53', '\x49', '\x47', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x5f', '\x58', '\x2c', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x44', '\x45', '\x43', '\x4c', '\x41', '\x52', '\x45', '\x5f', '\x53', '\x49', '\x47', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x5f', '\x58', '\x2c', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x44', '\x45', '\x43', '\x4c', '\x41', '\x52', '\x45', '\x5f', '\x53', '\x49', '\x47', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x5f', '\x58', '\x2c', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x44', '\x45', '\x43', '\x4c', '\x41', '\x52', '\x45', '\x5f', '\x53', '\x49', '\x47', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x5f', '\x58', '\x2c', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x44', '\x45', '\x43', '\x4c', '\x41', '\x52', '\x45', '\x5f', '\x53', '\x49', '\x47', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x5f', '\x58', '\x2c', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x44', '\x45', '\x43', '\x4c', '\x41', '\x52', '\x45', '\x5f', '\x53', '\x49', '\x47', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x5f', '\x58', '\x2c', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x44', '\x45', '\x43', '\x4c', '\x41', '\x52', '\x45', '\x5f', '\x53', '\x49', '\x47', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x5f', '\x58', '\x2c', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x44', '\x45', '\x43', '\x4c', '\x41', '\x52', '\x45', '\x5f', '\x53', '\x49', '\x47', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x5f', '\x58', '\x2c', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x44', '\x45', '\x43', '\x4c', '\x41', '\x52', '\x45', '\x5f', '\x53', '\x49', '\x47', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x31', '\x2c', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x44', '\x45', '\x43', '\x4c', '\x41', '\x52', '\x45', '\x5f', '\x53', '\x49', '\x47', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x30', '\x29', '\x28', '\x54', '\x65', '\x73', '\x74', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x43', '\x6c', '\x61', '\x73', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x4e', '\x54', '\x54', '\x50', '\x5f', '\x52', '\x45', '\x47', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x5f', '\x47', '\x45', '\x4e', '\x28', '\x54', '\x65', '\x73', '\x74', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x2e', '\x2e', '\x2e', '\x29', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x56', '\x41', '\x5f', '\x4e', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x49', '\x4d', '\x50', '\x4c', '\x28', '\x20', '\x22', '\x64', '\x75', '\x6d', '\x6d', '\x79', '\x22', '\x2c', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x2c', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x4e', '\x54', '\x54', '\x50', '\x5f', '\x52', '\x45', '\x47', '\x49', '\x53', '\x54', '\x45', '\x52', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x2c', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x4e', '\x54', '\x54', '\x50', '\x5f', '\x52', '\x45', '\x47', '\x49', '\x53', '\x54', '\x45', '\x52', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x2c', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x4e', '\x54', '\x54', '\x50', '\x5f', '\x52', '\x45', '\x47', '\x49', '\x53', '\x54', '\x45', '\x52', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x2c', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x4e', '\x54', '\x54', '\x50', '\x5f', '\x52', '\x45', '\x47', '\x49', '\x53', '\x54', '\x45', '\x52', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x2c', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x4e', '\x54', '\x54', '\x50', '\x5f', '\x52', '\x45', '\x47', '\x49', '\x53', '\x54', '\x45', '\x52', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x2c', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x4e', '\x54', '\x54', '\x50', '\x5f', '\x52', '\x45', '\x47', '\x49', '\x53', '\x54', '\x45', '\x52', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x2c', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x4e', '\x54', '\x54', '\x50', '\x5f', '\x52', '\x45', '\x47', '\x49', '\x53', '\x54', '\x45', '\x52', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x2c', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x4e', '\x54', '\x54', '\x50', '\x5f', '\x52', '\x45', '\x47', '\x49', '\x53', '\x54', '\x45', '\x52', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x2c', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x4e', '\x54', '\x54', '\x50', '\x5f', '\x52', '\x45', '\x47', '\x49', '\x53', '\x54', '\x45', '\x52', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x2c', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x4e', '\x54', '\x54', '\x50', '\x5f', '\x52', '\x45', '\x47', '\x49', '\x53', '\x54', '\x45', '\x52', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x30', '\x2c', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x4e', '\x54', '\x54', '\x50', '\x5f', '\x52', '\x45', '\x47', '\x49', '\x53', '\x54', '\x45', '\x52', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x30', '\x29', '\x28', '\x54', '\x65', '\x73', '\x74', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x4e', '\x54', '\x54', '\x50', '\x5f', '\x52', '\x45', '\x47', '\x5f', '\x47', '\x45', '\x4e', '\x28', '\x54', '\x65', '\x73', '\x74', '\x46', '\x75', '\x6e', '\x63', '\x2c', '\x20', '\x2e', '\x2e', '\x2e', '\x29', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x56', '\x41', '\x5f', '\x4e', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x49', '\x4d', '\x50', '\x4c', '\x28', '\x20', '\x22', '\x64', '\x75', '\x6d', '\x6d', '\x79', '\x22', '\x2c', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x2c', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x4e', '\x54', '\x54', '\x50', '\x5f', '\x52', '\x45', '\x47', '\x49', '\x53', '\x54', '\x45', '\x52', '\x2c', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x4e', '\x54', '\x54', '\x50', '\x5f', '\x52', '\x45', '\x47', '\x49', '\x53', '\x54', '\x45', '\x52', '\x2c', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x4e', '\x54', '\x54', '\x50', '\x5f', '\x52', '\x45', '\x47', '\x49', '\x53', '\x54', '\x45', '\x52', '\x2c', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x4e', '\x54', '\x54', '\x50', '\x5f', '\x52', '\x45', '\x47', '\x49', '\x53', '\x54', '\x45', '\x52', '\x2c', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x4e', '\x54', '\x54', '\x50', '\x5f', '\x52', '\x45', '\x47', '\x49', '\x53', '\x54', '\x45', '\x52', '\x2c', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x4e', '\x54', '\x54', '\x50', '\x5f', '\x52', '\x45', '\x47', '\x49', '\x53', '\x54', '\x45', '\x52', '\x2c', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x4e', '\x54', '\x54', '\x50', '\x5f', '\x52', '\x45', '\x47', '\x49', '\x53', '\x54', '\x45', '\x52', '\x2c', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x4e', '\x54', '\x54', '\x50', '\x5f', '\x52', '\x45', '\x47', '\x49', '\x53', '\x54', '\x45', '\x52', '\x2c', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x4e', '\x54', '\x54', '\x50', '\x5f', '\x52', '\x45', '\x47', '\x49', '\x53', '\x54', '\x45', '\x52', '\x2c', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x4e', '\x54', '\x54', '\x50', '\x5f', '\x52', '\x45', '\x47', '\x49', '\x53', '\x54', '\x45', '\x52', '\x30', '\x2c', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x4e', '\x54', '\x54', '\x50', '\x5f', '\x52', '\x45', '\x47', '\x49', '\x53', '\x54', '\x45', '\x52', '\x30', '\x29', '\x28', '\x54', '\x65', '\x73', '\x74', '\x46', '\x75', '\x6e', '\x63', '\x2c', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x44', '\x45', '\x46', '\x49', '\x4e', '\x45', '\x5f', '\x53', '\x49', '\x47', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x28', '\x54', '\x65', '\x73', '\x74', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x2e', '\x2e', '\x2e', '\x29', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x56', '\x41', '\x5f', '\x4e', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x49', '\x4d', '\x50', '\x4c', '\x28', '\x20', '\x22', '\x64', '\x75', '\x6d', '\x6d', '\x79', '\x22', '\x2c', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x2c', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x44', '\x45', '\x46', '\x49', '\x4e', '\x45', '\x5f', '\x53', '\x49', '\x47', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x58', '\x2c', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x44', '\x45', '\x46', '\x49', '\x4e', '\x45', '\x5f', '\x53', '\x49', '\x47', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x58', '\x2c', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x44', '\x45', '\x46', '\x49', '\x4e', '\x45', '\x5f', '\x53', '\x49', '\x47', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x58', '\x2c', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x44', '\x45', '\x46', '\x49', '\x4e', '\x45', '\x5f', '\x53', '\x49', '\x47', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x58', '\x2c', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x44', '\x45', '\x46', '\x49', '\x4e', '\x45', '\x5f', '\x53', '\x49', '\x47', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x58', '\x2c', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x44', '\x45', '\x46', '\x49', '\x4e', '\x45', '\x5f', '\x53', '\x49', '\x47', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x58', '\x2c', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x44', '\x45', '\x46', '\x49', '\x4e', '\x45', '\x5f', '\x53', '\x49', '\x47', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x58', '\x2c', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x44', '\x45', '\x46', '\x49', '\x4e', '\x45', '\x5f', '\x53', '\x49', '\x47', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x58', '\x2c', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x44', '\x45', '\x46', '\x49', '\x4e', '\x45', '\x5f', '\x53', '\x49', '\x47', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x58', '\x2c', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x44', '\x45', '\x46', '\x49', '\x4e', '\x45', '\x5f', '\x53', '\x49', '\x47', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x31', '\x2c', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x44', '\x45', '\x46', '\x49', '\x4e', '\x45', '\x5f', '\x53', '\x49', '\x47', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x30', '\x29', '\x28', '\x54', '\x65', '\x73', '\x74', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x44', '\x45', '\x43', '\x4c', '\x41', '\x52', '\x45', '\x5f', '\x53', '\x49', '\x47', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x28', '\x54', '\x65', '\x73', '\x74', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x2e', '\x2e', '\x2e', '\x29', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x56', '\x41', '\x5f', '\x4e', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x49', '\x4d', '\x50', '\x4c', '\x28', '\x20', '\x22', '\x64', '\x75', '\x6d', '\x6d', '\x79', '\x22', '\x2c', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x2c', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x44', '\x45', '\x43', '\x4c', '\x41', '\x52', '\x45', '\x5f', '\x53', '\x49', '\x47', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x58', '\x2c', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x44', '\x45', '\x43', '\x4c', '\x41', '\x52', '\x45', '\x5f', '\x53', '\x49', '\x47', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x58', '\x2c', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x44', '\x45', '\x43', '\x4c', '\x41', '\x52', '\x45', '\x5f', '\x53', '\x49', '\x47', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x58', '\x2c', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x44', '\x45', '\x43', '\x4c', '\x41', '\x52', '\x45', '\x5f', '\x53', '\x49', '\x47', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x58', '\x2c', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x44', '\x45', '\x43', '\x4c', '\x41', '\x52', '\x45', '\x5f', '\x53', '\x49', '\x47', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x58', '\x2c', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x44', '\x45', '\x43', '\x4c', '\x41', '\x52', '\x45', '\x5f', '\x53', '\x49', '\x47', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x58', '\x2c', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x44', '\x45', '\x46', '\x49', '\x4e', '\x45', '\x5f', '\x53', '\x49', '\x47', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x58', '\x2c', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x44', '\x45', '\x43', '\x4c', '\x41', '\x52', '\x45', '\x5f', '\x53', '\x49', '\x47', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x58', '\x2c', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x44', '\x45', '\x43', '\x4c', '\x41', '\x52', '\x45', '\x5f', '\x53', '\x49', '\x47', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x58', '\x2c', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x44', '\x45', '\x43', '\x4c', '\x41', '\x52', '\x45', '\x5f', '\x53', '\x49', '\x47', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x31', '\x2c', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x44', '\x45', '\x43', '\x4c', '\x41', '\x52', '\x45', '\x5f', '\x53', '\x49', '\x47', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x30', '\x29', '\x28', '\x54', '\x65', '\x73', '\x74', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x4d', '\x4f', '\x56', '\x45', '\x5f', '\x50', '\x41', '\x52', '\x45', '\x4e', '\x53', '\x5f', '\x47', '\x45', '\x4e', '\x28', '\x2e', '\x2e', '\x2e', '\x29', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x56', '\x41', '\x5f', '\x4e', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x49', '\x4d', '\x50', '\x4c', '\x28', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x2c', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x4d', '\x4f', '\x56', '\x45', '\x5f', '\x50', '\x41', '\x52', '\x45', '\x4e', '\x53', '\x5f', '\x31', '\x31', '\x5f', '\x41', '\x52', '\x47', '\x2c', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x4d', '\x4f', '\x56', '\x45', '\x5f', '\x50', '\x41', '\x52', '\x45', '\x4e', '\x53', '\x5f', '\x31', '\x30', '\x5f', '\x41', '\x52', '\x47', '\x2c', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x4d', '\x4f', '\x56', '\x45', '\x5f', '\x50', '\x41', '\x52', '\x45', '\x4e', '\x53', '\x5f', '\x39', '\x5f', '\x41', '\x52', '\x47', '\x2c', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x4d', '\x4f', '\x56', '\x45', '\x5f', '\x50', '\x41', '\x52', '\x45', '\x4e', '\x53', '\x5f', '\x38', '\x5f', '\x41', '\x52', '\x47', '\x2c', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x4d', '\x4f', '\x56', '\x45', '\x5f', '\x50', '\x41', '\x52', '\x45', '\x4e', '\x53', '\x5f', '\x37', '\x5f', '\x41', '\x52', '\x47', '\x2c', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x4d', '\x4f', '\x56', '\x45', '\x5f', '\x50', '\x41', '\x52', '\x45', '\x4e', '\x53', '\x5f', '\x36', '\x5f', '\x41', '\x52', '\x47', '\x2c', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x4d', '\x4f', '\x56', '\x45', '\x5f', '\x50', '\x41', '\x52', '\x45', '\x4e', '\x53', '\x5f', '\x35', '\x5f', '\x41', '\x52', '\x47', '\x2c', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x4d', '\x4f', '\x56', '\x45', '\x5f', '\x50', '\x41', '\x52', '\x45', '\x4e', '\x53', '\x5f', '\x34', '\x5f', '\x41', '\x52', '\x47', '\x2c', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x4d', '\x4f', '\x56', '\x45', '\x5f', '\x50', '\x41', '\x52', '\x45', '\x4e', '\x53', '\x5f', '\x33', '\x5f', '\x41', '\x52', '\x47', '\x2c', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x4d', '\x4f', '\x56', '\x45', '\x5f', '\x50', '\x41', '\x52', '\x45', '\x4e', '\x53', '\x5f', '\x32', '\x5f', '\x41', '\x52', '\x47', '\x2c', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x4d', '\x4f', '\x56', '\x45', '\x5f', '\x50', '\x41', '\x52', '\x45', '\x4e', '\x53', '\x5f', '\x31', '\x5f', '\x41', '\x52', '\x47', '\x29', '\x28', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x29', '\x0d', '\x0a', '\x23', '\x65', '\x6c', '\x73', '\x65', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x4e', '\x54', '\x54', '\x50', '\x5f', '\x30', '\x28', '\x73', '\x69', '\x67', '\x6e', '\x61', '\x74', '\x75', '\x72', '\x65', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x4e', '\x54', '\x54', '\x50', '\x5f', '\x47', '\x45', '\x4e', '\x28', '\x2e', '\x2e', '\x2e', '\x29', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x45', '\x58', '\x50', '\x41', '\x4e', '\x44', '\x5f', '\x56', '\x41', '\x52', '\x47', '\x53', '\x28', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x56', '\x41', '\x5f', '\x4e', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x49', '\x4d', '\x50', '\x4c', '\x28', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x2c', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x4e', '\x54', '\x54', '\x50', '\x5f', '\x31', '\x2c', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x4e', '\x54', '\x54', '\x50', '\x5f', '\x31', '\x2c', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x4e', '\x54', '\x54', '\x50', '\x5f', '\x31', '\x2c', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x4e', '\x54', '\x54', '\x50', '\x5f', '\x31', '\x2c', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x4e', '\x54', '\x54', '\x50', '\x5f', '\x31', '\x2c', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x4e', '\x54', '\x54', '\x50', '\x5f', '\x31', '\x2c', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x4e', '\x54', '\x54', '\x50', '\x5f', '\x31', '\x2c', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x4e', '\x54', '\x54', '\x50', '\x5f', '\x31', '\x2c', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x4e', '\x54', '\x54', '\x50', '\x5f', '\x31', '\x2c', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x4e', '\x54', '\x54', '\x50', '\x5f', '\x31', '\x2c', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x4e', '\x54', '\x54', '\x50', '\x5f', '\x30', '\x29', '\x28', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x29', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x44', '\x45', '\x46', '\x49', '\x4e', '\x45', '\x5f', '\x53', '\x49', '\x47', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x28', '\x54', '\x65', '\x73', '\x74', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x2e', '\x2e', '\x2e', '\x29', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x45', '\x58', '\x50', '\x41', '\x4e', '\x44', '\x5f', '\x56', '\x41', '\x52', '\x47', '\x53', '\x28', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x56', '\x41', '\x5f', '\x4e', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x49', '\x4d', '\x50', '\x4c', '\x28', '\x20', '\x22', '\x64', '\x75', '\x6d', '\x6d', '\x79', '\x22', '\x2c', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x2c', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x44', '\x45', '\x46', '\x49', '\x4e', '\x45', '\x5f', '\x53', '\x49', '\x47', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x5f', '\x58', '\x2c', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x44', '\x45', '\x46', '\x49', '\x4e', '\x45', '\x5f', '\x53', '\x49', '\x47', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x5f', '\x58', '\x2c', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x44', '\x45', '\x46', '\x49', '\x4e', '\x45', '\x5f', '\x53', '\x49', '\x47', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x5f', '\x58', '\x2c', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x44', '\x45', '\x46', '\x49', '\x4e', '\x45', '\x5f', '\x53', '\x49', '\x47', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x5f', '\x58', '\x2c', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x44', '\x45', '\x46', '\x49', '\x4e', '\x45', '\x5f', '\x53', '\x49', '\x47', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x5f', '\x58', '\x2c', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x44', '\x45', '\x46', '\x49', '\x4e', '\x45', '\x5f', '\x53', '\x49', '\x47', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x5f', '\x58', '\x2c', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x44', '\x45', '\x46', '\x49', '\x4e', '\x45', '\x5f', '\x53', '\x49', '\x47', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x5f', '\x58', '\x2c', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x44', '\x45', '\x46', '\x49', '\x4e', '\x45', '\x5f', '\x53', '\x49', '\x47', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x5f', '\x58', '\x2c', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x44', '\x45', '\x46', '\x49', '\x4e', '\x45', '\x5f', '\x53', '\x49', '\x47', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x5f', '\x58', '\x2c', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x44', '\x45', '\x46', '\x49', '\x4e', '\x45', '\x5f', '\x53', '\x49', '\x47', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x31', '\x2c', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x44', '\x45', '\x46', '\x49', '\x4e', '\x45', '\x5f', '\x53', '\x49', '\x47', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x30', '\x29', '\x28', '\x54', '\x65', '\x73', '\x74', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x29', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x44', '\x45', '\x43', '\x4c', '\x41', '\x52', '\x45', '\x5f', '\x53', '\x49', '\x47', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x28', '\x54', '\x65', '\x73', '\x74', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x43', '\x6c', '\x61', '\x73', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x2e', '\x2e', '\x2e', '\x29', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x45', '\x58', '\x50', '\x41', '\x4e', '\x44', '\x5f', '\x56', '\x41', '\x52', '\x47', '\x53', '\x28', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x56', '\x41', '\x5f', '\x4e', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x49', '\x4d', '\x50', '\x4c', '\x28', '\x20', '\x22', '\x64', '\x75', '\x6d', '\x6d', '\x79', '\x22', '\x2c', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x2c', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x44', '\x45', '\x43', '\x4c', '\x41', '\x52', '\x45', '\x5f', '\x53', '\x49', '\x47', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x5f', '\x58', '\x2c', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x44', '\x45', '\x43', '\x4c', '\x41', '\x52', '\x45', '\x5f', '\x53', '\x49', '\x47', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x5f', '\x58', '\x2c', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x44', '\x45', '\x43', '\x4c', '\x41', '\x52', '\x45', '\x5f', '\x53', '\x49', '\x47', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x5f', '\x58', '\x2c', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x44', '\x45', '\x43', '\x4c', '\x41', '\x52', '\x45', '\x5f', '\x53', '\x49', '\x47', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x5f', '\x58', '\x2c', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x44', '\x45', '\x43', '\x4c', '\x41', '\x52', '\x45', '\x5f', '\x53', '\x49', '\x47', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x5f', '\x58', '\x2c', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x44', '\x45', '\x43', '\x4c', '\x41', '\x52', '\x45', '\x5f', '\x53', '\x49', '\x47', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x5f', '\x58', '\x2c', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x44', '\x45', '\x43', '\x4c', '\x41', '\x52', '\x45', '\x5f', '\x53', '\x49', '\x47', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x5f', '\x58', '\x2c', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x44', '\x45', '\x43', '\x4c', '\x41', '\x52', '\x45', '\x5f', '\x53', '\x49', '\x47', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x5f', '\x58', '\x2c', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x44', '\x45', '\x43', '\x4c', '\x41', '\x52', '\x45', '\x5f', '\x53', '\x49', '\x47', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x5f', '\x58', '\x2c', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x44', '\x45', '\x43', '\x4c', '\x41', '\x52', '\x45', '\x5f', '\x53', '\x49', '\x47', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x31', '\x2c', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x44', '\x45', '\x43', '\x4c', '\x41', '\x52', '\x45', '\x5f', '\x53', '\x49', '\x47', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x30', '\x29', '\x28', '\x54', '\x65', '\x73', '\x74', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x43', '\x6c', '\x61', '\x73', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x29', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x4e', '\x54', '\x54', '\x50', '\x5f', '\x52', '\x45', '\x47', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x5f', '\x47', '\x45', '\x4e', '\x28', '\x54', '\x65', '\x73', '\x74', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x2e', '\x2e', '\x2e', '\x29', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x45', '\x58', '\x50', '\x41', '\x4e', '\x44', '\x5f', '\x56', '\x41', '\x52', '\x47', '\x53', '\x28', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x56', '\x41', '\x5f', '\x4e', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x49', '\x4d', '\x50', '\x4c', '\x28', '\x20', '\x22', '\x64', '\x75', '\x6d', '\x6d', '\x79', '\x22', '\x2c', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x2c', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x4e', '\x54', '\x54', '\x50', '\x5f', '\x52', '\x45', '\x47', '\x49', '\x53', '\x54', '\x45', '\x52', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x2c', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x4e', '\x54', '\x54', '\x50', '\x5f', '\x52', '\x45', '\x47', '\x49', '\x53', '\x54', '\x45', '\x52', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x2c', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x4e', '\x54', '\x54', '\x50', '\x5f', '\x52', '\x45', '\x47', '\x49', '\x53', '\x54', '\x45', '\x52', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x2c', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x4e', '\x54', '\x54', '\x50', '\x5f', '\x52', '\x45', '\x47', '\x49', '\x53', '\x54', '\x45', '\x52', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x2c', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x4e', '\x54', '\x54', '\x50', '\x5f', '\x52', '\x45', '\x47', '\x49', '\x53', '\x54', '\x45', '\x52', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x2c', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x4e', '\x54', '\x54', '\x50', '\x5f', '\x52', '\x45', '\x47', '\x49', '\x53', '\x54', '\x45', '\x52', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x2c', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x4e', '\x54', '\x54', '\x50', '\x5f', '\x52', '\x45', '\x47', '\x49', '\x53', '\x54', '\x45', '\x52', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x2c', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x4e', '\x54', '\x54', '\x50', '\x5f', '\x52', '\x45', '\x47', '\x49', '\x53', '\x54', '\x45', '\x52', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x2c', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x4e', '\x54', '\x54', '\x50', '\x5f', '\x52', '\x45', '\x47', '\x49', '\x53', '\x54', '\x45', '\x52', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x2c', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x4e', '\x54', '\x54', '\x50', '\x5f', '\x52', '\x45', '\x47', '\x49', '\x53', '\x54', '\x45', '\x52', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x30', '\x2c', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x4e', '\x54', '\x54', '\x50', '\x5f', '\x52', '\x45', '\x47', '\x49', '\x53', '\x54', '\x45', '\x52', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x30', '\x29', '\x28', '\x54', '\x65', '\x73', '\x74', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x29', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x4e', '\x54', '\x54', '\x50', '\x5f', '\x52', '\x45', '\x47', '\x5f', '\x47', '\x45', '\x4e', '\x28', '\x54', '\x65', '\x73', '\x74', '\x46', '\x75', '\x6e', '\x63', '\x2c', '\x20', '\x2e', '\x2e', '\x2e', '\x29', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x45', '\x58', '\x50', '\x41', '\x4e', '\x44', '\x5f', '\x56', '\x41', '\x52', '\x47', '\x53', '\x28', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x56', '\x41', '\x5f', '\x4e', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x49', '\x4d', '\x50', '\x4c', '\x28', '\x20', '\x22', '\x64', '\x75', '\x6d', '\x6d', '\x79', '\x22', '\x2c', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x2c', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x4e', '\x54', '\x54', '\x50', '\x5f', '\x52', '\x45', '\x47', '\x49', '\x53', '\x54', '\x45', '\x52', '\x2c', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x4e', '\x54', '\x54', '\x50', '\x5f', '\x52', '\x45', '\x47', '\x49', '\x53', '\x54', '\x45', '\x52', '\x2c', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x4e', '\x54', '\x54', '\x50', '\x5f', '\x52', '\x45', '\x47', '\x49', '\x53', '\x54', '\x45', '\x52', '\x2c', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x4e', '\x54', '\x54', '\x50', '\x5f', '\x52', '\x45', '\x47', '\x49', '\x53', '\x54', '\x45', '\x52', '\x2c', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x4e', '\x54', '\x54', '\x50', '\x5f', '\x52', '\x45', '\x47', '\x49', '\x53', '\x54', '\x45', '\x52', '\x2c', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x4e', '\x54', '\x54', '\x50', '\x5f', '\x52', '\x45', '\x47', '\x49', '\x53', '\x54', '\x45', '\x52', '\x2c', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x4e', '\x54', '\x54', '\x50', '\x5f', '\x52', '\x45', '\x47', '\x49', '\x53', '\x54', '\x45', '\x52', '\x2c', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x4e', '\x54', '\x54', '\x50', '\x5f', '\x52', '\x45', '\x47', '\x49', '\x53', '\x54', '\x45', '\x52', '\x2c', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x4e', '\x54', '\x54', '\x50', '\x5f', '\x52', '\x45', '\x47', '\x49', '\x53', '\x54', '\x45', '\x52', '\x2c', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x4e', '\x54', '\x54', '\x50', '\x5f', '\x52', '\x45', '\x47', '\x49', '\x53', '\x54', '\x45', '\x52', '\x30', '\x2c', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x4e', '\x54', '\x54', '\x50', '\x5f', '\x52', '\x45', '\x47', '\x49', '\x53', '\x54', '\x45', '\x52', '\x30', '\x29', '\x28', '\x54', '\x65', '\x73', '\x74', '\x46', '\x75', '\x6e', '\x63', '\x2c', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x29', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x44', '\x45', '\x46', '\x49', '\x4e', '\x45', '\x5f', '\x53', '\x49', '\x47', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x28', '\x54', '\x65', '\x73', '\x74', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x2e', '\x2e', '\x2e', '\x29', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x45', '\x58', '\x50', '\x41', '\x4e', '\x44', '\x5f', '\x56', '\x41', '\x52', '\x47', '\x53', '\x28', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x56', '\x41', '\x5f', '\x4e', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x49', '\x4d', '\x50', '\x4c', '\x28', '\x20', '\x22', '\x64', '\x75', '\x6d', '\x6d', '\x79', '\x22', '\x2c', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x2c', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x44', '\x45', '\x46', '\x49', '\x4e', '\x45', '\x5f', '\x53', '\x49', '\x47', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x58', '\x2c', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x44', '\x45', '\x46', '\x49', '\x4e', '\x45', '\x5f', '\x53', '\x49', '\x47', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x58', '\x2c', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x44', '\x45', '\x46', '\x49', '\x4e', '\x45', '\x5f', '\x53', '\x49', '\x47', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x58', '\x2c', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x44', '\x45', '\x46', '\x49', '\x4e', '\x45', '\x5f', '\x53', '\x49', '\x47', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x58', '\x2c', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x44', '\x45', '\x46', '\x49', '\x4e', '\x45', '\x5f', '\x53', '\x49', '\x47', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x58', '\x2c', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x44', '\x45', '\x46', '\x49', '\x4e', '\x45', '\x5f', '\x53', '\x49', '\x47', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x58', '\x2c', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x44', '\x45', '\x46', '\x49', '\x4e', '\x45', '\x5f', '\x53', '\x49', '\x47', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x58', '\x2c', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x44', '\x45', '\x46', '\x49', '\x4e', '\x45', '\x5f', '\x53', '\x49', '\x47', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x58', '\x2c', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x44', '\x45', '\x46', '\x49', '\x4e', '\x45', '\x5f', '\x53', '\x49', '\x47', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x58', '\x2c', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x44', '\x45', '\x46', '\x49', '\x4e', '\x45', '\x5f', '\x53', '\x49', '\x47', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x31', '\x2c', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x44', '\x45', '\x46', '\x49', '\x4e', '\x45', '\x5f', '\x53', '\x49', '\x47', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x30', '\x29', '\x28', '\x54', '\x65', '\x73', '\x74', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x29', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x44', '\x45', '\x43', '\x4c', '\x41', '\x52', '\x45', '\x5f', '\x53', '\x49', '\x47', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x28', '\x54', '\x65', '\x73', '\x74', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x2e', '\x2e', '\x2e', '\x29', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x45', '\x58', '\x50', '\x41', '\x4e', '\x44', '\x5f', '\x56', '\x41', '\x52', '\x47', '\x53', '\x28', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x56', '\x41', '\x5f', '\x4e', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x49', '\x4d', '\x50', '\x4c', '\x28', '\x20', '\x22', '\x64', '\x75', '\x6d', '\x6d', '\x79', '\x22', '\x2c', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x2c', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x44', '\x45', '\x43', '\x4c', '\x41', '\x52', '\x45', '\x5f', '\x53', '\x49', '\x47', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x58', '\x2c', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x44', '\x45', '\x43', '\x4c', '\x41', '\x52', '\x45', '\x5f', '\x53', '\x49', '\x47', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x58', '\x2c', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x44', '\x45', '\x43', '\x4c', '\x41', '\x52', '\x45', '\x5f', '\x53', '\x49', '\x47', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x58', '\x2c', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x44', '\x45', '\x43', '\x4c', '\x41', '\x52', '\x45', '\x5f', '\x53', '\x49', '\x47', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x58', '\x2c', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x44', '\x45', '\x43', '\x4c', '\x41', '\x52', '\x45', '\x5f', '\x53', '\x49', '\x47', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x58', '\x2c', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x44', '\x45', '\x43', '\x4c', '\x41', '\x52', '\x45', '\x5f', '\x53', '\x49', '\x47', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x58', '\x2c', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x44', '\x45', '\x46', '\x49', '\x4e', '\x45', '\x5f', '\x53', '\x49', '\x47', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x58', '\x2c', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x44', '\x45', '\x43', '\x4c', '\x41', '\x52', '\x45', '\x5f', '\x53', '\x49', '\x47', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x58', '\x2c', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x44', '\x45', '\x43', '\x4c', '\x41', '\x52', '\x45', '\x5f', '\x53', '\x49', '\x47', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x58', '\x2c', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x44', '\x45', '\x43', '\x4c', '\x41', '\x52', '\x45', '\x5f', '\x53', '\x49', '\x47', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x31', '\x2c', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x44', '\x45', '\x43', '\x4c', '\x41', '\x52', '\x45', '\x5f', '\x53', '\x49', '\x47', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x30', '\x29', '\x28', '\x54', '\x65', '\x73', '\x74', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x29', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x4d', '\x4f', '\x56', '\x45', '\x5f', '\x50', '\x41', '\x52', '\x45', '\x4e', '\x53', '\x5f', '\x47', '\x45', '\x4e', '\x28', '\x2e', '\x2e', '\x2e', '\x29', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x45', '\x58', '\x50', '\x41', '\x4e', '\x44', '\x5f', '\x56', '\x41', '\x52', '\x47', '\x53', '\x28', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x56', '\x41', '\x5f', '\x4e', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x49', '\x4d', '\x50', '\x4c', '\x28', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x2c', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x4d', '\x4f', '\x56', '\x45', '\x5f', '\x50', '\x41', '\x52', '\x45', '\x4e', '\x53', '\x5f', '\x31', '\x31', '\x5f', '\x41', '\x52', '\x47', '\x2c', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x4d', '\x4f', '\x56', '\x45', '\x5f', '\x50', '\x41', '\x52', '\x45', '\x4e', '\x53', '\x5f', '\x31', '\x30', '\x5f', '\x41', '\x52', '\x47', '\x2c', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x4d', '\x4f', '\x56', '\x45', '\x5f', '\x50', '\x41', '\x52', '\x45', '\x4e', '\x53', '\x5f', '\x39', '\x5f', '\x41', '\x52', '\x47', '\x2c', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x4d', '\x4f', '\x56', '\x45', '\x5f', '\x50', '\x41', '\x52', '\x45', '\x4e', '\x53', '\x5f', '\x38', '\x5f', '\x41', '\x52', '\x47', '\x2c', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x4d', '\x4f', '\x56', '\x45', '\x5f', '\x50', '\x41', '\x52', '\x45', '\x4e', '\x53', '\x5f', '\x37', '\x5f', '\x41', '\x52', '\x47', '\x2c', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x4d', '\x4f', '\x56', '\x45', '\x5f', '\x50', '\x41', '\x52', '\x45', '\x4e', '\x53', '\x5f', '\x36', '\x5f', '\x41', '\x52', '\x47', '\x2c', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x4d', '\x4f', '\x56', '\x45', '\x5f', '\x50', '\x41', '\x52', '\x45', '\x4e', '\x53', '\x5f', '\x35', '\x5f', '\x41', '\x52', '\x47', '\x2c', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x4d', '\x4f', '\x56', '\x45', '\x5f', '\x50', '\x41', '\x52', '\x45', '\x4e', '\x53', '\x5f', '\x34', '\x5f', '\x41', '\x52', '\x47', '\x2c', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x4d', '\x4f', '\x56', '\x45', '\x5f', '\x50', '\x41', '\x52', '\x45', '\x4e', '\x53', '\x5f', '\x33', '\x5f', '\x41', '\x52', '\x47', '\x2c', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x4d', '\x4f', '\x56', '\x45', '\x5f', '\x50', '\x41', '\x52', '\x45', '\x4e', '\x53', '\x5f', '\x32', '\x5f', '\x41', '\x52', '\x47', '\x2c', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x4d', '\x4f', '\x56', '\x45', '\x5f', '\x50', '\x41', '\x52', '\x45', '\x4e', '\x53', '\x5f', '\x31', '\x5f', '\x41', '\x52', '\x47', '\x29', '\x28', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x29', '\x29', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x70', '\x72', '\x65', '\x70', '\x72', '\x6f', '\x63', '\x65', '\x73', '\x73', '\x6f', '\x72', '\x2e', '\x68', '\x70', '\x70', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x6d', '\x65', '\x74', '\x61', '\x2e', '\x68', '\x70', '\x70', '\x0d', '\x0a', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x5f', '\x74', '\x72', '\x61', '\x69', '\x74', '\x73', '\x3e', '\x0d', '\x0a', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x54', '\x3e', '\x0d', '\x0a', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x61', '\x6c', '\x77', '\x61', '\x79', '\x73', '\x5f', '\x66', '\x61', '\x6c', '\x73', '\x65', '\x20', '\x3a', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x66', '\x61', '\x6c', '\x73', '\x65', '\x5f', '\x74', '\x79', '\x70', '\x65', '\x20', '\x7b', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x20', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x3e', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x74', '\x72', '\x75', '\x65', '\x5f', '\x67', '\x69', '\x76', '\x65', '\x6e', '\x20', '\x3a', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x74', '\x72', '\x75', '\x65', '\x5f', '\x74', '\x79', '\x70', '\x65', '\x20', '\x7b', '\x7d', '\x3b', '\x0d', '\x0a', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x69', '\x73', '\x5f', '\x63', '\x61', '\x6c', '\x6c', '\x61', '\x62', '\x6c', '\x65', '\x5f', '\x74', '\x65', '\x73', '\x74', '\x65', '\x72', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x20', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x46', '\x75', '\x6e', '\x2c', '\x20', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x2e', '\x2e', '\x2e', '\x20', '\x41', '\x72', '\x67', '\x73', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x74', '\x72', '\x75', '\x65', '\x5f', '\x67', '\x69', '\x76', '\x65', '\x6e', '\x3c', '\x64', '\x65', '\x63', '\x6c', '\x74', '\x79', '\x70', '\x65', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x64', '\x65', '\x63', '\x6c', '\x76', '\x61', '\x6c', '\x3c', '\x46', '\x75', '\x6e', '\x3e', '\x28', '\x29', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x64', '\x65', '\x63', '\x6c', '\x76', '\x61', '\x6c', '\x3c', '\x41', '\x72', '\x67', '\x73', '\x3e', '\x28', '\x29', '\x2e', '\x2e', '\x2e', '\x29', '\x29', '\x3e', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x20', '\x74', '\x65', '\x73', '\x74', '\x28', '\x69', '\x6e', '\x74', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x20', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x2e', '\x2e', '\x2e', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x66', '\x61', '\x6c', '\x73', '\x65', '\x5f', '\x74', '\x79', '\x70', '\x65', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x20', '\x74', '\x65', '\x73', '\x74', '\x28', '\x2e', '\x2e', '\x2e', '\x29', '\x3b', '\x0d', '\x0a', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x20', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x54', '\x3e', '\x0d', '\x0a', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x69', '\x73', '\x5f', '\x63', '\x61', '\x6c', '\x6c', '\x61', '\x62', '\x6c', '\x65', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x20', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x46', '\x75', '\x6e', '\x2c', '\x20', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x2e', '\x2e', '\x2e', '\x20', '\x41', '\x72', '\x67', '\x73', '\x3e', '\x0d', '\x0a', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x69', '\x73', '\x5f', '\x63', '\x61', '\x6c', '\x6c', '\x61', '\x62', '\x6c', '\x65', '\x3c', '\x46', '\x75', '\x6e', '\x28', '\x41', '\x72', '\x67', '\x73', '\x2e', '\x2e', '\x2e', '\x29', '\x3e', '\x20', '\x3a', '\x20', '\x64', '\x65', '\x63', '\x6c', '\x74', '\x79', '\x70', '\x65', '\x28', '\x69', '\x73', '\x5f', '\x63', '\x61', '\x6c', '\x6c', '\x61', '\x62', '\x6c', '\x65', '\x5f', '\x74', '\x65', '\x73', '\x74', '\x65', '\x72', '\x3a', '\x3a', '\x74', '\x65', '\x73', '\x74', '\x3c', '\x46', '\x75', '\x6e', '\x2c', '\x20', '\x41', '\x72', '\x67', '\x73', '\x2e', '\x2e', '\x2e', '\x3e', '\x28', '\x30', '\x29', '\x29', '\x20', '\x7b', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x0d', '\x0a', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x6d', '\x70', '\x6c', '\x5f', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x6e', '\x61', '\x3b', '\x0d', '\x0a', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x6d', '\x65', '\x74', '\x61', '\x2e', '\x68', '\x70', '\x70', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x43', '\x3e', '\x0d', '\x0a', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x20', '\x54', '\x65', '\x73', '\x74', '\x49', '\x6e', '\x76', '\x6f', '\x6b', '\x65', '\x72', '\x41', '\x73', '\x4d', '\x65', '\x74', '\x68', '\x6f', '\x64', '\x20', '\x3a', '\x20', '\x70', '\x75', '\x62', '\x6c', '\x69', '\x63', '\x20', '\x49', '\x54', '\x65', '\x73', '\x74', '\x49', '\x6e', '\x76', '\x6f', '\x6b', '\x65', '\x72', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x28', '\x43', '\x3a', '\x3a', '\x2a', '\x6d', '\x5f', '\x74', '\x65', '\x73', '\x74', '\x41', '\x73', '\x4d', '\x65', '\x74', '\x68', '\x6f', '\x64', '\x29', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x70', '\x75', '\x62', '\x6c', '\x69', '\x63', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x54', '\x65', '\x73', '\x74', '\x49', '\x6e', '\x76', '\x6f', '\x6b', '\x65', '\x72', '\x41', '\x73', '\x4d', '\x65', '\x74', '\x68', '\x6f', '\x64', '\x28', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x28', '\x43', '\x3a', '\x3a', '\x2a', '\x74', '\x65', '\x73', '\x74', '\x41', '\x73', '\x4d', '\x65', '\x74', '\x68', '\x6f', '\x64', '\x29', '\x28', '\x29', '\x20', '\x29', '\x20', '\x6e', '\x6f', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x20', '\x3a', '\x20', '\x6d', '\x5f', '\x74', '\x65', '\x73', '\x74', '\x41', '\x73', '\x4d', '\x65', '\x74', '\x68', '\x6f', '\x64', '\x28', '\x20', '\x74', '\x65', '\x73', '\x74', '\x41', '\x73', '\x4d', '\x65', '\x74', '\x68', '\x6f', '\x64', '\x20', '\x29', '\x20', '\x7b', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x69', '\x6e', '\x76', '\x6f', '\x6b', '\x65', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x20', '\x6f', '\x62', '\x6a', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x28', '\x6f', '\x62', '\x6a', '\x2e', '\x2a', '\x6d', '\x5f', '\x74', '\x65', '\x73', '\x74', '\x41', '\x73', '\x4d', '\x65', '\x74', '\x68', '\x6f', '\x64', '\x29', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x6d', '\x61', '\x6b', '\x65', '\x54', '\x65', '\x73', '\x74', '\x49', '\x6e', '\x76', '\x6f', '\x6b', '\x65', '\x72', '\x28', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x28', '\x2a', '\x74', '\x65', '\x73', '\x74', '\x41', '\x73', '\x46', '\x75', '\x6e', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x29', '\x28', '\x29', '\x20', '\x29', '\x20', '\x6e', '\x6f', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x20', '\x2d', '\x3e', '\x20', '\x49', '\x54', '\x65', '\x73', '\x74', '\x49', '\x6e', '\x76', '\x6f', '\x6b', '\x65', '\x72', '\x2a', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x43', '\x3e', '\x0d', '\x0a', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x6d', '\x61', '\x6b', '\x65', '\x54', '\x65', '\x73', '\x74', '\x49', '\x6e', '\x76', '\x6f', '\x6b', '\x65', '\x72', '\x28', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x28', '\x43', '\x3a', '\x3a', '\x2a', '\x74', '\x65', '\x73', '\x74', '\x41', '\x73', '\x4d', '\x65', '\x74', '\x68', '\x6f', '\x64', '\x29', '\x28', '\x29', '\x20', '\x29', '\x20', '\x6e', '\x6f', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x20', '\x2d', '\x3e', '\x20', '\x49', '\x54', '\x65', '\x73', '\x74', '\x49', '\x6e', '\x76', '\x6f', '\x6b', '\x65', '\x72', '\x2a', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6e', '\x65', '\x77', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6e', '\x6f', '\x74', '\x68', '\x72', '\x6f', '\x77', '\x29', '\x20', '\x54', '\x65', '\x73', '\x74', '\x49', '\x6e', '\x76', '\x6f', '\x6b', '\x65', '\x72', '\x41', '\x73', '\x4d', '\x65', '\x74', '\x68', '\x6f', '\x64', '\x3c', '\x43', '\x3e', '\x28', '\x20', '\x74', '\x65', '\x73', '\x74', '\x41', '\x73', '\x4d', '\x65', '\x74', '\x68', '\x6f', '\x64', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x4e', '\x61', '\x6d', '\x65', '\x41', '\x6e', '\x64', '\x54', '\x61', '\x67', '\x73', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x4e', '\x61', '\x6d', '\x65', '\x41', '\x6e', '\x64', '\x54', '\x61', '\x67', '\x73', '\x28', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x66', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x5f', '\x20', '\x3d', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x66', '\x28', '\x29', '\x2c', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x66', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x74', '\x61', '\x67', '\x73', '\x5f', '\x20', '\x3d', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x66', '\x28', '\x29', '\x20', '\x29', '\x20', '\x6e', '\x6f', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x66', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x66', '\x20', '\x74', '\x61', '\x67', '\x73', '\x3b', '\x0d', '\x0a', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x41', '\x75', '\x74', '\x6f', '\x52', '\x65', '\x67', '\x20', '\x3a', '\x20', '\x4e', '\x6f', '\x6e', '\x43', '\x6f', '\x70', '\x79', '\x61', '\x62', '\x6c', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x41', '\x75', '\x74', '\x6f', '\x52', '\x65', '\x67', '\x28', '\x20', '\x49', '\x54', '\x65', '\x73', '\x74', '\x49', '\x6e', '\x76', '\x6f', '\x6b', '\x65', '\x72', '\x2a', '\x20', '\x69', '\x6e', '\x76', '\x6f', '\x6b', '\x65', '\x72', '\x2c', '\x20', '\x53', '\x6f', '\x75', '\x72', '\x63', '\x65', '\x4c', '\x69', '\x6e', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6c', '\x69', '\x6e', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x2c', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x66', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x4f', '\x72', '\x4d', '\x65', '\x74', '\x68', '\x6f', '\x64', '\x2c', '\x20', '\x4e', '\x61', '\x6d', '\x65', '\x41', '\x6e', '\x64', '\x54', '\x61', '\x67', '\x73', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x41', '\x6e', '\x64', '\x54', '\x61', '\x67', '\x73', '\x20', '\x29', '\x20', '\x6e', '\x6f', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7e', '\x41', '\x75', '\x74', '\x6f', '\x52', '\x65', '\x67', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x44', '\x49', '\x53', '\x41', '\x42', '\x4c', '\x45', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x43', '\x41', '\x53', '\x45', '\x5f', '\x4e', '\x4f', '\x5f', '\x52', '\x45', '\x47', '\x49', '\x53', '\x54', '\x52', '\x41', '\x54', '\x49', '\x4f', '\x4e', '\x28', '\x20', '\x54', '\x65', '\x73', '\x74', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x54', '\x65', '\x73', '\x74', '\x4e', '\x61', '\x6d', '\x65', '\x28', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x43', '\x41', '\x53', '\x45', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x5f', '\x4e', '\x4f', '\x5f', '\x52', '\x45', '\x47', '\x49', '\x53', '\x54', '\x52', '\x41', '\x54', '\x49', '\x4f', '\x4e', '\x28', '\x20', '\x54', '\x65', '\x73', '\x74', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x43', '\x6c', '\x61', '\x73', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x7b', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x54', '\x65', '\x73', '\x74', '\x4e', '\x61', '\x6d', '\x65', '\x20', '\x3a', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x4d', '\x4f', '\x56', '\x45', '\x5f', '\x50', '\x41', '\x52', '\x45', '\x4e', '\x53', '\x28', '\x43', '\x6c', '\x61', '\x73', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x29', '\x20', '\x7b', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x74', '\x65', '\x73', '\x74', '\x28', '\x29', '\x3b', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x54', '\x65', '\x73', '\x74', '\x4e', '\x61', '\x6d', '\x65', '\x3a', '\x3a', '\x74', '\x65', '\x73', '\x74', '\x28', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x5f', '\x4e', '\x4f', '\x5f', '\x52', '\x45', '\x47', '\x49', '\x53', '\x54', '\x52', '\x41', '\x54', '\x49', '\x4f', '\x4e', '\x5f', '\x32', '\x28', '\x20', '\x54', '\x65', '\x73', '\x74', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x54', '\x65', '\x73', '\x74', '\x46', '\x75', '\x6e', '\x63', '\x2c', '\x20', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x54', '\x61', '\x67', '\x73', '\x2c', '\x20', '\x53', '\x69', '\x67', '\x6e', '\x61', '\x74', '\x75', '\x72', '\x65', '\x2c', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x44', '\x45', '\x46', '\x49', '\x4e', '\x45', '\x5f', '\x53', '\x49', '\x47', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x28', '\x54', '\x65', '\x73', '\x74', '\x46', '\x75', '\x6e', '\x63', '\x2c', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x4d', '\x4f', '\x56', '\x45', '\x5f', '\x50', '\x41', '\x52', '\x45', '\x4e', '\x53', '\x28', '\x53', '\x69', '\x67', '\x6e', '\x61', '\x74', '\x75', '\x72', '\x65', '\x29', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x5f', '\x4e', '\x4f', '\x5f', '\x52', '\x45', '\x47', '\x49', '\x53', '\x54', '\x52', '\x41', '\x54', '\x49', '\x4f', '\x4e', '\x5f', '\x32', '\x28', '\x20', '\x54', '\x65', '\x73', '\x74', '\x4e', '\x61', '\x6d', '\x65', '\x43', '\x6c', '\x61', '\x73', '\x73', '\x2c', '\x20', '\x54', '\x65', '\x73', '\x74', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x43', '\x6c', '\x61', '\x73', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x54', '\x61', '\x67', '\x73', '\x2c', '\x20', '\x53', '\x69', '\x67', '\x6e', '\x61', '\x74', '\x75', '\x72', '\x65', '\x2c', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x20', '\x20', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x7b', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x4d', '\x41', '\x4b', '\x45', '\x5f', '\x4e', '\x41', '\x4d', '\x45', '\x53', '\x50', '\x41', '\x43', '\x45', '\x28', '\x54', '\x65', '\x73', '\x74', '\x4e', '\x61', '\x6d', '\x65', '\x29', '\x20', '\x7b', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x44', '\x45', '\x43', '\x4c', '\x41', '\x52', '\x45', '\x5f', '\x53', '\x49', '\x47', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x28', '\x54', '\x65', '\x73', '\x74', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x43', '\x6c', '\x61', '\x73', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x4d', '\x4f', '\x56', '\x45', '\x5f', '\x50', '\x41', '\x52', '\x45', '\x4e', '\x53', '\x28', '\x53', '\x69', '\x67', '\x6e', '\x61', '\x74', '\x75', '\x72', '\x65', '\x29', '\x29', '\x3b', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x44', '\x45', '\x46', '\x49', '\x4e', '\x45', '\x5f', '\x53', '\x49', '\x47', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x28', '\x54', '\x65', '\x73', '\x74', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x4d', '\x4f', '\x56', '\x45', '\x5f', '\x50', '\x41', '\x52', '\x45', '\x4e', '\x53', '\x28', '\x53', '\x69', '\x67', '\x6e', '\x61', '\x74', '\x75', '\x72', '\x65', '\x29', '\x29', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x23', '\x69', '\x66', '\x6e', '\x64', '\x65', '\x66', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x54', '\x52', '\x41', '\x44', '\x49', '\x54', '\x49', '\x4f', '\x4e', '\x41', '\x4c', '\x5f', '\x4d', '\x53', '\x56', '\x43', '\x5f', '\x50', '\x52', '\x45', '\x50', '\x52', '\x4f', '\x43', '\x45', '\x53', '\x53', '\x4f', '\x52', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x5f', '\x4e', '\x4f', '\x5f', '\x52', '\x45', '\x47', '\x49', '\x53', '\x54', '\x52', '\x41', '\x54', '\x49', '\x4f', '\x4e', '\x28', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x54', '\x61', '\x67', '\x73', '\x2c', '\x20', '\x2e', '\x2e', '\x2e', '\x29', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x5f', '\x4e', '\x4f', '\x5f', '\x52', '\x45', '\x47', '\x49', '\x53', '\x54', '\x52', '\x41', '\x54', '\x49', '\x4f', '\x4e', '\x5f', '\x32', '\x28', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x55', '\x4e', '\x49', '\x51', '\x55', '\x45', '\x5f', '\x4e', '\x41', '\x4d', '\x45', '\x28', '\x20', '\x5f', '\x5f', '\x5f', '\x5f', '\x43', '\x5f', '\x41', '\x5f', '\x54', '\x5f', '\x43', '\x5f', '\x48', '\x5f', '\x5f', '\x5f', '\x5f', '\x54', '\x5f', '\x45', '\x5f', '\x4d', '\x5f', '\x50', '\x5f', '\x4c', '\x5f', '\x41', '\x5f', '\x54', '\x5f', '\x45', '\x5f', '\x5f', '\x5f', '\x5f', '\x54', '\x5f', '\x45', '\x5f', '\x53', '\x5f', '\x54', '\x5f', '\x5f', '\x5f', '\x5f', '\x20', '\x29', '\x2c', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x55', '\x4e', '\x49', '\x51', '\x55', '\x45', '\x5f', '\x4e', '\x41', '\x4d', '\x45', '\x28', '\x20', '\x5f', '\x5f', '\x5f', '\x5f', '\x43', '\x5f', '\x41', '\x5f', '\x54', '\x5f', '\x43', '\x5f', '\x48', '\x5f', '\x5f', '\x5f', '\x5f', '\x54', '\x5f', '\x45', '\x5f', '\x4d', '\x5f', '\x50', '\x5f', '\x4c', '\x5f', '\x41', '\x5f', '\x54', '\x5f', '\x45', '\x5f', '\x5f', '\x5f', '\x5f', '\x54', '\x5f', '\x45', '\x5f', '\x53', '\x5f', '\x54', '\x5f', '\x5f', '\x5f', '\x5f', '\x46', '\x5f', '\x55', '\x5f', '\x4e', '\x5f', '\x43', '\x5f', '\x5f', '\x5f', '\x5f', '\x20', '\x29', '\x2c', '\x20', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x54', '\x61', '\x67', '\x73', '\x2c', '\x20', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x54', '\x65', '\x73', '\x74', '\x54', '\x79', '\x70', '\x65', '\x2c', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x23', '\x65', '\x6c', '\x73', '\x65', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x5f', '\x4e', '\x4f', '\x5f', '\x52', '\x45', '\x47', '\x49', '\x53', '\x54', '\x52', '\x41', '\x54', '\x49', '\x4f', '\x4e', '\x28', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x54', '\x61', '\x67', '\x73', '\x2c', '\x20', '\x2e', '\x2e', '\x2e', '\x29', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x45', '\x58', '\x50', '\x41', '\x4e', '\x44', '\x5f', '\x56', '\x41', '\x52', '\x47', '\x53', '\x28', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x5f', '\x4e', '\x4f', '\x5f', '\x52', '\x45', '\x47', '\x49', '\x53', '\x54', '\x52', '\x41', '\x54', '\x49', '\x4f', '\x4e', '\x5f', '\x32', '\x28', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x55', '\x4e', '\x49', '\x51', '\x55', '\x45', '\x5f', '\x4e', '\x41', '\x4d', '\x45', '\x28', '\x20', '\x5f', '\x5f', '\x5f', '\x5f', '\x43', '\x5f', '\x41', '\x5f', '\x54', '\x5f', '\x43', '\x5f', '\x48', '\x5f', '\x5f', '\x5f', '\x5f', '\x54', '\x5f', '\x45', '\x5f', '\x4d', '\x5f', '\x50', '\x5f', '\x4c', '\x5f', '\x41', '\x5f', '\x54', '\x5f', '\x45', '\x5f', '\x5f', '\x5f', '\x5f', '\x54', '\x5f', '\x45', '\x5f', '\x53', '\x5f', '\x54', '\x5f', '\x5f', '\x5f', '\x5f', '\x20', '\x29', '\x2c', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x55', '\x4e', '\x49', '\x51', '\x55', '\x45', '\x5f', '\x4e', '\x41', '\x4d', '\x45', '\x28', '\x20', '\x5f', '\x5f', '\x5f', '\x5f', '\x43', '\x5f', '\x41', '\x5f', '\x54', '\x5f', '\x43', '\x5f', '\x48', '\x5f', '\x5f', '\x5f', '\x5f', '\x54', '\x5f', '\x45', '\x5f', '\x4d', '\x5f', '\x50', '\x5f', '\x4c', '\x5f', '\x41', '\x5f', '\x54', '\x5f', '\x45', '\x5f', '\x5f', '\x5f', '\x5f', '\x54', '\x5f', '\x45', '\x5f', '\x53', '\x5f', '\x54', '\x5f', '\x5f', '\x5f', '\x5f', '\x46', '\x5f', '\x55', '\x5f', '\x4e', '\x5f', '\x43', '\x5f', '\x5f', '\x5f', '\x5f', '\x20', '\x29', '\x2c', '\x20', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x54', '\x61', '\x67', '\x73', '\x2c', '\x20', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x54', '\x65', '\x73', '\x74', '\x54', '\x79', '\x70', '\x65', '\x2c', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x20', '\x29', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x23', '\x69', '\x66', '\x6e', '\x64', '\x65', '\x66', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x54', '\x52', '\x41', '\x44', '\x49', '\x54', '\x49', '\x4f', '\x4e', '\x41', '\x4c', '\x5f', '\x4d', '\x53', '\x56', '\x43', '\x5f', '\x50', '\x52', '\x45', '\x50', '\x52', '\x4f', '\x43', '\x45', '\x53', '\x53', '\x4f', '\x52', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x5f', '\x53', '\x49', '\x47', '\x5f', '\x4e', '\x4f', '\x5f', '\x52', '\x45', '\x47', '\x49', '\x53', '\x54', '\x52', '\x41', '\x54', '\x49', '\x4f', '\x4e', '\x28', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x54', '\x61', '\x67', '\x73', '\x2c', '\x20', '\x53', '\x69', '\x67', '\x6e', '\x61', '\x74', '\x75', '\x72', '\x65', '\x2c', '\x20', '\x2e', '\x2e', '\x2e', '\x29', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x5f', '\x4e', '\x4f', '\x5f', '\x52', '\x45', '\x47', '\x49', '\x53', '\x54', '\x52', '\x41', '\x54', '\x49', '\x4f', '\x4e', '\x5f', '\x32', '\x28', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x55', '\x4e', '\x49', '\x51', '\x55', '\x45', '\x5f', '\x4e', '\x41', '\x4d', '\x45', '\x28', '\x20', '\x5f', '\x5f', '\x5f', '\x5f', '\x43', '\x5f', '\x41', '\x5f', '\x54', '\x5f', '\x43', '\x5f', '\x48', '\x5f', '\x5f', '\x5f', '\x5f', '\x54', '\x5f', '\x45', '\x5f', '\x4d', '\x5f', '\x50', '\x5f', '\x4c', '\x5f', '\x41', '\x5f', '\x54', '\x5f', '\x45', '\x5f', '\x5f', '\x5f', '\x5f', '\x54', '\x5f', '\x45', '\x5f', '\x53', '\x5f', '\x54', '\x5f', '\x5f', '\x5f', '\x5f', '\x20', '\x29', '\x2c', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x55', '\x4e', '\x49', '\x51', '\x55', '\x45', '\x5f', '\x4e', '\x41', '\x4d', '\x45', '\x28', '\x20', '\x5f', '\x5f', '\x5f', '\x5f', '\x43', '\x5f', '\x41', '\x5f', '\x54', '\x5f', '\x43', '\x5f', '\x48', '\x5f', '\x5f', '\x5f', '\x5f', '\x54', '\x5f', '\x45', '\x5f', '\x4d', '\x5f', '\x50', '\x5f', '\x4c', '\x5f', '\x41', '\x5f', '\x54', '\x5f', '\x45', '\x5f', '\x5f', '\x5f', '\x5f', '\x54', '\x5f', '\x45', '\x5f', '\x53', '\x5f', '\x54', '\x5f', '\x5f', '\x5f', '\x5f', '\x46', '\x5f', '\x55', '\x5f', '\x4e', '\x5f', '\x43', '\x5f', '\x5f', '\x5f', '\x5f', '\x20', '\x29', '\x2c', '\x20', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x54', '\x61', '\x67', '\x73', '\x2c', '\x20', '\x53', '\x69', '\x67', '\x6e', '\x61', '\x74', '\x75', '\x72', '\x65', '\x2c', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x23', '\x65', '\x6c', '\x73', '\x65', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x5f', '\x53', '\x49', '\x47', '\x5f', '\x4e', '\x4f', '\x5f', '\x52', '\x45', '\x47', '\x49', '\x53', '\x54', '\x52', '\x41', '\x54', '\x49', '\x4f', '\x4e', '\x28', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x54', '\x61', '\x67', '\x73', '\x2c', '\x20', '\x53', '\x69', '\x67', '\x6e', '\x61', '\x74', '\x75', '\x72', '\x65', '\x2c', '\x20', '\x2e', '\x2e', '\x2e', '\x29', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x45', '\x58', '\x50', '\x41', '\x4e', '\x44', '\x5f', '\x56', '\x41', '\x52', '\x47', '\x53', '\x28', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x5f', '\x4e', '\x4f', '\x5f', '\x52', '\x45', '\x47', '\x49', '\x53', '\x54', '\x52', '\x41', '\x54', '\x49', '\x4f', '\x4e', '\x5f', '\x32', '\x28', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x55', '\x4e', '\x49', '\x51', '\x55', '\x45', '\x5f', '\x4e', '\x41', '\x4d', '\x45', '\x28', '\x20', '\x5f', '\x5f', '\x5f', '\x5f', '\x43', '\x5f', '\x41', '\x5f', '\x54', '\x5f', '\x43', '\x5f', '\x48', '\x5f', '\x5f', '\x5f', '\x5f', '\x54', '\x5f', '\x45', '\x5f', '\x4d', '\x5f', '\x50', '\x5f', '\x4c', '\x5f', '\x41', '\x5f', '\x54', '\x5f', '\x45', '\x5f', '\x5f', '\x5f', '\x5f', '\x54', '\x5f', '\x45', '\x5f', '\x53', '\x5f', '\x54', '\x5f', '\x5f', '\x5f', '\x5f', '\x20', '\x29', '\x2c', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x55', '\x4e', '\x49', '\x51', '\x55', '\x45', '\x5f', '\x4e', '\x41', '\x4d', '\x45', '\x28', '\x20', '\x5f', '\x5f', '\x5f', '\x5f', '\x43', '\x5f', '\x41', '\x5f', '\x54', '\x5f', '\x43', '\x5f', '\x48', '\x5f', '\x5f', '\x5f', '\x5f', '\x54', '\x5f', '\x45', '\x5f', '\x4d', '\x5f', '\x50', '\x5f', '\x4c', '\x5f', '\x41', '\x5f', '\x54', '\x5f', '\x45', '\x5f', '\x5f', '\x5f', '\x5f', '\x54', '\x5f', '\x45', '\x5f', '\x53', '\x5f', '\x54', '\x5f', '\x5f', '\x5f', '\x5f', '\x46', '\x5f', '\x55', '\x5f', '\x4e', '\x5f', '\x43', '\x5f', '\x5f', '\x5f', '\x5f', '\x20', '\x29', '\x2c', '\x20', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x54', '\x61', '\x67', '\x73', '\x2c', '\x20', '\x53', '\x69', '\x67', '\x6e', '\x61', '\x74', '\x75', '\x72', '\x65', '\x2c', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x20', '\x29', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x23', '\x69', '\x66', '\x6e', '\x64', '\x65', '\x66', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x54', '\x52', '\x41', '\x44', '\x49', '\x54', '\x49', '\x4f', '\x4e', '\x41', '\x4c', '\x5f', '\x4d', '\x53', '\x56', '\x43', '\x5f', '\x50', '\x52', '\x45', '\x50', '\x52', '\x4f', '\x43', '\x45', '\x53', '\x53', '\x4f', '\x52', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x5f', '\x4e', '\x4f', '\x5f', '\x52', '\x45', '\x47', '\x49', '\x53', '\x54', '\x52', '\x41', '\x54', '\x49', '\x4f', '\x4e', '\x28', '\x20', '\x43', '\x6c', '\x61', '\x73', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x54', '\x61', '\x67', '\x73', '\x2c', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x5f', '\x4e', '\x4f', '\x5f', '\x52', '\x45', '\x47', '\x49', '\x53', '\x54', '\x52', '\x41', '\x54', '\x49', '\x4f', '\x4e', '\x5f', '\x32', '\x28', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x55', '\x4e', '\x49', '\x51', '\x55', '\x45', '\x5f', '\x4e', '\x41', '\x4d', '\x45', '\x28', '\x20', '\x5f', '\x5f', '\x5f', '\x5f', '\x43', '\x5f', '\x41', '\x5f', '\x54', '\x5f', '\x43', '\x5f', '\x48', '\x5f', '\x5f', '\x5f', '\x5f', '\x54', '\x5f', '\x45', '\x5f', '\x4d', '\x5f', '\x50', '\x5f', '\x4c', '\x5f', '\x41', '\x5f', '\x54', '\x5f', '\x45', '\x5f', '\x5f', '\x5f', '\x5f', '\x54', '\x5f', '\x45', '\x5f', '\x53', '\x5f', '\x54', '\x5f', '\x5f', '\x5f', '\x5f', '\x43', '\x5f', '\x4c', '\x5f', '\x41', '\x5f', '\x53', '\x5f', '\x53', '\x5f', '\x5f', '\x5f', '\x5f', '\x20', '\x29', '\x2c', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x55', '\x4e', '\x49', '\x51', '\x55', '\x45', '\x5f', '\x4e', '\x41', '\x4d', '\x45', '\x28', '\x20', '\x5f', '\x5f', '\x5f', '\x5f', '\x43', '\x5f', '\x41', '\x5f', '\x54', '\x5f', '\x43', '\x5f', '\x48', '\x5f', '\x5f', '\x5f', '\x5f', '\x54', '\x5f', '\x45', '\x5f', '\x4d', '\x5f', '\x50', '\x5f', '\x4c', '\x5f', '\x41', '\x5f', '\x54', '\x5f', '\x45', '\x5f', '\x5f', '\x5f', '\x5f', '\x54', '\x5f', '\x45', '\x5f', '\x53', '\x5f', '\x54', '\x5f', '\x5f', '\x5f', '\x5f', '\x20', '\x29', '\x20', '\x2c', '\x20', '\x43', '\x6c', '\x61', '\x73', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x54', '\x61', '\x67', '\x73', '\x2c', '\x20', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x54', '\x2c', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x23', '\x65', '\x6c', '\x73', '\x65', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x5f', '\x4e', '\x4f', '\x5f', '\x52', '\x45', '\x47', '\x49', '\x53', '\x54', '\x52', '\x41', '\x54', '\x49', '\x4f', '\x4e', '\x28', '\x20', '\x43', '\x6c', '\x61', '\x73', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x54', '\x61', '\x67', '\x73', '\x2c', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x45', '\x58', '\x50', '\x41', '\x4e', '\x44', '\x5f', '\x56', '\x41', '\x52', '\x47', '\x53', '\x28', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x5f', '\x4e', '\x4f', '\x5f', '\x52', '\x45', '\x47', '\x49', '\x53', '\x54', '\x52', '\x41', '\x54', '\x49', '\x4f', '\x4e', '\x5f', '\x32', '\x28', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x55', '\x4e', '\x49', '\x51', '\x55', '\x45', '\x5f', '\x4e', '\x41', '\x4d', '\x45', '\x28', '\x20', '\x5f', '\x5f', '\x5f', '\x5f', '\x43', '\x5f', '\x41', '\x5f', '\x54', '\x5f', '\x43', '\x5f', '\x48', '\x5f', '\x5f', '\x5f', '\x5f', '\x54', '\x5f', '\x45', '\x5f', '\x4d', '\x5f', '\x50', '\x5f', '\x4c', '\x5f', '\x41', '\x5f', '\x54', '\x5f', '\x45', '\x5f', '\x5f', '\x5f', '\x5f', '\x54', '\x5f', '\x45', '\x5f', '\x53', '\x5f', '\x54', '\x5f', '\x5f', '\x5f', '\x5f', '\x43', '\x5f', '\x4c', '\x5f', '\x41', '\x5f', '\x53', '\x5f', '\x53', '\x5f', '\x5f', '\x5f', '\x5f', '\x20', '\x29', '\x2c', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x55', '\x4e', '\x49', '\x51', '\x55', '\x45', '\x5f', '\x4e', '\x41', '\x4d', '\x45', '\x28', '\x20', '\x5f', '\x5f', '\x5f', '\x5f', '\x43', '\x5f', '\x41', '\x5f', '\x54', '\x5f', '\x43', '\x5f', '\x48', '\x5f', '\x5f', '\x5f', '\x5f', '\x54', '\x5f', '\x45', '\x5f', '\x4d', '\x5f', '\x50', '\x5f', '\x4c', '\x5f', '\x41', '\x5f', '\x54', '\x5f', '\x45', '\x5f', '\x5f', '\x5f', '\x5f', '\x54', '\x5f', '\x45', '\x5f', '\x53', '\x5f', '\x54', '\x5f', '\x5f', '\x5f', '\x5f', '\x20', '\x29', '\x20', '\x2c', '\x20', '\x43', '\x6c', '\x61', '\x73', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x54', '\x61', '\x67', '\x73', '\x2c', '\x20', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x54', '\x2c', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x20', '\x29', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x23', '\x69', '\x66', '\x6e', '\x64', '\x65', '\x66', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x54', '\x52', '\x41', '\x44', '\x49', '\x54', '\x49', '\x4f', '\x4e', '\x41', '\x4c', '\x5f', '\x4d', '\x53', '\x56', '\x43', '\x5f', '\x50', '\x52', '\x45', '\x50', '\x52', '\x4f', '\x43', '\x45', '\x53', '\x53', '\x4f', '\x52', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x5f', '\x53', '\x49', '\x47', '\x5f', '\x4e', '\x4f', '\x5f', '\x52', '\x45', '\x47', '\x49', '\x53', '\x54', '\x52', '\x41', '\x54', '\x49', '\x4f', '\x4e', '\x28', '\x20', '\x43', '\x6c', '\x61', '\x73', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x54', '\x61', '\x67', '\x73', '\x2c', '\x20', '\x53', '\x69', '\x67', '\x6e', '\x61', '\x74', '\x75', '\x72', '\x65', '\x2c', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x5f', '\x4e', '\x4f', '\x5f', '\x52', '\x45', '\x47', '\x49', '\x53', '\x54', '\x52', '\x41', '\x54', '\x49', '\x4f', '\x4e', '\x5f', '\x32', '\x28', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x55', '\x4e', '\x49', '\x51', '\x55', '\x45', '\x5f', '\x4e', '\x41', '\x4d', '\x45', '\x28', '\x20', '\x5f', '\x5f', '\x5f', '\x5f', '\x43', '\x5f', '\x41', '\x5f', '\x54', '\x5f', '\x43', '\x5f', '\x48', '\x5f', '\x5f', '\x5f', '\x5f', '\x54', '\x5f', '\x45', '\x5f', '\x4d', '\x5f', '\x50', '\x5f', '\x4c', '\x5f', '\x41', '\x5f', '\x54', '\x5f', '\x45', '\x5f', '\x5f', '\x5f', '\x5f', '\x54', '\x5f', '\x45', '\x5f', '\x53', '\x5f', '\x54', '\x5f', '\x5f', '\x5f', '\x5f', '\x43', '\x5f', '\x4c', '\x5f', '\x41', '\x5f', '\x53', '\x5f', '\x53', '\x5f', '\x5f', '\x5f', '\x5f', '\x20', '\x29', '\x2c', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x55', '\x4e', '\x49', '\x51', '\x55', '\x45', '\x5f', '\x4e', '\x41', '\x4d', '\x45', '\x28', '\x20', '\x5f', '\x5f', '\x5f', '\x5f', '\x43', '\x5f', '\x41', '\x5f', '\x54', '\x5f', '\x43', '\x5f', '\x48', '\x5f', '\x5f', '\x5f', '\x5f', '\x54', '\x5f', '\x45', '\x5f', '\x4d', '\x5f', '\x50', '\x5f', '\x4c', '\x5f', '\x41', '\x5f', '\x54', '\x5f', '\x45', '\x5f', '\x5f', '\x5f', '\x5f', '\x54', '\x5f', '\x45', '\x5f', '\x53', '\x5f', '\x54', '\x5f', '\x5f', '\x5f', '\x5f', '\x20', '\x29', '\x20', '\x2c', '\x20', '\x43', '\x6c', '\x61', '\x73', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x54', '\x61', '\x67', '\x73', '\x2c', '\x20', '\x53', '\x69', '\x67', '\x6e', '\x61', '\x74', '\x75', '\x72', '\x65', '\x2c', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x23', '\x65', '\x6c', '\x73', '\x65', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x5f', '\x53', '\x49', '\x47', '\x5f', '\x4e', '\x4f', '\x5f', '\x52', '\x45', '\x47', '\x49', '\x53', '\x54', '\x52', '\x41', '\x54', '\x49', '\x4f', '\x4e', '\x28', '\x20', '\x43', '\x6c', '\x61', '\x73', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x54', '\x61', '\x67', '\x73', '\x2c', '\x20', '\x53', '\x69', '\x67', '\x6e', '\x61', '\x74', '\x75', '\x72', '\x65', '\x2c', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x45', '\x58', '\x50', '\x41', '\x4e', '\x44', '\x5f', '\x56', '\x41', '\x52', '\x47', '\x53', '\x28', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x5f', '\x4e', '\x4f', '\x5f', '\x52', '\x45', '\x47', '\x49', '\x53', '\x54', '\x52', '\x41', '\x54', '\x49', '\x4f', '\x4e', '\x5f', '\x32', '\x28', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x55', '\x4e', '\x49', '\x51', '\x55', '\x45', '\x5f', '\x4e', '\x41', '\x4d', '\x45', '\x28', '\x20', '\x5f', '\x5f', '\x5f', '\x5f', '\x43', '\x5f', '\x41', '\x5f', '\x54', '\x5f', '\x43', '\x5f', '\x48', '\x5f', '\x5f', '\x5f', '\x5f', '\x54', '\x5f', '\x45', '\x5f', '\x4d', '\x5f', '\x50', '\x5f', '\x4c', '\x5f', '\x41', '\x5f', '\x54', '\x5f', '\x45', '\x5f', '\x5f', '\x5f', '\x5f', '\x54', '\x5f', '\x45', '\x5f', '\x53', '\x5f', '\x54', '\x5f', '\x5f', '\x5f', '\x5f', '\x43', '\x5f', '\x4c', '\x5f', '\x41', '\x5f', '\x53', '\x5f', '\x53', '\x5f', '\x5f', '\x5f', '\x5f', '\x20', '\x29', '\x2c', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x55', '\x4e', '\x49', '\x51', '\x55', '\x45', '\x5f', '\x4e', '\x41', '\x4d', '\x45', '\x28', '\x20', '\x5f', '\x5f', '\x5f', '\x5f', '\x43', '\x5f', '\x41', '\x5f', '\x54', '\x5f', '\x43', '\x5f', '\x48', '\x5f', '\x5f', '\x5f', '\x5f', '\x54', '\x5f', '\x45', '\x5f', '\x4d', '\x5f', '\x50', '\x5f', '\x4c', '\x5f', '\x41', '\x5f', '\x54', '\x5f', '\x45', '\x5f', '\x5f', '\x5f', '\x5f', '\x54', '\x5f', '\x45', '\x5f', '\x53', '\x5f', '\x54', '\x5f', '\x5f', '\x5f', '\x5f', '\x20', '\x29', '\x20', '\x2c', '\x20', '\x43', '\x6c', '\x61', '\x73', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x54', '\x61', '\x67', '\x73', '\x2c', '\x20', '\x53', '\x69', '\x67', '\x6e', '\x61', '\x74', '\x75', '\x72', '\x65', '\x2c', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x20', '\x29', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x43', '\x41', '\x53', '\x45', '\x32', '\x28', '\x20', '\x54', '\x65', '\x73', '\x74', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x54', '\x65', '\x73', '\x74', '\x4e', '\x61', '\x6d', '\x65', '\x28', '\x29', '\x3b', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x53', '\x55', '\x50', '\x50', '\x52', '\x45', '\x53', '\x53', '\x5f', '\x47', '\x4c', '\x4f', '\x42', '\x41', '\x4c', '\x53', '\x5f', '\x57', '\x41', '\x52', '\x4e', '\x49', '\x4e', '\x47', '\x53', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x7b', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x41', '\x75', '\x74', '\x6f', '\x52', '\x65', '\x67', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x55', '\x4e', '\x49', '\x51', '\x55', '\x45', '\x5f', '\x4e', '\x41', '\x4d', '\x45', '\x28', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x61', '\x72', '\x20', '\x29', '\x28', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x6d', '\x61', '\x6b', '\x65', '\x54', '\x65', '\x73', '\x74', '\x49', '\x6e', '\x76', '\x6f', '\x6b', '\x65', '\x72', '\x28', '\x20', '\x26', '\x54', '\x65', '\x73', '\x74', '\x4e', '\x61', '\x6d', '\x65', '\x20', '\x29', '\x2c', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x4c', '\x49', '\x4e', '\x45', '\x49', '\x4e', '\x46', '\x4f', '\x2c', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x66', '\x28', '\x29', '\x2c', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x4e', '\x61', '\x6d', '\x65', '\x41', '\x6e', '\x64', '\x54', '\x61', '\x67', '\x73', '\x7b', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x20', '\x7d', '\x20', '\x29', '\x3b', '\x20', '\x7d', '\x20', '\x2f', '\x2a', '\x20', '\x4e', '\x4f', '\x4c', '\x49', '\x4e', '\x54', '\x20', '\x2a', '\x2f', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x55', '\x4e', '\x53', '\x55', '\x50', '\x50', '\x52', '\x45', '\x53', '\x53', '\x5f', '\x47', '\x4c', '\x4f', '\x42', '\x41', '\x4c', '\x53', '\x5f', '\x57', '\x41', '\x52', '\x4e', '\x49', '\x4e', '\x47', '\x53', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x54', '\x65', '\x73', '\x74', '\x4e', '\x61', '\x6d', '\x65', '\x28', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x43', '\x41', '\x53', '\x45', '\x28', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x43', '\x41', '\x53', '\x45', '\x32', '\x28', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x55', '\x4e', '\x49', '\x51', '\x55', '\x45', '\x5f', '\x4e', '\x41', '\x4d', '\x45', '\x28', '\x20', '\x5f', '\x5f', '\x5f', '\x5f', '\x43', '\x5f', '\x41', '\x5f', '\x54', '\x5f', '\x43', '\x5f', '\x48', '\x5f', '\x5f', '\x5f', '\x5f', '\x54', '\x5f', '\x45', '\x5f', '\x53', '\x5f', '\x54', '\x5f', '\x5f', '\x5f', '\x5f', '\x20', '\x29', '\x2c', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x20', '\x29', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x5f', '\x41', '\x53', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x28', '\x20', '\x51', '\x75', '\x61', '\x6c', '\x69', '\x66', '\x69', '\x65', '\x64', '\x4d', '\x65', '\x74', '\x68', '\x6f', '\x64', '\x2c', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x53', '\x55', '\x50', '\x50', '\x52', '\x45', '\x53', '\x53', '\x5f', '\x47', '\x4c', '\x4f', '\x42', '\x41', '\x4c', '\x53', '\x5f', '\x57', '\x41', '\x52', '\x4e', '\x49', '\x4e', '\x47', '\x53', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x7b', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x41', '\x75', '\x74', '\x6f', '\x52', '\x65', '\x67', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x55', '\x4e', '\x49', '\x51', '\x55', '\x45', '\x5f', '\x4e', '\x41', '\x4d', '\x45', '\x28', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x61', '\x72', '\x20', '\x29', '\x28', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x6d', '\x61', '\x6b', '\x65', '\x54', '\x65', '\x73', '\x74', '\x49', '\x6e', '\x76', '\x6f', '\x6b', '\x65', '\x72', '\x28', '\x20', '\x26', '\x51', '\x75', '\x61', '\x6c', '\x69', '\x66', '\x69', '\x65', '\x64', '\x4d', '\x65', '\x74', '\x68', '\x6f', '\x64', '\x20', '\x29', '\x2c', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x4c', '\x49', '\x4e', '\x45', '\x49', '\x4e', '\x46', '\x4f', '\x2c', '\x20', '\x22', '\x26', '\x22', '\x20', '\x23', '\x51', '\x75', '\x61', '\x6c', '\x69', '\x66', '\x69', '\x65', '\x64', '\x4d', '\x65', '\x74', '\x68', '\x6f', '\x64', '\x2c', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x4e', '\x61', '\x6d', '\x65', '\x41', '\x6e', '\x64', '\x54', '\x61', '\x67', '\x73', '\x7b', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x20', '\x7d', '\x20', '\x29', '\x3b', '\x20', '\x7d', '\x20', '\x2f', '\x2a', '\x20', '\x4e', '\x4f', '\x4c', '\x49', '\x4e', '\x54', '\x20', '\x2a', '\x2f', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x55', '\x4e', '\x53', '\x55', '\x50', '\x50', '\x52', '\x45', '\x53', '\x53', '\x5f', '\x47', '\x4c', '\x4f', '\x42', '\x41', '\x4c', '\x53', '\x5f', '\x57', '\x41', '\x52', '\x4e', '\x49', '\x4e', '\x47', '\x53', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x32', '\x28', '\x20', '\x54', '\x65', '\x73', '\x74', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x43', '\x6c', '\x61', '\x73', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x53', '\x55', '\x50', '\x50', '\x52', '\x45', '\x53', '\x53', '\x5f', '\x47', '\x4c', '\x4f', '\x42', '\x41', '\x4c', '\x53', '\x5f', '\x57', '\x41', '\x52', '\x4e', '\x49', '\x4e', '\x47', '\x53', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x7b', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x54', '\x65', '\x73', '\x74', '\x4e', '\x61', '\x6d', '\x65', '\x20', '\x3a', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x4d', '\x4f', '\x56', '\x45', '\x5f', '\x50', '\x41', '\x52', '\x45', '\x4e', '\x53', '\x28', '\x43', '\x6c', '\x61', '\x73', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x29', '\x20', '\x7b', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x74', '\x65', '\x73', '\x74', '\x28', '\x29', '\x3b', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x41', '\x75', '\x74', '\x6f', '\x52', '\x65', '\x67', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x55', '\x4e', '\x49', '\x51', '\x55', '\x45', '\x5f', '\x4e', '\x41', '\x4d', '\x45', '\x28', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x61', '\x72', '\x20', '\x29', '\x20', '\x28', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x6d', '\x61', '\x6b', '\x65', '\x54', '\x65', '\x73', '\x74', '\x49', '\x6e', '\x76', '\x6f', '\x6b', '\x65', '\x72', '\x28', '\x20', '\x26', '\x54', '\x65', '\x73', '\x74', '\x4e', '\x61', '\x6d', '\x65', '\x3a', '\x3a', '\x74', '\x65', '\x73', '\x74', '\x20', '\x29', '\x2c', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x4c', '\x49', '\x4e', '\x45', '\x49', '\x4e', '\x46', '\x4f', '\x2c', '\x20', '\x23', '\x43', '\x6c', '\x61', '\x73', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x4e', '\x61', '\x6d', '\x65', '\x41', '\x6e', '\x64', '\x54', '\x61', '\x67', '\x73', '\x7b', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x20', '\x7d', '\x20', '\x29', '\x3b', '\x20', '\x2f', '\x2a', '\x20', '\x4e', '\x4f', '\x4c', '\x49', '\x4e', '\x54', '\x20', '\x2a', '\x2f', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x55', '\x4e', '\x53', '\x55', '\x50', '\x50', '\x52', '\x45', '\x53', '\x53', '\x5f', '\x47', '\x4c', '\x4f', '\x42', '\x41', '\x4c', '\x53', '\x5f', '\x57', '\x41', '\x52', '\x4e', '\x49', '\x4e', '\x47', '\x53', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x54', '\x65', '\x73', '\x74', '\x4e', '\x61', '\x6d', '\x65', '\x3a', '\x3a', '\x74', '\x65', '\x73', '\x74', '\x28', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x28', '\x20', '\x43', '\x6c', '\x61', '\x73', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x32', '\x28', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x55', '\x4e', '\x49', '\x51', '\x55', '\x45', '\x5f', '\x4e', '\x41', '\x4d', '\x45', '\x28', '\x20', '\x5f', '\x5f', '\x5f', '\x5f', '\x43', '\x5f', '\x41', '\x5f', '\x54', '\x5f', '\x43', '\x5f', '\x48', '\x5f', '\x5f', '\x5f', '\x5f', '\x54', '\x5f', '\x45', '\x5f', '\x53', '\x5f', '\x54', '\x5f', '\x5f', '\x5f', '\x5f', '\x20', '\x29', '\x2c', '\x20', '\x43', '\x6c', '\x61', '\x73', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x20', '\x29', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x47', '\x49', '\x53', '\x54', '\x45', '\x52', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x43', '\x41', '\x53', '\x45', '\x28', '\x20', '\x46', '\x75', '\x6e', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x2c', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x53', '\x55', '\x50', '\x50', '\x52', '\x45', '\x53', '\x53', '\x5f', '\x47', '\x4c', '\x4f', '\x42', '\x41', '\x4c', '\x53', '\x5f', '\x57', '\x41', '\x52', '\x4e', '\x49', '\x4e', '\x47', '\x53', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x41', '\x75', '\x74', '\x6f', '\x52', '\x65', '\x67', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x55', '\x4e', '\x49', '\x51', '\x55', '\x45', '\x5f', '\x4e', '\x41', '\x4d', '\x45', '\x28', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x61', '\x72', '\x20', '\x29', '\x28', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x6d', '\x61', '\x6b', '\x65', '\x54', '\x65', '\x73', '\x74', '\x49', '\x6e', '\x76', '\x6f', '\x6b', '\x65', '\x72', '\x28', '\x20', '\x46', '\x75', '\x6e', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x29', '\x2c', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x4c', '\x49', '\x4e', '\x45', '\x49', '\x4e', '\x46', '\x4f', '\x2c', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x66', '\x28', '\x29', '\x2c', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x4e', '\x61', '\x6d', '\x65', '\x41', '\x6e', '\x64', '\x54', '\x61', '\x67', '\x73', '\x7b', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x20', '\x7d', '\x20', '\x29', '\x3b', '\x20', '\x2f', '\x2a', '\x20', '\x4e', '\x4f', '\x4c', '\x49', '\x4e', '\x54', '\x20', '\x2a', '\x2f', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x55', '\x4e', '\x53', '\x55', '\x50', '\x50', '\x52', '\x45', '\x53', '\x53', '\x5f', '\x47', '\x4c', '\x4f', '\x42', '\x41', '\x4c', '\x53', '\x5f', '\x57', '\x41', '\x52', '\x4e', '\x49', '\x4e', '\x47', '\x53', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x5f', '\x32', '\x28', '\x54', '\x65', '\x73', '\x74', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x54', '\x65', '\x73', '\x74', '\x46', '\x75', '\x6e', '\x63', '\x2c', '\x20', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x54', '\x61', '\x67', '\x73', '\x2c', '\x20', '\x53', '\x69', '\x67', '\x6e', '\x61', '\x74', '\x75', '\x72', '\x65', '\x2c', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x53', '\x55', '\x50', '\x50', '\x52', '\x45', '\x53', '\x53', '\x5f', '\x47', '\x4c', '\x4f', '\x42', '\x41', '\x4c', '\x53', '\x5f', '\x57', '\x41', '\x52', '\x4e', '\x49', '\x4e', '\x47', '\x53', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x53', '\x55', '\x50', '\x50', '\x52', '\x45', '\x53', '\x53', '\x5f', '\x5a', '\x45', '\x52', '\x4f', '\x5f', '\x56', '\x41', '\x52', '\x49', '\x41', '\x44', '\x49', '\x43', '\x5f', '\x57', '\x41', '\x52', '\x4e', '\x49', '\x4e', '\x47', '\x53', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x53', '\x55', '\x50', '\x50', '\x52', '\x45', '\x53', '\x53', '\x5f', '\x55', '\x4e', '\x55', '\x53', '\x45', '\x44', '\x5f', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x57', '\x41', '\x52', '\x4e', '\x49', '\x4e', '\x47', '\x53', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x44', '\x45', '\x43', '\x4c', '\x41', '\x52', '\x45', '\x5f', '\x53', '\x49', '\x47', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x28', '\x54', '\x65', '\x73', '\x74', '\x46', '\x75', '\x6e', '\x63', '\x2c', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x4d', '\x4f', '\x56', '\x45', '\x5f', '\x50', '\x41', '\x52', '\x45', '\x4e', '\x53', '\x28', '\x53', '\x69', '\x67', '\x6e', '\x61', '\x74', '\x75', '\x72', '\x65', '\x29', '\x29', '\x3b', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x7b', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x4d', '\x41', '\x4b', '\x45', '\x5f', '\x4e', '\x41', '\x4d', '\x45', '\x53', '\x50', '\x41', '\x43', '\x45', '\x28', '\x54', '\x65', '\x73', '\x74', '\x4e', '\x61', '\x6d', '\x65', '\x29', '\x7b', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x59', '\x50', '\x45', '\x5f', '\x47', '\x45', '\x4e', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x4e', '\x54', '\x54', '\x50', '\x5f', '\x47', '\x45', '\x4e', '\x28', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x4d', '\x4f', '\x56', '\x45', '\x5f', '\x50', '\x41', '\x52', '\x45', '\x4e', '\x53', '\x28', '\x53', '\x69', '\x67', '\x6e', '\x61', '\x74', '\x75', '\x72', '\x65', '\x29', '\x29', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x4e', '\x54', '\x54', '\x50', '\x5f', '\x52', '\x45', '\x47', '\x5f', '\x47', '\x45', '\x4e', '\x28', '\x54', '\x65', '\x73', '\x74', '\x46', '\x75', '\x6e', '\x63', '\x2c', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x4d', '\x4f', '\x56', '\x45', '\x5f', '\x50', '\x41', '\x52', '\x45', '\x4e', '\x53', '\x28', '\x53', '\x69', '\x67', '\x6e', '\x61', '\x74', '\x75', '\x72', '\x65', '\x29', '\x29', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x2e', '\x2e', '\x2e', '\x54', '\x79', '\x70', '\x65', '\x73', '\x3e', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x54', '\x65', '\x73', '\x74', '\x4e', '\x61', '\x6d', '\x65', '\x7b', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x54', '\x65', '\x73', '\x74', '\x4e', '\x61', '\x6d', '\x65', '\x28', '\x29', '\x7b', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x6e', '\x74', '\x20', '\x69', '\x6e', '\x64', '\x65', '\x78', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x65', '\x78', '\x70', '\x72', '\x20', '\x63', '\x68', '\x61', '\x72', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x2a', '\x20', '\x74', '\x6d', '\x70', '\x6c', '\x5f', '\x74', '\x79', '\x70', '\x65', '\x73', '\x5b', '\x5d', '\x20', '\x3d', '\x20', '\x7b', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x43', '\x5f', '\x4c', '\x49', '\x53', '\x54', '\x28', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x53', '\x54', '\x52', '\x49', '\x4e', '\x47', '\x49', '\x5a', '\x45', '\x5f', '\x57', '\x49', '\x54', '\x48', '\x4f', '\x55', '\x54', '\x5f', '\x50', '\x41', '\x52', '\x45', '\x4e', '\x53', '\x2c', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x29', '\x7d', '\x3b', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x75', '\x73', '\x69', '\x6e', '\x67', '\x20', '\x65', '\x78', '\x70', '\x61', '\x6e', '\x64', '\x65', '\x72', '\x20', '\x3d', '\x20', '\x69', '\x6e', '\x74', '\x5b', '\x5d', '\x3b', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x28', '\x76', '\x6f', '\x69', '\x64', '\x29', '\x65', '\x78', '\x70', '\x61', '\x6e', '\x64', '\x65', '\x72', '\x7b', '\x28', '\x72', '\x65', '\x67', '\x5f', '\x74', '\x65', '\x73', '\x74', '\x28', '\x54', '\x79', '\x70', '\x65', '\x73', '\x7b', '\x7d', '\x2c', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x4e', '\x61', '\x6d', '\x65', '\x41', '\x6e', '\x64', '\x54', '\x61', '\x67', '\x73', '\x7b', '\x20', '\x4e', '\x61', '\x6d', '\x65', '\x20', '\x22', '\x20', '\x2d', '\x20', '\x22', '\x20', '\x2b', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x28', '\x74', '\x6d', '\x70', '\x6c', '\x5f', '\x74', '\x79', '\x70', '\x65', '\x73', '\x5b', '\x69', '\x6e', '\x64', '\x65', '\x78', '\x5d', '\x29', '\x2c', '\x20', '\x54', '\x61', '\x67', '\x73', '\x20', '\x7d', '\x20', '\x29', '\x2c', '\x20', '\x69', '\x6e', '\x64', '\x65', '\x78', '\x2b', '\x2b', '\x2c', '\x20', '\x30', '\x29', '\x2e', '\x2e', '\x2e', '\x20', '\x7d', '\x3b', '\x2f', '\x2a', '\x20', '\x4e', '\x4f', '\x4c', '\x49', '\x4e', '\x54', '\x20', '\x2a', '\x2f', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x20', '\x69', '\x6e', '\x74', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x55', '\x4e', '\x49', '\x51', '\x55', '\x45', '\x5f', '\x4e', '\x41', '\x4d', '\x45', '\x28', '\x20', '\x67', '\x6c', '\x6f', '\x62', '\x61', '\x6c', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x61', '\x72', '\x20', '\x29', '\x20', '\x3d', '\x20', '\x5b', '\x5d', '\x28', '\x29', '\x7b', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x54', '\x65', '\x73', '\x74', '\x4e', '\x61', '\x6d', '\x65', '\x3c', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x4d', '\x41', '\x4b', '\x45', '\x5f', '\x54', '\x59', '\x50', '\x45', '\x5f', '\x4c', '\x49', '\x53', '\x54', '\x53', '\x5f', '\x46', '\x52', '\x4f', '\x4d', '\x5f', '\x54', '\x59', '\x50', '\x45', '\x53', '\x28', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x29', '\x3e', '\x28', '\x29', '\x3b', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x30', '\x3b', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x28', '\x29', '\x3b', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x55', '\x4e', '\x53', '\x55', '\x50', '\x50', '\x52', '\x45', '\x53', '\x53', '\x5f', '\x47', '\x4c', '\x4f', '\x42', '\x41', '\x4c', '\x53', '\x5f', '\x57', '\x41', '\x52', '\x4e', '\x49', '\x4e', '\x47', '\x53', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x55', '\x4e', '\x53', '\x55', '\x50', '\x50', '\x52', '\x45', '\x53', '\x53', '\x5f', '\x5a', '\x45', '\x52', '\x4f', '\x5f', '\x56', '\x41', '\x52', '\x49', '\x41', '\x44', '\x49', '\x43', '\x5f', '\x57', '\x41', '\x52', '\x4e', '\x49', '\x4e', '\x47', '\x53', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x55', '\x4e', '\x53', '\x55', '\x50', '\x50', '\x52', '\x45', '\x53', '\x53', '\x5f', '\x55', '\x4e', '\x55', '\x53', '\x45', '\x44', '\x5f', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x57', '\x41', '\x52', '\x4e', '\x49', '\x4e', '\x47', '\x53', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x44', '\x45', '\x46', '\x49', '\x4e', '\x45', '\x5f', '\x53', '\x49', '\x47', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x28', '\x54', '\x65', '\x73', '\x74', '\x46', '\x75', '\x6e', '\x63', '\x2c', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x4d', '\x4f', '\x56', '\x45', '\x5f', '\x50', '\x41', '\x52', '\x45', '\x4e', '\x53', '\x28', '\x53', '\x69', '\x67', '\x6e', '\x61', '\x74', '\x75', '\x72', '\x65', '\x29', '\x29', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x6e', '\x64', '\x65', '\x66', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x54', '\x52', '\x41', '\x44', '\x49', '\x54', '\x49', '\x4f', '\x4e', '\x41', '\x4c', '\x5f', '\x4d', '\x53', '\x56', '\x43', '\x5f', '\x50', '\x52', '\x45', '\x50', '\x52', '\x4f', '\x43', '\x45', '\x53', '\x53', '\x4f', '\x52', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x28', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x54', '\x61', '\x67', '\x73', '\x2c', '\x20', '\x2e', '\x2e', '\x2e', '\x29', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x5f', '\x32', '\x28', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x55', '\x4e', '\x49', '\x51', '\x55', '\x45', '\x5f', '\x4e', '\x41', '\x4d', '\x45', '\x28', '\x20', '\x5f', '\x5f', '\x5f', '\x5f', '\x43', '\x5f', '\x41', '\x5f', '\x54', '\x5f', '\x43', '\x5f', '\x48', '\x5f', '\x5f', '\x5f', '\x5f', '\x54', '\x5f', '\x45', '\x5f', '\x4d', '\x5f', '\x50', '\x5f', '\x4c', '\x5f', '\x41', '\x5f', '\x54', '\x5f', '\x45', '\x5f', '\x5f', '\x5f', '\x5f', '\x54', '\x5f', '\x45', '\x5f', '\x53', '\x5f', '\x54', '\x5f', '\x5f', '\x5f', '\x5f', '\x20', '\x29', '\x2c', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x55', '\x4e', '\x49', '\x51', '\x55', '\x45', '\x5f', '\x4e', '\x41', '\x4d', '\x45', '\x28', '\x20', '\x5f', '\x5f', '\x5f', '\x5f', '\x43', '\x5f', '\x41', '\x5f', '\x54', '\x5f', '\x43', '\x5f', '\x48', '\x5f', '\x5f', '\x5f', '\x5f', '\x54', '\x5f', '\x45', '\x5f', '\x4d', '\x5f', '\x50', '\x5f', '\x4c', '\x5f', '\x41', '\x5f', '\x54', '\x5f', '\x45', '\x5f', '\x5f', '\x5f', '\x5f', '\x54', '\x5f', '\x45', '\x5f', '\x53', '\x5f', '\x54', '\x5f', '\x5f', '\x5f', '\x5f', '\x46', '\x5f', '\x55', '\x5f', '\x4e', '\x5f', '\x43', '\x5f', '\x5f', '\x5f', '\x5f', '\x20', '\x29', '\x2c', '\x20', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x54', '\x61', '\x67', '\x73', '\x2c', '\x20', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x54', '\x65', '\x73', '\x74', '\x54', '\x79', '\x70', '\x65', '\x2c', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x20', '\x29', '\x0d', '\x0a', '\x23', '\x65', '\x6c', '\x73', '\x65', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x28', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x54', '\x61', '\x67', '\x73', '\x2c', '\x20', '\x2e', '\x2e', '\x2e', '\x29', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x45', '\x58', '\x50', '\x41', '\x4e', '\x44', '\x5f', '\x56', '\x41', '\x52', '\x47', '\x53', '\x28', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x5f', '\x32', '\x28', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x55', '\x4e', '\x49', '\x51', '\x55', '\x45', '\x5f', '\x4e', '\x41', '\x4d', '\x45', '\x28', '\x20', '\x5f', '\x5f', '\x5f', '\x5f', '\x43', '\x5f', '\x41', '\x5f', '\x54', '\x5f', '\x43', '\x5f', '\x48', '\x5f', '\x5f', '\x5f', '\x5f', '\x54', '\x5f', '\x45', '\x5f', '\x4d', '\x5f', '\x50', '\x5f', '\x4c', '\x5f', '\x41', '\x5f', '\x54', '\x5f', '\x45', '\x5f', '\x5f', '\x5f', '\x5f', '\x54', '\x5f', '\x45', '\x5f', '\x53', '\x5f', '\x54', '\x5f', '\x5f', '\x5f', '\x5f', '\x20', '\x29', '\x2c', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x55', '\x4e', '\x49', '\x51', '\x55', '\x45', '\x5f', '\x4e', '\x41', '\x4d', '\x45', '\x28', '\x20', '\x5f', '\x5f', '\x5f', '\x5f', '\x43', '\x5f', '\x41', '\x5f', '\x54', '\x5f', '\x43', '\x5f', '\x48', '\x5f', '\x5f', '\x5f', '\x5f', '\x54', '\x5f', '\x45', '\x5f', '\x4d', '\x5f', '\x50', '\x5f', '\x4c', '\x5f', '\x41', '\x5f', '\x54', '\x5f', '\x45', '\x5f', '\x5f', '\x5f', '\x5f', '\x54', '\x5f', '\x45', '\x5f', '\x53', '\x5f', '\x54', '\x5f', '\x5f', '\x5f', '\x5f', '\x46', '\x5f', '\x55', '\x5f', '\x4e', '\x5f', '\x43', '\x5f', '\x5f', '\x5f', '\x5f', '\x20', '\x29', '\x2c', '\x20', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x54', '\x61', '\x67', '\x73', '\x2c', '\x20', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x54', '\x65', '\x73', '\x74', '\x54', '\x79', '\x70', '\x65', '\x2c', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x20', '\x29', '\x20', '\x29', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x6e', '\x64', '\x65', '\x66', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x54', '\x52', '\x41', '\x44', '\x49', '\x54', '\x49', '\x4f', '\x4e', '\x41', '\x4c', '\x5f', '\x4d', '\x53', '\x56', '\x43', '\x5f', '\x50', '\x52', '\x45', '\x50', '\x52', '\x4f', '\x43', '\x45', '\x53', '\x53', '\x4f', '\x52', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x5f', '\x53', '\x49', '\x47', '\x28', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x54', '\x61', '\x67', '\x73', '\x2c', '\x20', '\x53', '\x69', '\x67', '\x6e', '\x61', '\x74', '\x75', '\x72', '\x65', '\x2c', '\x20', '\x2e', '\x2e', '\x2e', '\x29', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x5f', '\x32', '\x28', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x55', '\x4e', '\x49', '\x51', '\x55', '\x45', '\x5f', '\x4e', '\x41', '\x4d', '\x45', '\x28', '\x20', '\x5f', '\x5f', '\x5f', '\x5f', '\x43', '\x5f', '\x41', '\x5f', '\x54', '\x5f', '\x43', '\x5f', '\x48', '\x5f', '\x5f', '\x5f', '\x5f', '\x54', '\x5f', '\x45', '\x5f', '\x4d', '\x5f', '\x50', '\x5f', '\x4c', '\x5f', '\x41', '\x5f', '\x54', '\x5f', '\x45', '\x5f', '\x5f', '\x5f', '\x5f', '\x54', '\x5f', '\x45', '\x5f', '\x53', '\x5f', '\x54', '\x5f', '\x5f', '\x5f', '\x5f', '\x20', '\x29', '\x2c', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x55', '\x4e', '\x49', '\x51', '\x55', '\x45', '\x5f', '\x4e', '\x41', '\x4d', '\x45', '\x28', '\x20', '\x5f', '\x5f', '\x5f', '\x5f', '\x43', '\x5f', '\x41', '\x5f', '\x54', '\x5f', '\x43', '\x5f', '\x48', '\x5f', '\x5f', '\x5f', '\x5f', '\x54', '\x5f', '\x45', '\x5f', '\x4d', '\x5f', '\x50', '\x5f', '\x4c', '\x5f', '\x41', '\x5f', '\x54', '\x5f', '\x45', '\x5f', '\x5f', '\x5f', '\x5f', '\x54', '\x5f', '\x45', '\x5f', '\x53', '\x5f', '\x54', '\x5f', '\x5f', '\x5f', '\x5f', '\x46', '\x5f', '\x55', '\x5f', '\x4e', '\x5f', '\x43', '\x5f', '\x5f', '\x5f', '\x5f', '\x20', '\x29', '\x2c', '\x20', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x54', '\x61', '\x67', '\x73', '\x2c', '\x20', '\x53', '\x69', '\x67', '\x6e', '\x61', '\x74', '\x75', '\x72', '\x65', '\x2c', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x20', '\x29', '\x0d', '\x0a', '\x23', '\x65', '\x6c', '\x73', '\x65', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x5f', '\x53', '\x49', '\x47', '\x28', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x54', '\x61', '\x67', '\x73', '\x2c', '\x20', '\x53', '\x69', '\x67', '\x6e', '\x61', '\x74', '\x75', '\x72', '\x65', '\x2c', '\x20', '\x2e', '\x2e', '\x2e', '\x29', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x45', '\x58', '\x50', '\x41', '\x4e', '\x44', '\x5f', '\x56', '\x41', '\x52', '\x47', '\x53', '\x28', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x5f', '\x32', '\x28', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x55', '\x4e', '\x49', '\x51', '\x55', '\x45', '\x5f', '\x4e', '\x41', '\x4d', '\x45', '\x28', '\x20', '\x5f', '\x5f', '\x5f', '\x5f', '\x43', '\x5f', '\x41', '\x5f', '\x54', '\x5f', '\x43', '\x5f', '\x48', '\x5f', '\x5f', '\x5f', '\x5f', '\x54', '\x5f', '\x45', '\x5f', '\x4d', '\x5f', '\x50', '\x5f', '\x4c', '\x5f', '\x41', '\x5f', '\x54', '\x5f', '\x45', '\x5f', '\x5f', '\x5f', '\x5f', '\x54', '\x5f', '\x45', '\x5f', '\x53', '\x5f', '\x54', '\x5f', '\x5f', '\x5f', '\x5f', '\x20', '\x29', '\x2c', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x55', '\x4e', '\x49', '\x51', '\x55', '\x45', '\x5f', '\x4e', '\x41', '\x4d', '\x45', '\x28', '\x20', '\x5f', '\x5f', '\x5f', '\x5f', '\x43', '\x5f', '\x41', '\x5f', '\x54', '\x5f', '\x43', '\x5f', '\x48', '\x5f', '\x5f', '\x5f', '\x5f', '\x54', '\x5f', '\x45', '\x5f', '\x4d', '\x5f', '\x50', '\x5f', '\x4c', '\x5f', '\x41', '\x5f', '\x54', '\x5f', '\x45', '\x5f', '\x5f', '\x5f', '\x5f', '\x54', '\x5f', '\x45', '\x5f', '\x53', '\x5f', '\x54', '\x5f', '\x5f', '\x5f', '\x5f', '\x46', '\x5f', '\x55', '\x5f', '\x4e', '\x5f', '\x43', '\x5f', '\x5f', '\x5f', '\x5f', '\x20', '\x29', '\x2c', '\x20', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x54', '\x61', '\x67', '\x73', '\x2c', '\x20', '\x53', '\x69', '\x67', '\x6e', '\x61', '\x74', '\x75', '\x72', '\x65', '\x2c', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x20', '\x29', '\x20', '\x29', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x50', '\x52', '\x4f', '\x44', '\x55', '\x43', '\x54', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x32', '\x28', '\x54', '\x65', '\x73', '\x74', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x54', '\x65', '\x73', '\x74', '\x46', '\x75', '\x6e', '\x63', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x54', '\x61', '\x67', '\x73', '\x2c', '\x20', '\x53', '\x69', '\x67', '\x6e', '\x61', '\x74', '\x75', '\x72', '\x65', '\x2c', '\x20', '\x54', '\x6d', '\x70', '\x6c', '\x54', '\x79', '\x70', '\x65', '\x73', '\x2c', '\x20', '\x54', '\x79', '\x70', '\x65', '\x73', '\x4c', '\x69', '\x73', '\x74', '\x29', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x53', '\x55', '\x50', '\x50', '\x52', '\x45', '\x53', '\x53', '\x5f', '\x47', '\x4c', '\x4f', '\x42', '\x41', '\x4c', '\x53', '\x5f', '\x57', '\x41', '\x52', '\x4e', '\x49', '\x4e', '\x47', '\x53', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x53', '\x55', '\x50', '\x50', '\x52', '\x45', '\x53', '\x53', '\x5f', '\x5a', '\x45', '\x52', '\x4f', '\x5f', '\x56', '\x41', '\x52', '\x49', '\x41', '\x44', '\x49', '\x43', '\x5f', '\x57', '\x41', '\x52', '\x4e', '\x49', '\x4e', '\x47', '\x53', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x53', '\x55', '\x50', '\x50', '\x52', '\x45', '\x53', '\x53', '\x5f', '\x55', '\x4e', '\x55', '\x53', '\x45', '\x44', '\x5f', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x57', '\x41', '\x52', '\x4e', '\x49', '\x4e', '\x47', '\x53', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x54', '\x65', '\x73', '\x74', '\x54', '\x79', '\x70', '\x65', '\x3e', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x54', '\x65', '\x73', '\x74', '\x46', '\x75', '\x6e', '\x63', '\x4e', '\x61', '\x6d', '\x65', '\x28', '\x29', '\x3b', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x7b', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x4d', '\x41', '\x4b', '\x45', '\x5f', '\x4e', '\x41', '\x4d', '\x45', '\x53', '\x50', '\x41', '\x43', '\x45', '\x28', '\x54', '\x65', '\x73', '\x74', '\x4e', '\x61', '\x6d', '\x65', '\x29', '\x20', '\x7b', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x59', '\x50', '\x45', '\x5f', '\x47', '\x45', '\x4e', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x4e', '\x54', '\x54', '\x50', '\x5f', '\x47', '\x45', '\x4e', '\x28', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x4d', '\x4f', '\x56', '\x45', '\x5f', '\x50', '\x41', '\x52', '\x45', '\x4e', '\x53', '\x28', '\x53', '\x69', '\x67', '\x6e', '\x61', '\x74', '\x75', '\x72', '\x65', '\x29', '\x29', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x2e', '\x2e', '\x2e', '\x20', '\x54', '\x79', '\x70', '\x65', '\x73', '\x3e', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x54', '\x65', '\x73', '\x74', '\x4e', '\x61', '\x6d', '\x65', '\x20', '\x7b', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x72', '\x65', '\x67', '\x5f', '\x74', '\x65', '\x73', '\x74', '\x73', '\x28', '\x29', '\x20', '\x7b', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x6e', '\x74', '\x20', '\x69', '\x6e', '\x64', '\x65', '\x78', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x75', '\x73', '\x69', '\x6e', '\x67', '\x20', '\x65', '\x78', '\x70', '\x61', '\x6e', '\x64', '\x65', '\x72', '\x20', '\x3d', '\x20', '\x69', '\x6e', '\x74', '\x5b', '\x5d', '\x3b', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x65', '\x78', '\x70', '\x72', '\x20', '\x63', '\x68', '\x61', '\x72', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x2a', '\x20', '\x74', '\x6d', '\x70', '\x6c', '\x5f', '\x74', '\x79', '\x70', '\x65', '\x73', '\x5b', '\x5d', '\x20', '\x3d', '\x20', '\x7b', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x43', '\x5f', '\x4c', '\x49', '\x53', '\x54', '\x28', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x53', '\x54', '\x52', '\x49', '\x4e', '\x47', '\x49', '\x5a', '\x45', '\x5f', '\x57', '\x49', '\x54', '\x48', '\x4f', '\x55', '\x54', '\x5f', '\x50', '\x41', '\x52', '\x45', '\x4e', '\x53', '\x2c', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x4d', '\x4f', '\x56', '\x45', '\x5f', '\x50', '\x41', '\x52', '\x45', '\x4e', '\x53', '\x28', '\x54', '\x6d', '\x70', '\x6c', '\x54', '\x79', '\x70', '\x65', '\x73', '\x29', '\x29', '\x7d', '\x3b', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x65', '\x78', '\x70', '\x72', '\x20', '\x63', '\x68', '\x61', '\x72', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x2a', '\x20', '\x74', '\x79', '\x70', '\x65', '\x73', '\x5f', '\x6c', '\x69', '\x73', '\x74', '\x5b', '\x5d', '\x20', '\x3d', '\x20', '\x7b', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x43', '\x5f', '\x4c', '\x49', '\x53', '\x54', '\x28', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x53', '\x54', '\x52', '\x49', '\x4e', '\x47', '\x49', '\x5a', '\x45', '\x5f', '\x57', '\x49', '\x54', '\x48', '\x4f', '\x55', '\x54', '\x5f', '\x50', '\x41', '\x52', '\x45', '\x4e', '\x53', '\x2c', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x4d', '\x4f', '\x56', '\x45', '\x5f', '\x50', '\x41', '\x52', '\x45', '\x4e', '\x53', '\x28', '\x54', '\x79', '\x70', '\x65', '\x73', '\x4c', '\x69', '\x73', '\x74', '\x29', '\x29', '\x7d', '\x3b', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x65', '\x78', '\x70', '\x72', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x6e', '\x75', '\x6d', '\x5f', '\x74', '\x79', '\x70', '\x65', '\x73', '\x20', '\x3d', '\x20', '\x73', '\x69', '\x7a', '\x65', '\x6f', '\x66', '\x28', '\x74', '\x79', '\x70', '\x65', '\x73', '\x5f', '\x6c', '\x69', '\x73', '\x74', '\x29', '\x20', '\x2f', '\x20', '\x73', '\x69', '\x7a', '\x65', '\x6f', '\x66', '\x28', '\x74', '\x79', '\x70', '\x65', '\x73', '\x5f', '\x6c', '\x69', '\x73', '\x74', '\x5b', '\x30', '\x5d', '\x29', '\x3b', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x28', '\x76', '\x6f', '\x69', '\x64', '\x29', '\x65', '\x78', '\x70', '\x61', '\x6e', '\x64', '\x65', '\x72', '\x7b', '\x28', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x41', '\x75', '\x74', '\x6f', '\x52', '\x65', '\x67', '\x28', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x6d', '\x61', '\x6b', '\x65', '\x54', '\x65', '\x73', '\x74', '\x49', '\x6e', '\x76', '\x6f', '\x6b', '\x65', '\x72', '\x28', '\x20', '\x26', '\x54', '\x65', '\x73', '\x74', '\x46', '\x75', '\x6e', '\x63', '\x4e', '\x61', '\x6d', '\x65', '\x3c', '\x54', '\x79', '\x70', '\x65', '\x73', '\x3e', '\x20', '\x29', '\x2c', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x4c', '\x49', '\x4e', '\x45', '\x49', '\x4e', '\x46', '\x4f', '\x2c', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x66', '\x28', '\x29', '\x2c', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x4e', '\x61', '\x6d', '\x65', '\x41', '\x6e', '\x64', '\x54', '\x61', '\x67', '\x73', '\x7b', '\x20', '\x4e', '\x61', '\x6d', '\x65', '\x20', '\x22', '\x20', '\x2d', '\x20', '\x22', '\x20', '\x2b', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x28', '\x74', '\x6d', '\x70', '\x6c', '\x5f', '\x74', '\x79', '\x70', '\x65', '\x73', '\x5b', '\x69', '\x6e', '\x64', '\x65', '\x78', '\x20', '\x2f', '\x20', '\x6e', '\x75', '\x6d', '\x5f', '\x74', '\x79', '\x70', '\x65', '\x73', '\x5d', '\x29', '\x20', '\x2b', '\x20', '\x22', '\x3c', '\x22', '\x20', '\x2b', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x28', '\x74', '\x79', '\x70', '\x65', '\x73', '\x5f', '\x6c', '\x69', '\x73', '\x74', '\x5b', '\x69', '\x6e', '\x64', '\x65', '\x78', '\x20', '\x25', '\x20', '\x6e', '\x75', '\x6d', '\x5f', '\x74', '\x79', '\x70', '\x65', '\x73', '\x5d', '\x29', '\x20', '\x2b', '\x20', '\x22', '\x3e', '\x22', '\x2c', '\x20', '\x54', '\x61', '\x67', '\x73', '\x20', '\x7d', '\x20', '\x29', '\x2c', '\x20', '\x69', '\x6e', '\x64', '\x65', '\x78', '\x2b', '\x2b', '\x2c', '\x20', '\x30', '\x29', '\x2e', '\x2e', '\x2e', '\x20', '\x7d', '\x3b', '\x2f', '\x2a', '\x20', '\x4e', '\x4f', '\x4c', '\x49', '\x4e', '\x54', '\x20', '\x2a', '\x2f', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x20', '\x69', '\x6e', '\x74', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x55', '\x4e', '\x49', '\x51', '\x55', '\x45', '\x5f', '\x4e', '\x41', '\x4d', '\x45', '\x28', '\x20', '\x67', '\x6c', '\x6f', '\x62', '\x61', '\x6c', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x61', '\x72', '\x20', '\x29', '\x20', '\x3d', '\x20', '\x5b', '\x5d', '\x28', '\x29', '\x7b', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x75', '\x73', '\x69', '\x6e', '\x67', '\x20', '\x54', '\x65', '\x73', '\x74', '\x49', '\x6e', '\x69', '\x74', '\x20', '\x3d', '\x20', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x63', '\x72', '\x65', '\x61', '\x74', '\x65', '\x3c', '\x54', '\x65', '\x73', '\x74', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x64', '\x65', '\x63', '\x6c', '\x74', '\x79', '\x70', '\x65', '\x28', '\x67', '\x65', '\x74', '\x5f', '\x77', '\x72', '\x61', '\x70', '\x70', '\x65', '\x72', '\x3c', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x4d', '\x4f', '\x56', '\x45', '\x5f', '\x50', '\x41', '\x52', '\x45', '\x4e', '\x53', '\x28', '\x54', '\x6d', '\x70', '\x6c', '\x54', '\x79', '\x70', '\x65', '\x73', '\x29', '\x3e', '\x28', '\x29', '\x29', '\x2c', '\x20', '\x54', '\x79', '\x70', '\x65', '\x4c', '\x69', '\x73', '\x74', '\x3c', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x4d', '\x41', '\x4b', '\x45', '\x5f', '\x54', '\x59', '\x50', '\x45', '\x5f', '\x4c', '\x49', '\x53', '\x54', '\x53', '\x5f', '\x46', '\x52', '\x4f', '\x4d', '\x5f', '\x54', '\x59', '\x50', '\x45', '\x53', '\x28', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x4d', '\x4f', '\x56', '\x45', '\x5f', '\x50', '\x41', '\x52', '\x45', '\x4e', '\x53', '\x28', '\x54', '\x79', '\x70', '\x65', '\x73', '\x4c', '\x69', '\x73', '\x74', '\x29', '\x29', '\x3e', '\x3e', '\x3a', '\x3a', '\x74', '\x79', '\x70', '\x65', '\x3b', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x54', '\x65', '\x73', '\x74', '\x49', '\x6e', '\x69', '\x74', '\x20', '\x74', '\x3b', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x2e', '\x72', '\x65', '\x67', '\x5f', '\x74', '\x65', '\x73', '\x74', '\x73', '\x28', '\x29', '\x3b', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x30', '\x3b', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x28', '\x29', '\x3b', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x55', '\x4e', '\x53', '\x55', '\x50', '\x50', '\x52', '\x45', '\x53', '\x53', '\x5f', '\x47', '\x4c', '\x4f', '\x42', '\x41', '\x4c', '\x53', '\x5f', '\x57', '\x41', '\x52', '\x4e', '\x49', '\x4e', '\x47', '\x53', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x55', '\x4e', '\x53', '\x55', '\x50', '\x50', '\x52', '\x45', '\x53', '\x53', '\x5f', '\x5a', '\x45', '\x52', '\x4f', '\x5f', '\x56', '\x41', '\x52', '\x49', '\x41', '\x44', '\x49', '\x43', '\x5f', '\x57', '\x41', '\x52', '\x4e', '\x49', '\x4e', '\x47', '\x53', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x55', '\x4e', '\x53', '\x55', '\x50', '\x50', '\x52', '\x45', '\x53', '\x53', '\x5f', '\x55', '\x4e', '\x55', '\x53', '\x45', '\x44', '\x5f', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x57', '\x41', '\x52', '\x4e', '\x49', '\x4e', '\x47', '\x53', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x54', '\x65', '\x73', '\x74', '\x54', '\x79', '\x70', '\x65', '\x3e', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x54', '\x65', '\x73', '\x74', '\x46', '\x75', '\x6e', '\x63', '\x4e', '\x61', '\x6d', '\x65', '\x28', '\x29', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x6e', '\x64', '\x65', '\x66', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x54', '\x52', '\x41', '\x44', '\x49', '\x54', '\x49', '\x4f', '\x4e', '\x41', '\x4c', '\x5f', '\x4d', '\x53', '\x56', '\x43', '\x5f', '\x50', '\x52', '\x45', '\x50', '\x52', '\x4f', '\x43', '\x45', '\x53', '\x53', '\x4f', '\x52', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x50', '\x52', '\x4f', '\x44', '\x55', '\x43', '\x54', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x28', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x54', '\x61', '\x67', '\x73', '\x2c', '\x20', '\x2e', '\x2e', '\x2e', '\x29', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x50', '\x52', '\x4f', '\x44', '\x55', '\x43', '\x54', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x32', '\x28', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x55', '\x4e', '\x49', '\x51', '\x55', '\x45', '\x5f', '\x4e', '\x41', '\x4d', '\x45', '\x28', '\x20', '\x5f', '\x5f', '\x5f', '\x5f', '\x43', '\x5f', '\x41', '\x5f', '\x54', '\x5f', '\x43', '\x5f', '\x48', '\x5f', '\x5f', '\x5f', '\x5f', '\x54', '\x5f', '\x45', '\x5f', '\x4d', '\x5f', '\x50', '\x5f', '\x4c', '\x5f', '\x41', '\x5f', '\x54', '\x5f', '\x45', '\x5f', '\x5f', '\x5f', '\x5f', '\x54', '\x5f', '\x45', '\x5f', '\x53', '\x5f', '\x54', '\x5f', '\x5f', '\x5f', '\x5f', '\x20', '\x29', '\x2c', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x55', '\x4e', '\x49', '\x51', '\x55', '\x45', '\x5f', '\x4e', '\x41', '\x4d', '\x45', '\x28', '\x20', '\x5f', '\x5f', '\x5f', '\x5f', '\x43', '\x5f', '\x41', '\x5f', '\x54', '\x5f', '\x43', '\x5f', '\x48', '\x5f', '\x5f', '\x5f', '\x5f', '\x54', '\x5f', '\x45', '\x5f', '\x4d', '\x5f', '\x50', '\x5f', '\x4c', '\x5f', '\x41', '\x5f', '\x54', '\x5f', '\x45', '\x5f', '\x5f', '\x5f', '\x5f', '\x54', '\x5f', '\x45', '\x5f', '\x53', '\x5f', '\x54', '\x5f', '\x5f', '\x5f', '\x5f', '\x46', '\x5f', '\x55', '\x5f', '\x4e', '\x5f', '\x43', '\x5f', '\x5f', '\x5f', '\x5f', '\x20', '\x29', '\x2c', '\x20', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x54', '\x61', '\x67', '\x73', '\x2c', '\x20', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x54', '\x2c', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x29', '\x0d', '\x0a', '\x23', '\x65', '\x6c', '\x73', '\x65', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x50', '\x52', '\x4f', '\x44', '\x55', '\x43', '\x54', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x28', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x54', '\x61', '\x67', '\x73', '\x2c', '\x20', '\x2e', '\x2e', '\x2e', '\x29', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x45', '\x58', '\x50', '\x41', '\x4e', '\x44', '\x5f', '\x56', '\x41', '\x52', '\x47', '\x53', '\x28', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x50', '\x52', '\x4f', '\x44', '\x55', '\x43', '\x54', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x32', '\x28', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x55', '\x4e', '\x49', '\x51', '\x55', '\x45', '\x5f', '\x4e', '\x41', '\x4d', '\x45', '\x28', '\x20', '\x5f', '\x5f', '\x5f', '\x5f', '\x43', '\x5f', '\x41', '\x5f', '\x54', '\x5f', '\x43', '\x5f', '\x48', '\x5f', '\x5f', '\x5f', '\x5f', '\x54', '\x5f', '\x45', '\x5f', '\x4d', '\x5f', '\x50', '\x5f', '\x4c', '\x5f', '\x41', '\x5f', '\x54', '\x5f', '\x45', '\x5f', '\x5f', '\x5f', '\x5f', '\x54', '\x5f', '\x45', '\x5f', '\x53', '\x5f', '\x54', '\x5f', '\x5f', '\x5f', '\x5f', '\x20', '\x29', '\x2c', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x55', '\x4e', '\x49', '\x51', '\x55', '\x45', '\x5f', '\x4e', '\x41', '\x4d', '\x45', '\x28', '\x20', '\x5f', '\x5f', '\x5f', '\x5f', '\x43', '\x5f', '\x41', '\x5f', '\x54', '\x5f', '\x43', '\x5f', '\x48', '\x5f', '\x5f', '\x5f', '\x5f', '\x54', '\x5f', '\x45', '\x5f', '\x4d', '\x5f', '\x50', '\x5f', '\x4c', '\x5f', '\x41', '\x5f', '\x54', '\x5f', '\x45', '\x5f', '\x5f', '\x5f', '\x5f', '\x54', '\x5f', '\x45', '\x5f', '\x53', '\x5f', '\x54', '\x5f', '\x5f', '\x5f', '\x5f', '\x46', '\x5f', '\x55', '\x5f', '\x4e', '\x5f', '\x43', '\x5f', '\x5f', '\x5f', '\x5f', '\x20', '\x29', '\x2c', '\x20', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x54', '\x61', '\x67', '\x73', '\x2c', '\x20', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x54', '\x2c', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x20', '\x29', '\x20', '\x29', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x6e', '\x64', '\x65', '\x66', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x54', '\x52', '\x41', '\x44', '\x49', '\x54', '\x49', '\x4f', '\x4e', '\x41', '\x4c', '\x5f', '\x4d', '\x53', '\x56', '\x43', '\x5f', '\x50', '\x52', '\x45', '\x50', '\x52', '\x4f', '\x43', '\x45', '\x53', '\x53', '\x4f', '\x52', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x50', '\x52', '\x4f', '\x44', '\x55', '\x43', '\x54', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x5f', '\x53', '\x49', '\x47', '\x28', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x54', '\x61', '\x67', '\x73', '\x2c', '\x20', '\x53', '\x69', '\x67', '\x6e', '\x61', '\x74', '\x75', '\x72', '\x65', '\x2c', '\x20', '\x2e', '\x2e', '\x2e', '\x29', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x50', '\x52', '\x4f', '\x44', '\x55', '\x43', '\x54', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x32', '\x28', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x55', '\x4e', '\x49', '\x51', '\x55', '\x45', '\x5f', '\x4e', '\x41', '\x4d', '\x45', '\x28', '\x20', '\x5f', '\x5f', '\x5f', '\x5f', '\x43', '\x5f', '\x41', '\x5f', '\x54', '\x5f', '\x43', '\x5f', '\x48', '\x5f', '\x5f', '\x5f', '\x5f', '\x54', '\x5f', '\x45', '\x5f', '\x4d', '\x5f', '\x50', '\x5f', '\x4c', '\x5f', '\x41', '\x5f', '\x54', '\x5f', '\x45', '\x5f', '\x5f', '\x5f', '\x5f', '\x54', '\x5f', '\x45', '\x5f', '\x53', '\x5f', '\x54', '\x5f', '\x5f', '\x5f', '\x5f', '\x20', '\x29', '\x2c', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x55', '\x4e', '\x49', '\x51', '\x55', '\x45', '\x5f', '\x4e', '\x41', '\x4d', '\x45', '\x28', '\x20', '\x5f', '\x5f', '\x5f', '\x5f', '\x43', '\x5f', '\x41', '\x5f', '\x54', '\x5f', '\x43', '\x5f', '\x48', '\x5f', '\x5f', '\x5f', '\x5f', '\x54', '\x5f', '\x45', '\x5f', '\x4d', '\x5f', '\x50', '\x5f', '\x4c', '\x5f', '\x41', '\x5f', '\x54', '\x5f', '\x45', '\x5f', '\x5f', '\x5f', '\x5f', '\x54', '\x5f', '\x45', '\x5f', '\x53', '\x5f', '\x54', '\x5f', '\x5f', '\x5f', '\x5f', '\x46', '\x5f', '\x55', '\x5f', '\x4e', '\x5f', '\x43', '\x5f', '\x5f', '\x5f', '\x5f', '\x20', '\x29', '\x2c', '\x20', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x54', '\x61', '\x67', '\x73', '\x2c', '\x20', '\x53', '\x69', '\x67', '\x6e', '\x61', '\x74', '\x75', '\x72', '\x65', '\x2c', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x29', '\x0d', '\x0a', '\x23', '\x65', '\x6c', '\x73', '\x65', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x50', '\x52', '\x4f', '\x44', '\x55', '\x43', '\x54', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x5f', '\x53', '\x49', '\x47', '\x28', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x54', '\x61', '\x67', '\x73', '\x2c', '\x20', '\x53', '\x69', '\x67', '\x6e', '\x61', '\x74', '\x75', '\x72', '\x65', '\x2c', '\x20', '\x2e', '\x2e', '\x2e', '\x29', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x45', '\x58', '\x50', '\x41', '\x4e', '\x44', '\x5f', '\x56', '\x41', '\x52', '\x47', '\x53', '\x28', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x50', '\x52', '\x4f', '\x44', '\x55', '\x43', '\x54', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x32', '\x28', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x55', '\x4e', '\x49', '\x51', '\x55', '\x45', '\x5f', '\x4e', '\x41', '\x4d', '\x45', '\x28', '\x20', '\x5f', '\x5f', '\x5f', '\x5f', '\x43', '\x5f', '\x41', '\x5f', '\x54', '\x5f', '\x43', '\x5f', '\x48', '\x5f', '\x5f', '\x5f', '\x5f', '\x54', '\x5f', '\x45', '\x5f', '\x4d', '\x5f', '\x50', '\x5f', '\x4c', '\x5f', '\x41', '\x5f', '\x54', '\x5f', '\x45', '\x5f', '\x5f', '\x5f', '\x5f', '\x54', '\x5f', '\x45', '\x5f', '\x53', '\x5f', '\x54', '\x5f', '\x5f', '\x5f', '\x5f', '\x20', '\x29', '\x2c', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x55', '\x4e', '\x49', '\x51', '\x55', '\x45', '\x5f', '\x4e', '\x41', '\x4d', '\x45', '\x28', '\x20', '\x5f', '\x5f', '\x5f', '\x5f', '\x43', '\x5f', '\x41', '\x5f', '\x54', '\x5f', '\x43', '\x5f', '\x48', '\x5f', '\x5f', '\x5f', '\x5f', '\x54', '\x5f', '\x45', '\x5f', '\x4d', '\x5f', '\x50', '\x5f', '\x4c', '\x5f', '\x41', '\x5f', '\x54', '\x5f', '\x45', '\x5f', '\x5f', '\x5f', '\x5f', '\x54', '\x5f', '\x45', '\x5f', '\x53', '\x5f', '\x54', '\x5f', '\x5f', '\x5f', '\x5f', '\x46', '\x5f', '\x55', '\x5f', '\x4e', '\x5f', '\x43', '\x5f', '\x5f', '\x5f', '\x5f', '\x20', '\x29', '\x2c', '\x20', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x54', '\x61', '\x67', '\x73', '\x2c', '\x20', '\x53', '\x69', '\x67', '\x6e', '\x61', '\x74', '\x75', '\x72', '\x65', '\x2c', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x20', '\x29', '\x20', '\x29', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x4c', '\x49', '\x53', '\x54', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x5f', '\x32', '\x28', '\x54', '\x65', '\x73', '\x74', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x54', '\x65', '\x73', '\x74', '\x46', '\x75', '\x6e', '\x63', '\x2c', '\x20', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x54', '\x61', '\x67', '\x73', '\x2c', '\x20', '\x54', '\x6d', '\x70', '\x6c', '\x4c', '\x69', '\x73', '\x74', '\x29', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x53', '\x55', '\x50', '\x50', '\x52', '\x45', '\x53', '\x53', '\x5f', '\x47', '\x4c', '\x4f', '\x42', '\x41', '\x4c', '\x53', '\x5f', '\x57', '\x41', '\x52', '\x4e', '\x49', '\x4e', '\x47', '\x53', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x53', '\x55', '\x50', '\x50', '\x52', '\x45', '\x53', '\x53', '\x5f', '\x55', '\x4e', '\x55', '\x53', '\x45', '\x44', '\x5f', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x57', '\x41', '\x52', '\x4e', '\x49', '\x4e', '\x47', '\x53', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x54', '\x65', '\x73', '\x74', '\x54', '\x79', '\x70', '\x65', '\x3e', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x54', '\x65', '\x73', '\x74', '\x46', '\x75', '\x6e', '\x63', '\x28', '\x29', '\x3b', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x7b', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x4d', '\x41', '\x4b', '\x45', '\x5f', '\x4e', '\x41', '\x4d', '\x45', '\x53', '\x50', '\x41', '\x43', '\x45', '\x28', '\x54', '\x65', '\x73', '\x74', '\x4e', '\x61', '\x6d', '\x65', '\x29', '\x7b', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x59', '\x50', '\x45', '\x5f', '\x47', '\x45', '\x4e', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x2e', '\x2e', '\x2e', '\x20', '\x54', '\x79', '\x70', '\x65', '\x73', '\x3e', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x54', '\x65', '\x73', '\x74', '\x4e', '\x61', '\x6d', '\x65', '\x20', '\x7b', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x72', '\x65', '\x67', '\x5f', '\x74', '\x65', '\x73', '\x74', '\x73', '\x28', '\x29', '\x20', '\x7b', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x6e', '\x74', '\x20', '\x69', '\x6e', '\x64', '\x65', '\x78', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x75', '\x73', '\x69', '\x6e', '\x67', '\x20', '\x65', '\x78', '\x70', '\x61', '\x6e', '\x64', '\x65', '\x72', '\x20', '\x3d', '\x20', '\x69', '\x6e', '\x74', '\x5b', '\x5d', '\x3b', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x28', '\x76', '\x6f', '\x69', '\x64', '\x29', '\x65', '\x78', '\x70', '\x61', '\x6e', '\x64', '\x65', '\x72', '\x7b', '\x28', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x41', '\x75', '\x74', '\x6f', '\x52', '\x65', '\x67', '\x28', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x6d', '\x61', '\x6b', '\x65', '\x54', '\x65', '\x73', '\x74', '\x49', '\x6e', '\x76', '\x6f', '\x6b', '\x65', '\x72', '\x28', '\x20', '\x26', '\x54', '\x65', '\x73', '\x74', '\x46', '\x75', '\x6e', '\x63', '\x3c', '\x54', '\x79', '\x70', '\x65', '\x73', '\x3e', '\x20', '\x29', '\x2c', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x4c', '\x49', '\x4e', '\x45', '\x49', '\x4e', '\x46', '\x4f', '\x2c', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x66', '\x28', '\x29', '\x2c', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x4e', '\x61', '\x6d', '\x65', '\x41', '\x6e', '\x64', '\x54', '\x61', '\x67', '\x73', '\x7b', '\x20', '\x4e', '\x61', '\x6d', '\x65', '\x20', '\x22', '\x20', '\x2d', '\x20', '\x22', '\x20', '\x2b', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x28', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x53', '\x54', '\x52', '\x49', '\x4e', '\x47', '\x49', '\x5a', '\x45', '\x28', '\x54', '\x6d', '\x70', '\x6c', '\x4c', '\x69', '\x73', '\x74', '\x29', '\x29', '\x20', '\x2b', '\x20', '\x22', '\x20', '\x2d', '\x20', '\x22', '\x20', '\x2b', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x74', '\x6f', '\x5f', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x28', '\x69', '\x6e', '\x64', '\x65', '\x78', '\x29', '\x2c', '\x20', '\x54', '\x61', '\x67', '\x73', '\x20', '\x7d', '\x20', '\x29', '\x2c', '\x20', '\x69', '\x6e', '\x64', '\x65', '\x78', '\x2b', '\x2b', '\x2c', '\x20', '\x30', '\x29', '\x2e', '\x2e', '\x2e', '\x20', '\x7d', '\x3b', '\x2f', '\x2a', '\x20', '\x4e', '\x4f', '\x4c', '\x49', '\x4e', '\x54', '\x20', '\x2a', '\x2f', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x20', '\x69', '\x6e', '\x74', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x55', '\x4e', '\x49', '\x51', '\x55', '\x45', '\x5f', '\x4e', '\x41', '\x4d', '\x45', '\x28', '\x20', '\x67', '\x6c', '\x6f', '\x62', '\x61', '\x6c', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x61', '\x72', '\x20', '\x29', '\x20', '\x3d', '\x20', '\x5b', '\x5d', '\x28', '\x29', '\x7b', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x75', '\x73', '\x69', '\x6e', '\x67', '\x20', '\x54', '\x65', '\x73', '\x74', '\x49', '\x6e', '\x69', '\x74', '\x20', '\x3d', '\x20', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x63', '\x6f', '\x6e', '\x76', '\x65', '\x72', '\x74', '\x3c', '\x54', '\x65', '\x73', '\x74', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x54', '\x6d', '\x70', '\x6c', '\x4c', '\x69', '\x73', '\x74', '\x3e', '\x3a', '\x3a', '\x74', '\x79', '\x70', '\x65', '\x3b', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x54', '\x65', '\x73', '\x74', '\x49', '\x6e', '\x69', '\x74', '\x20', '\x74', '\x3b', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x2e', '\x72', '\x65', '\x67', '\x5f', '\x74', '\x65', '\x73', '\x74', '\x73', '\x28', '\x29', '\x3b', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x30', '\x3b', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x28', '\x29', '\x3b', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x7d', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x55', '\x4e', '\x53', '\x55', '\x50', '\x50', '\x52', '\x45', '\x53', '\x53', '\x5f', '\x47', '\x4c', '\x4f', '\x42', '\x41', '\x4c', '\x53', '\x5f', '\x57', '\x41', '\x52', '\x4e', '\x49', '\x4e', '\x47', '\x53', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x55', '\x4e', '\x53', '\x55', '\x50', '\x50', '\x52', '\x45', '\x53', '\x53', '\x5f', '\x55', '\x4e', '\x55', '\x53', '\x45', '\x44', '\x5f', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x57', '\x41', '\x52', '\x4e', '\x49', '\x4e', '\x47', '\x53', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x54', '\x65', '\x73', '\x74', '\x54', '\x79', '\x70', '\x65', '\x3e', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x54', '\x65', '\x73', '\x74', '\x46', '\x75', '\x6e', '\x63', '\x28', '\x29', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x4c', '\x49', '\x53', '\x54', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x28', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x54', '\x61', '\x67', '\x73', '\x2c', '\x20', '\x54', '\x6d', '\x70', '\x6c', '\x4c', '\x69', '\x73', '\x74', '\x29', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x4c', '\x49', '\x53', '\x54', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x5f', '\x32', '\x28', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x55', '\x4e', '\x49', '\x51', '\x55', '\x45', '\x5f', '\x4e', '\x41', '\x4d', '\x45', '\x28', '\x20', '\x5f', '\x5f', '\x5f', '\x5f', '\x43', '\x5f', '\x41', '\x5f', '\x54', '\x5f', '\x43', '\x5f', '\x48', '\x5f', '\x5f', '\x5f', '\x5f', '\x54', '\x5f', '\x45', '\x5f', '\x4d', '\x5f', '\x50', '\x5f', '\x4c', '\x5f', '\x41', '\x5f', '\x54', '\x5f', '\x45', '\x5f', '\x5f', '\x5f', '\x5f', '\x54', '\x5f', '\x45', '\x5f', '\x53', '\x5f', '\x54', '\x5f', '\x5f', '\x5f', '\x5f', '\x20', '\x29', '\x2c', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x55', '\x4e', '\x49', '\x51', '\x55', '\x45', '\x5f', '\x4e', '\x41', '\x4d', '\x45', '\x28', '\x20', '\x5f', '\x5f', '\x5f', '\x5f', '\x43', '\x5f', '\x41', '\x5f', '\x54', '\x5f', '\x43', '\x5f', '\x48', '\x5f', '\x5f', '\x5f', '\x5f', '\x54', '\x5f', '\x45', '\x5f', '\x4d', '\x5f', '\x50', '\x5f', '\x4c', '\x5f', '\x41', '\x5f', '\x54', '\x5f', '\x45', '\x5f', '\x5f', '\x5f', '\x5f', '\x54', '\x5f', '\x45', '\x5f', '\x53', '\x5f', '\x54', '\x5f', '\x5f', '\x5f', '\x5f', '\x46', '\x5f', '\x55', '\x5f', '\x4e', '\x5f', '\x43', '\x5f', '\x5f', '\x5f', '\x5f', '\x20', '\x29', '\x2c', '\x20', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x54', '\x61', '\x67', '\x73', '\x2c', '\x20', '\x54', '\x6d', '\x70', '\x6c', '\x4c', '\x69', '\x73', '\x74', '\x20', '\x29', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x5f', '\x32', '\x28', '\x20', '\x54', '\x65', '\x73', '\x74', '\x4e', '\x61', '\x6d', '\x65', '\x43', '\x6c', '\x61', '\x73', '\x73', '\x2c', '\x20', '\x54', '\x65', '\x73', '\x74', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x43', '\x6c', '\x61', '\x73', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x54', '\x61', '\x67', '\x73', '\x2c', '\x20', '\x53', '\x69', '\x67', '\x6e', '\x61', '\x74', '\x75', '\x72', '\x65', '\x2c', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x53', '\x55', '\x50', '\x50', '\x52', '\x45', '\x53', '\x53', '\x5f', '\x47', '\x4c', '\x4f', '\x42', '\x41', '\x4c', '\x53', '\x5f', '\x57', '\x41', '\x52', '\x4e', '\x49', '\x4e', '\x47', '\x53', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x53', '\x55', '\x50', '\x50', '\x52', '\x45', '\x53', '\x53', '\x5f', '\x5a', '\x45', '\x52', '\x4f', '\x5f', '\x56', '\x41', '\x52', '\x49', '\x41', '\x44', '\x49', '\x43', '\x5f', '\x57', '\x41', '\x52', '\x4e', '\x49', '\x4e', '\x47', '\x53', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x53', '\x55', '\x50', '\x50', '\x52', '\x45', '\x53', '\x53', '\x5f', '\x55', '\x4e', '\x55', '\x53', '\x45', '\x44', '\x5f', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x57', '\x41', '\x52', '\x4e', '\x49', '\x4e', '\x47', '\x53', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x7b', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x4d', '\x41', '\x4b', '\x45', '\x5f', '\x4e', '\x41', '\x4d', '\x45', '\x53', '\x50', '\x41', '\x43', '\x45', '\x28', '\x54', '\x65', '\x73', '\x74', '\x4e', '\x61', '\x6d', '\x65', '\x29', '\x7b', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x59', '\x50', '\x45', '\x5f', '\x47', '\x45', '\x4e', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x4e', '\x54', '\x54', '\x50', '\x5f', '\x47', '\x45', '\x4e', '\x28', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x4d', '\x4f', '\x56', '\x45', '\x5f', '\x50', '\x41', '\x52', '\x45', '\x4e', '\x53', '\x28', '\x53', '\x69', '\x67', '\x6e', '\x61', '\x74', '\x75', '\x72', '\x65', '\x29', '\x29', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x44', '\x45', '\x43', '\x4c', '\x41', '\x52', '\x45', '\x5f', '\x53', '\x49', '\x47', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x28', '\x54', '\x65', '\x73', '\x74', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x43', '\x6c', '\x61', '\x73', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x4d', '\x4f', '\x56', '\x45', '\x5f', '\x50', '\x41', '\x52', '\x45', '\x4e', '\x53', '\x28', '\x53', '\x69', '\x67', '\x6e', '\x61', '\x74', '\x75', '\x72', '\x65', '\x29', '\x29', '\x3b', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x4e', '\x54', '\x54', '\x50', '\x5f', '\x52', '\x45', '\x47', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x5f', '\x47', '\x45', '\x4e', '\x28', '\x54', '\x65', '\x73', '\x74', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x4d', '\x4f', '\x56', '\x45', '\x5f', '\x50', '\x41', '\x52', '\x45', '\x4e', '\x53', '\x28', '\x53', '\x69', '\x67', '\x6e', '\x61', '\x74', '\x75', '\x72', '\x65', '\x29', '\x29', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x2e', '\x2e', '\x2e', '\x54', '\x79', '\x70', '\x65', '\x73', '\x3e', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x54', '\x65', '\x73', '\x74', '\x4e', '\x61', '\x6d', '\x65', '\x43', '\x6c', '\x61', '\x73', '\x73', '\x7b', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x54', '\x65', '\x73', '\x74', '\x4e', '\x61', '\x6d', '\x65', '\x43', '\x6c', '\x61', '\x73', '\x73', '\x28', '\x29', '\x7b', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x6e', '\x74', '\x20', '\x69', '\x6e', '\x64', '\x65', '\x78', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x65', '\x78', '\x70', '\x72', '\x20', '\x63', '\x68', '\x61', '\x72', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x2a', '\x20', '\x74', '\x6d', '\x70', '\x6c', '\x5f', '\x74', '\x79', '\x70', '\x65', '\x73', '\x5b', '\x5d', '\x20', '\x3d', '\x20', '\x7b', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x43', '\x5f', '\x4c', '\x49', '\x53', '\x54', '\x28', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x53', '\x54', '\x52', '\x49', '\x4e', '\x47', '\x49', '\x5a', '\x45', '\x5f', '\x57', '\x49', '\x54', '\x48', '\x4f', '\x55', '\x54', '\x5f', '\x50', '\x41', '\x52', '\x45', '\x4e', '\x53', '\x2c', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x29', '\x7d', '\x3b', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x75', '\x73', '\x69', '\x6e', '\x67', '\x20', '\x65', '\x78', '\x70', '\x61', '\x6e', '\x64', '\x65', '\x72', '\x20', '\x3d', '\x20', '\x69', '\x6e', '\x74', '\x5b', '\x5d', '\x3b', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x28', '\x76', '\x6f', '\x69', '\x64', '\x29', '\x65', '\x78', '\x70', '\x61', '\x6e', '\x64', '\x65', '\x72', '\x7b', '\x28', '\x72', '\x65', '\x67', '\x5f', '\x74', '\x65', '\x73', '\x74', '\x28', '\x54', '\x79', '\x70', '\x65', '\x73', '\x7b', '\x7d', '\x2c', '\x20', '\x23', '\x43', '\x6c', '\x61', '\x73', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x4e', '\x61', '\x6d', '\x65', '\x41', '\x6e', '\x64', '\x54', '\x61', '\x67', '\x73', '\x7b', '\x20', '\x4e', '\x61', '\x6d', '\x65', '\x20', '\x22', '\x20', '\x2d', '\x20', '\x22', '\x20', '\x2b', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x28', '\x74', '\x6d', '\x70', '\x6c', '\x5f', '\x74', '\x79', '\x70', '\x65', '\x73', '\x5b', '\x69', '\x6e', '\x64', '\x65', '\x78', '\x5d', '\x29', '\x2c', '\x20', '\x54', '\x61', '\x67', '\x73', '\x20', '\x7d', '\x20', '\x29', '\x2c', '\x20', '\x69', '\x6e', '\x64', '\x65', '\x78', '\x2b', '\x2b', '\x2c', '\x20', '\x30', '\x29', '\x2e', '\x2e', '\x2e', '\x20', '\x7d', '\x3b', '\x2f', '\x2a', '\x20', '\x4e', '\x4f', '\x4c', '\x49', '\x4e', '\x54', '\x20', '\x2a', '\x2f', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x20', '\x69', '\x6e', '\x74', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x55', '\x4e', '\x49', '\x51', '\x55', '\x45', '\x5f', '\x4e', '\x41', '\x4d', '\x45', '\x28', '\x20', '\x67', '\x6c', '\x6f', '\x62', '\x61', '\x6c', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x61', '\x72', '\x20', '\x29', '\x20', '\x3d', '\x20', '\x5b', '\x5d', '\x28', '\x29', '\x7b', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x54', '\x65', '\x73', '\x74', '\x4e', '\x61', '\x6d', '\x65', '\x43', '\x6c', '\x61', '\x73', '\x73', '\x3c', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x4d', '\x41', '\x4b', '\x45', '\x5f', '\x54', '\x59', '\x50', '\x45', '\x5f', '\x4c', '\x49', '\x53', '\x54', '\x53', '\x5f', '\x46', '\x52', '\x4f', '\x4d', '\x5f', '\x54', '\x59', '\x50', '\x45', '\x53', '\x28', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x29', '\x3e', '\x28', '\x29', '\x3b', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x30', '\x3b', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x28', '\x29', '\x3b', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x55', '\x4e', '\x53', '\x55', '\x50', '\x50', '\x52', '\x45', '\x53', '\x53', '\x5f', '\x47', '\x4c', '\x4f', '\x42', '\x41', '\x4c', '\x53', '\x5f', '\x57', '\x41', '\x52', '\x4e', '\x49', '\x4e', '\x47', '\x53', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x55', '\x4e', '\x53', '\x55', '\x50', '\x50', '\x52', '\x45', '\x53', '\x53', '\x5f', '\x5a', '\x45', '\x52', '\x4f', '\x5f', '\x56', '\x41', '\x52', '\x49', '\x41', '\x44', '\x49', '\x43', '\x5f', '\x57', '\x41', '\x52', '\x4e', '\x49', '\x4e', '\x47', '\x53', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x55', '\x4e', '\x53', '\x55', '\x50', '\x50', '\x52', '\x45', '\x53', '\x53', '\x5f', '\x55', '\x4e', '\x55', '\x53', '\x45', '\x44', '\x5f', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x57', '\x41', '\x52', '\x4e', '\x49', '\x4e', '\x47', '\x53', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x44', '\x45', '\x46', '\x49', '\x4e', '\x45', '\x5f', '\x53', '\x49', '\x47', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x28', '\x54', '\x65', '\x73', '\x74', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x4d', '\x4f', '\x56', '\x45', '\x5f', '\x50', '\x41', '\x52', '\x45', '\x4e', '\x53', '\x28', '\x53', '\x69', '\x67', '\x6e', '\x61', '\x74', '\x75', '\x72', '\x65', '\x29', '\x29', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x6e', '\x64', '\x65', '\x66', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x54', '\x52', '\x41', '\x44', '\x49', '\x54', '\x49', '\x4f', '\x4e', '\x41', '\x4c', '\x5f', '\x4d', '\x53', '\x56', '\x43', '\x5f', '\x50', '\x52', '\x45', '\x50', '\x52', '\x4f', '\x43', '\x45', '\x53', '\x53', '\x4f', '\x52', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x28', '\x20', '\x43', '\x6c', '\x61', '\x73', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x54', '\x61', '\x67', '\x73', '\x2c', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x5f', '\x32', '\x28', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x55', '\x4e', '\x49', '\x51', '\x55', '\x45', '\x5f', '\x4e', '\x41', '\x4d', '\x45', '\x28', '\x20', '\x5f', '\x5f', '\x5f', '\x5f', '\x43', '\x5f', '\x41', '\x5f', '\x54', '\x5f', '\x43', '\x5f', '\x48', '\x5f', '\x5f', '\x5f', '\x5f', '\x54', '\x5f', '\x45', '\x5f', '\x4d', '\x5f', '\x50', '\x5f', '\x4c', '\x5f', '\x41', '\x5f', '\x54', '\x5f', '\x45', '\x5f', '\x5f', '\x5f', '\x5f', '\x54', '\x5f', '\x45', '\x5f', '\x53', '\x5f', '\x54', '\x5f', '\x5f', '\x5f', '\x5f', '\x43', '\x5f', '\x4c', '\x5f', '\x41', '\x5f', '\x53', '\x5f', '\x53', '\x5f', '\x5f', '\x5f', '\x5f', '\x20', '\x29', '\x2c', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x55', '\x4e', '\x49', '\x51', '\x55', '\x45', '\x5f', '\x4e', '\x41', '\x4d', '\x45', '\x28', '\x20', '\x5f', '\x5f', '\x5f', '\x5f', '\x43', '\x5f', '\x41', '\x5f', '\x54', '\x5f', '\x43', '\x5f', '\x48', '\x5f', '\x5f', '\x5f', '\x5f', '\x54', '\x5f', '\x45', '\x5f', '\x4d', '\x5f', '\x50', '\x5f', '\x4c', '\x5f', '\x41', '\x5f', '\x54', '\x5f', '\x45', '\x5f', '\x5f', '\x5f', '\x5f', '\x54', '\x5f', '\x45', '\x5f', '\x53', '\x5f', '\x54', '\x5f', '\x5f', '\x5f', '\x5f', '\x20', '\x29', '\x20', '\x2c', '\x20', '\x43', '\x6c', '\x61', '\x73', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x54', '\x61', '\x67', '\x73', '\x2c', '\x20', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x54', '\x2c', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x20', '\x29', '\x0d', '\x0a', '\x23', '\x65', '\x6c', '\x73', '\x65', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x28', '\x20', '\x43', '\x6c', '\x61', '\x73', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x54', '\x61', '\x67', '\x73', '\x2c', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x45', '\x58', '\x50', '\x41', '\x4e', '\x44', '\x5f', '\x56', '\x41', '\x52', '\x47', '\x53', '\x28', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x5f', '\x32', '\x28', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x55', '\x4e', '\x49', '\x51', '\x55', '\x45', '\x5f', '\x4e', '\x41', '\x4d', '\x45', '\x28', '\x20', '\x5f', '\x5f', '\x5f', '\x5f', '\x43', '\x5f', '\x41', '\x5f', '\x54', '\x5f', '\x43', '\x5f', '\x48', '\x5f', '\x5f', '\x5f', '\x5f', '\x54', '\x5f', '\x45', '\x5f', '\x4d', '\x5f', '\x50', '\x5f', '\x4c', '\x5f', '\x41', '\x5f', '\x54', '\x5f', '\x45', '\x5f', '\x5f', '\x5f', '\x5f', '\x54', '\x5f', '\x45', '\x5f', '\x53', '\x5f', '\x54', '\x5f', '\x5f', '\x5f', '\x5f', '\x43', '\x5f', '\x4c', '\x5f', '\x41', '\x5f', '\x53', '\x5f', '\x53', '\x5f', '\x5f', '\x5f', '\x5f', '\x20', '\x29', '\x2c', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x55', '\x4e', '\x49', '\x51', '\x55', '\x45', '\x5f', '\x4e', '\x41', '\x4d', '\x45', '\x28', '\x20', '\x5f', '\x5f', '\x5f', '\x5f', '\x43', '\x5f', '\x41', '\x5f', '\x54', '\x5f', '\x43', '\x5f', '\x48', '\x5f', '\x5f', '\x5f', '\x5f', '\x54', '\x5f', '\x45', '\x5f', '\x4d', '\x5f', '\x50', '\x5f', '\x4c', '\x5f', '\x41', '\x5f', '\x54', '\x5f', '\x45', '\x5f', '\x5f', '\x5f', '\x5f', '\x54', '\x5f', '\x45', '\x5f', '\x53', '\x5f', '\x54', '\x5f', '\x5f', '\x5f', '\x5f', '\x20', '\x29', '\x20', '\x2c', '\x20', '\x43', '\x6c', '\x61', '\x73', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x54', '\x61', '\x67', '\x73', '\x2c', '\x20', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x54', '\x2c', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x20', '\x29', '\x20', '\x29', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x6e', '\x64', '\x65', '\x66', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x54', '\x52', '\x41', '\x44', '\x49', '\x54', '\x49', '\x4f', '\x4e', '\x41', '\x4c', '\x5f', '\x4d', '\x53', '\x56', '\x43', '\x5f', '\x50', '\x52', '\x45', '\x50', '\x52', '\x4f', '\x43', '\x45', '\x53', '\x53', '\x4f', '\x52', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x5f', '\x53', '\x49', '\x47', '\x28', '\x20', '\x43', '\x6c', '\x61', '\x73', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x54', '\x61', '\x67', '\x73', '\x2c', '\x20', '\x53', '\x69', '\x67', '\x6e', '\x61', '\x74', '\x75', '\x72', '\x65', '\x2c', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x5f', '\x32', '\x28', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x55', '\x4e', '\x49', '\x51', '\x55', '\x45', '\x5f', '\x4e', '\x41', '\x4d', '\x45', '\x28', '\x20', '\x5f', '\x5f', '\x5f', '\x5f', '\x43', '\x5f', '\x41', '\x5f', '\x54', '\x5f', '\x43', '\x5f', '\x48', '\x5f', '\x5f', '\x5f', '\x5f', '\x54', '\x5f', '\x45', '\x5f', '\x4d', '\x5f', '\x50', '\x5f', '\x4c', '\x5f', '\x41', '\x5f', '\x54', '\x5f', '\x45', '\x5f', '\x5f', '\x5f', '\x5f', '\x54', '\x5f', '\x45', '\x5f', '\x53', '\x5f', '\x54', '\x5f', '\x5f', '\x5f', '\x5f', '\x43', '\x5f', '\x4c', '\x5f', '\x41', '\x5f', '\x53', '\x5f', '\x53', '\x5f', '\x5f', '\x5f', '\x5f', '\x20', '\x29', '\x2c', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x55', '\x4e', '\x49', '\x51', '\x55', '\x45', '\x5f', '\x4e', '\x41', '\x4d', '\x45', '\x28', '\x20', '\x5f', '\x5f', '\x5f', '\x5f', '\x43', '\x5f', '\x41', '\x5f', '\x54', '\x5f', '\x43', '\x5f', '\x48', '\x5f', '\x5f', '\x5f', '\x5f', '\x54', '\x5f', '\x45', '\x5f', '\x4d', '\x5f', '\x50', '\x5f', '\x4c', '\x5f', '\x41', '\x5f', '\x54', '\x5f', '\x45', '\x5f', '\x5f', '\x5f', '\x5f', '\x54', '\x5f', '\x45', '\x5f', '\x53', '\x5f', '\x54', '\x5f', '\x5f', '\x5f', '\x5f', '\x20', '\x29', '\x20', '\x2c', '\x20', '\x43', '\x6c', '\x61', '\x73', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x54', '\x61', '\x67', '\x73', '\x2c', '\x20', '\x53', '\x69', '\x67', '\x6e', '\x61', '\x74', '\x75', '\x72', '\x65', '\x2c', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x20', '\x29', '\x0d', '\x0a', '\x23', '\x65', '\x6c', '\x73', '\x65', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x5f', '\x53', '\x49', '\x47', '\x28', '\x20', '\x43', '\x6c', '\x61', '\x73', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x54', '\x61', '\x67', '\x73', '\x2c', '\x20', '\x53', '\x69', '\x67', '\x6e', '\x61', '\x74', '\x75', '\x72', '\x65', '\x2c', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x45', '\x58', '\x50', '\x41', '\x4e', '\x44', '\x5f', '\x56', '\x41', '\x52', '\x47', '\x53', '\x28', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x5f', '\x32', '\x28', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x55', '\x4e', '\x49', '\x51', '\x55', '\x45', '\x5f', '\x4e', '\x41', '\x4d', '\x45', '\x28', '\x20', '\x5f', '\x5f', '\x5f', '\x5f', '\x43', '\x5f', '\x41', '\x5f', '\x54', '\x5f', '\x43', '\x5f', '\x48', '\x5f', '\x5f', '\x5f', '\x5f', '\x54', '\x5f', '\x45', '\x5f', '\x4d', '\x5f', '\x50', '\x5f', '\x4c', '\x5f', '\x41', '\x5f', '\x54', '\x5f', '\x45', '\x5f', '\x5f', '\x5f', '\x5f', '\x54', '\x5f', '\x45', '\x5f', '\x53', '\x5f', '\x54', '\x5f', '\x5f', '\x5f', '\x5f', '\x43', '\x5f', '\x4c', '\x5f', '\x41', '\x5f', '\x53', '\x5f', '\x53', '\x5f', '\x5f', '\x5f', '\x5f', '\x20', '\x29', '\x2c', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x55', '\x4e', '\x49', '\x51', '\x55', '\x45', '\x5f', '\x4e', '\x41', '\x4d', '\x45', '\x28', '\x20', '\x5f', '\x5f', '\x5f', '\x5f', '\x43', '\x5f', '\x41', '\x5f', '\x54', '\x5f', '\x43', '\x5f', '\x48', '\x5f', '\x5f', '\x5f', '\x5f', '\x54', '\x5f', '\x45', '\x5f', '\x4d', '\x5f', '\x50', '\x5f', '\x4c', '\x5f', '\x41', '\x5f', '\x54', '\x5f', '\x45', '\x5f', '\x5f', '\x5f', '\x5f', '\x54', '\x5f', '\x45', '\x5f', '\x53', '\x5f', '\x54', '\x5f', '\x5f', '\x5f', '\x5f', '\x20', '\x29', '\x20', '\x2c', '\x20', '\x43', '\x6c', '\x61', '\x73', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x54', '\x61', '\x67', '\x73', '\x2c', '\x20', '\x53', '\x69', '\x67', '\x6e', '\x61', '\x74', '\x75', '\x72', '\x65', '\x2c', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x20', '\x29', '\x20', '\x29', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x50', '\x52', '\x4f', '\x44', '\x55', '\x43', '\x54', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x5f', '\x32', '\x28', '\x54', '\x65', '\x73', '\x74', '\x4e', '\x61', '\x6d', '\x65', '\x43', '\x6c', '\x61', '\x73', '\x73', '\x2c', '\x20', '\x54', '\x65', '\x73', '\x74', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x43', '\x6c', '\x61', '\x73', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x54', '\x61', '\x67', '\x73', '\x2c', '\x20', '\x53', '\x69', '\x67', '\x6e', '\x61', '\x74', '\x75', '\x72', '\x65', '\x2c', '\x20', '\x54', '\x6d', '\x70', '\x6c', '\x54', '\x79', '\x70', '\x65', '\x73', '\x2c', '\x20', '\x54', '\x79', '\x70', '\x65', '\x73', '\x4c', '\x69', '\x73', '\x74', '\x29', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x53', '\x55', '\x50', '\x50', '\x52', '\x45', '\x53', '\x53', '\x5f', '\x47', '\x4c', '\x4f', '\x42', '\x41', '\x4c', '\x53', '\x5f', '\x57', '\x41', '\x52', '\x4e', '\x49', '\x4e', '\x47', '\x53', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x53', '\x55', '\x50', '\x50', '\x52', '\x45', '\x53', '\x53', '\x5f', '\x5a', '\x45', '\x52', '\x4f', '\x5f', '\x56', '\x41', '\x52', '\x49', '\x41', '\x44', '\x49', '\x43', '\x5f', '\x57', '\x41', '\x52', '\x4e', '\x49', '\x4e', '\x47', '\x53', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x53', '\x55', '\x50', '\x50', '\x52', '\x45', '\x53', '\x53', '\x5f', '\x55', '\x4e', '\x55', '\x53', '\x45', '\x44', '\x5f', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x57', '\x41', '\x52', '\x4e', '\x49', '\x4e', '\x47', '\x53', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x54', '\x65', '\x73', '\x74', '\x54', '\x79', '\x70', '\x65', '\x3e', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x54', '\x65', '\x73', '\x74', '\x4e', '\x61', '\x6d', '\x65', '\x20', '\x3a', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x4d', '\x4f', '\x56', '\x45', '\x5f', '\x50', '\x41', '\x52', '\x45', '\x4e', '\x53', '\x28', '\x43', '\x6c', '\x61', '\x73', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x20', '\x3c', '\x54', '\x65', '\x73', '\x74', '\x54', '\x79', '\x70', '\x65', '\x3e', '\x29', '\x20', '\x7b', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x74', '\x65', '\x73', '\x74', '\x28', '\x29', '\x3b', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x7b', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x4d', '\x41', '\x4b', '\x45', '\x5f', '\x4e', '\x41', '\x4d', '\x45', '\x53', '\x50', '\x41', '\x43', '\x45', '\x28', '\x54', '\x65', '\x73', '\x74', '\x4e', '\x61', '\x6d', '\x65', '\x43', '\x6c', '\x61', '\x73', '\x73', '\x29', '\x20', '\x7b', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x59', '\x50', '\x45', '\x5f', '\x47', '\x45', '\x4e', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x4e', '\x54', '\x54', '\x50', '\x5f', '\x47', '\x45', '\x4e', '\x28', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x4d', '\x4f', '\x56', '\x45', '\x5f', '\x50', '\x41', '\x52', '\x45', '\x4e', '\x53', '\x28', '\x53', '\x69', '\x67', '\x6e', '\x61', '\x74', '\x75', '\x72', '\x65', '\x29', '\x29', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x2e', '\x2e', '\x2e', '\x54', '\x79', '\x70', '\x65', '\x73', '\x3e', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x54', '\x65', '\x73', '\x74', '\x4e', '\x61', '\x6d', '\x65', '\x43', '\x6c', '\x61', '\x73', '\x73', '\x7b', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x72', '\x65', '\x67', '\x5f', '\x74', '\x65', '\x73', '\x74', '\x73', '\x28', '\x29', '\x7b', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x6e', '\x74', '\x20', '\x69', '\x6e', '\x64', '\x65', '\x78', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x75', '\x73', '\x69', '\x6e', '\x67', '\x20', '\x65', '\x78', '\x70', '\x61', '\x6e', '\x64', '\x65', '\x72', '\x20', '\x3d', '\x20', '\x69', '\x6e', '\x74', '\x5b', '\x5d', '\x3b', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x65', '\x78', '\x70', '\x72', '\x20', '\x63', '\x68', '\x61', '\x72', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x2a', '\x20', '\x74', '\x6d', '\x70', '\x6c', '\x5f', '\x74', '\x79', '\x70', '\x65', '\x73', '\x5b', '\x5d', '\x20', '\x3d', '\x20', '\x7b', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x43', '\x5f', '\x4c', '\x49', '\x53', '\x54', '\x28', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x53', '\x54', '\x52', '\x49', '\x4e', '\x47', '\x49', '\x5a', '\x45', '\x5f', '\x57', '\x49', '\x54', '\x48', '\x4f', '\x55', '\x54', '\x5f', '\x50', '\x41', '\x52', '\x45', '\x4e', '\x53', '\x2c', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x4d', '\x4f', '\x56', '\x45', '\x5f', '\x50', '\x41', '\x52', '\x45', '\x4e', '\x53', '\x28', '\x54', '\x6d', '\x70', '\x6c', '\x54', '\x79', '\x70', '\x65', '\x73', '\x29', '\x29', '\x7d', '\x3b', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x65', '\x78', '\x70', '\x72', '\x20', '\x63', '\x68', '\x61', '\x72', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x2a', '\x20', '\x74', '\x79', '\x70', '\x65', '\x73', '\x5f', '\x6c', '\x69', '\x73', '\x74', '\x5b', '\x5d', '\x20', '\x3d', '\x20', '\x7b', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x43', '\x5f', '\x4c', '\x49', '\x53', '\x54', '\x28', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x53', '\x54', '\x52', '\x49', '\x4e', '\x47', '\x49', '\x5a', '\x45', '\x5f', '\x57', '\x49', '\x54', '\x48', '\x4f', '\x55', '\x54', '\x5f', '\x50', '\x41', '\x52', '\x45', '\x4e', '\x53', '\x2c', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x4d', '\x4f', '\x56', '\x45', '\x5f', '\x50', '\x41', '\x52', '\x45', '\x4e', '\x53', '\x28', '\x54', '\x79', '\x70', '\x65', '\x73', '\x4c', '\x69', '\x73', '\x74', '\x29', '\x29', '\x7d', '\x3b', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x65', '\x78', '\x70', '\x72', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x6e', '\x75', '\x6d', '\x5f', '\x74', '\x79', '\x70', '\x65', '\x73', '\x20', '\x3d', '\x20', '\x73', '\x69', '\x7a', '\x65', '\x6f', '\x66', '\x28', '\x74', '\x79', '\x70', '\x65', '\x73', '\x5f', '\x6c', '\x69', '\x73', '\x74', '\x29', '\x20', '\x2f', '\x20', '\x73', '\x69', '\x7a', '\x65', '\x6f', '\x66', '\x28', '\x74', '\x79', '\x70', '\x65', '\x73', '\x5f', '\x6c', '\x69', '\x73', '\x74', '\x5b', '\x30', '\x5d', '\x29', '\x3b', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x28', '\x76', '\x6f', '\x69', '\x64', '\x29', '\x65', '\x78', '\x70', '\x61', '\x6e', '\x64', '\x65', '\x72', '\x7b', '\x28', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x41', '\x75', '\x74', '\x6f', '\x52', '\x65', '\x67', '\x28', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x6d', '\x61', '\x6b', '\x65', '\x54', '\x65', '\x73', '\x74', '\x49', '\x6e', '\x76', '\x6f', '\x6b', '\x65', '\x72', '\x28', '\x20', '\x26', '\x54', '\x65', '\x73', '\x74', '\x4e', '\x61', '\x6d', '\x65', '\x3c', '\x54', '\x79', '\x70', '\x65', '\x73', '\x3e', '\x3a', '\x3a', '\x74', '\x65', '\x73', '\x74', '\x20', '\x29', '\x2c', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x4c', '\x49', '\x4e', '\x45', '\x49', '\x4e', '\x46', '\x4f', '\x2c', '\x20', '\x23', '\x43', '\x6c', '\x61', '\x73', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x4e', '\x61', '\x6d', '\x65', '\x41', '\x6e', '\x64', '\x54', '\x61', '\x67', '\x73', '\x7b', '\x20', '\x4e', '\x61', '\x6d', '\x65', '\x20', '\x22', '\x20', '\x2d', '\x20', '\x22', '\x20', '\x2b', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x28', '\x74', '\x6d', '\x70', '\x6c', '\x5f', '\x74', '\x79', '\x70', '\x65', '\x73', '\x5b', '\x69', '\x6e', '\x64', '\x65', '\x78', '\x20', '\x2f', '\x20', '\x6e', '\x75', '\x6d', '\x5f', '\x74', '\x79', '\x70', '\x65', '\x73', '\x5d', '\x29', '\x20', '\x2b', '\x20', '\x22', '\x3c', '\x22', '\x20', '\x2b', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x28', '\x74', '\x79', '\x70', '\x65', '\x73', '\x5f', '\x6c', '\x69', '\x73', '\x74', '\x5b', '\x69', '\x6e', '\x64', '\x65', '\x78', '\x20', '\x25', '\x20', '\x6e', '\x75', '\x6d', '\x5f', '\x74', '\x79', '\x70', '\x65', '\x73', '\x5d', '\x29', '\x20', '\x2b', '\x20', '\x22', '\x3e', '\x22', '\x2c', '\x20', '\x54', '\x61', '\x67', '\x73', '\x20', '\x7d', '\x20', '\x29', '\x2c', '\x20', '\x69', '\x6e', '\x64', '\x65', '\x78', '\x2b', '\x2b', '\x2c', '\x20', '\x30', '\x29', '\x2e', '\x2e', '\x2e', '\x20', '\x7d', '\x3b', '\x2f', '\x2a', '\x20', '\x4e', '\x4f', '\x4c', '\x49', '\x4e', '\x54', '\x20', '\x2a', '\x2f', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x20', '\x69', '\x6e', '\x74', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x55', '\x4e', '\x49', '\x51', '\x55', '\x45', '\x5f', '\x4e', '\x41', '\x4d', '\x45', '\x28', '\x20', '\x67', '\x6c', '\x6f', '\x62', '\x61', '\x6c', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x61', '\x72', '\x20', '\x29', '\x20', '\x3d', '\x20', '\x5b', '\x5d', '\x28', '\x29', '\x7b', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x75', '\x73', '\x69', '\x6e', '\x67', '\x20', '\x54', '\x65', '\x73', '\x74', '\x49', '\x6e', '\x69', '\x74', '\x20', '\x3d', '\x20', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x63', '\x72', '\x65', '\x61', '\x74', '\x65', '\x3c', '\x54', '\x65', '\x73', '\x74', '\x4e', '\x61', '\x6d', '\x65', '\x43', '\x6c', '\x61', '\x73', '\x73', '\x2c', '\x20', '\x64', '\x65', '\x63', '\x6c', '\x74', '\x79', '\x70', '\x65', '\x28', '\x67', '\x65', '\x74', '\x5f', '\x77', '\x72', '\x61', '\x70', '\x70', '\x65', '\x72', '\x3c', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x4d', '\x4f', '\x56', '\x45', '\x5f', '\x50', '\x41', '\x52', '\x45', '\x4e', '\x53', '\x28', '\x54', '\x6d', '\x70', '\x6c', '\x54', '\x79', '\x70', '\x65', '\x73', '\x29', '\x3e', '\x28', '\x29', '\x29', '\x2c', '\x20', '\x54', '\x79', '\x70', '\x65', '\x4c', '\x69', '\x73', '\x74', '\x3c', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x4d', '\x41', '\x4b', '\x45', '\x5f', '\x54', '\x59', '\x50', '\x45', '\x5f', '\x4c', '\x49', '\x53', '\x54', '\x53', '\x5f', '\x46', '\x52', '\x4f', '\x4d', '\x5f', '\x54', '\x59', '\x50', '\x45', '\x53', '\x28', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x4d', '\x4f', '\x56', '\x45', '\x5f', '\x50', '\x41', '\x52', '\x45', '\x4e', '\x53', '\x28', '\x54', '\x79', '\x70', '\x65', '\x73', '\x4c', '\x69', '\x73', '\x74', '\x29', '\x29', '\x3e', '\x3e', '\x3a', '\x3a', '\x74', '\x79', '\x70', '\x65', '\x3b', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x54', '\x65', '\x73', '\x74', '\x49', '\x6e', '\x69', '\x74', '\x20', '\x74', '\x3b', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x2e', '\x72', '\x65', '\x67', '\x5f', '\x74', '\x65', '\x73', '\x74', '\x73', '\x28', '\x29', '\x3b', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x30', '\x3b', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x28', '\x29', '\x3b', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x55', '\x4e', '\x53', '\x55', '\x50', '\x50', '\x52', '\x45', '\x53', '\x53', '\x5f', '\x47', '\x4c', '\x4f', '\x42', '\x41', '\x4c', '\x53', '\x5f', '\x57', '\x41', '\x52', '\x4e', '\x49', '\x4e', '\x47', '\x53', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x55', '\x4e', '\x53', '\x55', '\x50', '\x50', '\x52', '\x45', '\x53', '\x53', '\x5f', '\x5a', '\x45', '\x52', '\x4f', '\x5f', '\x56', '\x41', '\x52', '\x49', '\x41', '\x44', '\x49', '\x43', '\x5f', '\x57', '\x41', '\x52', '\x4e', '\x49', '\x4e', '\x47', '\x53', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x55', '\x4e', '\x53', '\x55', '\x50', '\x50', '\x52', '\x45', '\x53', '\x53', '\x5f', '\x55', '\x4e', '\x55', '\x53', '\x45', '\x44', '\x5f', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x57', '\x41', '\x52', '\x4e', '\x49', '\x4e', '\x47', '\x53', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x54', '\x65', '\x73', '\x74', '\x54', '\x79', '\x70', '\x65', '\x3e', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x54', '\x65', '\x73', '\x74', '\x4e', '\x61', '\x6d', '\x65', '\x3c', '\x54', '\x65', '\x73', '\x74', '\x54', '\x79', '\x70', '\x65', '\x3e', '\x3a', '\x3a', '\x74', '\x65', '\x73', '\x74', '\x28', '\x29', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x6e', '\x64', '\x65', '\x66', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x54', '\x52', '\x41', '\x44', '\x49', '\x54', '\x49', '\x4f', '\x4e', '\x41', '\x4c', '\x5f', '\x4d', '\x53', '\x56', '\x43', '\x5f', '\x50', '\x52', '\x45', '\x50', '\x52', '\x4f', '\x43', '\x45', '\x53', '\x53', '\x4f', '\x52', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x50', '\x52', '\x4f', '\x44', '\x55', '\x43', '\x54', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x28', '\x20', '\x43', '\x6c', '\x61', '\x73', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x54', '\x61', '\x67', '\x73', '\x2c', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x50', '\x52', '\x4f', '\x44', '\x55', '\x43', '\x54', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x5f', '\x32', '\x28', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x55', '\x4e', '\x49', '\x51', '\x55', '\x45', '\x5f', '\x4e', '\x41', '\x4d', '\x45', '\x28', '\x20', '\x5f', '\x5f', '\x5f', '\x5f', '\x43', '\x5f', '\x41', '\x5f', '\x54', '\x5f', '\x43', '\x5f', '\x48', '\x5f', '\x5f', '\x5f', '\x5f', '\x54', '\x5f', '\x45', '\x5f', '\x4d', '\x5f', '\x50', '\x5f', '\x4c', '\x5f', '\x41', '\x5f', '\x54', '\x5f', '\x45', '\x5f', '\x5f', '\x5f', '\x5f', '\x54', '\x5f', '\x45', '\x5f', '\x53', '\x5f', '\x54', '\x5f', '\x5f', '\x5f', '\x5f', '\x20', '\x29', '\x2c', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x55', '\x4e', '\x49', '\x51', '\x55', '\x45', '\x5f', '\x4e', '\x41', '\x4d', '\x45', '\x28', '\x20', '\x5f', '\x5f', '\x5f', '\x5f', '\x43', '\x5f', '\x41', '\x5f', '\x54', '\x5f', '\x43', '\x5f', '\x48', '\x5f', '\x5f', '\x5f', '\x5f', '\x54', '\x5f', '\x45', '\x5f', '\x4d', '\x5f', '\x50', '\x5f', '\x4c', '\x5f', '\x41', '\x5f', '\x54', '\x5f', '\x45', '\x5f', '\x5f', '\x5f', '\x5f', '\x54', '\x5f', '\x45', '\x5f', '\x53', '\x5f', '\x54', '\x5f', '\x5f', '\x5f', '\x5f', '\x46', '\x5f', '\x55', '\x5f', '\x4e', '\x5f', '\x43', '\x5f', '\x5f', '\x5f', '\x5f', '\x20', '\x29', '\x2c', '\x20', '\x43', '\x6c', '\x61', '\x73', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x54', '\x61', '\x67', '\x73', '\x2c', '\x20', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x54', '\x2c', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x20', '\x29', '\x0d', '\x0a', '\x23', '\x65', '\x6c', '\x73', '\x65', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x50', '\x52', '\x4f', '\x44', '\x55', '\x43', '\x54', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x28', '\x20', '\x43', '\x6c', '\x61', '\x73', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x54', '\x61', '\x67', '\x73', '\x2c', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x45', '\x58', '\x50', '\x41', '\x4e', '\x44', '\x5f', '\x56', '\x41', '\x52', '\x47', '\x53', '\x28', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x50', '\x52', '\x4f', '\x44', '\x55', '\x43', '\x54', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x5f', '\x32', '\x28', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x55', '\x4e', '\x49', '\x51', '\x55', '\x45', '\x5f', '\x4e', '\x41', '\x4d', '\x45', '\x28', '\x20', '\x5f', '\x5f', '\x5f', '\x5f', '\x43', '\x5f', '\x41', '\x5f', '\x54', '\x5f', '\x43', '\x5f', '\x48', '\x5f', '\x5f', '\x5f', '\x5f', '\x54', '\x5f', '\x45', '\x5f', '\x4d', '\x5f', '\x50', '\x5f', '\x4c', '\x5f', '\x41', '\x5f', '\x54', '\x5f', '\x45', '\x5f', '\x5f', '\x5f', '\x5f', '\x54', '\x5f', '\x45', '\x5f', '\x53', '\x5f', '\x54', '\x5f', '\x5f', '\x5f', '\x5f', '\x20', '\x29', '\x2c', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x55', '\x4e', '\x49', '\x51', '\x55', '\x45', '\x5f', '\x4e', '\x41', '\x4d', '\x45', '\x28', '\x20', '\x5f', '\x5f', '\x5f', '\x5f', '\x43', '\x5f', '\x41', '\x5f', '\x54', '\x5f', '\x43', '\x5f', '\x48', '\x5f', '\x5f', '\x5f', '\x5f', '\x54', '\x5f', '\x45', '\x5f', '\x4d', '\x5f', '\x50', '\x5f', '\x4c', '\x5f', '\x41', '\x5f', '\x54', '\x5f', '\x45', '\x5f', '\x5f', '\x5f', '\x5f', '\x54', '\x5f', '\x45', '\x5f', '\x53', '\x5f', '\x54', '\x5f', '\x5f', '\x5f', '\x5f', '\x46', '\x5f', '\x55', '\x5f', '\x4e', '\x5f', '\x43', '\x5f', '\x5f', '\x5f', '\x5f', '\x20', '\x29', '\x2c', '\x20', '\x43', '\x6c', '\x61', '\x73', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x54', '\x61', '\x67', '\x73', '\x2c', '\x20', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x54', '\x2c', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x20', '\x29', '\x20', '\x29', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x6e', '\x64', '\x65', '\x66', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x54', '\x52', '\x41', '\x44', '\x49', '\x54', '\x49', '\x4f', '\x4e', '\x41', '\x4c', '\x5f', '\x4d', '\x53', '\x56', '\x43', '\x5f', '\x50', '\x52', '\x45', '\x50', '\x52', '\x4f', '\x43', '\x45', '\x53', '\x53', '\x4f', '\x52', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x50', '\x52', '\x4f', '\x44', '\x55', '\x43', '\x54', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x5f', '\x53', '\x49', '\x47', '\x28', '\x20', '\x43', '\x6c', '\x61', '\x73', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x54', '\x61', '\x67', '\x73', '\x2c', '\x20', '\x53', '\x69', '\x67', '\x6e', '\x61', '\x74', '\x75', '\x72', '\x65', '\x2c', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x50', '\x52', '\x4f', '\x44', '\x55', '\x43', '\x54', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x5f', '\x32', '\x28', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x55', '\x4e', '\x49', '\x51', '\x55', '\x45', '\x5f', '\x4e', '\x41', '\x4d', '\x45', '\x28', '\x20', '\x5f', '\x5f', '\x5f', '\x5f', '\x43', '\x5f', '\x41', '\x5f', '\x54', '\x5f', '\x43', '\x5f', '\x48', '\x5f', '\x5f', '\x5f', '\x5f', '\x54', '\x5f', '\x45', '\x5f', '\x4d', '\x5f', '\x50', '\x5f', '\x4c', '\x5f', '\x41', '\x5f', '\x54', '\x5f', '\x45', '\x5f', '\x5f', '\x5f', '\x5f', '\x54', '\x5f', '\x45', '\x5f', '\x53', '\x5f', '\x54', '\x5f', '\x5f', '\x5f', '\x5f', '\x20', '\x29', '\x2c', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x55', '\x4e', '\x49', '\x51', '\x55', '\x45', '\x5f', '\x4e', '\x41', '\x4d', '\x45', '\x28', '\x20', '\x5f', '\x5f', '\x5f', '\x5f', '\x43', '\x5f', '\x41', '\x5f', '\x54', '\x5f', '\x43', '\x5f', '\x48', '\x5f', '\x5f', '\x5f', '\x5f', '\x54', '\x5f', '\x45', '\x5f', '\x4d', '\x5f', '\x50', '\x5f', '\x4c', '\x5f', '\x41', '\x5f', '\x54', '\x5f', '\x45', '\x5f', '\x5f', '\x5f', '\x5f', '\x54', '\x5f', '\x45', '\x5f', '\x53', '\x5f', '\x54', '\x5f', '\x5f', '\x5f', '\x5f', '\x46', '\x5f', '\x55', '\x5f', '\x4e', '\x5f', '\x43', '\x5f', '\x5f', '\x5f', '\x5f', '\x20', '\x29', '\x2c', '\x20', '\x43', '\x6c', '\x61', '\x73', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x54', '\x61', '\x67', '\x73', '\x2c', '\x20', '\x53', '\x69', '\x67', '\x6e', '\x61', '\x74', '\x75', '\x72', '\x65', '\x2c', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x20', '\x29', '\x0d', '\x0a', '\x23', '\x65', '\x6c', '\x73', '\x65', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x50', '\x52', '\x4f', '\x44', '\x55', '\x43', '\x54', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x5f', '\x53', '\x49', '\x47', '\x28', '\x20', '\x43', '\x6c', '\x61', '\x73', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x54', '\x61', '\x67', '\x73', '\x2c', '\x20', '\x53', '\x69', '\x67', '\x6e', '\x61', '\x74', '\x75', '\x72', '\x65', '\x2c', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x45', '\x58', '\x50', '\x41', '\x4e', '\x44', '\x5f', '\x56', '\x41', '\x52', '\x47', '\x53', '\x28', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x50', '\x52', '\x4f', '\x44', '\x55', '\x43', '\x54', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x5f', '\x32', '\x28', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x55', '\x4e', '\x49', '\x51', '\x55', '\x45', '\x5f', '\x4e', '\x41', '\x4d', '\x45', '\x28', '\x20', '\x5f', '\x5f', '\x5f', '\x5f', '\x43', '\x5f', '\x41', '\x5f', '\x54', '\x5f', '\x43', '\x5f', '\x48', '\x5f', '\x5f', '\x5f', '\x5f', '\x54', '\x5f', '\x45', '\x5f', '\x4d', '\x5f', '\x50', '\x5f', '\x4c', '\x5f', '\x41', '\x5f', '\x54', '\x5f', '\x45', '\x5f', '\x5f', '\x5f', '\x5f', '\x54', '\x5f', '\x45', '\x5f', '\x53', '\x5f', '\x54', '\x5f', '\x5f', '\x5f', '\x5f', '\x20', '\x29', '\x2c', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x55', '\x4e', '\x49', '\x51', '\x55', '\x45', '\x5f', '\x4e', '\x41', '\x4d', '\x45', '\x28', '\x20', '\x5f', '\x5f', '\x5f', '\x5f', '\x43', '\x5f', '\x41', '\x5f', '\x54', '\x5f', '\x43', '\x5f', '\x48', '\x5f', '\x5f', '\x5f', '\x5f', '\x54', '\x5f', '\x45', '\x5f', '\x4d', '\x5f', '\x50', '\x5f', '\x4c', '\x5f', '\x41', '\x5f', '\x54', '\x5f', '\x45', '\x5f', '\x5f', '\x5f', '\x5f', '\x54', '\x5f', '\x45', '\x5f', '\x53', '\x5f', '\x54', '\x5f', '\x5f', '\x5f', '\x5f', '\x46', '\x5f', '\x55', '\x5f', '\x4e', '\x5f', '\x43', '\x5f', '\x5f', '\x5f', '\x5f', '\x20', '\x29', '\x2c', '\x20', '\x43', '\x6c', '\x61', '\x73', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x54', '\x61', '\x67', '\x73', '\x2c', '\x20', '\x53', '\x69', '\x67', '\x6e', '\x61', '\x74', '\x75', '\x72', '\x65', '\x2c', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x20', '\x29', '\x20', '\x29', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x4c', '\x49', '\x53', '\x54', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x5f', '\x32', '\x28', '\x20', '\x54', '\x65', '\x73', '\x74', '\x4e', '\x61', '\x6d', '\x65', '\x43', '\x6c', '\x61', '\x73', '\x73', '\x2c', '\x20', '\x54', '\x65', '\x73', '\x74', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x43', '\x6c', '\x61', '\x73', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x54', '\x61', '\x67', '\x73', '\x2c', '\x20', '\x54', '\x6d', '\x70', '\x6c', '\x4c', '\x69', '\x73', '\x74', '\x29', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x53', '\x55', '\x50', '\x50', '\x52', '\x45', '\x53', '\x53', '\x5f', '\x47', '\x4c', '\x4f', '\x42', '\x41', '\x4c', '\x53', '\x5f', '\x57', '\x41', '\x52', '\x4e', '\x49', '\x4e', '\x47', '\x53', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x53', '\x55', '\x50', '\x50', '\x52', '\x45', '\x53', '\x53', '\x5f', '\x55', '\x4e', '\x55', '\x53', '\x45', '\x44', '\x5f', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x57', '\x41', '\x52', '\x4e', '\x49', '\x4e', '\x47', '\x53', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x54', '\x65', '\x73', '\x74', '\x54', '\x79', '\x70', '\x65', '\x3e', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x54', '\x65', '\x73', '\x74', '\x4e', '\x61', '\x6d', '\x65', '\x20', '\x3a', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x4d', '\x4f', '\x56', '\x45', '\x5f', '\x50', '\x41', '\x52', '\x45', '\x4e', '\x53', '\x28', '\x43', '\x6c', '\x61', '\x73', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x20', '\x3c', '\x54', '\x65', '\x73', '\x74', '\x54', '\x79', '\x70', '\x65', '\x3e', '\x29', '\x20', '\x7b', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x74', '\x65', '\x73', '\x74', '\x28', '\x29', '\x3b', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x7b', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x4d', '\x41', '\x4b', '\x45', '\x5f', '\x4e', '\x41', '\x4d', '\x45', '\x53', '\x50', '\x41', '\x43', '\x45', '\x28', '\x54', '\x65', '\x73', '\x74', '\x4e', '\x61', '\x6d', '\x65', '\x29', '\x7b', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x59', '\x50', '\x45', '\x5f', '\x47', '\x45', '\x4e', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x2e', '\x2e', '\x2e', '\x54', '\x79', '\x70', '\x65', '\x73', '\x3e', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x54', '\x65', '\x73', '\x74', '\x4e', '\x61', '\x6d', '\x65', '\x43', '\x6c', '\x61', '\x73', '\x73', '\x7b', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x72', '\x65', '\x67', '\x5f', '\x74', '\x65', '\x73', '\x74', '\x73', '\x28', '\x29', '\x7b', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x6e', '\x74', '\x20', '\x69', '\x6e', '\x64', '\x65', '\x78', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x75', '\x73', '\x69', '\x6e', '\x67', '\x20', '\x65', '\x78', '\x70', '\x61', '\x6e', '\x64', '\x65', '\x72', '\x20', '\x3d', '\x20', '\x69', '\x6e', '\x74', '\x5b', '\x5d', '\x3b', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x28', '\x76', '\x6f', '\x69', '\x64', '\x29', '\x65', '\x78', '\x70', '\x61', '\x6e', '\x64', '\x65', '\x72', '\x7b', '\x28', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x41', '\x75', '\x74', '\x6f', '\x52', '\x65', '\x67', '\x28', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x6d', '\x61', '\x6b', '\x65', '\x54', '\x65', '\x73', '\x74', '\x49', '\x6e', '\x76', '\x6f', '\x6b', '\x65', '\x72', '\x28', '\x20', '\x26', '\x54', '\x65', '\x73', '\x74', '\x4e', '\x61', '\x6d', '\x65', '\x3c', '\x54', '\x79', '\x70', '\x65', '\x73', '\x3e', '\x3a', '\x3a', '\x74', '\x65', '\x73', '\x74', '\x20', '\x29', '\x2c', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x4c', '\x49', '\x4e', '\x45', '\x49', '\x4e', '\x46', '\x4f', '\x2c', '\x20', '\x23', '\x43', '\x6c', '\x61', '\x73', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x4e', '\x61', '\x6d', '\x65', '\x41', '\x6e', '\x64', '\x54', '\x61', '\x67', '\x73', '\x7b', '\x20', '\x4e', '\x61', '\x6d', '\x65', '\x20', '\x22', '\x20', '\x2d', '\x20', '\x22', '\x20', '\x2b', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x28', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x53', '\x54', '\x52', '\x49', '\x4e', '\x47', '\x49', '\x5a', '\x45', '\x28', '\x54', '\x6d', '\x70', '\x6c', '\x4c', '\x69', '\x73', '\x74', '\x29', '\x29', '\x20', '\x2b', '\x20', '\x22', '\x20', '\x2d', '\x20', '\x22', '\x20', '\x2b', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x74', '\x6f', '\x5f', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x28', '\x69', '\x6e', '\x64', '\x65', '\x78', '\x29', '\x2c', '\x20', '\x54', '\x61', '\x67', '\x73', '\x20', '\x7d', '\x20', '\x29', '\x2c', '\x20', '\x69', '\x6e', '\x64', '\x65', '\x78', '\x2b', '\x2b', '\x2c', '\x20', '\x30', '\x29', '\x2e', '\x2e', '\x2e', '\x20', '\x7d', '\x3b', '\x2f', '\x2a', '\x20', '\x4e', '\x4f', '\x4c', '\x49', '\x4e', '\x54', '\x20', '\x2a', '\x2f', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x20', '\x69', '\x6e', '\x74', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x55', '\x4e', '\x49', '\x51', '\x55', '\x45', '\x5f', '\x4e', '\x41', '\x4d', '\x45', '\x28', '\x20', '\x67', '\x6c', '\x6f', '\x62', '\x61', '\x6c', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x61', '\x72', '\x20', '\x29', '\x20', '\x3d', '\x20', '\x5b', '\x5d', '\x28', '\x29', '\x7b', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x75', '\x73', '\x69', '\x6e', '\x67', '\x20', '\x54', '\x65', '\x73', '\x74', '\x49', '\x6e', '\x69', '\x74', '\x20', '\x3d', '\x20', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x63', '\x6f', '\x6e', '\x76', '\x65', '\x72', '\x74', '\x3c', '\x54', '\x65', '\x73', '\x74', '\x4e', '\x61', '\x6d', '\x65', '\x43', '\x6c', '\x61', '\x73', '\x73', '\x2c', '\x20', '\x54', '\x6d', '\x70', '\x6c', '\x4c', '\x69', '\x73', '\x74', '\x3e', '\x3a', '\x3a', '\x74', '\x79', '\x70', '\x65', '\x3b', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x54', '\x65', '\x73', '\x74', '\x49', '\x6e', '\x69', '\x74', '\x20', '\x74', '\x3b', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x2e', '\x72', '\x65', '\x67', '\x5f', '\x74', '\x65', '\x73', '\x74', '\x73', '\x28', '\x29', '\x3b', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x30', '\x3b', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x28', '\x29', '\x3b', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x7d', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x55', '\x4e', '\x53', '\x55', '\x50', '\x50', '\x52', '\x45', '\x53', '\x53', '\x5f', '\x47', '\x4c', '\x4f', '\x42', '\x41', '\x4c', '\x53', '\x5f', '\x57', '\x41', '\x52', '\x4e', '\x49', '\x4e', '\x47', '\x53', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x55', '\x4e', '\x53', '\x55', '\x50', '\x50', '\x52', '\x45', '\x53', '\x53', '\x5f', '\x55', '\x4e', '\x55', '\x53', '\x45', '\x44', '\x5f', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x57', '\x41', '\x52', '\x4e', '\x49', '\x4e', '\x47', '\x53', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x54', '\x65', '\x73', '\x74', '\x54', '\x79', '\x70', '\x65', '\x3e', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x54', '\x65', '\x73', '\x74', '\x4e', '\x61', '\x6d', '\x65', '\x3c', '\x54', '\x65', '\x73', '\x74', '\x54', '\x79', '\x70', '\x65', '\x3e', '\x3a', '\x3a', '\x74', '\x65', '\x73', '\x74', '\x28', '\x29', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x4c', '\x49', '\x53', '\x54', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x28', '\x43', '\x6c', '\x61', '\x73', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x54', '\x61', '\x67', '\x73', '\x2c', '\x20', '\x54', '\x6d', '\x70', '\x6c', '\x4c', '\x69', '\x73', '\x74', '\x29', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x4c', '\x49', '\x53', '\x54', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x5f', '\x32', '\x28', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x55', '\x4e', '\x49', '\x51', '\x55', '\x45', '\x5f', '\x4e', '\x41', '\x4d', '\x45', '\x28', '\x20', '\x5f', '\x5f', '\x5f', '\x5f', '\x43', '\x5f', '\x41', '\x5f', '\x54', '\x5f', '\x43', '\x5f', '\x48', '\x5f', '\x5f', '\x5f', '\x5f', '\x54', '\x5f', '\x45', '\x5f', '\x4d', '\x5f', '\x50', '\x5f', '\x4c', '\x5f', '\x41', '\x5f', '\x54', '\x5f', '\x45', '\x5f', '\x5f', '\x5f', '\x5f', '\x54', '\x5f', '\x45', '\x5f', '\x53', '\x5f', '\x54', '\x5f', '\x5f', '\x5f', '\x5f', '\x20', '\x29', '\x2c', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x55', '\x4e', '\x49', '\x51', '\x55', '\x45', '\x5f', '\x4e', '\x41', '\x4d', '\x45', '\x28', '\x20', '\x5f', '\x5f', '\x5f', '\x5f', '\x43', '\x5f', '\x41', '\x5f', '\x54', '\x5f', '\x43', '\x5f', '\x48', '\x5f', '\x5f', '\x5f', '\x5f', '\x54', '\x5f', '\x45', '\x5f', '\x4d', '\x5f', '\x50', '\x5f', '\x4c', '\x5f', '\x41', '\x5f', '\x54', '\x5f', '\x45', '\x5f', '\x5f', '\x5f', '\x5f', '\x54', '\x5f', '\x45', '\x5f', '\x53', '\x5f', '\x54', '\x5f', '\x5f', '\x5f', '\x5f', '\x46', '\x5f', '\x55', '\x5f', '\x4e', '\x5f', '\x43', '\x5f', '\x5f', '\x5f', '\x5f', '\x20', '\x29', '\x2c', '\x20', '\x43', '\x6c', '\x61', '\x73', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x54', '\x61', '\x67', '\x73', '\x2c', '\x20', '\x54', '\x6d', '\x70', '\x6c', '\x4c', '\x69', '\x73', '\x74', '\x20', '\x29', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x74', '\x65', '\x73', '\x74', '\x5f', '\x72', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x2e', '\x68', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x63', '\x61', '\x70', '\x74', '\x75', '\x72', '\x65', '\x2e', '\x68', '\x70', '\x70', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x68', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x72', '\x2e', '\x68', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x69', '\x6e', '\x66', '\x6f', '\x2e', '\x68', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x5f', '\x74', '\x79', '\x70', '\x65', '\x2e', '\x68', '\x0d', '\x0a', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x57', '\x61', '\x73', '\x3a', '\x3a', '\x4f', '\x66', '\x54', '\x79', '\x70', '\x65', '\x20', '\x65', '\x6e', '\x75', '\x6d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x57', '\x61', '\x73', '\x20', '\x7b', '\x20', '\x65', '\x6e', '\x75', '\x6d', '\x20', '\x4f', '\x66', '\x54', '\x79', '\x70', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x55', '\x6e', '\x6b', '\x6e', '\x6f', '\x77', '\x6e', '\x20', '\x3d', '\x20', '\x2d', '\x31', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x4f', '\x6b', '\x20', '\x3d', '\x20', '\x30', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x3d', '\x20', '\x31', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x57', '\x61', '\x72', '\x6e', '\x69', '\x6e', '\x67', '\x20', '\x3d', '\x20', '\x32', '\x2c', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x46', '\x61', '\x69', '\x6c', '\x75', '\x72', '\x65', '\x42', '\x69', '\x74', '\x20', '\x3d', '\x20', '\x30', '\x78', '\x31', '\x30', '\x2c', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x45', '\x78', '\x70', '\x72', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x46', '\x61', '\x69', '\x6c', '\x65', '\x64', '\x20', '\x3d', '\x20', '\x46', '\x61', '\x69', '\x6c', '\x75', '\x72', '\x65', '\x42', '\x69', '\x74', '\x20', '\x7c', '\x20', '\x31', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x45', '\x78', '\x70', '\x6c', '\x69', '\x63', '\x69', '\x74', '\x46', '\x61', '\x69', '\x6c', '\x75', '\x72', '\x65', '\x20', '\x3d', '\x20', '\x46', '\x61', '\x69', '\x6c', '\x75', '\x72', '\x65', '\x42', '\x69', '\x74', '\x20', '\x7c', '\x20', '\x32', '\x2c', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x45', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x3d', '\x20', '\x30', '\x78', '\x31', '\x30', '\x30', '\x20', '\x7c', '\x20', '\x46', '\x61', '\x69', '\x6c', '\x75', '\x72', '\x65', '\x42', '\x69', '\x74', '\x2c', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x54', '\x68', '\x72', '\x65', '\x77', '\x45', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x3d', '\x20', '\x45', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x7c', '\x20', '\x31', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x44', '\x69', '\x64', '\x6e', '\x74', '\x54', '\x68', '\x72', '\x6f', '\x77', '\x45', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x3d', '\x20', '\x45', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x7c', '\x20', '\x32', '\x2c', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x46', '\x61', '\x74', '\x61', '\x6c', '\x45', '\x72', '\x72', '\x6f', '\x72', '\x43', '\x6f', '\x6e', '\x64', '\x69', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x3d', '\x20', '\x30', '\x78', '\x32', '\x30', '\x30', '\x20', '\x7c', '\x20', '\x46', '\x61', '\x69', '\x6c', '\x75', '\x72', '\x65', '\x42', '\x69', '\x74', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x69', '\x73', '\x4f', '\x6b', '\x28', '\x20', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x57', '\x61', '\x73', '\x3a', '\x3a', '\x4f', '\x66', '\x54', '\x79', '\x70', '\x65', '\x20', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x54', '\x79', '\x70', '\x65', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x69', '\x73', '\x4a', '\x75', '\x73', '\x74', '\x49', '\x6e', '\x66', '\x6f', '\x28', '\x20', '\x69', '\x6e', '\x74', '\x20', '\x66', '\x6c', '\x61', '\x67', '\x73', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x44', '\x69', '\x73', '\x70', '\x6f', '\x73', '\x69', '\x74', '\x69', '\x6f', '\x6e', '\x3a', '\x3a', '\x46', '\x6c', '\x61', '\x67', '\x73', '\x20', '\x65', '\x6e', '\x75', '\x6d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x44', '\x69', '\x73', '\x70', '\x6f', '\x73', '\x69', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x7b', '\x20', '\x65', '\x6e', '\x75', '\x6d', '\x20', '\x46', '\x6c', '\x61', '\x67', '\x73', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x4e', '\x6f', '\x72', '\x6d', '\x61', '\x6c', '\x20', '\x3d', '\x20', '\x30', '\x78', '\x30', '\x31', '\x2c', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x6f', '\x6e', '\x74', '\x69', '\x6e', '\x75', '\x65', '\x4f', '\x6e', '\x46', '\x61', '\x69', '\x6c', '\x75', '\x72', '\x65', '\x20', '\x3d', '\x20', '\x30', '\x78', '\x30', '\x32', '\x2c', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x46', '\x61', '\x69', '\x6c', '\x75', '\x72', '\x65', '\x73', '\x20', '\x66', '\x61', '\x69', '\x6c', '\x20', '\x74', '\x65', '\x73', '\x74', '\x2c', '\x20', '\x62', '\x75', '\x74', '\x20', '\x65', '\x78', '\x65', '\x63', '\x75', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x63', '\x6f', '\x6e', '\x74', '\x69', '\x6e', '\x75', '\x65', '\x73', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x46', '\x61', '\x6c', '\x73', '\x65', '\x54', '\x65', '\x73', '\x74', '\x20', '\x3d', '\x20', '\x30', '\x78', '\x30', '\x34', '\x2c', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x50', '\x72', '\x65', '\x66', '\x69', '\x78', '\x20', '\x65', '\x78', '\x70', '\x72', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x20', '\x77', '\x69', '\x74', '\x68', '\x20', '\x21', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x53', '\x75', '\x70', '\x70', '\x72', '\x65', '\x73', '\x73', '\x46', '\x61', '\x69', '\x6c', '\x20', '\x3d', '\x20', '\x30', '\x78', '\x30', '\x38', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x46', '\x61', '\x69', '\x6c', '\x75', '\x72', '\x65', '\x73', '\x20', '\x61', '\x72', '\x65', '\x20', '\x72', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x64', '\x20', '\x62', '\x75', '\x74', '\x20', '\x64', '\x6f', '\x20', '\x6e', '\x6f', '\x74', '\x20', '\x66', '\x61', '\x69', '\x6c', '\x20', '\x74', '\x68', '\x65', '\x20', '\x74', '\x65', '\x73', '\x74', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x44', '\x69', '\x73', '\x70', '\x6f', '\x73', '\x69', '\x74', '\x69', '\x6f', '\x6e', '\x3a', '\x3a', '\x46', '\x6c', '\x61', '\x67', '\x73', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x7c', '\x20', '\x28', '\x20', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x44', '\x69', '\x73', '\x70', '\x6f', '\x73', '\x69', '\x74', '\x69', '\x6f', '\x6e', '\x3a', '\x3a', '\x46', '\x6c', '\x61', '\x67', '\x73', '\x20', '\x6c', '\x68', '\x73', '\x2c', '\x20', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x44', '\x69', '\x73', '\x70', '\x6f', '\x73', '\x69', '\x74', '\x69', '\x6f', '\x6e', '\x3a', '\x3a', '\x46', '\x6c', '\x61', '\x67', '\x73', '\x20', '\x72', '\x68', '\x73', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x73', '\x68', '\x6f', '\x75', '\x6c', '\x64', '\x43', '\x6f', '\x6e', '\x74', '\x69', '\x6e', '\x75', '\x65', '\x4f', '\x6e', '\x46', '\x61', '\x69', '\x6c', '\x75', '\x72', '\x65', '\x28', '\x20', '\x69', '\x6e', '\x74', '\x20', '\x66', '\x6c', '\x61', '\x67', '\x73', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x69', '\x6e', '\x6c', '\x69', '\x6e', '\x65', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x69', '\x73', '\x46', '\x61', '\x6c', '\x73', '\x65', '\x54', '\x65', '\x73', '\x74', '\x28', '\x20', '\x69', '\x6e', '\x74', '\x20', '\x66', '\x6c', '\x61', '\x67', '\x73', '\x20', '\x29', '\x20', '\x7b', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x28', '\x20', '\x66', '\x6c', '\x61', '\x67', '\x73', '\x20', '\x26', '\x20', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x44', '\x69', '\x73', '\x70', '\x6f', '\x73', '\x69', '\x74', '\x69', '\x6f', '\x6e', '\x3a', '\x3a', '\x46', '\x61', '\x6c', '\x73', '\x65', '\x54', '\x65', '\x73', '\x74', '\x20', '\x29', '\x20', '\x21', '\x3d', '\x20', '\x30', '\x3b', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x73', '\x68', '\x6f', '\x75', '\x6c', '\x64', '\x53', '\x75', '\x70', '\x70', '\x72', '\x65', '\x73', '\x73', '\x46', '\x61', '\x69', '\x6c', '\x75', '\x72', '\x65', '\x28', '\x20', '\x69', '\x6e', '\x74', '\x20', '\x66', '\x6c', '\x61', '\x67', '\x73', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x5f', '\x74', '\x79', '\x70', '\x65', '\x2e', '\x68', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x66', '\x20', '\x6d', '\x61', '\x63', '\x72', '\x6f', '\x4e', '\x61', '\x6d', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x53', '\x6f', '\x75', '\x72', '\x63', '\x65', '\x4c', '\x69', '\x6e', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x6c', '\x69', '\x6e', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x66', '\x20', '\x63', '\x61', '\x70', '\x74', '\x75', '\x72', '\x65', '\x64', '\x45', '\x78', '\x70', '\x72', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x44', '\x69', '\x73', '\x70', '\x6f', '\x73', '\x69', '\x74', '\x69', '\x6f', '\x6e', '\x3a', '\x3a', '\x46', '\x6c', '\x61', '\x67', '\x73', '\x20', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x44', '\x69', '\x73', '\x70', '\x6f', '\x73', '\x69', '\x74', '\x69', '\x6f', '\x6e', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x57', '\x65', '\x20', '\x77', '\x61', '\x6e', '\x74', '\x20', '\x74', '\x6f', '\x20', '\x64', '\x65', '\x6c', '\x65', '\x74', '\x65', '\x20', '\x74', '\x68', '\x69', '\x73', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x6f', '\x72', '\x20', '\x62', '\x75', '\x74', '\x20', '\x61', '\x20', '\x63', '\x6f', '\x6d', '\x70', '\x69', '\x6c', '\x65', '\x72', '\x20', '\x62', '\x75', '\x67', '\x20', '\x69', '\x6e', '\x20', '\x34', '\x2e', '\x38', '\x20', '\x6d', '\x65', '\x61', '\x6e', '\x73', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x74', '\x68', '\x65', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x69', '\x73', '\x20', '\x74', '\x68', '\x65', '\x6e', '\x20', '\x74', '\x72', '\x65', '\x61', '\x74', '\x65', '\x64', '\x20', '\x61', '\x73', '\x20', '\x6e', '\x6f', '\x6e', '\x2d', '\x61', '\x67', '\x67', '\x72', '\x65', '\x67', '\x61', '\x74', '\x65', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x28', '\x29', '\x20', '\x3d', '\x20', '\x64', '\x65', '\x6c', '\x65', '\x74', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x69', '\x6e', '\x66', '\x6f', '\x2e', '\x68', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x64', '\x65', '\x63', '\x6f', '\x6d', '\x70', '\x6f', '\x73', '\x65', '\x72', '\x2e', '\x68', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x74', '\x6f', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x2e', '\x68', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3e', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x63', '\x73', '\x74', '\x64', '\x64', '\x65', '\x66', '\x3e', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x5f', '\x74', '\x72', '\x61', '\x69', '\x74', '\x73', '\x3e', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x3e', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x2e', '\x68', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x69', '\x6f', '\x73', '\x66', '\x77', '\x64', '\x3e', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x63', '\x73', '\x74', '\x64', '\x64', '\x65', '\x66', '\x3e', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x6f', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x3e', '\x0d', '\x0a', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6f', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x26', '\x20', '\x63', '\x6f', '\x75', '\x74', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6f', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x26', '\x20', '\x63', '\x65', '\x72', '\x72', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6f', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x26', '\x20', '\x63', '\x6c', '\x6f', '\x67', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x66', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x49', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x69', '\x72', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x7e', '\x49', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x69', '\x72', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6f', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x26', '\x20', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x6d', '\x61', '\x6b', '\x65', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x28', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x66', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x26', '\x66', '\x69', '\x6c', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x29', '\x20', '\x2d', '\x3e', '\x20', '\x49', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x2a', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x20', '\x52', '\x65', '\x75', '\x73', '\x61', '\x62', '\x6c', '\x65', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x69', '\x7a', '\x65', '\x5f', '\x74', '\x20', '\x6d', '\x5f', '\x69', '\x6e', '\x64', '\x65', '\x78', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6f', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x2a', '\x20', '\x6d', '\x5f', '\x6f', '\x73', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x70', '\x75', '\x62', '\x6c', '\x69', '\x63', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x52', '\x65', '\x75', '\x73', '\x61', '\x62', '\x6c', '\x65', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7e', '\x52', '\x65', '\x75', '\x73', '\x61', '\x62', '\x6c', '\x65', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x73', '\x74', '\x72', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x2d', '\x3e', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x54', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x3c', '\x3c', '\x20', '\x28', '\x20', '\x54', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x20', '\x29', '\x20', '\x2d', '\x3e', '\x20', '\x52', '\x65', '\x75', '\x73', '\x61', '\x62', '\x6c', '\x65', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x26', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2a', '\x6d', '\x5f', '\x6f', '\x73', '\x73', '\x20', '\x3c', '\x3c', '\x20', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x2a', '\x74', '\x68', '\x69', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x67', '\x65', '\x74', '\x28', '\x29', '\x20', '\x2d', '\x3e', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6f', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x26', '\x20', '\x7b', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x2a', '\x6d', '\x5f', '\x6f', '\x73', '\x73', '\x3b', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x2e', '\x68', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x69', '\x6e', '\x74', '\x65', '\x72', '\x66', '\x61', '\x63', '\x65', '\x73', '\x5f', '\x65', '\x6e', '\x75', '\x6d', '\x5f', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x73', '\x5f', '\x72', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x2e', '\x68', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3e', '\x0d', '\x0a', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x44', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x45', '\x6e', '\x75', '\x6d', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x66', '\x20', '\x6d', '\x5f', '\x6e', '\x61', '\x6d', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x70', '\x61', '\x69', '\x72', '\x3c', '\x69', '\x6e', '\x74', '\x2c', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x66', '\x3e', '\x3e', '\x20', '\x6d', '\x5f', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x73', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7e', '\x45', '\x6e', '\x75', '\x6d', '\x49', '\x6e', '\x66', '\x6f', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x66', '\x20', '\x6c', '\x6f', '\x6f', '\x6b', '\x75', '\x70', '\x28', '\x20', '\x69', '\x6e', '\x74', '\x20', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x20', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x44', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x49', '\x4d', '\x75', '\x74', '\x61', '\x62', '\x6c', '\x65', '\x45', '\x6e', '\x75', '\x6d', '\x56', '\x61', '\x6c', '\x75', '\x65', '\x73', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x69', '\x72', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x7e', '\x49', '\x4d', '\x75', '\x74', '\x61', '\x62', '\x6c', '\x65', '\x45', '\x6e', '\x75', '\x6d', '\x56', '\x61', '\x6c', '\x75', '\x65', '\x73', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x69', '\x72', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x44', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x3a', '\x3a', '\x45', '\x6e', '\x75', '\x6d', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x72', '\x65', '\x67', '\x69', '\x73', '\x74', '\x65', '\x72', '\x45', '\x6e', '\x75', '\x6d', '\x28', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x66', '\x20', '\x65', '\x6e', '\x75', '\x6d', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x66', '\x20', '\x61', '\x6c', '\x6c', '\x45', '\x6e', '\x75', '\x6d', '\x73', '\x2c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x69', '\x6e', '\x74', '\x3e', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x73', '\x20', '\x29', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x45', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x44', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x3a', '\x3a', '\x45', '\x6e', '\x75', '\x6d', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x72', '\x65', '\x67', '\x69', '\x73', '\x74', '\x65', '\x72', '\x45', '\x6e', '\x75', '\x6d', '\x28', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x66', '\x20', '\x65', '\x6e', '\x75', '\x6d', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x66', '\x20', '\x61', '\x6c', '\x6c', '\x45', '\x6e', '\x75', '\x6d', '\x73', '\x2c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x69', '\x6e', '\x69', '\x74', '\x69', '\x61', '\x6c', '\x69', '\x7a', '\x65', '\x72', '\x5f', '\x6c', '\x69', '\x73', '\x74', '\x3c', '\x45', '\x3e', '\x20', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x73', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x5f', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x28', '\x73', '\x69', '\x7a', '\x65', '\x6f', '\x66', '\x28', '\x69', '\x6e', '\x74', '\x29', '\x20', '\x3e', '\x3d', '\x20', '\x73', '\x69', '\x7a', '\x65', '\x6f', '\x66', '\x28', '\x45', '\x29', '\x2c', '\x20', '\x22', '\x43', '\x61', '\x6e', '\x6e', '\x6f', '\x74', '\x20', '\x73', '\x65', '\x72', '\x69', '\x61', '\x6c', '\x69', '\x7a', '\x65', '\x20', '\x65', '\x6e', '\x75', '\x6d', '\x20', '\x74', '\x6f', '\x20', '\x69', '\x6e', '\x74', '\x22', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x69', '\x6e', '\x74', '\x3e', '\x20', '\x69', '\x6e', '\x74', '\x56', '\x61', '\x6c', '\x75', '\x65', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x6e', '\x74', '\x56', '\x61', '\x6c', '\x75', '\x65', '\x73', '\x2e', '\x72', '\x65', '\x73', '\x65', '\x72', '\x76', '\x65', '\x28', '\x20', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x73', '\x2e', '\x73', '\x69', '\x7a', '\x65', '\x28', '\x29', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x66', '\x6f', '\x72', '\x28', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x65', '\x6e', '\x75', '\x6d', '\x56', '\x61', '\x6c', '\x75', '\x65', '\x20', '\x3a', '\x20', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x73', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x6e', '\x74', '\x56', '\x61', '\x6c', '\x75', '\x65', '\x73', '\x2e', '\x70', '\x75', '\x73', '\x68', '\x5f', '\x62', '\x61', '\x63', '\x6b', '\x28', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x5f', '\x63', '\x61', '\x73', '\x74', '\x3c', '\x69', '\x6e', '\x74', '\x3e', '\x28', '\x20', '\x65', '\x6e', '\x75', '\x6d', '\x56', '\x61', '\x6c', '\x75', '\x65', '\x20', '\x29', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x72', '\x65', '\x67', '\x69', '\x73', '\x74', '\x65', '\x72', '\x45', '\x6e', '\x75', '\x6d', '\x28', '\x20', '\x65', '\x6e', '\x75', '\x6d', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x61', '\x6c', '\x6c', '\x45', '\x6e', '\x75', '\x6d', '\x73', '\x2c', '\x20', '\x69', '\x6e', '\x74', '\x56', '\x61', '\x6c', '\x75', '\x65', '\x73', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x69', '\x6e', '\x74', '\x65', '\x72', '\x66', '\x61', '\x63', '\x65', '\x73', '\x5f', '\x65', '\x6e', '\x75', '\x6d', '\x5f', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x73', '\x5f', '\x72', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x2e', '\x68', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x64', '\x65', '\x66', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x43', '\x50', '\x50', '\x31', '\x37', '\x5f', '\x53', '\x54', '\x52', '\x49', '\x4e', '\x47', '\x5f', '\x56', '\x49', '\x45', '\x57', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x5f', '\x76', '\x69', '\x65', '\x77', '\x3e', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x64', '\x65', '\x66', '\x20', '\x5f', '\x5f', '\x4f', '\x42', '\x4a', '\x43', '\x5f', '\x5f', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x6f', '\x62', '\x6a', '\x63', '\x5f', '\x61', '\x72', '\x63', '\x2e', '\x68', '\x70', '\x70', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x6d', '\x70', '\x6f', '\x72', '\x74', '\x20', '\x3c', '\x46', '\x6f', '\x75', '\x6e', '\x64', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x2f', '\x46', '\x6f', '\x75', '\x6e', '\x64', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x2e', '\x68', '\x3e', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x64', '\x65', '\x66', '\x20', '\x5f', '\x5f', '\x68', '\x61', '\x73', '\x5f', '\x66', '\x65', '\x61', '\x74', '\x75', '\x72', '\x65', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x41', '\x52', '\x43', '\x5f', '\x45', '\x4e', '\x41', '\x42', '\x4c', '\x45', '\x44', '\x20', '\x5f', '\x5f', '\x68', '\x61', '\x73', '\x5f', '\x66', '\x65', '\x61', '\x74', '\x75', '\x72', '\x65', '\x28', '\x6f', '\x62', '\x6a', '\x63', '\x5f', '\x61', '\x72', '\x63', '\x29', '\x0d', '\x0a', '\x23', '\x65', '\x6c', '\x73', '\x65', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x41', '\x52', '\x43', '\x5f', '\x45', '\x4e', '\x41', '\x42', '\x4c', '\x45', '\x44', '\x20', '\x30', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x0d', '\x0a', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x61', '\x72', '\x63', '\x53', '\x61', '\x66', '\x65', '\x52', '\x65', '\x6c', '\x65', '\x61', '\x73', '\x65', '\x28', '\x20', '\x4e', '\x53', '\x4f', '\x62', '\x6a', '\x65', '\x63', '\x74', '\x2a', '\x20', '\x6f', '\x62', '\x6a', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x69', '\x64', '\x20', '\x70', '\x65', '\x72', '\x66', '\x6f', '\x72', '\x6d', '\x4f', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x61', '\x6c', '\x53', '\x65', '\x6c', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x28', '\x20', '\x69', '\x64', '\x20', '\x6f', '\x62', '\x6a', '\x2c', '\x20', '\x53', '\x45', '\x4c', '\x20', '\x73', '\x65', '\x6c', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x20', '\x21', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x41', '\x52', '\x43', '\x5f', '\x45', '\x4e', '\x41', '\x42', '\x4c', '\x45', '\x44', '\x0d', '\x0a', '\x69', '\x6e', '\x6c', '\x69', '\x6e', '\x65', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x61', '\x72', '\x63', '\x53', '\x61', '\x66', '\x65', '\x52', '\x65', '\x6c', '\x65', '\x61', '\x73', '\x65', '\x28', '\x20', '\x4e', '\x53', '\x4f', '\x62', '\x6a', '\x65', '\x63', '\x74', '\x2a', '\x20', '\x6f', '\x62', '\x6a', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x5b', '\x6f', '\x62', '\x6a', '\x20', '\x72', '\x65', '\x6c', '\x65', '\x61', '\x73', '\x65', '\x5d', '\x3b', '\x0d', '\x0a', '\x7d', '\x0d', '\x0a', '\x69', '\x6e', '\x6c', '\x69', '\x6e', '\x65', '\x20', '\x69', '\x64', '\x20', '\x70', '\x65', '\x72', '\x66', '\x6f', '\x72', '\x6d', '\x4f', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x61', '\x6c', '\x53', '\x65', '\x6c', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x28', '\x20', '\x69', '\x64', '\x20', '\x6f', '\x62', '\x6a', '\x2c', '\x20', '\x53', '\x45', '\x4c', '\x20', '\x73', '\x65', '\x6c', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x5b', '\x6f', '\x62', '\x6a', '\x20', '\x72', '\x65', '\x73', '\x70', '\x6f', '\x6e', '\x64', '\x73', '\x54', '\x6f', '\x53', '\x65', '\x6c', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3a', '\x20', '\x73', '\x65', '\x6c', '\x5d', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x5b', '\x6f', '\x62', '\x6a', '\x20', '\x70', '\x65', '\x72', '\x66', '\x6f', '\x72', '\x6d', '\x53', '\x65', '\x6c', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3a', '\x20', '\x73', '\x65', '\x6c', '\x5d', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6e', '\x69', '\x6c', '\x3b', '\x0d', '\x0a', '\x7d', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x55', '\x4e', '\x53', '\x41', '\x46', '\x45', '\x5f', '\x55', '\x4e', '\x52', '\x45', '\x54', '\x41', '\x49', '\x4e', '\x45', '\x44', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x41', '\x52', '\x43', '\x5f', '\x53', '\x54', '\x52', '\x4f', '\x4e', '\x47', '\x0d', '\x0a', '\x23', '\x65', '\x6c', '\x73', '\x65', '\x0d', '\x0a', '\x69', '\x6e', '\x6c', '\x69', '\x6e', '\x65', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x61', '\x72', '\x63', '\x53', '\x61', '\x66', '\x65', '\x52', '\x65', '\x6c', '\x65', '\x61', '\x73', '\x65', '\x28', '\x20', '\x4e', '\x53', '\x4f', '\x62', '\x6a', '\x65', '\x63', '\x74', '\x2a', '\x20', '\x29', '\x7b', '\x7d', '\x0d', '\x0a', '\x69', '\x6e', '\x6c', '\x69', '\x6e', '\x65', '\x20', '\x69', '\x64', '\x20', '\x70', '\x65', '\x72', '\x66', '\x6f', '\x72', '\x6d', '\x4f', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x61', '\x6c', '\x53', '\x65', '\x6c', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x28', '\x20', '\x69', '\x64', '\x20', '\x6f', '\x62', '\x6a', '\x2c', '\x20', '\x53', '\x45', '\x4c', '\x20', '\x73', '\x65', '\x6c', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x64', '\x65', '\x66', '\x20', '\x5f', '\x5f', '\x63', '\x6c', '\x61', '\x6e', '\x67', '\x5f', '\x5f', '\x0d', '\x0a', '\x23', '\x70', '\x72', '\x61', '\x67', '\x6d', '\x61', '\x20', '\x63', '\x6c', '\x61', '\x6e', '\x67', '\x20', '\x64', '\x69', '\x61', '\x67', '\x6e', '\x6f', '\x73', '\x74', '\x69', '\x63', '\x20', '\x70', '\x75', '\x73', '\x68', '\x0d', '\x0a', '\x23', '\x70', '\x72', '\x61', '\x67', '\x6d', '\x61', '\x20', '\x63', '\x6c', '\x61', '\x6e', '\x67', '\x20', '\x64', '\x69', '\x61', '\x67', '\x6e', '\x6f', '\x73', '\x74', '\x69', '\x63', '\x20', '\x69', '\x67', '\x6e', '\x6f', '\x72', '\x65', '\x64', '\x20', '\x22', '\x2d', '\x57', '\x61', '\x72', '\x63', '\x2d', '\x70', '\x65', '\x72', '\x66', '\x6f', '\x72', '\x6d', '\x53', '\x65', '\x6c', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x2d', '\x6c', '\x65', '\x61', '\x6b', '\x73', '\x22', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x5b', '\x6f', '\x62', '\x6a', '\x20', '\x72', '\x65', '\x73', '\x70', '\x6f', '\x6e', '\x64', '\x73', '\x54', '\x6f', '\x53', '\x65', '\x6c', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3a', '\x20', '\x73', '\x65', '\x6c', '\x5d', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x5b', '\x6f', '\x62', '\x6a', '\x20', '\x70', '\x65', '\x72', '\x66', '\x6f', '\x72', '\x6d', '\x53', '\x65', '\x6c', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3a', '\x20', '\x73', '\x65', '\x6c', '\x5d', '\x3b', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x64', '\x65', '\x66', '\x20', '\x5f', '\x5f', '\x63', '\x6c', '\x61', '\x6e', '\x67', '\x5f', '\x5f', '\x0d', '\x0a', '\x23', '\x70', '\x72', '\x61', '\x67', '\x6d', '\x61', '\x20', '\x63', '\x6c', '\x61', '\x6e', '\x67', '\x20', '\x64', '\x69', '\x61', '\x67', '\x6e', '\x6f', '\x73', '\x74', '\x69', '\x63', '\x20', '\x70', '\x6f', '\x70', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6e', '\x69', '\x6c', '\x3b', '\x0d', '\x0a', '\x7d', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x55', '\x4e', '\x53', '\x41', '\x46', '\x45', '\x5f', '\x55', '\x4e', '\x52', '\x45', '\x54', '\x41', '\x49', '\x4e', '\x45', '\x44', '\x20', '\x5f', '\x5f', '\x75', '\x6e', '\x73', '\x61', '\x66', '\x65', '\x5f', '\x75', '\x6e', '\x72', '\x65', '\x74', '\x61', '\x69', '\x6e', '\x65', '\x64', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x41', '\x52', '\x43', '\x5f', '\x53', '\x54', '\x52', '\x4f', '\x4e', '\x47', '\x20', '\x5f', '\x5f', '\x73', '\x74', '\x72', '\x6f', '\x6e', '\x67', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x6f', '\x62', '\x6a', '\x63', '\x5f', '\x61', '\x72', '\x63', '\x2e', '\x68', '\x70', '\x70', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x64', '\x65', '\x66', '\x20', '\x5f', '\x4d', '\x53', '\x43', '\x5f', '\x56', '\x45', '\x52', '\x0d', '\x0a', '\x23', '\x70', '\x72', '\x61', '\x67', '\x6d', '\x61', '\x20', '\x77', '\x61', '\x72', '\x6e', '\x69', '\x6e', '\x67', '\x28', '\x70', '\x75', '\x73', '\x68', '\x29', '\x0d', '\x0a', '\x23', '\x70', '\x72', '\x61', '\x67', '\x6d', '\x61', '\x20', '\x77', '\x61', '\x72', '\x6e', '\x69', '\x6e', '\x67', '\x28', '\x64', '\x69', '\x73', '\x61', '\x62', '\x6c', '\x65', '\x3a', '\x34', '\x31', '\x38', '\x30', '\x29', '\x20', '\x2f', '\x2f', '\x20', '\x57', '\x65', '\x20', '\x61', '\x74', '\x74', '\x65', '\x6d', '\x70', '\x74', '\x20', '\x74', '\x6f', '\x20', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x20', '\x61', '\x20', '\x66', '\x75', '\x6e', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x28', '\x61', '\x64', '\x64', '\x72', '\x65', '\x73', '\x73', '\x29', '\x20', '\x62', '\x79', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x2c', '\x20', '\x77', '\x68', '\x69', '\x63', '\x68', '\x20', '\x4d', '\x53', '\x56', '\x43', '\x20', '\x63', '\x6f', '\x6d', '\x70', '\x6c', '\x61', '\x69', '\x6e', '\x73', '\x20', '\x61', '\x62', '\x6f', '\x75', '\x74', '\x20', '\x62', '\x75', '\x74', '\x20', '\x69', '\x73', '\x20', '\x68', '\x61', '\x72', '\x6d', '\x6c', '\x65', '\x73', '\x73', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x44', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x78', '\x74', '\x65', '\x72', '\x6e', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x75', '\x6e', '\x70', '\x72', '\x69', '\x6e', '\x74', '\x61', '\x62', '\x6c', '\x65', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x72', '\x61', '\x77', '\x4d', '\x65', '\x6d', '\x6f', '\x72', '\x79', '\x54', '\x6f', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x28', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x2a', '\x6f', '\x62', '\x6a', '\x65', '\x63', '\x74', '\x2c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x69', '\x7a', '\x65', '\x5f', '\x74', '\x20', '\x73', '\x69', '\x7a', '\x65', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x54', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x72', '\x61', '\x77', '\x4d', '\x65', '\x6d', '\x6f', '\x72', '\x79', '\x54', '\x6f', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x28', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x54', '\x26', '\x20', '\x6f', '\x62', '\x6a', '\x65', '\x63', '\x74', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x72', '\x61', '\x77', '\x4d', '\x65', '\x6d', '\x6f', '\x72', '\x79', '\x54', '\x6f', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x28', '\x20', '\x26', '\x6f', '\x62', '\x6a', '\x65', '\x63', '\x74', '\x2c', '\x20', '\x73', '\x69', '\x7a', '\x65', '\x6f', '\x66', '\x28', '\x6f', '\x62', '\x6a', '\x65', '\x63', '\x74', '\x29', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x54', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x20', '\x49', '\x73', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x49', '\x6e', '\x73', '\x65', '\x72', '\x74', '\x61', '\x62', '\x6c', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x2c', '\x20', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x55', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x74', '\x65', '\x73', '\x74', '\x28', '\x69', '\x6e', '\x74', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2d', '\x3e', '\x20', '\x64', '\x65', '\x63', '\x6c', '\x74', '\x79', '\x70', '\x65', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x64', '\x65', '\x63', '\x6c', '\x76', '\x61', '\x6c', '\x3c', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x26', '\x3e', '\x28', '\x29', '\x20', '\x3c', '\x3c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x64', '\x65', '\x63', '\x6c', '\x76', '\x61', '\x6c', '\x3c', '\x55', '\x3e', '\x28', '\x29', '\x2c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x74', '\x72', '\x75', '\x65', '\x5f', '\x74', '\x79', '\x70', '\x65', '\x28', '\x29', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x74', '\x65', '\x73', '\x74', '\x28', '\x2e', '\x2e', '\x2e', '\x29', '\x2d', '\x3e', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x66', '\x61', '\x6c', '\x73', '\x65', '\x5f', '\x74', '\x79', '\x70', '\x65', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x75', '\x62', '\x6c', '\x69', '\x63', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x20', '\x3d', '\x20', '\x64', '\x65', '\x63', '\x6c', '\x74', '\x79', '\x70', '\x65', '\x28', '\x74', '\x65', '\x73', '\x74', '\x3c', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6f', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x2c', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x54', '\x26', '\x3e', '\x28', '\x30', '\x29', '\x29', '\x3a', '\x3a', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x45', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x76', '\x65', '\x72', '\x74', '\x55', '\x6e', '\x6b', '\x6e', '\x6f', '\x77', '\x6e', '\x45', '\x6e', '\x75', '\x6d', '\x54', '\x6f', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x28', '\x20', '\x45', '\x20', '\x65', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x54', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x65', '\x6e', '\x61', '\x62', '\x6c', '\x65', '\x5f', '\x69', '\x66', '\x3c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x21', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x69', '\x73', '\x5f', '\x65', '\x6e', '\x75', '\x6d', '\x3c', '\x54', '\x3e', '\x3a', '\x3a', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x20', '\x26', '\x26', '\x20', '\x21', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x69', '\x73', '\x5f', '\x62', '\x61', '\x73', '\x65', '\x5f', '\x6f', '\x66', '\x3c', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x2c', '\x20', '\x54', '\x3e', '\x3a', '\x3a', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x3e', '\x3a', '\x3a', '\x74', '\x79', '\x70', '\x65', '\x20', '\x63', '\x6f', '\x6e', '\x76', '\x65', '\x72', '\x74', '\x55', '\x6e', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x61', '\x62', '\x6c', '\x65', '\x28', '\x20', '\x54', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x44', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x3a', '\x3a', '\x75', '\x6e', '\x70', '\x72', '\x69', '\x6e', '\x74', '\x61', '\x62', '\x6c', '\x65', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x54', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x65', '\x6e', '\x61', '\x62', '\x6c', '\x65', '\x5f', '\x69', '\x66', '\x3c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x21', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x69', '\x73', '\x5f', '\x65', '\x6e', '\x75', '\x6d', '\x3c', '\x54', '\x3e', '\x3a', '\x3a', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x20', '\x26', '\x26', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x69', '\x73', '\x5f', '\x62', '\x61', '\x73', '\x65', '\x5f', '\x6f', '\x66', '\x3c', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x2c', '\x20', '\x54', '\x3e', '\x3a', '\x3a', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x3e', '\x3a', '\x3a', '\x74', '\x79', '\x70', '\x65', '\x20', '\x63', '\x6f', '\x6e', '\x76', '\x65', '\x72', '\x74', '\x55', '\x6e', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x61', '\x62', '\x6c', '\x65', '\x28', '\x54', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x65', '\x78', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x65', '\x78', '\x2e', '\x77', '\x68', '\x61', '\x74', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x54', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x65', '\x6e', '\x61', '\x62', '\x6c', '\x65', '\x5f', '\x69', '\x66', '\x3c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x69', '\x73', '\x5f', '\x65', '\x6e', '\x75', '\x6d', '\x3c', '\x54', '\x3e', '\x3a', '\x3a', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x3e', '\x3a', '\x3a', '\x74', '\x79', '\x70', '\x65', '\x20', '\x63', '\x6f', '\x6e', '\x76', '\x65', '\x72', '\x74', '\x55', '\x6e', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x61', '\x62', '\x6c', '\x65', '\x28', '\x20', '\x54', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x63', '\x6f', '\x6e', '\x76', '\x65', '\x72', '\x74', '\x55', '\x6e', '\x6b', '\x6e', '\x6f', '\x77', '\x6e', '\x45', '\x6e', '\x75', '\x6d', '\x54', '\x6f', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x28', '\x20', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x5f', '\x4d', '\x41', '\x4e', '\x41', '\x47', '\x45', '\x44', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x21', '\x20', '\x43', '\x6f', '\x6e', '\x76', '\x65', '\x72', '\x74', '\x20', '\x61', '\x20', '\x43', '\x4c', '\x52', '\x20', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x74', '\x6f', '\x20', '\x61', '\x20', '\x75', '\x74', '\x66', '\x38', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x54', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6c', '\x72', '\x52', '\x65', '\x66', '\x65', '\x72', '\x65', '\x6e', '\x63', '\x65', '\x54', '\x6f', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x28', '\x20', '\x54', '\x5e', '\x20', '\x72', '\x65', '\x66', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x72', '\x65', '\x66', '\x20', '\x3d', '\x3d', '\x20', '\x6e', '\x75', '\x6c', '\x6c', '\x70', '\x74', '\x72', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x28', '\x22', '\x6e', '\x75', '\x6c', '\x6c', '\x22', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x62', '\x79', '\x74', '\x65', '\x73', '\x20', '\x3d', '\x20', '\x53', '\x79', '\x73', '\x74', '\x65', '\x6d', '\x3a', '\x3a', '\x54', '\x65', '\x78', '\x74', '\x3a', '\x3a', '\x45', '\x6e', '\x63', '\x6f', '\x64', '\x69', '\x6e', '\x67', '\x3a', '\x3a', '\x55', '\x54', '\x46', '\x38', '\x2d', '\x3e', '\x47', '\x65', '\x74', '\x42', '\x79', '\x74', '\x65', '\x73', '\x28', '\x72', '\x65', '\x66', '\x2d', '\x3e', '\x54', '\x6f', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x28', '\x29', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6c', '\x69', '\x3a', '\x3a', '\x70', '\x69', '\x6e', '\x5f', '\x70', '\x74', '\x72', '\x3c', '\x53', '\x79', '\x73', '\x74', '\x65', '\x6d', '\x3a', '\x3a', '\x42', '\x79', '\x74', '\x65', '\x3e', '\x20', '\x70', '\x20', '\x3d', '\x20', '\x26', '\x62', '\x79', '\x74', '\x65', '\x73', '\x5b', '\x30', '\x5d', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x28', '\x72', '\x65', '\x69', '\x6e', '\x74', '\x65', '\x72', '\x70', '\x72', '\x65', '\x74', '\x5f', '\x63', '\x61', '\x73', '\x74', '\x3c', '\x63', '\x68', '\x61', '\x72', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x2a', '\x3e', '\x28', '\x70', '\x29', '\x2c', '\x20', '\x62', '\x79', '\x74', '\x65', '\x73', '\x2d', '\x3e', '\x4c', '\x65', '\x6e', '\x67', '\x74', '\x68', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x44', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x49', '\x66', '\x20', '\x77', '\x65', '\x20', '\x64', '\x65', '\x63', '\x69', '\x64', '\x65', '\x20', '\x66', '\x6f', '\x72', '\x20', '\x43', '\x2b', '\x2b', '\x31', '\x34', '\x2c', '\x20', '\x63', '\x68', '\x61', '\x6e', '\x67', '\x65', '\x20', '\x74', '\x68', '\x65', '\x73', '\x65', '\x20', '\x74', '\x6f', '\x20', '\x65', '\x6e', '\x61', '\x62', '\x6c', '\x65', '\x5f', '\x69', '\x66', '\x5f', '\x74', '\x73', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x20', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x54', '\x2c', '\x20', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x3d', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x4d', '\x61', '\x6b', '\x65', '\x72', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x20', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x46', '\x61', '\x6b', '\x65', '\x20', '\x3d', '\x20', '\x54', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x65', '\x6e', '\x61', '\x62', '\x6c', '\x65', '\x5f', '\x69', '\x66', '\x3c', '\x3a', '\x3a', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x44', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x3a', '\x3a', '\x49', '\x73', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x49', '\x6e', '\x73', '\x65', '\x72', '\x74', '\x61', '\x62', '\x6c', '\x65', '\x3c', '\x46', '\x61', '\x6b', '\x65', '\x3e', '\x3a', '\x3a', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x2c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x3e', '\x3a', '\x3a', '\x74', '\x79', '\x70', '\x65', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6f', '\x6e', '\x76', '\x65', '\x72', '\x74', '\x28', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x46', '\x61', '\x6b', '\x65', '\x26', '\x20', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x52', '\x65', '\x75', '\x73', '\x61', '\x62', '\x6c', '\x65', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x20', '\x72', '\x73', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x4e', '\x42', '\x3a', '\x20', '\x63', '\x61', '\x6c', '\x6c', '\x20', '\x75', '\x73', '\x69', '\x6e', '\x67', '\x20', '\x74', '\x68', '\x65', '\x20', '\x66', '\x75', '\x6e', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x2d', '\x6c', '\x69', '\x6b', '\x65', '\x20', '\x73', '\x79', '\x6e', '\x74', '\x61', '\x78', '\x20', '\x74', '\x6f', '\x20', '\x61', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x61', '\x6d', '\x62', '\x69', '\x67', '\x75', '\x69', '\x74', '\x79', '\x20', '\x77', '\x69', '\x74', '\x68', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x75', '\x73', '\x65', '\x72', '\x2d', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x64', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x3c', '\x3c', '\x20', '\x75', '\x6e', '\x64', '\x65', '\x72', '\x20', '\x63', '\x6c', '\x61', '\x6e', '\x67', '\x2e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x73', '\x73', '\x2e', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x3c', '\x3c', '\x28', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x72', '\x73', '\x73', '\x2e', '\x73', '\x74', '\x72', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x20', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x46', '\x61', '\x6b', '\x65', '\x20', '\x3d', '\x20', '\x54', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x65', '\x6e', '\x61', '\x62', '\x6c', '\x65', '\x5f', '\x69', '\x66', '\x3c', '\x21', '\x3a', '\x3a', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x44', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x3a', '\x3a', '\x49', '\x73', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x49', '\x6e', '\x73', '\x65', '\x72', '\x74', '\x61', '\x62', '\x6c', '\x65', '\x3c', '\x46', '\x61', '\x6b', '\x65', '\x3e', '\x3a', '\x3a', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x2c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x3e', '\x3a', '\x3a', '\x74', '\x79', '\x70', '\x65', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6f', '\x6e', '\x76', '\x65', '\x72', '\x74', '\x28', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x46', '\x61', '\x6b', '\x65', '\x26', '\x20', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x20', '\x21', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x46', '\x41', '\x4c', '\x4c', '\x42', '\x41', '\x43', '\x4b', '\x5f', '\x53', '\x54', '\x52', '\x49', '\x4e', '\x47', '\x49', '\x46', '\x49', '\x45', '\x52', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x44', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x3a', '\x3a', '\x63', '\x6f', '\x6e', '\x76', '\x65', '\x72', '\x74', '\x55', '\x6e', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x61', '\x62', '\x6c', '\x65', '\x28', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x29', '\x3b', '\x0d', '\x0a', '\x23', '\x65', '\x6c', '\x73', '\x65', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x46', '\x41', '\x4c', '\x4c', '\x42', '\x41', '\x43', '\x4b', '\x5f', '\x53', '\x54', '\x52', '\x49', '\x4e', '\x47', '\x49', '\x46', '\x49', '\x45', '\x52', '\x28', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x29', '\x3b', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x44', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x54', '\x68', '\x69', '\x73', '\x20', '\x66', '\x75', '\x6e', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x64', '\x69', '\x73', '\x70', '\x61', '\x74', '\x63', '\x68', '\x65', '\x73', '\x20', '\x61', '\x6c', '\x6c', '\x20', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x69', '\x66', '\x69', '\x63', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x72', '\x65', '\x71', '\x75', '\x65', '\x73', '\x74', '\x73', '\x20', '\x69', '\x6e', '\x73', '\x69', '\x64', '\x65', '\x20', '\x6f', '\x66', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x2e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x53', '\x68', '\x6f', '\x75', '\x6c', '\x64', '\x20', '\x62', '\x65', '\x20', '\x70', '\x72', '\x65', '\x66', '\x65', '\x72', '\x61', '\x62', '\x6c', '\x79', '\x20', '\x63', '\x61', '\x6c', '\x6c', '\x65', '\x64', '\x20', '\x66', '\x75', '\x6c', '\x6c', '\x79', '\x20', '\x71', '\x75', '\x61', '\x6c', '\x69', '\x66', '\x69', '\x65', '\x64', '\x2c', '\x20', '\x6c', '\x69', '\x6b', '\x65', '\x20', '\x3a', '\x3a', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x44', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x69', '\x66', '\x79', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x20', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x54', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x69', '\x66', '\x79', '\x28', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x54', '\x26', '\x20', '\x65', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x3a', '\x3a', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x4d', '\x61', '\x6b', '\x65', '\x72', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x72', '\x65', '\x6d', '\x6f', '\x76', '\x65', '\x5f', '\x63', '\x76', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x72', '\x65', '\x6d', '\x6f', '\x76', '\x65', '\x5f', '\x72', '\x65', '\x66', '\x65', '\x72', '\x65', '\x6e', '\x63', '\x65', '\x3c', '\x54', '\x3e', '\x3a', '\x3a', '\x74', '\x79', '\x70', '\x65', '\x3e', '\x3a', '\x3a', '\x74', '\x79', '\x70', '\x65', '\x3e', '\x3a', '\x3a', '\x63', '\x6f', '\x6e', '\x76', '\x65', '\x72', '\x74', '\x28', '\x65', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x45', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x76', '\x65', '\x72', '\x74', '\x55', '\x6e', '\x6b', '\x6e', '\x6f', '\x77', '\x6e', '\x45', '\x6e', '\x75', '\x6d', '\x54', '\x6f', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x28', '\x20', '\x45', '\x20', '\x65', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x3a', '\x3a', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x44', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x69', '\x66', '\x79', '\x28', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x5f', '\x63', '\x61', '\x73', '\x74', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x75', '\x6e', '\x64', '\x65', '\x72', '\x6c', '\x79', '\x69', '\x6e', '\x67', '\x5f', '\x74', '\x79', '\x70', '\x65', '\x3c', '\x45', '\x3e', '\x3a', '\x3a', '\x74', '\x79', '\x70', '\x65', '\x3e', '\x28', '\x65', '\x29', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x5f', '\x4d', '\x41', '\x4e', '\x41', '\x47', '\x45', '\x44', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x20', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x54', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x69', '\x66', '\x79', '\x28', '\x20', '\x54', '\x5e', '\x20', '\x65', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x3a', '\x3a', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x4d', '\x61', '\x6b', '\x65', '\x72', '\x3c', '\x54', '\x5e', '\x3e', '\x3a', '\x3a', '\x63', '\x6f', '\x6e', '\x76', '\x65', '\x72', '\x74', '\x28', '\x65', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x44', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x53', '\x6f', '\x6d', '\x65', '\x20', '\x70', '\x72', '\x65', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x20', '\x73', '\x70', '\x65', '\x63', '\x69', '\x61', '\x6c', '\x69', '\x7a', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x4d', '\x61', '\x6b', '\x65', '\x72', '\x3c', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x3e', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x76', '\x65', '\x72', '\x74', '\x28', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x26', '\x20', '\x73', '\x74', '\x72', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x64', '\x65', '\x66', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x43', '\x50', '\x50', '\x31', '\x37', '\x5f', '\x53', '\x54', '\x52', '\x49', '\x4e', '\x47', '\x5f', '\x56', '\x49', '\x45', '\x57', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x4d', '\x61', '\x6b', '\x65', '\x72', '\x3c', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x5f', '\x76', '\x69', '\x65', '\x77', '\x3e', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x76', '\x65', '\x72', '\x74', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x5f', '\x76', '\x69', '\x65', '\x77', '\x20', '\x73', '\x74', '\x72', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x4d', '\x61', '\x6b', '\x65', '\x72', '\x3c', '\x63', '\x68', '\x61', '\x72', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x2a', '\x3e', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x76', '\x65', '\x72', '\x74', '\x28', '\x63', '\x68', '\x61', '\x72', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x2a', '\x20', '\x73', '\x74', '\x72', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x4d', '\x61', '\x6b', '\x65', '\x72', '\x3c', '\x63', '\x68', '\x61', '\x72', '\x20', '\x2a', '\x3e', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x76', '\x65', '\x72', '\x74', '\x28', '\x63', '\x68', '\x61', '\x72', '\x20', '\x2a', '\x20', '\x73', '\x74', '\x72', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x64', '\x65', '\x66', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x57', '\x43', '\x48', '\x41', '\x52', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x4d', '\x61', '\x6b', '\x65', '\x72', '\x3c', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x77', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x3e', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x76', '\x65', '\x72', '\x74', '\x28', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x77', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x26', '\x20', '\x77', '\x73', '\x74', '\x72', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x20', '\x69', '\x66', '\x64', '\x65', '\x66', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x43', '\x50', '\x50', '\x31', '\x37', '\x5f', '\x53', '\x54', '\x52', '\x49', '\x4e', '\x47', '\x5f', '\x56', '\x49', '\x45', '\x57', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x4d', '\x61', '\x6b', '\x65', '\x72', '\x3c', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x77', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x5f', '\x76', '\x69', '\x65', '\x77', '\x3e', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x76', '\x65', '\x72', '\x74', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x77', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x5f', '\x76', '\x69', '\x65', '\x77', '\x20', '\x73', '\x74', '\x72', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x23', '\x20', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x4d', '\x61', '\x6b', '\x65', '\x72', '\x3c', '\x77', '\x63', '\x68', '\x61', '\x72', '\x5f', '\x74', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x2a', '\x3e', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x76', '\x65', '\x72', '\x74', '\x28', '\x77', '\x63', '\x68', '\x61', '\x72', '\x5f', '\x74', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x2a', '\x20', '\x73', '\x74', '\x72', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x4d', '\x61', '\x6b', '\x65', '\x72', '\x3c', '\x77', '\x63', '\x68', '\x61', '\x72', '\x5f', '\x74', '\x20', '\x2a', '\x3e', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x76', '\x65', '\x72', '\x74', '\x28', '\x77', '\x63', '\x68', '\x61', '\x72', '\x5f', '\x74', '\x20', '\x2a', '\x20', '\x73', '\x74', '\x72', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x54', '\x42', '\x44', '\x3a', '\x20', '\x53', '\x68', '\x6f', '\x75', '\x6c', '\x64', '\x20', '\x77', '\x65', '\x20', '\x75', '\x73', '\x65', '\x20', '\x60', '\x73', '\x74', '\x72', '\x6e', '\x6c', '\x65', '\x6e', '\x60', '\x20', '\x74', '\x6f', '\x20', '\x65', '\x6e', '\x73', '\x75', '\x72', '\x65', '\x20', '\x74', '\x68', '\x61', '\x74', '\x20', '\x77', '\x65', '\x20', '\x64', '\x6f', '\x6e', '\x27', '\x74', '\x20', '\x67', '\x6f', '\x20', '\x6f', '\x75', '\x74', '\x20', '\x6f', '\x66', '\x20', '\x74', '\x68', '\x65', '\x20', '\x62', '\x75', '\x66', '\x66', '\x65', '\x72', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x77', '\x68', '\x69', '\x6c', '\x65', '\x20', '\x6b', '\x65', '\x65', '\x70', '\x69', '\x6e', '\x67', '\x20', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x73', '\x65', '\x6d', '\x61', '\x6e', '\x74', '\x69', '\x63', '\x73', '\x3f', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x69', '\x6e', '\x74', '\x20', '\x53', '\x5a', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x4d', '\x61', '\x6b', '\x65', '\x72', '\x3c', '\x63', '\x68', '\x61', '\x72', '\x5b', '\x53', '\x5a', '\x5d', '\x3e', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x76', '\x65', '\x72', '\x74', '\x28', '\x63', '\x68', '\x61', '\x72', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x2a', '\x20', '\x73', '\x74', '\x72', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x3a', '\x3a', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x44', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x69', '\x66', '\x79', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x7b', '\x20', '\x73', '\x74', '\x72', '\x20', '\x7d', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x69', '\x6e', '\x74', '\x20', '\x53', '\x5a', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x4d', '\x61', '\x6b', '\x65', '\x72', '\x3c', '\x73', '\x69', '\x67', '\x6e', '\x65', '\x64', '\x20', '\x63', '\x68', '\x61', '\x72', '\x5b', '\x53', '\x5a', '\x5d', '\x3e', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x76', '\x65', '\x72', '\x74', '\x28', '\x73', '\x69', '\x67', '\x6e', '\x65', '\x64', '\x20', '\x63', '\x68', '\x61', '\x72', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x2a', '\x20', '\x73', '\x74', '\x72', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x3a', '\x3a', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x44', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x69', '\x66', '\x79', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x7b', '\x20', '\x72', '\x65', '\x69', '\x6e', '\x74', '\x65', '\x72', '\x70', '\x72', '\x65', '\x74', '\x5f', '\x63', '\x61', '\x73', '\x74', '\x3c', '\x63', '\x68', '\x61', '\x72', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x2a', '\x3e', '\x28', '\x73', '\x74', '\x72', '\x29', '\x20', '\x7d', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x69', '\x6e', '\x74', '\x20', '\x53', '\x5a', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x4d', '\x61', '\x6b', '\x65', '\x72', '\x3c', '\x75', '\x6e', '\x73', '\x69', '\x67', '\x6e', '\x65', '\x64', '\x20', '\x63', '\x68', '\x61', '\x72', '\x5b', '\x53', '\x5a', '\x5d', '\x3e', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x76', '\x65', '\x72', '\x74', '\x28', '\x75', '\x6e', '\x73', '\x69', '\x67', '\x6e', '\x65', '\x64', '\x20', '\x63', '\x68', '\x61', '\x72', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x2a', '\x20', '\x73', '\x74', '\x72', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x3a', '\x3a', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x44', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x69', '\x66', '\x79', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x7b', '\x20', '\x72', '\x65', '\x69', '\x6e', '\x74', '\x65', '\x72', '\x70', '\x72', '\x65', '\x74', '\x5f', '\x63', '\x61', '\x73', '\x74', '\x3c', '\x63', '\x68', '\x61', '\x72', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x2a', '\x3e', '\x28', '\x73', '\x74', '\x72', '\x29', '\x20', '\x7d', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x43', '\x50', '\x50', '\x31', '\x37', '\x5f', '\x42', '\x59', '\x54', '\x45', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x4d', '\x61', '\x6b', '\x65', '\x72', '\x3c', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x62', '\x79', '\x74', '\x65', '\x3e', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x76', '\x65', '\x72', '\x74', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x62', '\x79', '\x74', '\x65', '\x20', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x20', '\x2f', '\x2f', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x43', '\x50', '\x50', '\x31', '\x37', '\x5f', '\x42', '\x59', '\x54', '\x45', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x4d', '\x61', '\x6b', '\x65', '\x72', '\x3c', '\x69', '\x6e', '\x74', '\x3e', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x76', '\x65', '\x72', '\x74', '\x28', '\x69', '\x6e', '\x74', '\x20', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x4d', '\x61', '\x6b', '\x65', '\x72', '\x3c', '\x6c', '\x6f', '\x6e', '\x67', '\x3e', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x76', '\x65', '\x72', '\x74', '\x28', '\x6c', '\x6f', '\x6e', '\x67', '\x20', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x4d', '\x61', '\x6b', '\x65', '\x72', '\x3c', '\x6c', '\x6f', '\x6e', '\x67', '\x20', '\x6c', '\x6f', '\x6e', '\x67', '\x3e', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x76', '\x65', '\x72', '\x74', '\x28', '\x6c', '\x6f', '\x6e', '\x67', '\x20', '\x6c', '\x6f', '\x6e', '\x67', '\x20', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x4d', '\x61', '\x6b', '\x65', '\x72', '\x3c', '\x75', '\x6e', '\x73', '\x69', '\x67', '\x6e', '\x65', '\x64', '\x20', '\x69', '\x6e', '\x74', '\x3e', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x76', '\x65', '\x72', '\x74', '\x28', '\x75', '\x6e', '\x73', '\x69', '\x67', '\x6e', '\x65', '\x64', '\x20', '\x69', '\x6e', '\x74', '\x20', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x4d', '\x61', '\x6b', '\x65', '\x72', '\x3c', '\x75', '\x6e', '\x73', '\x69', '\x67', '\x6e', '\x65', '\x64', '\x20', '\x6c', '\x6f', '\x6e', '\x67', '\x3e', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x76', '\x65', '\x72', '\x74', '\x28', '\x75', '\x6e', '\x73', '\x69', '\x67', '\x6e', '\x65', '\x64', '\x20', '\x6c', '\x6f', '\x6e', '\x67', '\x20', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x4d', '\x61', '\x6b', '\x65', '\x72', '\x3c', '\x75', '\x6e', '\x73', '\x69', '\x67', '\x6e', '\x65', '\x64', '\x20', '\x6c', '\x6f', '\x6e', '\x67', '\x20', '\x6c', '\x6f', '\x6e', '\x67', '\x3e', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x76', '\x65', '\x72', '\x74', '\x28', '\x75', '\x6e', '\x73', '\x69', '\x67', '\x6e', '\x65', '\x64', '\x20', '\x6c', '\x6f', '\x6e', '\x67', '\x20', '\x6c', '\x6f', '\x6e', '\x67', '\x20', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x4d', '\x61', '\x6b', '\x65', '\x72', '\x3c', '\x62', '\x6f', '\x6f', '\x6c', '\x3e', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x76', '\x65', '\x72', '\x74', '\x28', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x62', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x4d', '\x61', '\x6b', '\x65', '\x72', '\x3c', '\x63', '\x68', '\x61', '\x72', '\x3e', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x76', '\x65', '\x72', '\x74', '\x28', '\x63', '\x68', '\x61', '\x72', '\x20', '\x63', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x4d', '\x61', '\x6b', '\x65', '\x72', '\x3c', '\x73', '\x69', '\x67', '\x6e', '\x65', '\x64', '\x20', '\x63', '\x68', '\x61', '\x72', '\x3e', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x76', '\x65', '\x72', '\x74', '\x28', '\x73', '\x69', '\x67', '\x6e', '\x65', '\x64', '\x20', '\x63', '\x68', '\x61', '\x72', '\x20', '\x63', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x4d', '\x61', '\x6b', '\x65', '\x72', '\x3c', '\x75', '\x6e', '\x73', '\x69', '\x67', '\x6e', '\x65', '\x64', '\x20', '\x63', '\x68', '\x61', '\x72', '\x3e', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x76', '\x65', '\x72', '\x74', '\x28', '\x75', '\x6e', '\x73', '\x69', '\x67', '\x6e', '\x65', '\x64', '\x20', '\x63', '\x68', '\x61', '\x72', '\x20', '\x63', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x4d', '\x61', '\x6b', '\x65', '\x72', '\x3c', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6e', '\x75', '\x6c', '\x6c', '\x70', '\x74', '\x72', '\x5f', '\x74', '\x3e', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x76', '\x65', '\x72', '\x74', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6e', '\x75', '\x6c', '\x6c', '\x70', '\x74', '\x72', '\x5f', '\x74', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x4d', '\x61', '\x6b', '\x65', '\x72', '\x3c', '\x66', '\x6c', '\x6f', '\x61', '\x74', '\x3e', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x76', '\x65', '\x72', '\x74', '\x28', '\x66', '\x6c', '\x6f', '\x61', '\x74', '\x20', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x20', '\x69', '\x6e', '\x74', '\x20', '\x70', '\x72', '\x65', '\x63', '\x69', '\x73', '\x69', '\x6f', '\x6e', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x4d', '\x61', '\x6b', '\x65', '\x72', '\x3c', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x3e', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x76', '\x65', '\x72', '\x74', '\x28', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x20', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x20', '\x69', '\x6e', '\x74', '\x20', '\x70', '\x72', '\x65', '\x63', '\x69', '\x73', '\x69', '\x6f', '\x6e', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x20', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x54', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x4d', '\x61', '\x6b', '\x65', '\x72', '\x3c', '\x54', '\x2a', '\x3e', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x20', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x55', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x76', '\x65', '\x72', '\x74', '\x28', '\x55', '\x2a', '\x20', '\x70', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x70', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x3a', '\x3a', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x44', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x3a', '\x3a', '\x72', '\x61', '\x77', '\x4d', '\x65', '\x6d', '\x6f', '\x72', '\x79', '\x54', '\x6f', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x28', '\x70', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x20', '\x65', '\x6c', '\x73', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x22', '\x6e', '\x75', '\x6c', '\x6c', '\x70', '\x74', '\x72', '\x22', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x20', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x52', '\x2c', '\x20', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x43', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x4d', '\x61', '\x6b', '\x65', '\x72', '\x3c', '\x52', '\x20', '\x43', '\x3a', '\x3a', '\x2a', '\x3e', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x76', '\x65', '\x72', '\x74', '\x28', '\x52', '\x20', '\x43', '\x3a', '\x3a', '\x2a', '\x20', '\x70', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x70', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x3a', '\x3a', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x44', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x3a', '\x3a', '\x72', '\x61', '\x77', '\x4d', '\x65', '\x6d', '\x6f', '\x72', '\x79', '\x54', '\x6f', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x28', '\x70', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x20', '\x65', '\x6c', '\x73', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x22', '\x6e', '\x75', '\x6c', '\x6c', '\x70', '\x74', '\x72', '\x22', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x5f', '\x4d', '\x41', '\x4e', '\x41', '\x47', '\x45', '\x44', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x20', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x54', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x4d', '\x61', '\x6b', '\x65', '\x72', '\x3c', '\x54', '\x5e', '\x3e', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x76', '\x65', '\x72', '\x74', '\x28', '\x20', '\x54', '\x5e', '\x20', '\x72', '\x65', '\x66', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x3a', '\x3a', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x44', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x3a', '\x3a', '\x63', '\x6c', '\x72', '\x52', '\x65', '\x66', '\x65', '\x72', '\x65', '\x6e', '\x63', '\x65', '\x54', '\x6f', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x28', '\x72', '\x65', '\x66', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x44', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x49', '\x6e', '\x70', '\x75', '\x74', '\x49', '\x74', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x72', '\x61', '\x6e', '\x67', '\x65', '\x54', '\x6f', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x28', '\x49', '\x6e', '\x70', '\x75', '\x74', '\x49', '\x74', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x66', '\x69', '\x72', '\x73', '\x74', '\x2c', '\x20', '\x49', '\x6e', '\x70', '\x75', '\x74', '\x49', '\x74', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x6c', '\x61', '\x73', '\x74', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x52', '\x65', '\x75', '\x73', '\x61', '\x62', '\x6c', '\x65', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x20', '\x72', '\x73', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x73', '\x73', '\x20', '\x3c', '\x3c', '\x20', '\x22', '\x7b', '\x20', '\x22', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x66', '\x69', '\x72', '\x73', '\x74', '\x20', '\x21', '\x3d', '\x20', '\x6c', '\x61', '\x73', '\x74', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x73', '\x73', '\x20', '\x3c', '\x3c', '\x20', '\x3a', '\x3a', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x44', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x69', '\x66', '\x79', '\x28', '\x2a', '\x66', '\x69', '\x72', '\x73', '\x74', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x66', '\x6f', '\x72', '\x20', '\x28', '\x2b', '\x2b', '\x66', '\x69', '\x72', '\x73', '\x74', '\x3b', '\x20', '\x66', '\x69', '\x72', '\x73', '\x74', '\x20', '\x21', '\x3d', '\x20', '\x6c', '\x61', '\x73', '\x74', '\x3b', '\x20', '\x2b', '\x2b', '\x66', '\x69', '\x72', '\x73', '\x74', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x73', '\x73', '\x20', '\x3c', '\x3c', '\x20', '\x22', '\x2c', '\x20', '\x22', '\x20', '\x3c', '\x3c', '\x20', '\x3a', '\x3a', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x44', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x69', '\x66', '\x79', '\x28', '\x2a', '\x66', '\x69', '\x72', '\x73', '\x74', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x73', '\x73', '\x20', '\x3c', '\x3c', '\x20', '\x22', '\x20', '\x7d', '\x22', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x72', '\x73', '\x73', '\x2e', '\x73', '\x74', '\x72', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x64', '\x65', '\x66', '\x20', '\x5f', '\x5f', '\x4f', '\x42', '\x4a', '\x43', '\x5f', '\x5f', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x4d', '\x61', '\x6b', '\x65', '\x72', '\x3c', '\x4e', '\x53', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x2a', '\x3e', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x76', '\x65', '\x72', '\x74', '\x28', '\x4e', '\x53', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x2a', '\x20', '\x6e', '\x73', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x21', '\x6e', '\x73', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x22', '\x6e', '\x69', '\x6c', '\x22', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x28', '\x22', '\x40', '\x22', '\x29', '\x20', '\x2b', '\x20', '\x5b', '\x6e', '\x73', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x55', '\x54', '\x46', '\x38', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x5d', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x4d', '\x61', '\x6b', '\x65', '\x72', '\x3c', '\x4e', '\x53', '\x4f', '\x62', '\x6a', '\x65', '\x63', '\x74', '\x2a', '\x3e', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x76', '\x65', '\x72', '\x74', '\x28', '\x4e', '\x53', '\x4f', '\x62', '\x6a', '\x65', '\x63', '\x74', '\x2a', '\x20', '\x6e', '\x73', '\x4f', '\x62', '\x6a', '\x65', '\x63', '\x74', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x3a', '\x3a', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x44', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x69', '\x66', '\x79', '\x28', '\x5b', '\x6e', '\x73', '\x4f', '\x62', '\x6a', '\x65', '\x63', '\x74', '\x20', '\x64', '\x65', '\x73', '\x63', '\x72', '\x69', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x5d', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x44', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x6e', '\x6c', '\x69', '\x6e', '\x65', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x69', '\x66', '\x79', '\x28', '\x20', '\x4e', '\x53', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x2a', '\x20', '\x6e', '\x73', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x4d', '\x61', '\x6b', '\x65', '\x72', '\x3c', '\x4e', '\x53', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x2a', '\x3e', '\x3a', '\x3a', '\x63', '\x6f', '\x6e', '\x76', '\x65', '\x72', '\x74', '\x28', '\x20', '\x6e', '\x73', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x44', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x20', '\x2f', '\x2f', '\x20', '\x5f', '\x5f', '\x4f', '\x42', '\x4a', '\x43', '\x5f', '\x5f', '\x0d', '\x0a', '\x0d', '\x0a', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x53', '\x65', '\x70', '\x61', '\x72', '\x61', '\x74', '\x65', '\x20', '\x73', '\x74', '\x64', '\x2d', '\x6c', '\x69', '\x62', '\x20', '\x74', '\x79', '\x70', '\x65', '\x73', '\x20', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x69', '\x66', '\x69', '\x63', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x2c', '\x20', '\x73', '\x6f', '\x20', '\x69', '\x74', '\x20', '\x63', '\x61', '\x6e', '\x20', '\x62', '\x65', '\x20', '\x73', '\x65', '\x6c', '\x65', '\x63', '\x74', '\x69', '\x76', '\x65', '\x6c', '\x79', '\x20', '\x65', '\x6e', '\x61', '\x62', '\x6c', '\x65', '\x64', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x54', '\x68', '\x69', '\x73', '\x20', '\x6d', '\x65', '\x61', '\x6e', '\x73', '\x20', '\x74', '\x68', '\x61', '\x74', '\x20', '\x77', '\x65', '\x20', '\x64', '\x6f', '\x20', '\x6e', '\x6f', '\x74', '\x20', '\x62', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x69', '\x6e', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x45', '\x4e', '\x41', '\x42', '\x4c', '\x45', '\x5f', '\x41', '\x4c', '\x4c', '\x5f', '\x53', '\x54', '\x52', '\x49', '\x4e', '\x47', '\x4d', '\x41', '\x4b', '\x45', '\x52', '\x53', '\x29', '\x0d', '\x0a', '\x23', '\x20', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x45', '\x4e', '\x41', '\x42', '\x4c', '\x45', '\x5f', '\x50', '\x41', '\x49', '\x52', '\x5f', '\x53', '\x54', '\x52', '\x49', '\x4e', '\x47', '\x4d', '\x41', '\x4b', '\x45', '\x52', '\x0d', '\x0a', '\x23', '\x20', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x45', '\x4e', '\x41', '\x42', '\x4c', '\x45', '\x5f', '\x54', '\x55', '\x50', '\x4c', '\x45', '\x5f', '\x53', '\x54', '\x52', '\x49', '\x4e', '\x47', '\x4d', '\x41', '\x4b', '\x45', '\x52', '\x0d', '\x0a', '\x23', '\x20', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x45', '\x4e', '\x41', '\x42', '\x4c', '\x45', '\x5f', '\x56', '\x41', '\x52', '\x49', '\x41', '\x4e', '\x54', '\x5f', '\x53', '\x54', '\x52', '\x49', '\x4e', '\x47', '\x4d', '\x41', '\x4b', '\x45', '\x52', '\x0d', '\x0a', '\x23', '\x20', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x45', '\x4e', '\x41', '\x42', '\x4c', '\x45', '\x5f', '\x43', '\x48', '\x52', '\x4f', '\x4e', '\x4f', '\x5f', '\x53', '\x54', '\x52', '\x49', '\x4e', '\x47', '\x4d', '\x41', '\x4b', '\x45', '\x52', '\x0d', '\x0a', '\x23', '\x20', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x45', '\x4e', '\x41', '\x42', '\x4c', '\x45', '\x5f', '\x4f', '\x50', '\x54', '\x49', '\x4f', '\x4e', '\x41', '\x4c', '\x5f', '\x53', '\x54', '\x52', '\x49', '\x4e', '\x47', '\x4d', '\x41', '\x4b', '\x45', '\x52', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x53', '\x65', '\x70', '\x61', '\x72', '\x61', '\x74', '\x65', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x70', '\x61', '\x69', '\x72', '\x20', '\x73', '\x70', '\x65', '\x63', '\x69', '\x61', '\x6c', '\x69', '\x7a', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x45', '\x4e', '\x41', '\x42', '\x4c', '\x45', '\x5f', '\x50', '\x41', '\x49', '\x52', '\x5f', '\x53', '\x54', '\x52', '\x49', '\x4e', '\x47', '\x4d', '\x41', '\x4b', '\x45', '\x52', '\x29', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x75', '\x74', '\x69', '\x6c', '\x69', '\x74', '\x79', '\x3e', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x54', '\x31', '\x2c', '\x20', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x54', '\x32', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x4d', '\x61', '\x6b', '\x65', '\x72', '\x3c', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x70', '\x61', '\x69', '\x72', '\x3c', '\x54', '\x31', '\x2c', '\x20', '\x54', '\x32', '\x3e', '\x20', '\x3e', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x76', '\x65', '\x72', '\x74', '\x28', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x70', '\x61', '\x69', '\x72', '\x3c', '\x54', '\x31', '\x2c', '\x20', '\x54', '\x32', '\x3e', '\x26', '\x20', '\x70', '\x61', '\x69', '\x72', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x52', '\x65', '\x75', '\x73', '\x61', '\x62', '\x6c', '\x65', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x20', '\x72', '\x73', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x73', '\x73', '\x20', '\x3c', '\x3c', '\x20', '\x22', '\x7b', '\x20', '\x22', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x3c', '\x3c', '\x20', '\x3a', '\x3a', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x44', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x69', '\x66', '\x79', '\x28', '\x70', '\x61', '\x69', '\x72', '\x2e', '\x66', '\x69', '\x72', '\x73', '\x74', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x3c', '\x3c', '\x20', '\x22', '\x2c', '\x20', '\x22', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x3c', '\x3c', '\x20', '\x3a', '\x3a', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x44', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x69', '\x66', '\x79', '\x28', '\x70', '\x61', '\x69', '\x72', '\x2e', '\x73', '\x65', '\x63', '\x6f', '\x6e', '\x64', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x3c', '\x3c', '\x20', '\x22', '\x20', '\x7d', '\x22', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x72', '\x73', '\x73', '\x2e', '\x73', '\x74', '\x72', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x7d', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x20', '\x2f', '\x2f', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x45', '\x4e', '\x41', '\x42', '\x4c', '\x45', '\x5f', '\x50', '\x41', '\x49', '\x52', '\x5f', '\x53', '\x54', '\x52', '\x49', '\x4e', '\x47', '\x4d', '\x41', '\x4b', '\x45', '\x52', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x45', '\x4e', '\x41', '\x42', '\x4c', '\x45', '\x5f', '\x4f', '\x50', '\x54', '\x49', '\x4f', '\x4e', '\x41', '\x4c', '\x5f', '\x53', '\x54', '\x52', '\x49', '\x4e', '\x47', '\x4d', '\x41', '\x4b', '\x45', '\x52', '\x29', '\x20', '\x26', '\x26', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x43', '\x50', '\x50', '\x31', '\x37', '\x5f', '\x4f', '\x50', '\x54', '\x49', '\x4f', '\x4e', '\x41', '\x4c', '\x29', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x6f', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x61', '\x6c', '\x3e', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x54', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x4d', '\x61', '\x6b', '\x65', '\x72', '\x3c', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6f', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x61', '\x6c', '\x3c', '\x54', '\x3e', '\x20', '\x3e', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x76', '\x65', '\x72', '\x74', '\x28', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6f', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x61', '\x6c', '\x3c', '\x54', '\x3e', '\x26', '\x20', '\x6f', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x61', '\x6c', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x52', '\x65', '\x75', '\x73', '\x61', '\x62', '\x6c', '\x65', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x20', '\x72', '\x73', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x6f', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x61', '\x6c', '\x2e', '\x68', '\x61', '\x73', '\x5f', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x28', '\x29', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x73', '\x73', '\x20', '\x3c', '\x3c', '\x20', '\x3a', '\x3a', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x44', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x69', '\x66', '\x79', '\x28', '\x2a', '\x6f', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x61', '\x6c', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x20', '\x65', '\x6c', '\x73', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x73', '\x73', '\x20', '\x3c', '\x3c', '\x20', '\x22', '\x7b', '\x20', '\x7d', '\x22', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x72', '\x73', '\x73', '\x2e', '\x73', '\x74', '\x72', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x7d', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x20', '\x2f', '\x2f', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x45', '\x4e', '\x41', '\x42', '\x4c', '\x45', '\x5f', '\x4f', '\x50', '\x54', '\x49', '\x4f', '\x4e', '\x41', '\x4c', '\x5f', '\x53', '\x54', '\x52', '\x49', '\x4e', '\x47', '\x4d', '\x41', '\x4b', '\x45', '\x52', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x53', '\x65', '\x70', '\x61', '\x72', '\x61', '\x74', '\x65', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x74', '\x75', '\x70', '\x6c', '\x65', '\x20', '\x73', '\x70', '\x65', '\x63', '\x69', '\x61', '\x6c', '\x69', '\x7a', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x45', '\x4e', '\x41', '\x42', '\x4c', '\x45', '\x5f', '\x54', '\x55', '\x50', '\x4c', '\x45', '\x5f', '\x53', '\x54', '\x52', '\x49', '\x4e', '\x47', '\x4d', '\x41', '\x4b', '\x45', '\x52', '\x29', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x74', '\x75', '\x70', '\x6c', '\x65', '\x3e', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x44', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x54', '\x75', '\x70', '\x6c', '\x65', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x69', '\x7a', '\x65', '\x5f', '\x74', '\x20', '\x4e', '\x20', '\x3d', '\x20', '\x30', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x3d', '\x20', '\x28', '\x4e', '\x20', '\x3c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x74', '\x75', '\x70', '\x6c', '\x65', '\x5f', '\x73', '\x69', '\x7a', '\x65', '\x3c', '\x54', '\x75', '\x70', '\x6c', '\x65', '\x3e', '\x3a', '\x3a', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x54', '\x75', '\x70', '\x6c', '\x65', '\x45', '\x6c', '\x65', '\x6d', '\x65', '\x6e', '\x74', '\x50', '\x72', '\x69', '\x6e', '\x74', '\x65', '\x72', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x70', '\x72', '\x69', '\x6e', '\x74', '\x28', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x54', '\x75', '\x70', '\x6c', '\x65', '\x26', '\x20', '\x74', '\x75', '\x70', '\x6c', '\x65', '\x2c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6f', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x26', '\x20', '\x6f', '\x73', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6f', '\x73', '\x20', '\x3c', '\x3c', '\x20', '\x28', '\x4e', '\x20', '\x3f', '\x20', '\x22', '\x2c', '\x20', '\x22', '\x20', '\x3a', '\x20', '\x22', '\x20', '\x22', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x3c', '\x3c', '\x20', '\x3a', '\x3a', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x44', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x69', '\x66', '\x79', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x67', '\x65', '\x74', '\x3c', '\x4e', '\x3e', '\x28', '\x74', '\x75', '\x70', '\x6c', '\x65', '\x29', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x54', '\x75', '\x70', '\x6c', '\x65', '\x45', '\x6c', '\x65', '\x6d', '\x65', '\x6e', '\x74', '\x50', '\x72', '\x69', '\x6e', '\x74', '\x65', '\x72', '\x3c', '\x54', '\x75', '\x70', '\x6c', '\x65', '\x2c', '\x20', '\x4e', '\x20', '\x2b', '\x20', '\x31', '\x3e', '\x3a', '\x3a', '\x70', '\x72', '\x69', '\x6e', '\x74', '\x28', '\x74', '\x75', '\x70', '\x6c', '\x65', '\x2c', '\x20', '\x6f', '\x73', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x54', '\x75', '\x70', '\x6c', '\x65', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x69', '\x7a', '\x65', '\x5f', '\x74', '\x20', '\x4e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x54', '\x75', '\x70', '\x6c', '\x65', '\x45', '\x6c', '\x65', '\x6d', '\x65', '\x6e', '\x74', '\x50', '\x72', '\x69', '\x6e', '\x74', '\x65', '\x72', '\x3c', '\x54', '\x75', '\x70', '\x6c', '\x65', '\x2c', '\x20', '\x4e', '\x2c', '\x20', '\x66', '\x61', '\x6c', '\x73', '\x65', '\x3e', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x70', '\x72', '\x69', '\x6e', '\x74', '\x28', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x54', '\x75', '\x70', '\x6c', '\x65', '\x26', '\x2c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6f', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x26', '\x29', '\x20', '\x7b', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x2e', '\x2e', '\x2e', '\x54', '\x79', '\x70', '\x65', '\x73', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x4d', '\x61', '\x6b', '\x65', '\x72', '\x3c', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x74', '\x75', '\x70', '\x6c', '\x65', '\x3c', '\x54', '\x79', '\x70', '\x65', '\x73', '\x2e', '\x2e', '\x2e', '\x3e', '\x3e', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x76', '\x65', '\x72', '\x74', '\x28', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x74', '\x75', '\x70', '\x6c', '\x65', '\x3c', '\x54', '\x79', '\x70', '\x65', '\x73', '\x2e', '\x2e', '\x2e', '\x3e', '\x26', '\x20', '\x74', '\x75', '\x70', '\x6c', '\x65', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x52', '\x65', '\x75', '\x73', '\x61', '\x62', '\x6c', '\x65', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x20', '\x72', '\x73', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x73', '\x73', '\x20', '\x3c', '\x3c', '\x20', '\x27', '\x7b', '\x27', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x44', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x3a', '\x3a', '\x54', '\x75', '\x70', '\x6c', '\x65', '\x45', '\x6c', '\x65', '\x6d', '\x65', '\x6e', '\x74', '\x50', '\x72', '\x69', '\x6e', '\x74', '\x65', '\x72', '\x3c', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x74', '\x75', '\x70', '\x6c', '\x65', '\x3c', '\x54', '\x79', '\x70', '\x65', '\x73', '\x2e', '\x2e', '\x2e', '\x3e', '\x3e', '\x3a', '\x3a', '\x70', '\x72', '\x69', '\x6e', '\x74', '\x28', '\x74', '\x75', '\x70', '\x6c', '\x65', '\x2c', '\x20', '\x72', '\x73', '\x73', '\x2e', '\x67', '\x65', '\x74', '\x28', '\x29', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x73', '\x73', '\x20', '\x3c', '\x3c', '\x20', '\x22', '\x20', '\x7d', '\x22', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x72', '\x73', '\x73', '\x2e', '\x73', '\x74', '\x72', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x7d', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x20', '\x2f', '\x2f', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x45', '\x4e', '\x41', '\x42', '\x4c', '\x45', '\x5f', '\x54', '\x55', '\x50', '\x4c', '\x45', '\x5f', '\x53', '\x54', '\x52', '\x49', '\x4e', '\x47', '\x4d', '\x41', '\x4b', '\x45', '\x52', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x45', '\x4e', '\x41', '\x42', '\x4c', '\x45', '\x5f', '\x56', '\x41', '\x52', '\x49', '\x41', '\x4e', '\x54', '\x5f', '\x53', '\x54', '\x52', '\x49', '\x4e', '\x47', '\x4d', '\x41', '\x4b', '\x45', '\x52', '\x29', '\x20', '\x26', '\x26', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x43', '\x50', '\x50', '\x31', '\x37', '\x5f', '\x56', '\x41', '\x52', '\x49', '\x41', '\x4e', '\x54', '\x29', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x76', '\x61', '\x72', '\x69', '\x61', '\x6e', '\x74', '\x3e', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x4d', '\x61', '\x6b', '\x65', '\x72', '\x3c', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6d', '\x6f', '\x6e', '\x6f', '\x73', '\x74', '\x61', '\x74', '\x65', '\x3e', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x76', '\x65', '\x72', '\x74', '\x28', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6d', '\x6f', '\x6e', '\x6f', '\x73', '\x74', '\x61', '\x74', '\x65', '\x26', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x22', '\x7b', '\x20', '\x7d', '\x22', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x2e', '\x2e', '\x2e', '\x20', '\x45', '\x6c', '\x65', '\x6d', '\x65', '\x6e', '\x74', '\x73', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x4d', '\x61', '\x6b', '\x65', '\x72', '\x3c', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x61', '\x72', '\x69', '\x61', '\x6e', '\x74', '\x3c', '\x45', '\x6c', '\x65', '\x6d', '\x65', '\x6e', '\x74', '\x73', '\x2e', '\x2e', '\x2e', '\x3e', '\x3e', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x76', '\x65', '\x72', '\x74', '\x28', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x61', '\x72', '\x69', '\x61', '\x6e', '\x74', '\x3c', '\x45', '\x6c', '\x65', '\x6d', '\x65', '\x6e', '\x74', '\x73', '\x2e', '\x2e', '\x2e', '\x3e', '\x26', '\x20', '\x76', '\x61', '\x72', '\x69', '\x61', '\x6e', '\x74', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x76', '\x61', '\x72', '\x69', '\x61', '\x6e', '\x74', '\x2e', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x6c', '\x65', '\x73', '\x73', '\x5f', '\x62', '\x79', '\x5f', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x28', '\x29', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x22', '\x7b', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x6c', '\x65', '\x73', '\x73', '\x20', '\x76', '\x61', '\x72', '\x69', '\x61', '\x6e', '\x74', '\x7d', '\x22', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x20', '\x65', '\x6c', '\x73', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x69', '\x73', '\x69', '\x74', '\x28', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x5b', '\x5d', '\x28', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x26', '\x20', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x3a', '\x3a', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x44', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x69', '\x66', '\x79', '\x28', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x61', '\x72', '\x69', '\x61', '\x6e', '\x74', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x7d', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x20', '\x2f', '\x2f', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x45', '\x4e', '\x41', '\x42', '\x4c', '\x45', '\x5f', '\x56', '\x41', '\x52', '\x49', '\x41', '\x4e', '\x54', '\x5f', '\x53', '\x54', '\x52', '\x49', '\x4e', '\x47', '\x4d', '\x41', '\x4b', '\x45', '\x52', '\x0d', '\x0a', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x6e', '\x6f', '\x74', '\x5f', '\x74', '\x68', '\x69', '\x73', '\x5f', '\x6f', '\x6e', '\x65', '\x20', '\x7b', '\x7d', '\x3b', '\x20', '\x2f', '\x2f', '\x20', '\x54', '\x61', '\x67', '\x20', '\x74', '\x79', '\x70', '\x65', '\x20', '\x66', '\x6f', '\x72', '\x20', '\x64', '\x65', '\x74', '\x65', '\x63', '\x74', '\x69', '\x6e', '\x67', '\x20', '\x77', '\x68', '\x69', '\x63', '\x68', '\x20', '\x62', '\x65', '\x67', '\x69', '\x6e', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x61', '\x72', '\x65', '\x20', '\x62', '\x65', '\x69', '\x6e', '\x67', '\x20', '\x73', '\x65', '\x6c', '\x65', '\x63', '\x74', '\x65', '\x64', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x49', '\x6d', '\x70', '\x6f', '\x72', '\x74', '\x20', '\x62', '\x65', '\x67', '\x69', '\x6e', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x66', '\x72', '\x6f', '\x6d', '\x20', '\x73', '\x74', '\x64', '\x20', '\x68', '\x65', '\x72', '\x65', '\x20', '\x73', '\x6f', '\x20', '\x74', '\x68', '\x65', '\x79', '\x20', '\x61', '\x72', '\x65', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x69', '\x64', '\x65', '\x72', '\x65', '\x64', '\x20', '\x61', '\x6c', '\x6f', '\x6e', '\x67', '\x73', '\x69', '\x64', '\x65', '\x20', '\x74', '\x68', '\x65', '\x20', '\x66', '\x61', '\x6c', '\x6c', '\x62', '\x61', '\x63', '\x6b', '\x20', '\x28', '\x2e', '\x2e', '\x2e', '\x29', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x6c', '\x6f', '\x61', '\x64', '\x73', '\x20', '\x69', '\x6e', '\x20', '\x74', '\x68', '\x69', '\x73', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x75', '\x73', '\x69', '\x6e', '\x67', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x62', '\x65', '\x67', '\x69', '\x6e', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x75', '\x73', '\x69', '\x6e', '\x67', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x65', '\x6e', '\x64', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x6e', '\x6f', '\x74', '\x5f', '\x74', '\x68', '\x69', '\x73', '\x5f', '\x6f', '\x6e', '\x65', '\x20', '\x62', '\x65', '\x67', '\x69', '\x6e', '\x28', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x6e', '\x6f', '\x74', '\x5f', '\x74', '\x68', '\x69', '\x73', '\x5f', '\x6f', '\x6e', '\x65', '\x20', '\x65', '\x6e', '\x64', '\x28', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x20', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x54', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x69', '\x73', '\x5f', '\x72', '\x61', '\x6e', '\x67', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x20', '\x3d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x21', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x69', '\x73', '\x5f', '\x73', '\x61', '\x6d', '\x65', '\x3c', '\x64', '\x65', '\x63', '\x6c', '\x74', '\x79', '\x70', '\x65', '\x28', '\x62', '\x65', '\x67', '\x69', '\x6e', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x64', '\x65', '\x63', '\x6c', '\x76', '\x61', '\x6c', '\x3c', '\x54', '\x3e', '\x28', '\x29', '\x29', '\x29', '\x2c', '\x20', '\x6e', '\x6f', '\x74', '\x5f', '\x74', '\x68', '\x69', '\x73', '\x5f', '\x6f', '\x6e', '\x65', '\x3e', '\x3a', '\x3a', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x20', '\x26', '\x26', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x21', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x69', '\x73', '\x5f', '\x73', '\x61', '\x6d', '\x65', '\x3c', '\x64', '\x65', '\x63', '\x6c', '\x74', '\x79', '\x70', '\x65', '\x28', '\x65', '\x6e', '\x64', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x64', '\x65', '\x63', '\x6c', '\x76', '\x61', '\x6c', '\x3c', '\x54', '\x3e', '\x28', '\x29', '\x29', '\x29', '\x2c', '\x20', '\x6e', '\x6f', '\x74', '\x5f', '\x74', '\x68', '\x69', '\x73', '\x5f', '\x6f', '\x6e', '\x65', '\x3e', '\x3a', '\x3a', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x5f', '\x4d', '\x41', '\x4e', '\x41', '\x47', '\x45', '\x44', '\x29', '\x20', '\x2f', '\x2f', '\x20', '\x4d', '\x61', '\x6e', '\x61', '\x67', '\x65', '\x64', '\x20', '\x74', '\x79', '\x70', '\x65', '\x73', '\x20', '\x61', '\x72', '\x65', '\x20', '\x6e', '\x65', '\x76', '\x65', '\x72', '\x20', '\x72', '\x61', '\x6e', '\x67', '\x65', '\x73', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x20', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x54', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x69', '\x73', '\x5f', '\x72', '\x61', '\x6e', '\x67', '\x65', '\x3c', '\x54', '\x5e', '\x3e', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x20', '\x3d', '\x20', '\x66', '\x61', '\x6c', '\x73', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x52', '\x61', '\x6e', '\x67', '\x65', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x72', '\x61', '\x6e', '\x67', '\x65', '\x54', '\x6f', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x28', '\x20', '\x52', '\x61', '\x6e', '\x67', '\x65', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x72', '\x61', '\x6e', '\x67', '\x65', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x3a', '\x3a', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x44', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x3a', '\x3a', '\x72', '\x61', '\x6e', '\x67', '\x65', '\x54', '\x6f', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x28', '\x20', '\x62', '\x65', '\x67', '\x69', '\x6e', '\x28', '\x20', '\x72', '\x61', '\x6e', '\x67', '\x65', '\x20', '\x29', '\x2c', '\x20', '\x65', '\x6e', '\x64', '\x28', '\x20', '\x72', '\x61', '\x6e', '\x67', '\x65', '\x20', '\x29', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x48', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x20', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x62', '\x6f', '\x6f', '\x6c', '\x3e', '\x20', '\x73', '\x70', '\x65', '\x63', '\x69', '\x61', '\x6c', '\x6c', '\x79', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x41', '\x6c', '\x6c', '\x6f', '\x63', '\x61', '\x74', '\x6f', '\x72', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x72', '\x61', '\x6e', '\x67', '\x65', '\x54', '\x6f', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x62', '\x6f', '\x6f', '\x6c', '\x2c', '\x20', '\x41', '\x6c', '\x6c', '\x6f', '\x63', '\x61', '\x74', '\x6f', '\x72', '\x3e', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x76', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x52', '\x65', '\x75', '\x73', '\x61', '\x62', '\x6c', '\x65', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x20', '\x72', '\x73', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x73', '\x73', '\x20', '\x3c', '\x3c', '\x20', '\x22', '\x7b', '\x20', '\x22', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x66', '\x69', '\x72', '\x73', '\x74', '\x20', '\x3d', '\x20', '\x74', '\x72', '\x75', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x66', '\x6f', '\x72', '\x28', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x62', '\x20', '\x3a', '\x20', '\x76', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x66', '\x69', '\x72', '\x73', '\x74', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x66', '\x69', '\x72', '\x73', '\x74', '\x20', '\x3d', '\x20', '\x66', '\x61', '\x6c', '\x73', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x6c', '\x73', '\x65', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x73', '\x73', '\x20', '\x3c', '\x3c', '\x20', '\x22', '\x2c', '\x20', '\x22', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x73', '\x73', '\x20', '\x3c', '\x3c', '\x20', '\x3a', '\x3a', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x44', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x69', '\x66', '\x79', '\x28', '\x20', '\x62', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x73', '\x73', '\x20', '\x3c', '\x3c', '\x20', '\x22', '\x20', '\x7d', '\x22', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x72', '\x73', '\x73', '\x2e', '\x73', '\x74', '\x72', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x52', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x4d', '\x61', '\x6b', '\x65', '\x72', '\x3c', '\x52', '\x2c', '\x20', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x65', '\x6e', '\x61', '\x62', '\x6c', '\x65', '\x5f', '\x69', '\x66', '\x3c', '\x69', '\x73', '\x5f', '\x72', '\x61', '\x6e', '\x67', '\x65', '\x3c', '\x52', '\x3e', '\x3a', '\x3a', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x20', '\x26', '\x26', '\x20', '\x21', '\x3a', '\x3a', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x44', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x3a', '\x3a', '\x49', '\x73', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x49', '\x6e', '\x73', '\x65', '\x72', '\x74', '\x61', '\x62', '\x6c', '\x65', '\x3c', '\x52', '\x3e', '\x3a', '\x3a', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x3e', '\x3a', '\x3a', '\x74', '\x79', '\x70', '\x65', '\x3e', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x76', '\x65', '\x72', '\x74', '\x28', '\x20', '\x52', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x72', '\x61', '\x6e', '\x67', '\x65', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x72', '\x61', '\x6e', '\x67', '\x65', '\x54', '\x6f', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x28', '\x20', '\x72', '\x61', '\x6e', '\x67', '\x65', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x20', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x54', '\x2c', '\x20', '\x69', '\x6e', '\x74', '\x20', '\x53', '\x5a', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x4d', '\x61', '\x6b', '\x65', '\x72', '\x3c', '\x54', '\x5b', '\x53', '\x5a', '\x5d', '\x3e', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x76', '\x65', '\x72', '\x74', '\x28', '\x54', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x28', '\x26', '\x61', '\x72', '\x72', '\x29', '\x5b', '\x53', '\x5a', '\x5d', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x72', '\x61', '\x6e', '\x67', '\x65', '\x54', '\x6f', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x28', '\x61', '\x72', '\x72', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x53', '\x65', '\x70', '\x61', '\x72', '\x61', '\x74', '\x65', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x63', '\x68', '\x72', '\x6f', '\x6e', '\x6f', '\x3a', '\x3a', '\x64', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x73', '\x70', '\x65', '\x63', '\x69', '\x61', '\x6c', '\x69', '\x7a', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x45', '\x4e', '\x41', '\x42', '\x4c', '\x45', '\x5f', '\x43', '\x48', '\x52', '\x4f', '\x4e', '\x4f', '\x5f', '\x53', '\x54', '\x52', '\x49', '\x4e', '\x47', '\x4d', '\x41', '\x4b', '\x45', '\x52', '\x29', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x63', '\x74', '\x69', '\x6d', '\x65', '\x3e', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x3e', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x63', '\x68', '\x72', '\x6f', '\x6e', '\x6f', '\x3e', '\x0d', '\x0a', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x20', '\x3c', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x20', '\x52', '\x61', '\x74', '\x69', '\x6f', '\x3e', '\x0d', '\x0a', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x5f', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x73', '\x79', '\x6d', '\x62', '\x6f', '\x6c', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x20', '\x3c', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x20', '\x52', '\x61', '\x74', '\x69', '\x6f', '\x3e', '\x0d', '\x0a', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x5f', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x3c', '\x52', '\x61', '\x74', '\x69', '\x6f', '\x3e', '\x3a', '\x3a', '\x73', '\x79', '\x6d', '\x62', '\x6f', '\x6c', '\x28', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x52', '\x65', '\x75', '\x73', '\x61', '\x62', '\x6c', '\x65', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x20', '\x72', '\x73', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x72', '\x73', '\x73', '\x20', '\x3c', '\x3c', '\x20', '\x27', '\x5b', '\x27', '\x20', '\x3c', '\x3c', '\x20', '\x52', '\x61', '\x74', '\x69', '\x6f', '\x3a', '\x3a', '\x6e', '\x75', '\x6d', '\x20', '\x3c', '\x3c', '\x20', '\x27', '\x2f', '\x27', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x3c', '\x3c', '\x20', '\x52', '\x61', '\x74', '\x69', '\x6f', '\x3a', '\x3a', '\x64', '\x65', '\x6e', '\x20', '\x3c', '\x3c', '\x20', '\x27', '\x5d', '\x27', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x72', '\x73', '\x73', '\x2e', '\x73', '\x74', '\x72', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x7d', '\x0d', '\x0a', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x20', '\x3c', '\x3e', '\x0d', '\x0a', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x5f', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x3c', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x61', '\x74', '\x74', '\x6f', '\x3e', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x73', '\x79', '\x6d', '\x62', '\x6f', '\x6c', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x7d', '\x3b', '\x0d', '\x0a', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x20', '\x3c', '\x3e', '\x0d', '\x0a', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x5f', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x3c', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x66', '\x65', '\x6d', '\x74', '\x6f', '\x3e', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x73', '\x79', '\x6d', '\x62', '\x6f', '\x6c', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x7d', '\x3b', '\x0d', '\x0a', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x20', '\x3c', '\x3e', '\x0d', '\x0a', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x5f', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x3c', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x70', '\x69', '\x63', '\x6f', '\x3e', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x73', '\x79', '\x6d', '\x62', '\x6f', '\x6c', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x7d', '\x3b', '\x0d', '\x0a', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x20', '\x3c', '\x3e', '\x0d', '\x0a', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x5f', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x3c', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6e', '\x61', '\x6e', '\x6f', '\x3e', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x73', '\x79', '\x6d', '\x62', '\x6f', '\x6c', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x7d', '\x3b', '\x0d', '\x0a', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x20', '\x3c', '\x3e', '\x0d', '\x0a', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x5f', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x3c', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6d', '\x69', '\x63', '\x72', '\x6f', '\x3e', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x73', '\x79', '\x6d', '\x62', '\x6f', '\x6c', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x7d', '\x3b', '\x0d', '\x0a', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x20', '\x3c', '\x3e', '\x0d', '\x0a', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x5f', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x3c', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6d', '\x69', '\x6c', '\x6c', '\x69', '\x3e', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x73', '\x79', '\x6d', '\x62', '\x6f', '\x6c', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x63', '\x68', '\x72', '\x6f', '\x6e', '\x6f', '\x3a', '\x3a', '\x64', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x73', '\x70', '\x65', '\x63', '\x69', '\x61', '\x6c', '\x69', '\x7a', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x56', '\x61', '\x6c', '\x75', '\x65', '\x2c', '\x20', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x52', '\x61', '\x74', '\x69', '\x6f', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x4d', '\x61', '\x6b', '\x65', '\x72', '\x3c', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x63', '\x68', '\x72', '\x6f', '\x6e', '\x6f', '\x3a', '\x3a', '\x64', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x3c', '\x56', '\x61', '\x6c', '\x75', '\x65', '\x2c', '\x20', '\x52', '\x61', '\x74', '\x69', '\x6f', '\x3e', '\x3e', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x76', '\x65', '\x72', '\x74', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x63', '\x68', '\x72', '\x6f', '\x6e', '\x6f', '\x3a', '\x3a', '\x64', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x3c', '\x56', '\x61', '\x6c', '\x75', '\x65', '\x2c', '\x20', '\x52', '\x61', '\x74', '\x69', '\x6f', '\x3e', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x64', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x52', '\x65', '\x75', '\x73', '\x61', '\x62', '\x6c', '\x65', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x20', '\x72', '\x73', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x73', '\x73', '\x20', '\x3c', '\x3c', '\x20', '\x64', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x2e', '\x63', '\x6f', '\x75', '\x6e', '\x74', '\x28', '\x29', '\x20', '\x3c', '\x3c', '\x20', '\x27', '\x20', '\x27', '\x20', '\x3c', '\x3c', '\x20', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x5f', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x3c', '\x52', '\x61', '\x74', '\x69', '\x6f', '\x3e', '\x3a', '\x3a', '\x73', '\x79', '\x6d', '\x62', '\x6f', '\x6c', '\x28', '\x29', '\x20', '\x3c', '\x3c', '\x20', '\x27', '\x73', '\x27', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x72', '\x73', '\x73', '\x2e', '\x73', '\x74', '\x72', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x56', '\x61', '\x6c', '\x75', '\x65', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x4d', '\x61', '\x6b', '\x65', '\x72', '\x3c', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x63', '\x68', '\x72', '\x6f', '\x6e', '\x6f', '\x3a', '\x3a', '\x64', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x3c', '\x56', '\x61', '\x6c', '\x75', '\x65', '\x2c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x3c', '\x31', '\x3e', '\x3e', '\x3e', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x76', '\x65', '\x72', '\x74', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x63', '\x68', '\x72', '\x6f', '\x6e', '\x6f', '\x3a', '\x3a', '\x64', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x3c', '\x56', '\x61', '\x6c', '\x75', '\x65', '\x2c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x3c', '\x31', '\x3e', '\x3e', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x64', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x52', '\x65', '\x75', '\x73', '\x61', '\x62', '\x6c', '\x65', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x20', '\x72', '\x73', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x73', '\x73', '\x20', '\x3c', '\x3c', '\x20', '\x64', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x2e', '\x63', '\x6f', '\x75', '\x6e', '\x74', '\x28', '\x29', '\x20', '\x3c', '\x3c', '\x20', '\x22', '\x20', '\x73', '\x22', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x72', '\x73', '\x73', '\x2e', '\x73', '\x74', '\x72', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x56', '\x61', '\x6c', '\x75', '\x65', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x4d', '\x61', '\x6b', '\x65', '\x72', '\x3c', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x63', '\x68', '\x72', '\x6f', '\x6e', '\x6f', '\x3a', '\x3a', '\x64', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x3c', '\x56', '\x61', '\x6c', '\x75', '\x65', '\x2c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x3c', '\x36', '\x30', '\x3e', '\x3e', '\x3e', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x76', '\x65', '\x72', '\x74', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x63', '\x68', '\x72', '\x6f', '\x6e', '\x6f', '\x3a', '\x3a', '\x64', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x3c', '\x56', '\x61', '\x6c', '\x75', '\x65', '\x2c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x3c', '\x36', '\x30', '\x3e', '\x3e', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x64', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x52', '\x65', '\x75', '\x73', '\x61', '\x62', '\x6c', '\x65', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x20', '\x72', '\x73', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x73', '\x73', '\x20', '\x3c', '\x3c', '\x20', '\x64', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x2e', '\x63', '\x6f', '\x75', '\x6e', '\x74', '\x28', '\x29', '\x20', '\x3c', '\x3c', '\x20', '\x22', '\x20', '\x6d', '\x22', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x72', '\x73', '\x73', '\x2e', '\x73', '\x74', '\x72', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x56', '\x61', '\x6c', '\x75', '\x65', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x4d', '\x61', '\x6b', '\x65', '\x72', '\x3c', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x63', '\x68', '\x72', '\x6f', '\x6e', '\x6f', '\x3a', '\x3a', '\x64', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x3c', '\x56', '\x61', '\x6c', '\x75', '\x65', '\x2c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x3c', '\x33', '\x36', '\x30', '\x30', '\x3e', '\x3e', '\x3e', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x76', '\x65', '\x72', '\x74', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x63', '\x68', '\x72', '\x6f', '\x6e', '\x6f', '\x3a', '\x3a', '\x64', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x3c', '\x56', '\x61', '\x6c', '\x75', '\x65', '\x2c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x3c', '\x33', '\x36', '\x30', '\x30', '\x3e', '\x3e', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x64', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x52', '\x65', '\x75', '\x73', '\x61', '\x62', '\x6c', '\x65', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x20', '\x72', '\x73', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x73', '\x73', '\x20', '\x3c', '\x3c', '\x20', '\x64', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x2e', '\x63', '\x6f', '\x75', '\x6e', '\x74', '\x28', '\x29', '\x20', '\x3c', '\x3c', '\x20', '\x22', '\x20', '\x68', '\x22', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x72', '\x73', '\x73', '\x2e', '\x73', '\x74', '\x72', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x63', '\x68', '\x72', '\x6f', '\x6e', '\x6f', '\x3a', '\x3a', '\x74', '\x69', '\x6d', '\x65', '\x5f', '\x70', '\x6f', '\x69', '\x6e', '\x74', '\x20', '\x73', '\x70', '\x65', '\x63', '\x69', '\x61', '\x6c', '\x69', '\x7a', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x69', '\x63', '\x20', '\x74', '\x69', '\x6d', '\x65', '\x5f', '\x70', '\x6f', '\x69', '\x6e', '\x74', '\x20', '\x63', '\x61', '\x6e', '\x6e', '\x6f', '\x74', '\x20', '\x62', '\x65', '\x20', '\x73', '\x70', '\x65', '\x63', '\x69', '\x61', '\x6c', '\x69', '\x7a', '\x65', '\x64', '\x2c', '\x20', '\x6f', '\x6e', '\x6c', '\x79', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x63', '\x68', '\x72', '\x6f', '\x6e', '\x6f', '\x3a', '\x3a', '\x74', '\x69', '\x6d', '\x65', '\x5f', '\x70', '\x6f', '\x69', '\x6e', '\x74', '\x3c', '\x73', '\x79', '\x73', '\x74', '\x65', '\x6d', '\x5f', '\x63', '\x6c', '\x6f', '\x63', '\x6b', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x43', '\x6c', '\x6f', '\x63', '\x6b', '\x2c', '\x20', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x44', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x4d', '\x61', '\x6b', '\x65', '\x72', '\x3c', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x63', '\x68', '\x72', '\x6f', '\x6e', '\x6f', '\x3a', '\x3a', '\x74', '\x69', '\x6d', '\x65', '\x5f', '\x70', '\x6f', '\x69', '\x6e', '\x74', '\x3c', '\x43', '\x6c', '\x6f', '\x63', '\x6b', '\x2c', '\x20', '\x44', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x3e', '\x3e', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x76', '\x65', '\x72', '\x74', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x63', '\x68', '\x72', '\x6f', '\x6e', '\x6f', '\x3a', '\x3a', '\x74', '\x69', '\x6d', '\x65', '\x5f', '\x70', '\x6f', '\x69', '\x6e', '\x74', '\x3c', '\x43', '\x6c', '\x6f', '\x63', '\x6b', '\x2c', '\x20', '\x44', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x3e', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x74', '\x69', '\x6d', '\x65', '\x5f', '\x70', '\x6f', '\x69', '\x6e', '\x74', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x3a', '\x3a', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x44', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x69', '\x66', '\x79', '\x28', '\x74', '\x69', '\x6d', '\x65', '\x5f', '\x70', '\x6f', '\x69', '\x6e', '\x74', '\x2e', '\x74', '\x69', '\x6d', '\x65', '\x5f', '\x73', '\x69', '\x6e', '\x63', '\x65', '\x5f', '\x65', '\x70', '\x6f', '\x63', '\x68', '\x28', '\x29', '\x29', '\x20', '\x2b', '\x20', '\x22', '\x20', '\x73', '\x69', '\x6e', '\x63', '\x65', '\x20', '\x65', '\x70', '\x6f', '\x63', '\x68', '\x22', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x63', '\x68', '\x72', '\x6f', '\x6e', '\x6f', '\x3a', '\x3a', '\x74', '\x69', '\x6d', '\x65', '\x5f', '\x70', '\x6f', '\x69', '\x6e', '\x74', '\x3c', '\x73', '\x79', '\x73', '\x74', '\x65', '\x6d', '\x5f', '\x63', '\x6c', '\x6f', '\x63', '\x6b', '\x3e', '\x20', '\x73', '\x70', '\x65', '\x63', '\x69', '\x61', '\x6c', '\x69', '\x7a', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x44', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x4d', '\x61', '\x6b', '\x65', '\x72', '\x3c', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x63', '\x68', '\x72', '\x6f', '\x6e', '\x6f', '\x3a', '\x3a', '\x74', '\x69', '\x6d', '\x65', '\x5f', '\x70', '\x6f', '\x69', '\x6e', '\x74', '\x3c', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x63', '\x68', '\x72', '\x6f', '\x6e', '\x6f', '\x3a', '\x3a', '\x73', '\x79', '\x73', '\x74', '\x65', '\x6d', '\x5f', '\x63', '\x6c', '\x6f', '\x63', '\x6b', '\x2c', '\x20', '\x44', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x3e', '\x3e', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x76', '\x65', '\x72', '\x74', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x63', '\x68', '\x72', '\x6f', '\x6e', '\x6f', '\x3a', '\x3a', '\x74', '\x69', '\x6d', '\x65', '\x5f', '\x70', '\x6f', '\x69', '\x6e', '\x74', '\x3c', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x63', '\x68', '\x72', '\x6f', '\x6e', '\x6f', '\x3a', '\x3a', '\x73', '\x79', '\x73', '\x74', '\x65', '\x6d', '\x5f', '\x63', '\x6c', '\x6f', '\x63', '\x6b', '\x2c', '\x20', '\x44', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x3e', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x74', '\x69', '\x6d', '\x65', '\x5f', '\x70', '\x6f', '\x69', '\x6e', '\x74', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x76', '\x65', '\x72', '\x74', '\x65', '\x64', '\x20', '\x3d', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x63', '\x68', '\x72', '\x6f', '\x6e', '\x6f', '\x3a', '\x3a', '\x73', '\x79', '\x73', '\x74', '\x65', '\x6d', '\x5f', '\x63', '\x6c', '\x6f', '\x63', '\x6b', '\x3a', '\x3a', '\x74', '\x6f', '\x5f', '\x74', '\x69', '\x6d', '\x65', '\x5f', '\x74', '\x28', '\x74', '\x69', '\x6d', '\x65', '\x5f', '\x70', '\x6f', '\x69', '\x6e', '\x74', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x64', '\x65', '\x66', '\x20', '\x5f', '\x4d', '\x53', '\x43', '\x5f', '\x56', '\x45', '\x52', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x74', '\x6d', '\x20', '\x74', '\x69', '\x6d', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x3d', '\x20', '\x7b', '\x7d', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x67', '\x6d', '\x74', '\x69', '\x6d', '\x65', '\x5f', '\x73', '\x28', '\x26', '\x74', '\x69', '\x6d', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x2c', '\x20', '\x26', '\x63', '\x6f', '\x6e', '\x76', '\x65', '\x72', '\x74', '\x65', '\x64', '\x29', '\x3b', '\x0d', '\x0a', '\x23', '\x65', '\x6c', '\x73', '\x65', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x74', '\x6d', '\x2a', '\x20', '\x74', '\x69', '\x6d', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x3d', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x67', '\x6d', '\x74', '\x69', '\x6d', '\x65', '\x28', '\x26', '\x63', '\x6f', '\x6e', '\x76', '\x65', '\x72', '\x74', '\x65', '\x64', '\x29', '\x3b', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x74', '\x69', '\x6d', '\x65', '\x53', '\x74', '\x61', '\x6d', '\x70', '\x53', '\x69', '\x7a', '\x65', '\x20', '\x3d', '\x20', '\x73', '\x69', '\x7a', '\x65', '\x6f', '\x66', '\x28', '\x22', '\x32', '\x30', '\x31', '\x37', '\x2d', '\x30', '\x31', '\x2d', '\x31', '\x36', '\x54', '\x31', '\x37', '\x3a', '\x30', '\x36', '\x3a', '\x34', '\x35', '\x5a', '\x22', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x68', '\x61', '\x72', '\x20', '\x74', '\x69', '\x6d', '\x65', '\x53', '\x74', '\x61', '\x6d', '\x70', '\x5b', '\x74', '\x69', '\x6d', '\x65', '\x53', '\x74', '\x61', '\x6d', '\x70', '\x53', '\x69', '\x7a', '\x65', '\x5d', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x63', '\x68', '\x61', '\x72', '\x20', '\x2a', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x66', '\x6d', '\x74', '\x20', '\x3d', '\x20', '\x22', '\x25', '\x59', '\x2d', '\x25', '\x6d', '\x2d', '\x25', '\x64', '\x54', '\x25', '\x48', '\x3a', '\x25', '\x4d', '\x3a', '\x25', '\x53', '\x5a', '\x22', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x64', '\x65', '\x66', '\x20', '\x5f', '\x4d', '\x53', '\x43', '\x5f', '\x56', '\x45', '\x52', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x66', '\x74', '\x69', '\x6d', '\x65', '\x28', '\x74', '\x69', '\x6d', '\x65', '\x53', '\x74', '\x61', '\x6d', '\x70', '\x2c', '\x20', '\x74', '\x69', '\x6d', '\x65', '\x53', '\x74', '\x61', '\x6d', '\x70', '\x53', '\x69', '\x7a', '\x65', '\x2c', '\x20', '\x66', '\x6d', '\x74', '\x2c', '\x20', '\x26', '\x74', '\x69', '\x6d', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x29', '\x3b', '\x0d', '\x0a', '\x23', '\x65', '\x6c', '\x73', '\x65', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x66', '\x74', '\x69', '\x6d', '\x65', '\x28', '\x74', '\x69', '\x6d', '\x65', '\x53', '\x74', '\x61', '\x6d', '\x70', '\x2c', '\x20', '\x74', '\x69', '\x6d', '\x65', '\x53', '\x74', '\x61', '\x6d', '\x70', '\x53', '\x69', '\x7a', '\x65', '\x2c', '\x20', '\x66', '\x6d', '\x74', '\x2c', '\x20', '\x74', '\x69', '\x6d', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x29', '\x3b', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x28', '\x74', '\x69', '\x6d', '\x65', '\x53', '\x74', '\x61', '\x6d', '\x70', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x7d', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x20', '\x2f', '\x2f', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x45', '\x4e', '\x41', '\x42', '\x4c', '\x45', '\x5f', '\x43', '\x48', '\x52', '\x4f', '\x4e', '\x4f', '\x5f', '\x53', '\x54', '\x52', '\x49', '\x4e', '\x47', '\x4d', '\x41', '\x4b', '\x45', '\x52', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x47', '\x49', '\x53', '\x54', '\x45', '\x52', '\x5f', '\x45', '\x4e', '\x55', '\x4d', '\x28', '\x20', '\x65', '\x6e', '\x75', '\x6d', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x5c', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x3e', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x4d', '\x61', '\x6b', '\x65', '\x72', '\x3c', '\x65', '\x6e', '\x75', '\x6d', '\x4e', '\x61', '\x6d', '\x65', '\x3e', '\x20', '\x7b', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x76', '\x65', '\x72', '\x74', '\x28', '\x20', '\x65', '\x6e', '\x75', '\x6d', '\x4e', '\x61', '\x6d', '\x65', '\x20', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x20', '\x29', '\x20', '\x7b', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x26', '\x20', '\x65', '\x6e', '\x75', '\x6d', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x3d', '\x20', '\x3a', '\x3a', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x67', '\x65', '\x74', '\x4d', '\x75', '\x74', '\x61', '\x62', '\x6c', '\x65', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x48', '\x75', '\x62', '\x28', '\x29', '\x2e', '\x67', '\x65', '\x74', '\x4d', '\x75', '\x74', '\x61', '\x62', '\x6c', '\x65', '\x45', '\x6e', '\x75', '\x6d', '\x56', '\x61', '\x6c', '\x75', '\x65', '\x73', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x28', '\x29', '\x2e', '\x72', '\x65', '\x67', '\x69', '\x73', '\x74', '\x65', '\x72', '\x45', '\x6e', '\x75', '\x6d', '\x28', '\x20', '\x23', '\x65', '\x6e', '\x75', '\x6d', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x23', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x2c', '\x20', '\x7b', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x20', '\x7d', '\x20', '\x29', '\x3b', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x5f', '\x63', '\x61', '\x73', '\x74', '\x3c', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x3e', '\x28', '\x65', '\x6e', '\x75', '\x6d', '\x49', '\x6e', '\x66', '\x6f', '\x2e', '\x6c', '\x6f', '\x6f', '\x6b', '\x75', '\x70', '\x28', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x5f', '\x63', '\x61', '\x73', '\x74', '\x3c', '\x69', '\x6e', '\x74', '\x3e', '\x28', '\x20', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x20', '\x29', '\x20', '\x29', '\x29', '\x3b', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x20', '\x5c', '\x0d', '\x0a', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x47', '\x49', '\x53', '\x54', '\x45', '\x52', '\x5f', '\x45', '\x4e', '\x55', '\x4d', '\x28', '\x20', '\x65', '\x6e', '\x75', '\x6d', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x47', '\x49', '\x53', '\x54', '\x45', '\x52', '\x5f', '\x45', '\x4e', '\x55', '\x4d', '\x28', '\x20', '\x65', '\x6e', '\x75', '\x6d', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x20', '\x29', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x64', '\x65', '\x66', '\x20', '\x5f', '\x4d', '\x53', '\x43', '\x5f', '\x56', '\x45', '\x52', '\x0d', '\x0a', '\x23', '\x70', '\x72', '\x61', '\x67', '\x6d', '\x61', '\x20', '\x77', '\x61', '\x72', '\x6e', '\x69', '\x6e', '\x67', '\x28', '\x70', '\x6f', '\x70', '\x29', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x74', '\x6f', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x2e', '\x68', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x69', '\x6f', '\x73', '\x66', '\x77', '\x64', '\x3e', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x64', '\x65', '\x66', '\x20', '\x5f', '\x4d', '\x53', '\x43', '\x5f', '\x56', '\x45', '\x52', '\x0d', '\x0a', '\x23', '\x70', '\x72', '\x61', '\x67', '\x6d', '\x61', '\x20', '\x77', '\x61', '\x72', '\x6e', '\x69', '\x6e', '\x67', '\x28', '\x70', '\x75', '\x73', '\x68', '\x29', '\x0d', '\x0a', '\x23', '\x70', '\x72', '\x61', '\x67', '\x6d', '\x61', '\x20', '\x77', '\x61', '\x72', '\x6e', '\x69', '\x6e', '\x67', '\x28', '\x64', '\x69', '\x73', '\x61', '\x62', '\x6c', '\x65', '\x3a', '\x34', '\x33', '\x38', '\x39', '\x29', '\x20', '\x2f', '\x2f', '\x20', '\x27', '\x3d', '\x3d', '\x27', '\x20', '\x3a', '\x20', '\x73', '\x69', '\x67', '\x6e', '\x65', '\x64', '\x2f', '\x75', '\x6e', '\x73', '\x69', '\x67', '\x6e', '\x65', '\x64', '\x20', '\x6d', '\x69', '\x73', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x0d', '\x0a', '\x23', '\x70', '\x72', '\x61', '\x67', '\x6d', '\x61', '\x20', '\x77', '\x61', '\x72', '\x6e', '\x69', '\x6e', '\x67', '\x28', '\x64', '\x69', '\x73', '\x61', '\x62', '\x6c', '\x65', '\x3a', '\x34', '\x30', '\x31', '\x38', '\x29', '\x20', '\x2f', '\x2f', '\x20', '\x6d', '\x6f', '\x72', '\x65', '\x20', '\x22', '\x73', '\x69', '\x67', '\x6e', '\x65', '\x64', '\x2f', '\x75', '\x6e', '\x73', '\x69', '\x67', '\x6e', '\x65', '\x64', '\x20', '\x6d', '\x69', '\x73', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x22', '\x0d', '\x0a', '\x23', '\x70', '\x72', '\x61', '\x67', '\x6d', '\x61', '\x20', '\x77', '\x61', '\x72', '\x6e', '\x69', '\x6e', '\x67', '\x28', '\x64', '\x69', '\x73', '\x61', '\x62', '\x6c', '\x65', '\x3a', '\x34', '\x33', '\x31', '\x32', '\x29', '\x20', '\x2f', '\x2f', '\x20', '\x43', '\x6f', '\x6e', '\x76', '\x65', '\x72', '\x74', '\x69', '\x6e', '\x67', '\x20', '\x69', '\x6e', '\x74', '\x20', '\x74', '\x6f', '\x20', '\x54', '\x2a', '\x20', '\x75', '\x73', '\x69', '\x6e', '\x67', '\x20', '\x72', '\x65', '\x69', '\x6e', '\x74', '\x65', '\x72', '\x70', '\x72', '\x65', '\x74', '\x5f', '\x63', '\x61', '\x73', '\x74', '\x20', '\x28', '\x69', '\x73', '\x73', '\x75', '\x65', '\x20', '\x6f', '\x6e', '\x20', '\x78', '\x36', '\x34', '\x20', '\x70', '\x6c', '\x61', '\x74', '\x66', '\x6f', '\x72', '\x6d', '\x29', '\x0d', '\x0a', '\x23', '\x70', '\x72', '\x61', '\x67', '\x6d', '\x61', '\x20', '\x77', '\x61', '\x72', '\x6e', '\x69', '\x6e', '\x67', '\x28', '\x64', '\x69', '\x73', '\x61', '\x62', '\x6c', '\x65', '\x3a', '\x34', '\x31', '\x38', '\x30', '\x29', '\x20', '\x2f', '\x2f', '\x20', '\x71', '\x75', '\x61', '\x6c', '\x69', '\x66', '\x69', '\x65', '\x72', '\x20', '\x61', '\x70', '\x70', '\x6c', '\x69', '\x65', '\x64', '\x20', '\x74', '\x6f', '\x20', '\x66', '\x75', '\x6e', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x74', '\x79', '\x70', '\x65', '\x20', '\x68', '\x61', '\x73', '\x20', '\x6e', '\x6f', '\x20', '\x6d', '\x65', '\x61', '\x6e', '\x69', '\x6e', '\x67', '\x0d', '\x0a', '\x23', '\x70', '\x72', '\x61', '\x67', '\x6d', '\x61', '\x20', '\x77', '\x61', '\x72', '\x6e', '\x69', '\x6e', '\x67', '\x28', '\x64', '\x69', '\x73', '\x61', '\x62', '\x6c', '\x65', '\x3a', '\x34', '\x38', '\x30', '\x30', '\x29', '\x20', '\x2f', '\x2f', '\x20', '\x46', '\x6f', '\x72', '\x63', '\x69', '\x6e', '\x67', '\x20', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x20', '\x74', '\x6f', '\x20', '\x74', '\x72', '\x75', '\x65', '\x20', '\x6f', '\x72', '\x20', '\x66', '\x61', '\x6c', '\x73', '\x65', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x49', '\x54', '\x72', '\x61', '\x6e', '\x73', '\x69', '\x65', '\x6e', '\x74', '\x45', '\x78', '\x70', '\x72', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x69', '\x73', '\x42', '\x69', '\x6e', '\x61', '\x72', '\x79', '\x45', '\x78', '\x70', '\x72', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x2d', '\x3e', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x7b', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6d', '\x5f', '\x69', '\x73', '\x42', '\x69', '\x6e', '\x61', '\x72', '\x79', '\x45', '\x78', '\x70', '\x72', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x3b', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x67', '\x65', '\x74', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x2d', '\x3e', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x7b', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6d', '\x5f', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x3b', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x69', '\x72', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x52', '\x65', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x65', '\x64', '\x45', '\x78', '\x70', '\x72', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6f', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x20', '\x26', '\x6f', '\x73', '\x20', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x49', '\x54', '\x72', '\x61', '\x6e', '\x73', '\x69', '\x65', '\x6e', '\x74', '\x45', '\x78', '\x70', '\x72', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x28', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x69', '\x73', '\x42', '\x69', '\x6e', '\x61', '\x72', '\x79', '\x45', '\x78', '\x70', '\x72', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x2c', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x3a', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x69', '\x73', '\x42', '\x69', '\x6e', '\x61', '\x72', '\x79', '\x45', '\x78', '\x70', '\x72', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x28', '\x20', '\x69', '\x73', '\x42', '\x69', '\x6e', '\x61', '\x72', '\x79', '\x45', '\x78', '\x70', '\x72', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x20', '\x29', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x28', '\x20', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7b', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x57', '\x65', '\x20', '\x64', '\x6f', '\x6e', '\x27', '\x74', '\x20', '\x61', '\x63', '\x74', '\x75', '\x61', '\x6c', '\x6c', '\x79', '\x20', '\x6e', '\x65', '\x65', '\x64', '\x20', '\x61', '\x20', '\x76', '\x69', '\x72', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x64', '\x65', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x6f', '\x72', '\x2c', '\x20', '\x62', '\x75', '\x74', '\x20', '\x6d', '\x61', '\x6e', '\x79', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x20', '\x61', '\x6e', '\x61', '\x6c', '\x79', '\x73', '\x65', '\x72', '\x73', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x63', '\x6f', '\x6d', '\x70', '\x6c', '\x61', '\x69', '\x6e', '\x20', '\x69', '\x66', '\x20', '\x69', '\x74', '\x27', '\x73', '\x20', '\x6e', '\x6f', '\x74', '\x20', '\x68', '\x65', '\x72', '\x65', '\x20', '\x3a', '\x2d', '\x28', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x69', '\x72', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x7e', '\x49', '\x54', '\x72', '\x61', '\x6e', '\x73', '\x69', '\x65', '\x6e', '\x74', '\x45', '\x78', '\x70', '\x72', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x6d', '\x5f', '\x69', '\x73', '\x42', '\x69', '\x6e', '\x61', '\x72', '\x79', '\x45', '\x78', '\x70', '\x72', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x6d', '\x5f', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x66', '\x6f', '\x72', '\x6d', '\x61', '\x74', '\x52', '\x65', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x65', '\x64', '\x45', '\x78', '\x70', '\x72', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6f', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x20', '\x26', '\x6f', '\x73', '\x2c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6c', '\x68', '\x73', '\x2c', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x66', '\x20', '\x6f', '\x70', '\x2c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x72', '\x68', '\x73', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x4c', '\x68', '\x73', '\x54', '\x2c', '\x20', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x52', '\x68', '\x73', '\x54', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x20', '\x42', '\x69', '\x6e', '\x61', '\x72', '\x79', '\x45', '\x78', '\x70', '\x72', '\x20', '\x20', '\x3a', '\x20', '\x70', '\x75', '\x62', '\x6c', '\x69', '\x63', '\x20', '\x49', '\x54', '\x72', '\x61', '\x6e', '\x73', '\x69', '\x65', '\x6e', '\x74', '\x45', '\x78', '\x70', '\x72', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x4c', '\x68', '\x73', '\x54', '\x20', '\x6d', '\x5f', '\x6c', '\x68', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x66', '\x20', '\x6d', '\x5f', '\x6f', '\x70', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x52', '\x68', '\x73', '\x54', '\x20', '\x6d', '\x5f', '\x72', '\x68', '\x73', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x52', '\x65', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x65', '\x64', '\x45', '\x78', '\x70', '\x72', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6f', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x20', '\x26', '\x6f', '\x73', '\x20', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x66', '\x6f', '\x72', '\x6d', '\x61', '\x74', '\x52', '\x65', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x65', '\x64', '\x45', '\x78', '\x70', '\x72', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x28', '\x20', '\x6f', '\x73', '\x2c', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x44', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x69', '\x66', '\x79', '\x28', '\x20', '\x6d', '\x5f', '\x6c', '\x68', '\x73', '\x20', '\x29', '\x2c', '\x20', '\x6d', '\x5f', '\x6f', '\x70', '\x2c', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x44', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x69', '\x66', '\x79', '\x28', '\x20', '\x6d', '\x5f', '\x72', '\x68', '\x73', '\x20', '\x29', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x70', '\x75', '\x62', '\x6c', '\x69', '\x63', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x42', '\x69', '\x6e', '\x61', '\x72', '\x79', '\x45', '\x78', '\x70', '\x72', '\x28', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x63', '\x6f', '\x6d', '\x70', '\x61', '\x72', '\x69', '\x73', '\x6f', '\x6e', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x2c', '\x20', '\x4c', '\x68', '\x73', '\x54', '\x20', '\x6c', '\x68', '\x73', '\x2c', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x66', '\x20', '\x6f', '\x70', '\x2c', '\x20', '\x52', '\x68', '\x73', '\x54', '\x20', '\x72', '\x68', '\x73', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x3a', '\x20', '\x20', '\x20', '\x49', '\x54', '\x72', '\x61', '\x6e', '\x73', '\x69', '\x65', '\x6e', '\x74', '\x45', '\x78', '\x70', '\x72', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x7b', '\x20', '\x74', '\x72', '\x75', '\x65', '\x2c', '\x20', '\x63', '\x6f', '\x6d', '\x70', '\x61', '\x72', '\x69', '\x73', '\x6f', '\x6e', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x20', '\x7d', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x6c', '\x68', '\x73', '\x28', '\x20', '\x6c', '\x68', '\x73', '\x20', '\x29', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x6f', '\x70', '\x28', '\x20', '\x6f', '\x70', '\x20', '\x29', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x72', '\x68', '\x73', '\x28', '\x20', '\x72', '\x68', '\x73', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7b', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x54', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x26', '\x26', '\x20', '\x28', '\x20', '\x54', '\x20', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x2d', '\x3e', '\x20', '\x42', '\x69', '\x6e', '\x61', '\x72', '\x79', '\x45', '\x78', '\x70', '\x72', '\x3c', '\x4c', '\x68', '\x73', '\x54', '\x2c', '\x20', '\x52', '\x68', '\x73', '\x54', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x3e', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x5f', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x28', '\x61', '\x6c', '\x77', '\x61', '\x79', '\x73', '\x5f', '\x66', '\x61', '\x6c', '\x73', '\x65', '\x3c', '\x54', '\x3e', '\x3a', '\x3a', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x22', '\x63', '\x68', '\x61', '\x69', '\x6e', '\x65', '\x64', '\x20', '\x63', '\x6f', '\x6d', '\x70', '\x61', '\x72', '\x69', '\x73', '\x6f', '\x6e', '\x73', '\x20', '\x61', '\x72', '\x65', '\x20', '\x6e', '\x6f', '\x74', '\x20', '\x73', '\x75', '\x70', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x64', '\x20', '\x69', '\x6e', '\x73', '\x69', '\x64', '\x65', '\x20', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x2c', '\x20', '\x22', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x22', '\x77', '\x72', '\x61', '\x70', '\x20', '\x74', '\x68', '\x65', '\x20', '\x65', '\x78', '\x70', '\x72', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x20', '\x69', '\x6e', '\x73', '\x69', '\x64', '\x65', '\x20', '\x70', '\x61', '\x72', '\x65', '\x6e', '\x74', '\x68', '\x65', '\x73', '\x65', '\x73', '\x2c', '\x20', '\x6f', '\x72', '\x20', '\x64', '\x65', '\x63', '\x6f', '\x6d', '\x70', '\x6f', '\x73', '\x65', '\x20', '\x69', '\x74', '\x22', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x54', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x7c', '\x7c', '\x20', '\x28', '\x20', '\x54', '\x20', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x2d', '\x3e', '\x20', '\x42', '\x69', '\x6e', '\x61', '\x72', '\x79', '\x45', '\x78', '\x70', '\x72', '\x3c', '\x4c', '\x68', '\x73', '\x54', '\x2c', '\x20', '\x52', '\x68', '\x73', '\x54', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x3e', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x5f', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x28', '\x61', '\x6c', '\x77', '\x61', '\x79', '\x73', '\x5f', '\x66', '\x61', '\x6c', '\x73', '\x65', '\x3c', '\x54', '\x3e', '\x3a', '\x3a', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x22', '\x63', '\x68', '\x61', '\x69', '\x6e', '\x65', '\x64', '\x20', '\x63', '\x6f', '\x6d', '\x70', '\x61', '\x72', '\x69', '\x73', '\x6f', '\x6e', '\x73', '\x20', '\x61', '\x72', '\x65', '\x20', '\x6e', '\x6f', '\x74', '\x20', '\x73', '\x75', '\x70', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x64', '\x20', '\x69', '\x6e', '\x73', '\x69', '\x64', '\x65', '\x20', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x2c', '\x20', '\x22', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x22', '\x77', '\x72', '\x61', '\x70', '\x20', '\x74', '\x68', '\x65', '\x20', '\x65', '\x78', '\x70', '\x72', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x20', '\x69', '\x6e', '\x73', '\x69', '\x64', '\x65', '\x20', '\x70', '\x61', '\x72', '\x65', '\x6e', '\x74', '\x68', '\x65', '\x73', '\x65', '\x73', '\x2c', '\x20', '\x6f', '\x72', '\x20', '\x64', '\x65', '\x63', '\x6f', '\x6d', '\x70', '\x6f', '\x73', '\x65', '\x20', '\x69', '\x74', '\x22', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x54', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x3d', '\x3d', '\x20', '\x28', '\x20', '\x54', '\x20', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x2d', '\x3e', '\x20', '\x42', '\x69', '\x6e', '\x61', '\x72', '\x79', '\x45', '\x78', '\x70', '\x72', '\x3c', '\x4c', '\x68', '\x73', '\x54', '\x2c', '\x20', '\x52', '\x68', '\x73', '\x54', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x3e', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x5f', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x28', '\x61', '\x6c', '\x77', '\x61', '\x79', '\x73', '\x5f', '\x66', '\x61', '\x6c', '\x73', '\x65', '\x3c', '\x54', '\x3e', '\x3a', '\x3a', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x22', '\x63', '\x68', '\x61', '\x69', '\x6e', '\x65', '\x64', '\x20', '\x63', '\x6f', '\x6d', '\x70', '\x61', '\x72', '\x69', '\x73', '\x6f', '\x6e', '\x73', '\x20', '\x61', '\x72', '\x65', '\x20', '\x6e', '\x6f', '\x74', '\x20', '\x73', '\x75', '\x70', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x64', '\x20', '\x69', '\x6e', '\x73', '\x69', '\x64', '\x65', '\x20', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x2c', '\x20', '\x22', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x22', '\x77', '\x72', '\x61', '\x70', '\x20', '\x74', '\x68', '\x65', '\x20', '\x65', '\x78', '\x70', '\x72', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x20', '\x69', '\x6e', '\x73', '\x69', '\x64', '\x65', '\x20', '\x70', '\x61', '\x72', '\x65', '\x6e', '\x74', '\x68', '\x65', '\x73', '\x65', '\x73', '\x2c', '\x20', '\x6f', '\x72', '\x20', '\x64', '\x65', '\x63', '\x6f', '\x6d', '\x70', '\x6f', '\x73', '\x65', '\x20', '\x69', '\x74', '\x22', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x54', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x21', '\x3d', '\x20', '\x28', '\x20', '\x54', '\x20', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x2d', '\x3e', '\x20', '\x42', '\x69', '\x6e', '\x61', '\x72', '\x79', '\x45', '\x78', '\x70', '\x72', '\x3c', '\x4c', '\x68', '\x73', '\x54', '\x2c', '\x20', '\x52', '\x68', '\x73', '\x54', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x3e', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x5f', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x28', '\x61', '\x6c', '\x77', '\x61', '\x79', '\x73', '\x5f', '\x66', '\x61', '\x6c', '\x73', '\x65', '\x3c', '\x54', '\x3e', '\x3a', '\x3a', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x22', '\x63', '\x68', '\x61', '\x69', '\x6e', '\x65', '\x64', '\x20', '\x63', '\x6f', '\x6d', '\x70', '\x61', '\x72', '\x69', '\x73', '\x6f', '\x6e', '\x73', '\x20', '\x61', '\x72', '\x65', '\x20', '\x6e', '\x6f', '\x74', '\x20', '\x73', '\x75', '\x70', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x64', '\x20', '\x69', '\x6e', '\x73', '\x69', '\x64', '\x65', '\x20', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x2c', '\x20', '\x22', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x22', '\x77', '\x72', '\x61', '\x70', '\x20', '\x74', '\x68', '\x65', '\x20', '\x65', '\x78', '\x70', '\x72', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x20', '\x69', '\x6e', '\x73', '\x69', '\x64', '\x65', '\x20', '\x70', '\x61', '\x72', '\x65', '\x6e', '\x74', '\x68', '\x65', '\x73', '\x65', '\x73', '\x2c', '\x20', '\x6f', '\x72', '\x20', '\x64', '\x65', '\x63', '\x6f', '\x6d', '\x70', '\x6f', '\x73', '\x65', '\x20', '\x69', '\x74', '\x22', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x54', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x3e', '\x20', '\x28', '\x20', '\x54', '\x20', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x2d', '\x3e', '\x20', '\x42', '\x69', '\x6e', '\x61', '\x72', '\x79', '\x45', '\x78', '\x70', '\x72', '\x3c', '\x4c', '\x68', '\x73', '\x54', '\x2c', '\x20', '\x52', '\x68', '\x73', '\x54', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x3e', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x5f', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x28', '\x61', '\x6c', '\x77', '\x61', '\x79', '\x73', '\x5f', '\x66', '\x61', '\x6c', '\x73', '\x65', '\x3c', '\x54', '\x3e', '\x3a', '\x3a', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x22', '\x63', '\x68', '\x61', '\x69', '\x6e', '\x65', '\x64', '\x20', '\x63', '\x6f', '\x6d', '\x70', '\x61', '\x72', '\x69', '\x73', '\x6f', '\x6e', '\x73', '\x20', '\x61', '\x72', '\x65', '\x20', '\x6e', '\x6f', '\x74', '\x20', '\x73', '\x75', '\x70', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x64', '\x20', '\x69', '\x6e', '\x73', '\x69', '\x64', '\x65', '\x20', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x2c', '\x20', '\x22', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x22', '\x77', '\x72', '\x61', '\x70', '\x20', '\x74', '\x68', '\x65', '\x20', '\x65', '\x78', '\x70', '\x72', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x20', '\x69', '\x6e', '\x73', '\x69', '\x64', '\x65', '\x20', '\x70', '\x61', '\x72', '\x65', '\x6e', '\x74', '\x68', '\x65', '\x73', '\x65', '\x73', '\x2c', '\x20', '\x6f', '\x72', '\x20', '\x64', '\x65', '\x63', '\x6f', '\x6d', '\x70', '\x6f', '\x73', '\x65', '\x20', '\x69', '\x74', '\x22', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x54', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x3c', '\x20', '\x28', '\x20', '\x54', '\x20', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x2d', '\x3e', '\x20', '\x42', '\x69', '\x6e', '\x61', '\x72', '\x79', '\x45', '\x78', '\x70', '\x72', '\x3c', '\x4c', '\x68', '\x73', '\x54', '\x2c', '\x20', '\x52', '\x68', '\x73', '\x54', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x3e', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x5f', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x28', '\x61', '\x6c', '\x77', '\x61', '\x79', '\x73', '\x5f', '\x66', '\x61', '\x6c', '\x73', '\x65', '\x3c', '\x54', '\x3e', '\x3a', '\x3a', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x22', '\x63', '\x68', '\x61', '\x69', '\x6e', '\x65', '\x64', '\x20', '\x63', '\x6f', '\x6d', '\x70', '\x61', '\x72', '\x69', '\x73', '\x6f', '\x6e', '\x73', '\x20', '\x61', '\x72', '\x65', '\x20', '\x6e', '\x6f', '\x74', '\x20', '\x73', '\x75', '\x70', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x64', '\x20', '\x69', '\x6e', '\x73', '\x69', '\x64', '\x65', '\x20', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x2c', '\x20', '\x22', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x22', '\x77', '\x72', '\x61', '\x70', '\x20', '\x74', '\x68', '\x65', '\x20', '\x65', '\x78', '\x70', '\x72', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x20', '\x69', '\x6e', '\x73', '\x69', '\x64', '\x65', '\x20', '\x70', '\x61', '\x72', '\x65', '\x6e', '\x74', '\x68', '\x65', '\x73', '\x65', '\x73', '\x2c', '\x20', '\x6f', '\x72', '\x20', '\x64', '\x65', '\x63', '\x6f', '\x6d', '\x70', '\x6f', '\x73', '\x65', '\x20', '\x69', '\x74', '\x22', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x54', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x3e', '\x3d', '\x20', '\x28', '\x20', '\x54', '\x20', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x2d', '\x3e', '\x20', '\x42', '\x69', '\x6e', '\x61', '\x72', '\x79', '\x45', '\x78', '\x70', '\x72', '\x3c', '\x4c', '\x68', '\x73', '\x54', '\x2c', '\x20', '\x52', '\x68', '\x73', '\x54', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x3e', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x5f', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x28', '\x61', '\x6c', '\x77', '\x61', '\x79', '\x73', '\x5f', '\x66', '\x61', '\x6c', '\x73', '\x65', '\x3c', '\x54', '\x3e', '\x3a', '\x3a', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x22', '\x63', '\x68', '\x61', '\x69', '\x6e', '\x65', '\x64', '\x20', '\x63', '\x6f', '\x6d', '\x70', '\x61', '\x72', '\x69', '\x73', '\x6f', '\x6e', '\x73', '\x20', '\x61', '\x72', '\x65', '\x20', '\x6e', '\x6f', '\x74', '\x20', '\x73', '\x75', '\x70', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x64', '\x20', '\x69', '\x6e', '\x73', '\x69', '\x64', '\x65', '\x20', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x2c', '\x20', '\x22', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x22', '\x77', '\x72', '\x61', '\x70', '\x20', '\x74', '\x68', '\x65', '\x20', '\x65', '\x78', '\x70', '\x72', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x20', '\x69', '\x6e', '\x73', '\x69', '\x64', '\x65', '\x20', '\x70', '\x61', '\x72', '\x65', '\x6e', '\x74', '\x68', '\x65', '\x73', '\x65', '\x73', '\x2c', '\x20', '\x6f', '\x72', '\x20', '\x64', '\x65', '\x63', '\x6f', '\x6d', '\x70', '\x6f', '\x73', '\x65', '\x20', '\x69', '\x74', '\x22', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x54', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x3c', '\x3d', '\x20', '\x28', '\x20', '\x54', '\x20', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x2d', '\x3e', '\x20', '\x42', '\x69', '\x6e', '\x61', '\x72', '\x79', '\x45', '\x78', '\x70', '\x72', '\x3c', '\x4c', '\x68', '\x73', '\x54', '\x2c', '\x20', '\x52', '\x68', '\x73', '\x54', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x3e', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x5f', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x28', '\x61', '\x6c', '\x77', '\x61', '\x79', '\x73', '\x5f', '\x66', '\x61', '\x6c', '\x73', '\x65', '\x3c', '\x54', '\x3e', '\x3a', '\x3a', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x22', '\x63', '\x68', '\x61', '\x69', '\x6e', '\x65', '\x64', '\x20', '\x63', '\x6f', '\x6d', '\x70', '\x61', '\x72', '\x69', '\x73', '\x6f', '\x6e', '\x73', '\x20', '\x61', '\x72', '\x65', '\x20', '\x6e', '\x6f', '\x74', '\x20', '\x73', '\x75', '\x70', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x64', '\x20', '\x69', '\x6e', '\x73', '\x69', '\x64', '\x65', '\x20', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x2c', '\x20', '\x22', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x22', '\x77', '\x72', '\x61', '\x70', '\x20', '\x74', '\x68', '\x65', '\x20', '\x65', '\x78', '\x70', '\x72', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x20', '\x69', '\x6e', '\x73', '\x69', '\x64', '\x65', '\x20', '\x70', '\x61', '\x72', '\x65', '\x6e', '\x74', '\x68', '\x65', '\x73', '\x65', '\x73', '\x2c', '\x20', '\x6f', '\x72', '\x20', '\x64', '\x65', '\x63', '\x6f', '\x6d', '\x70', '\x6f', '\x73', '\x65', '\x20', '\x69', '\x74', '\x22', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x4c', '\x68', '\x73', '\x54', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x20', '\x55', '\x6e', '\x61', '\x72', '\x79', '\x45', '\x78', '\x70', '\x72', '\x20', '\x3a', '\x20', '\x70', '\x75', '\x62', '\x6c', '\x69', '\x63', '\x20', '\x49', '\x54', '\x72', '\x61', '\x6e', '\x73', '\x69', '\x65', '\x6e', '\x74', '\x45', '\x78', '\x70', '\x72', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x4c', '\x68', '\x73', '\x54', '\x20', '\x6d', '\x5f', '\x6c', '\x68', '\x73', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x52', '\x65', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x65', '\x64', '\x45', '\x78', '\x70', '\x72', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6f', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x20', '\x26', '\x6f', '\x73', '\x20', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6f', '\x73', '\x20', '\x3c', '\x3c', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x44', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x69', '\x66', '\x79', '\x28', '\x20', '\x6d', '\x5f', '\x6c', '\x68', '\x73', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x70', '\x75', '\x62', '\x6c', '\x69', '\x63', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x78', '\x70', '\x6c', '\x69', '\x63', '\x69', '\x74', '\x20', '\x55', '\x6e', '\x61', '\x72', '\x79', '\x45', '\x78', '\x70', '\x72', '\x28', '\x20', '\x4c', '\x68', '\x73', '\x54', '\x20', '\x6c', '\x68', '\x73', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x3a', '\x20', '\x20', '\x20', '\x49', '\x54', '\x72', '\x61', '\x6e', '\x73', '\x69', '\x65', '\x6e', '\x74', '\x45', '\x78', '\x70', '\x72', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x7b', '\x20', '\x66', '\x61', '\x6c', '\x73', '\x65', '\x2c', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x5f', '\x63', '\x61', '\x73', '\x74', '\x3c', '\x62', '\x6f', '\x6f', '\x6c', '\x3e', '\x28', '\x6c', '\x68', '\x73', '\x29', '\x20', '\x7d', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x6c', '\x68', '\x73', '\x28', '\x20', '\x6c', '\x68', '\x73', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7b', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x53', '\x70', '\x65', '\x63', '\x69', '\x61', '\x6c', '\x69', '\x73', '\x65', '\x64', '\x20', '\x63', '\x6f', '\x6d', '\x70', '\x61', '\x72', '\x69', '\x73', '\x6f', '\x6e', '\x20', '\x66', '\x75', '\x6e', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x20', '\x74', '\x6f', '\x20', '\x68', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x20', '\x65', '\x71', '\x75', '\x61', '\x6c', '\x69', '\x74', '\x79', '\x20', '\x63', '\x6f', '\x6d', '\x70', '\x61', '\x72', '\x69', '\x73', '\x6f', '\x6e', '\x73', '\x20', '\x62', '\x65', '\x74', '\x77', '\x65', '\x65', '\x6e', '\x20', '\x69', '\x6e', '\x74', '\x73', '\x20', '\x61', '\x6e', '\x64', '\x20', '\x70', '\x6f', '\x69', '\x6e', '\x74', '\x65', '\x72', '\x73', '\x20', '\x28', '\x4e', '\x55', '\x4c', '\x4c', '\x20', '\x64', '\x65', '\x64', '\x75', '\x63', '\x65', '\x73', '\x20', '\x61', '\x73', '\x20', '\x61', '\x6e', '\x20', '\x69', '\x6e', '\x74', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x4c', '\x68', '\x73', '\x54', '\x2c', '\x20', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x52', '\x68', '\x73', '\x54', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x63', '\x6f', '\x6d', '\x70', '\x61', '\x72', '\x65', '\x45', '\x71', '\x75', '\x61', '\x6c', '\x28', '\x20', '\x4c', '\x68', '\x73', '\x54', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6c', '\x68', '\x73', '\x2c', '\x20', '\x52', '\x68', '\x73', '\x54', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x72', '\x68', '\x73', '\x20', '\x29', '\x20', '\x2d', '\x3e', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x7b', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x5f', '\x63', '\x61', '\x73', '\x74', '\x3c', '\x62', '\x6f', '\x6f', '\x6c', '\x3e', '\x28', '\x6c', '\x68', '\x73', '\x20', '\x3d', '\x3d', '\x20', '\x72', '\x68', '\x73', '\x29', '\x3b', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x54', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x63', '\x6f', '\x6d', '\x70', '\x61', '\x72', '\x65', '\x45', '\x71', '\x75', '\x61', '\x6c', '\x28', '\x20', '\x54', '\x2a', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6c', '\x68', '\x73', '\x2c', '\x20', '\x69', '\x6e', '\x74', '\x20', '\x72', '\x68', '\x73', '\x20', '\x29', '\x20', '\x2d', '\x3e', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x7b', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6c', '\x68', '\x73', '\x20', '\x3d', '\x3d', '\x20', '\x72', '\x65', '\x69', '\x6e', '\x74', '\x65', '\x72', '\x70', '\x72', '\x65', '\x74', '\x5f', '\x63', '\x61', '\x73', '\x74', '\x3c', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x2a', '\x3e', '\x28', '\x20', '\x72', '\x68', '\x73', '\x20', '\x29', '\x3b', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x54', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x63', '\x6f', '\x6d', '\x70', '\x61', '\x72', '\x65', '\x45', '\x71', '\x75', '\x61', '\x6c', '\x28', '\x20', '\x54', '\x2a', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6c', '\x68', '\x73', '\x2c', '\x20', '\x6c', '\x6f', '\x6e', '\x67', '\x20', '\x72', '\x68', '\x73', '\x20', '\x29', '\x20', '\x2d', '\x3e', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x7b', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6c', '\x68', '\x73', '\x20', '\x3d', '\x3d', '\x20', '\x72', '\x65', '\x69', '\x6e', '\x74', '\x65', '\x72', '\x70', '\x72', '\x65', '\x74', '\x5f', '\x63', '\x61', '\x73', '\x74', '\x3c', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x2a', '\x3e', '\x28', '\x20', '\x72', '\x68', '\x73', '\x20', '\x29', '\x3b', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x54', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x63', '\x6f', '\x6d', '\x70', '\x61', '\x72', '\x65', '\x45', '\x71', '\x75', '\x61', '\x6c', '\x28', '\x20', '\x69', '\x6e', '\x74', '\x20', '\x6c', '\x68', '\x73', '\x2c', '\x20', '\x54', '\x2a', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x72', '\x68', '\x73', '\x20', '\x29', '\x20', '\x2d', '\x3e', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x7b', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x72', '\x65', '\x69', '\x6e', '\x74', '\x65', '\x72', '\x70', '\x72', '\x65', '\x74', '\x5f', '\x63', '\x61', '\x73', '\x74', '\x3c', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x2a', '\x3e', '\x28', '\x20', '\x6c', '\x68', '\x73', '\x20', '\x29', '\x20', '\x3d', '\x3d', '\x20', '\x72', '\x68', '\x73', '\x3b', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x54', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x63', '\x6f', '\x6d', '\x70', '\x61', '\x72', '\x65', '\x45', '\x71', '\x75', '\x61', '\x6c', '\x28', '\x20', '\x6c', '\x6f', '\x6e', '\x67', '\x20', '\x6c', '\x68', '\x73', '\x2c', '\x20', '\x54', '\x2a', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x72', '\x68', '\x73', '\x20', '\x29', '\x20', '\x2d', '\x3e', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x7b', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x72', '\x65', '\x69', '\x6e', '\x74', '\x65', '\x72', '\x70', '\x72', '\x65', '\x74', '\x5f', '\x63', '\x61', '\x73', '\x74', '\x3c', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x2a', '\x3e', '\x28', '\x20', '\x6c', '\x68', '\x73', '\x20', '\x29', '\x20', '\x3d', '\x3d', '\x20', '\x72', '\x68', '\x73', '\x3b', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x4c', '\x68', '\x73', '\x54', '\x2c', '\x20', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x52', '\x68', '\x73', '\x54', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x63', '\x6f', '\x6d', '\x70', '\x61', '\x72', '\x65', '\x4e', '\x6f', '\x74', '\x45', '\x71', '\x75', '\x61', '\x6c', '\x28', '\x20', '\x4c', '\x68', '\x73', '\x54', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6c', '\x68', '\x73', '\x2c', '\x20', '\x52', '\x68', '\x73', '\x54', '\x26', '\x26', '\x20', '\x72', '\x68', '\x73', '\x20', '\x29', '\x20', '\x2d', '\x3e', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x7b', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x5f', '\x63', '\x61', '\x73', '\x74', '\x3c', '\x62', '\x6f', '\x6f', '\x6c', '\x3e', '\x28', '\x6c', '\x68', '\x73', '\x20', '\x21', '\x3d', '\x20', '\x72', '\x68', '\x73', '\x29', '\x3b', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x54', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x63', '\x6f', '\x6d', '\x70', '\x61', '\x72', '\x65', '\x4e', '\x6f', '\x74', '\x45', '\x71', '\x75', '\x61', '\x6c', '\x28', '\x20', '\x54', '\x2a', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6c', '\x68', '\x73', '\x2c', '\x20', '\x69', '\x6e', '\x74', '\x20', '\x72', '\x68', '\x73', '\x20', '\x29', '\x20', '\x2d', '\x3e', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x7b', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6c', '\x68', '\x73', '\x20', '\x21', '\x3d', '\x20', '\x72', '\x65', '\x69', '\x6e', '\x74', '\x65', '\x72', '\x70', '\x72', '\x65', '\x74', '\x5f', '\x63', '\x61', '\x73', '\x74', '\x3c', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x2a', '\x3e', '\x28', '\x20', '\x72', '\x68', '\x73', '\x20', '\x29', '\x3b', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x54', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x63', '\x6f', '\x6d', '\x70', '\x61', '\x72', '\x65', '\x4e', '\x6f', '\x74', '\x45', '\x71', '\x75', '\x61', '\x6c', '\x28', '\x20', '\x54', '\x2a', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6c', '\x68', '\x73', '\x2c', '\x20', '\x6c', '\x6f', '\x6e', '\x67', '\x20', '\x72', '\x68', '\x73', '\x20', '\x29', '\x20', '\x2d', '\x3e', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x7b', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6c', '\x68', '\x73', '\x20', '\x21', '\x3d', '\x20', '\x72', '\x65', '\x69', '\x6e', '\x74', '\x65', '\x72', '\x70', '\x72', '\x65', '\x74', '\x5f', '\x63', '\x61', '\x73', '\x74', '\x3c', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x2a', '\x3e', '\x28', '\x20', '\x72', '\x68', '\x73', '\x20', '\x29', '\x3b', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x54', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x63', '\x6f', '\x6d', '\x70', '\x61', '\x72', '\x65', '\x4e', '\x6f', '\x74', '\x45', '\x71', '\x75', '\x61', '\x6c', '\x28', '\x20', '\x69', '\x6e', '\x74', '\x20', '\x6c', '\x68', '\x73', '\x2c', '\x20', '\x54', '\x2a', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x72', '\x68', '\x73', '\x20', '\x29', '\x20', '\x2d', '\x3e', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x7b', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x72', '\x65', '\x69', '\x6e', '\x74', '\x65', '\x72', '\x70', '\x72', '\x65', '\x74', '\x5f', '\x63', '\x61', '\x73', '\x74', '\x3c', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x2a', '\x3e', '\x28', '\x20', '\x6c', '\x68', '\x73', '\x20', '\x29', '\x20', '\x21', '\x3d', '\x20', '\x72', '\x68', '\x73', '\x3b', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x54', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x63', '\x6f', '\x6d', '\x70', '\x61', '\x72', '\x65', '\x4e', '\x6f', '\x74', '\x45', '\x71', '\x75', '\x61', '\x6c', '\x28', '\x20', '\x6c', '\x6f', '\x6e', '\x67', '\x20', '\x6c', '\x68', '\x73', '\x2c', '\x20', '\x54', '\x2a', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x72', '\x68', '\x73', '\x20', '\x29', '\x20', '\x2d', '\x3e', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x7b', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x72', '\x65', '\x69', '\x6e', '\x74', '\x65', '\x72', '\x70', '\x72', '\x65', '\x74', '\x5f', '\x63', '\x61', '\x73', '\x74', '\x3c', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x2a', '\x3e', '\x28', '\x20', '\x6c', '\x68', '\x73', '\x20', '\x29', '\x20', '\x21', '\x3d', '\x20', '\x72', '\x68', '\x73', '\x3b', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x4c', '\x68', '\x73', '\x54', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x20', '\x45', '\x78', '\x70', '\x72', '\x4c', '\x68', '\x73', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x4c', '\x68', '\x73', '\x54', '\x20', '\x6d', '\x5f', '\x6c', '\x68', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x70', '\x75', '\x62', '\x6c', '\x69', '\x63', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x78', '\x70', '\x6c', '\x69', '\x63', '\x69', '\x74', '\x20', '\x45', '\x78', '\x70', '\x72', '\x4c', '\x68', '\x73', '\x28', '\x20', '\x4c', '\x68', '\x73', '\x54', '\x20', '\x6c', '\x68', '\x73', '\x20', '\x29', '\x20', '\x3a', '\x20', '\x6d', '\x5f', '\x6c', '\x68', '\x73', '\x28', '\x20', '\x6c', '\x68', '\x73', '\x20', '\x29', '\x20', '\x7b', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x52', '\x68', '\x73', '\x54', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x3d', '\x3d', '\x20', '\x28', '\x20', '\x52', '\x68', '\x73', '\x54', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x72', '\x68', '\x73', '\x20', '\x29', '\x20', '\x2d', '\x3e', '\x20', '\x42', '\x69', '\x6e', '\x61', '\x72', '\x79', '\x45', '\x78', '\x70', '\x72', '\x3c', '\x4c', '\x68', '\x73', '\x54', '\x2c', '\x20', '\x52', '\x68', '\x73', '\x54', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x3e', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x7b', '\x20', '\x63', '\x6f', '\x6d', '\x70', '\x61', '\x72', '\x65', '\x45', '\x71', '\x75', '\x61', '\x6c', '\x28', '\x20', '\x6d', '\x5f', '\x6c', '\x68', '\x73', '\x2c', '\x20', '\x72', '\x68', '\x73', '\x20', '\x29', '\x2c', '\x20', '\x6d', '\x5f', '\x6c', '\x68', '\x73', '\x2c', '\x20', '\x22', '\x3d', '\x3d', '\x22', '\x2c', '\x20', '\x72', '\x68', '\x73', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x3d', '\x3d', '\x20', '\x28', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x72', '\x68', '\x73', '\x20', '\x29', '\x20', '\x2d', '\x3e', '\x20', '\x42', '\x69', '\x6e', '\x61', '\x72', '\x79', '\x45', '\x78', '\x70', '\x72', '\x3c', '\x4c', '\x68', '\x73', '\x54', '\x2c', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x3e', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x7b', '\x20', '\x6d', '\x5f', '\x6c', '\x68', '\x73', '\x20', '\x3d', '\x3d', '\x20', '\x72', '\x68', '\x73', '\x2c', '\x20', '\x6d', '\x5f', '\x6c', '\x68', '\x73', '\x2c', '\x20', '\x22', '\x3d', '\x3d', '\x22', '\x2c', '\x20', '\x72', '\x68', '\x73', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x52', '\x68', '\x73', '\x54', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x21', '\x3d', '\x20', '\x28', '\x20', '\x52', '\x68', '\x73', '\x54', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x72', '\x68', '\x73', '\x20', '\x29', '\x20', '\x2d', '\x3e', '\x20', '\x42', '\x69', '\x6e', '\x61', '\x72', '\x79', '\x45', '\x78', '\x70', '\x72', '\x3c', '\x4c', '\x68', '\x73', '\x54', '\x2c', '\x20', '\x52', '\x68', '\x73', '\x54', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x3e', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x7b', '\x20', '\x63', '\x6f', '\x6d', '\x70', '\x61', '\x72', '\x65', '\x4e', '\x6f', '\x74', '\x45', '\x71', '\x75', '\x61', '\x6c', '\x28', '\x20', '\x6d', '\x5f', '\x6c', '\x68', '\x73', '\x2c', '\x20', '\x72', '\x68', '\x73', '\x20', '\x29', '\x2c', '\x20', '\x6d', '\x5f', '\x6c', '\x68', '\x73', '\x2c', '\x20', '\x22', '\x21', '\x3d', '\x22', '\x2c', '\x20', '\x72', '\x68', '\x73', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x21', '\x3d', '\x20', '\x28', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x72', '\x68', '\x73', '\x20', '\x29', '\x20', '\x2d', '\x3e', '\x20', '\x42', '\x69', '\x6e', '\x61', '\x72', '\x79', '\x45', '\x78', '\x70', '\x72', '\x3c', '\x4c', '\x68', '\x73', '\x54', '\x2c', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x3e', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x7b', '\x20', '\x6d', '\x5f', '\x6c', '\x68', '\x73', '\x20', '\x21', '\x3d', '\x20', '\x72', '\x68', '\x73', '\x2c', '\x20', '\x6d', '\x5f', '\x6c', '\x68', '\x73', '\x2c', '\x20', '\x22', '\x21', '\x3d', '\x22', '\x2c', '\x20', '\x72', '\x68', '\x73', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x52', '\x68', '\x73', '\x54', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x3e', '\x20', '\x28', '\x20', '\x52', '\x68', '\x73', '\x54', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x72', '\x68', '\x73', '\x20', '\x29', '\x20', '\x2d', '\x3e', '\x20', '\x42', '\x69', '\x6e', '\x61', '\x72', '\x79', '\x45', '\x78', '\x70', '\x72', '\x3c', '\x4c', '\x68', '\x73', '\x54', '\x2c', '\x20', '\x52', '\x68', '\x73', '\x54', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x3e', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x7b', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x5f', '\x63', '\x61', '\x73', '\x74', '\x3c', '\x62', '\x6f', '\x6f', '\x6c', '\x3e', '\x28', '\x6d', '\x5f', '\x6c', '\x68', '\x73', '\x20', '\x3e', '\x20', '\x72', '\x68', '\x73', '\x29', '\x2c', '\x20', '\x6d', '\x5f', '\x6c', '\x68', '\x73', '\x2c', '\x20', '\x22', '\x3e', '\x22', '\x2c', '\x20', '\x72', '\x68', '\x73', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x52', '\x68', '\x73', '\x54', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x3c', '\x20', '\x28', '\x20', '\x52', '\x68', '\x73', '\x54', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x72', '\x68', '\x73', '\x20', '\x29', '\x20', '\x2d', '\x3e', '\x20', '\x42', '\x69', '\x6e', '\x61', '\x72', '\x79', '\x45', '\x78', '\x70', '\x72', '\x3c', '\x4c', '\x68', '\x73', '\x54', '\x2c', '\x20', '\x52', '\x68', '\x73', '\x54', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x3e', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x7b', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x5f', '\x63', '\x61', '\x73', '\x74', '\x3c', '\x62', '\x6f', '\x6f', '\x6c', '\x3e', '\x28', '\x6d', '\x5f', '\x6c', '\x68', '\x73', '\x20', '\x3c', '\x20', '\x72', '\x68', '\x73', '\x29', '\x2c', '\x20', '\x6d', '\x5f', '\x6c', '\x68', '\x73', '\x2c', '\x20', '\x22', '\x3c', '\x22', '\x2c', '\x20', '\x72', '\x68', '\x73', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x52', '\x68', '\x73', '\x54', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x3e', '\x3d', '\x20', '\x28', '\x20', '\x52', '\x68', '\x73', '\x54', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x72', '\x68', '\x73', '\x20', '\x29', '\x20', '\x2d', '\x3e', '\x20', '\x42', '\x69', '\x6e', '\x61', '\x72', '\x79', '\x45', '\x78', '\x70', '\x72', '\x3c', '\x4c', '\x68', '\x73', '\x54', '\x2c', '\x20', '\x52', '\x68', '\x73', '\x54', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x3e', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x7b', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x5f', '\x63', '\x61', '\x73', '\x74', '\x3c', '\x62', '\x6f', '\x6f', '\x6c', '\x3e', '\x28', '\x6d', '\x5f', '\x6c', '\x68', '\x73', '\x20', '\x3e', '\x3d', '\x20', '\x72', '\x68', '\x73', '\x29', '\x2c', '\x20', '\x6d', '\x5f', '\x6c', '\x68', '\x73', '\x2c', '\x20', '\x22', '\x3e', '\x3d', '\x22', '\x2c', '\x20', '\x72', '\x68', '\x73', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x52', '\x68', '\x73', '\x54', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x3c', '\x3d', '\x20', '\x28', '\x20', '\x52', '\x68', '\x73', '\x54', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x72', '\x68', '\x73', '\x20', '\x29', '\x20', '\x2d', '\x3e', '\x20', '\x42', '\x69', '\x6e', '\x61', '\x72', '\x79', '\x45', '\x78', '\x70', '\x72', '\x3c', '\x4c', '\x68', '\x73', '\x54', '\x2c', '\x20', '\x52', '\x68', '\x73', '\x54', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x3e', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x7b', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x5f', '\x63', '\x61', '\x73', '\x74', '\x3c', '\x62', '\x6f', '\x6f', '\x6c', '\x3e', '\x28', '\x6d', '\x5f', '\x6c', '\x68', '\x73', '\x20', '\x3c', '\x3d', '\x20', '\x72', '\x68', '\x73', '\x29', '\x2c', '\x20', '\x6d', '\x5f', '\x6c', '\x68', '\x73', '\x2c', '\x20', '\x22', '\x3c', '\x3d', '\x22', '\x2c', '\x20', '\x72', '\x68', '\x73', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x52', '\x68', '\x73', '\x54', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x26', '\x26', '\x20', '\x28', '\x20', '\x52', '\x68', '\x73', '\x54', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x29', '\x20', '\x2d', '\x3e', '\x20', '\x42', '\x69', '\x6e', '\x61', '\x72', '\x79', '\x45', '\x78', '\x70', '\x72', '\x3c', '\x4c', '\x68', '\x73', '\x54', '\x2c', '\x20', '\x52', '\x68', '\x73', '\x54', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x3e', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x5f', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x28', '\x61', '\x6c', '\x77', '\x61', '\x79', '\x73', '\x5f', '\x66', '\x61', '\x6c', '\x73', '\x65', '\x3c', '\x52', '\x68', '\x73', '\x54', '\x3e', '\x3a', '\x3a', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x22', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x26', '\x26', '\x20', '\x69', '\x73', '\x20', '\x6e', '\x6f', '\x74', '\x20', '\x73', '\x75', '\x70', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x64', '\x20', '\x69', '\x6e', '\x73', '\x69', '\x64', '\x65', '\x20', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x2c', '\x20', '\x22', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x22', '\x77', '\x72', '\x61', '\x70', '\x20', '\x74', '\x68', '\x65', '\x20', '\x65', '\x78', '\x70', '\x72', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x20', '\x69', '\x6e', '\x73', '\x69', '\x64', '\x65', '\x20', '\x70', '\x61', '\x72', '\x65', '\x6e', '\x74', '\x68', '\x65', '\x73', '\x65', '\x73', '\x2c', '\x20', '\x6f', '\x72', '\x20', '\x64', '\x65', '\x63', '\x6f', '\x6d', '\x70', '\x6f', '\x73', '\x65', '\x20', '\x69', '\x74', '\x22', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x52', '\x68', '\x73', '\x54', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x7c', '\x7c', '\x20', '\x28', '\x20', '\x52', '\x68', '\x73', '\x54', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x29', '\x20', '\x2d', '\x3e', '\x20', '\x42', '\x69', '\x6e', '\x61', '\x72', '\x79', '\x45', '\x78', '\x70', '\x72', '\x3c', '\x4c', '\x68', '\x73', '\x54', '\x2c', '\x20', '\x52', '\x68', '\x73', '\x54', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x3e', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x5f', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x28', '\x61', '\x6c', '\x77', '\x61', '\x79', '\x73', '\x5f', '\x66', '\x61', '\x6c', '\x73', '\x65', '\x3c', '\x52', '\x68', '\x73', '\x54', '\x3e', '\x3a', '\x3a', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x22', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x7c', '\x7c', '\x20', '\x69', '\x73', '\x20', '\x6e', '\x6f', '\x74', '\x20', '\x73', '\x75', '\x70', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x64', '\x20', '\x69', '\x6e', '\x73', '\x69', '\x64', '\x65', '\x20', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x2c', '\x20', '\x22', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x22', '\x77', '\x72', '\x61', '\x70', '\x20', '\x74', '\x68', '\x65', '\x20', '\x65', '\x78', '\x70', '\x72', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x20', '\x69', '\x6e', '\x73', '\x69', '\x64', '\x65', '\x20', '\x70', '\x61', '\x72', '\x65', '\x6e', '\x74', '\x68', '\x65', '\x73', '\x65', '\x73', '\x2c', '\x20', '\x6f', '\x72', '\x20', '\x64', '\x65', '\x63', '\x6f', '\x6d', '\x70', '\x6f', '\x73', '\x65', '\x20', '\x69', '\x74', '\x22', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x6d', '\x61', '\x6b', '\x65', '\x55', '\x6e', '\x61', '\x72', '\x79', '\x45', '\x78', '\x70', '\x72', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x2d', '\x3e', '\x20', '\x55', '\x6e', '\x61', '\x72', '\x79', '\x45', '\x78', '\x70', '\x72', '\x3c', '\x4c', '\x68', '\x73', '\x54', '\x3e', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x55', '\x6e', '\x61', '\x72', '\x79', '\x45', '\x78', '\x70', '\x72', '\x3c', '\x4c', '\x68', '\x73', '\x54', '\x3e', '\x7b', '\x20', '\x6d', '\x5f', '\x6c', '\x68', '\x73', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x68', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x45', '\x78', '\x70', '\x72', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x28', '\x20', '\x49', '\x54', '\x72', '\x61', '\x6e', '\x73', '\x69', '\x65', '\x6e', '\x74', '\x45', '\x78', '\x70', '\x72', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x65', '\x78', '\x70', '\x72', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x54', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x68', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x45', '\x78', '\x70', '\x72', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x28', '\x20', '\x45', '\x78', '\x70', '\x72', '\x4c', '\x68', '\x73', '\x3c', '\x54', '\x3e', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x65', '\x78', '\x70', '\x72', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x68', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x45', '\x78', '\x70', '\x72', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x28', '\x20', '\x65', '\x78', '\x70', '\x72', '\x2e', '\x6d', '\x61', '\x6b', '\x65', '\x55', '\x6e', '\x61', '\x72', '\x79', '\x45', '\x78', '\x70', '\x72', '\x28', '\x29', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x44', '\x65', '\x63', '\x6f', '\x6d', '\x70', '\x6f', '\x73', '\x65', '\x72', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x54', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x3c', '\x3d', '\x20', '\x28', '\x20', '\x54', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6c', '\x68', '\x73', '\x20', '\x29', '\x20', '\x2d', '\x3e', '\x20', '\x45', '\x78', '\x70', '\x72', '\x4c', '\x68', '\x73', '\x3c', '\x54', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x3e', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x45', '\x78', '\x70', '\x72', '\x4c', '\x68', '\x73', '\x3c', '\x54', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x3e', '\x7b', '\x20', '\x6c', '\x68', '\x73', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x3c', '\x3d', '\x28', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x20', '\x29', '\x20', '\x2d', '\x3e', '\x20', '\x45', '\x78', '\x70', '\x72', '\x4c', '\x68', '\x73', '\x3c', '\x62', '\x6f', '\x6f', '\x6c', '\x3e', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x45', '\x78', '\x70', '\x72', '\x4c', '\x68', '\x73', '\x3c', '\x62', '\x6f', '\x6f', '\x6c', '\x3e', '\x7b', '\x20', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x64', '\x65', '\x66', '\x20', '\x5f', '\x4d', '\x53', '\x43', '\x5f', '\x56', '\x45', '\x52', '\x0d', '\x0a', '\x23', '\x70', '\x72', '\x61', '\x67', '\x6d', '\x61', '\x20', '\x77', '\x61', '\x72', '\x6e', '\x69', '\x6e', '\x67', '\x28', '\x70', '\x6f', '\x70', '\x29', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x64', '\x65', '\x63', '\x6f', '\x6d', '\x70', '\x6f', '\x73', '\x65', '\x72', '\x2e', '\x68', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x69', '\x6e', '\x74', '\x65', '\x72', '\x66', '\x61', '\x63', '\x65', '\x73', '\x5f', '\x63', '\x61', '\x70', '\x74', '\x75', '\x72', '\x65', '\x2e', '\x68', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x3e', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x63', '\x68', '\x72', '\x6f', '\x6e', '\x6f', '\x3e', '\x0d', '\x0a', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x20', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x45', '\x6e', '\x64', '\x49', '\x6e', '\x66', '\x6f', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x4d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x4d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x42', '\x75', '\x69', '\x6c', '\x64', '\x65', '\x72', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x43', '\x6f', '\x75', '\x6e', '\x74', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x52', '\x65', '\x61', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x53', '\x6f', '\x75', '\x72', '\x63', '\x65', '\x4c', '\x69', '\x6e', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x49', '\x54', '\x72', '\x61', '\x6e', '\x73', '\x69', '\x65', '\x6e', '\x74', '\x45', '\x78', '\x70', '\x72', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x49', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x45', '\x4e', '\x41', '\x42', '\x4c', '\x45', '\x5f', '\x42', '\x45', '\x4e', '\x43', '\x48', '\x4d', '\x41', '\x52', '\x4b', '\x49', '\x4e', '\x47', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x42', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x49', '\x6e', '\x66', '\x6f', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x20', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x44', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x3d', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x63', '\x68', '\x72', '\x6f', '\x6e', '\x6f', '\x3a', '\x3a', '\x64', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x3c', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x2c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6e', '\x61', '\x6e', '\x6f', '\x3e', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x42', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x53', '\x74', '\x61', '\x74', '\x73', '\x3b', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x20', '\x2f', '\x2f', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x45', '\x4e', '\x41', '\x42', '\x4c', '\x45', '\x5f', '\x42', '\x45', '\x4e', '\x43', '\x48', '\x4d', '\x41', '\x52', '\x4b', '\x49', '\x4e', '\x47', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x49', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x43', '\x61', '\x70', '\x74', '\x75', '\x72', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x69', '\x72', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x7e', '\x49', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x43', '\x61', '\x70', '\x74', '\x75', '\x72', '\x65', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x69', '\x72', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x53', '\x74', '\x61', '\x72', '\x74', '\x65', '\x64', '\x28', '\x20', '\x20', '\x20', '\x20', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x6f', '\x75', '\x6e', '\x74', '\x73', '\x26', '\x20', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x20', '\x29', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x69', '\x72', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x45', '\x6e', '\x64', '\x65', '\x64', '\x28', '\x20', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x45', '\x6e', '\x64', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x65', '\x6e', '\x64', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x29', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x69', '\x72', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x45', '\x6e', '\x64', '\x65', '\x64', '\x45', '\x61', '\x72', '\x6c', '\x79', '\x28', '\x20', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x45', '\x6e', '\x64', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x65', '\x6e', '\x64', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x29', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x69', '\x72', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x61', '\x63', '\x71', '\x75', '\x69', '\x72', '\x65', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x28', '\x20', '\x53', '\x6f', '\x75', '\x72', '\x63', '\x65', '\x4c', '\x69', '\x6e', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6c', '\x69', '\x6e', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x29', '\x20', '\x2d', '\x3e', '\x20', '\x49', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x26', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x45', '\x4e', '\x41', '\x42', '\x4c', '\x45', '\x5f', '\x42', '\x45', '\x4e', '\x43', '\x48', '\x4d', '\x41', '\x52', '\x4b', '\x49', '\x4e', '\x47', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x69', '\x72', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x62', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x50', '\x72', '\x65', '\x70', '\x61', '\x72', '\x69', '\x6e', '\x67', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x29', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x69', '\x72', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x62', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x53', '\x74', '\x61', '\x72', '\x74', '\x69', '\x6e', '\x67', '\x28', '\x20', '\x42', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x69', '\x6e', '\x66', '\x6f', '\x20', '\x29', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x69', '\x72', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x62', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x45', '\x6e', '\x64', '\x65', '\x64', '\x28', '\x20', '\x42', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x53', '\x74', '\x61', '\x74', '\x73', '\x3c', '\x3e', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x73', '\x74', '\x61', '\x74', '\x73', '\x20', '\x29', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x69', '\x72', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x62', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x46', '\x61', '\x69', '\x6c', '\x65', '\x64', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x65', '\x72', '\x72', '\x6f', '\x72', '\x20', '\x29', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x20', '\x2f', '\x2f', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x45', '\x4e', '\x41', '\x42', '\x4c', '\x45', '\x5f', '\x42', '\x45', '\x4e', '\x43', '\x48', '\x4d', '\x41', '\x52', '\x4b', '\x49', '\x4e', '\x47', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x69', '\x72', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x70', '\x75', '\x73', '\x68', '\x53', '\x63', '\x6f', '\x70', '\x65', '\x64', '\x4d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x28', '\x20', '\x4d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x20', '\x29', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x69', '\x72', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x70', '\x6f', '\x70', '\x53', '\x63', '\x6f', '\x70', '\x65', '\x64', '\x4d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x28', '\x20', '\x4d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x20', '\x29', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x69', '\x72', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x63', '\x65', '\x55', '\x6e', '\x73', '\x63', '\x6f', '\x70', '\x65', '\x64', '\x4d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x28', '\x20', '\x4d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x42', '\x75', '\x69', '\x6c', '\x64', '\x65', '\x72', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x62', '\x75', '\x69', '\x6c', '\x64', '\x65', '\x72', '\x20', '\x29', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x69', '\x72', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x68', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x46', '\x61', '\x74', '\x61', '\x6c', '\x45', '\x72', '\x72', '\x6f', '\x72', '\x43', '\x6f', '\x6e', '\x64', '\x69', '\x74', '\x69', '\x6f', '\x6e', '\x28', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x66', '\x20', '\x6d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x20', '\x29', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x69', '\x72', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x68', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x45', '\x78', '\x70', '\x72', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x28', '\x20', '\x20', '\x20', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x69', '\x6e', '\x66', '\x6f', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x49', '\x54', '\x72', '\x61', '\x6e', '\x73', '\x69', '\x65', '\x6e', '\x74', '\x45', '\x78', '\x70', '\x72', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x65', '\x78', '\x70', '\x72', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x52', '\x65', '\x61', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x26', '\x20', '\x72', '\x65', '\x61', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x29', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x69', '\x72', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x68', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x4d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x28', '\x20', '\x20', '\x20', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x69', '\x6e', '\x66', '\x6f', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x57', '\x61', '\x73', '\x3a', '\x3a', '\x4f', '\x66', '\x54', '\x79', '\x70', '\x65', '\x20', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x54', '\x79', '\x70', '\x65', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x66', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x52', '\x65', '\x61', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x26', '\x20', '\x72', '\x65', '\x61', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x29', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x69', '\x72', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x68', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x55', '\x6e', '\x65', '\x78', '\x70', '\x65', '\x63', '\x74', '\x65', '\x64', '\x45', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x4e', '\x6f', '\x74', '\x54', '\x68', '\x72', '\x6f', '\x77', '\x6e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x28', '\x20', '\x20', '\x20', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x69', '\x6e', '\x66', '\x6f', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x52', '\x65', '\x61', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x26', '\x20', '\x72', '\x65', '\x61', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x29', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x69', '\x72', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x68', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x55', '\x6e', '\x65', '\x78', '\x70', '\x65', '\x63', '\x74', '\x65', '\x64', '\x49', '\x6e', '\x66', '\x6c', '\x69', '\x67', '\x68', '\x74', '\x45', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x28', '\x20', '\x20', '\x20', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x69', '\x6e', '\x66', '\x6f', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x52', '\x65', '\x61', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x26', '\x20', '\x72', '\x65', '\x61', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x29', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x69', '\x72', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x68', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x49', '\x6e', '\x63', '\x6f', '\x6d', '\x70', '\x6c', '\x65', '\x74', '\x65', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x28', '\x20', '\x20', '\x20', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x69', '\x6e', '\x66', '\x6f', '\x20', '\x29', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x69', '\x72', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x68', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x4e', '\x6f', '\x6e', '\x45', '\x78', '\x70', '\x72', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x28', '\x20', '\x20', '\x20', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x26', '\x69', '\x6e', '\x66', '\x6f', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x57', '\x61', '\x73', '\x3a', '\x3a', '\x4f', '\x66', '\x54', '\x79', '\x70', '\x65', '\x20', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x54', '\x79', '\x70', '\x65', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x52', '\x65', '\x61', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x26', '\x72', '\x65', '\x61', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x29', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x69', '\x72', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x6c', '\x61', '\x73', '\x74', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x50', '\x61', '\x73', '\x73', '\x65', '\x64', '\x28', '\x29', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x69', '\x72', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x50', '\x61', '\x73', '\x73', '\x65', '\x64', '\x28', '\x29', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x44', '\x65', '\x70', '\x72', '\x65', '\x63', '\x61', '\x74', '\x65', '\x64', '\x2c', '\x20', '\x64', '\x6f', '\x20', '\x6e', '\x6f', '\x74', '\x20', '\x75', '\x73', '\x65', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x69', '\x72', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x67', '\x65', '\x74', '\x43', '\x75', '\x72', '\x72', '\x65', '\x6e', '\x74', '\x54', '\x65', '\x73', '\x74', '\x4e', '\x61', '\x6d', '\x65', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x69', '\x72', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x2a', '\x20', '\x67', '\x65', '\x74', '\x4c', '\x61', '\x73', '\x74', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x69', '\x72', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x45', '\x61', '\x72', '\x6c', '\x79', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x64', '\x28', '\x29', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x49', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x43', '\x61', '\x70', '\x74', '\x75', '\x72', '\x65', '\x26', '\x20', '\x67', '\x65', '\x74', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x43', '\x61', '\x70', '\x74', '\x75', '\x72', '\x65', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x69', '\x6e', '\x74', '\x65', '\x72', '\x66', '\x61', '\x63', '\x65', '\x73', '\x5f', '\x63', '\x61', '\x70', '\x74', '\x75', '\x72', '\x65', '\x2e', '\x68', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x54', '\x65', '\x73', '\x74', '\x46', '\x61', '\x69', '\x6c', '\x75', '\x72', '\x65', '\x45', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x7b', '\x7d', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x44', '\x61', '\x74', '\x61', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x49', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x43', '\x61', '\x70', '\x74', '\x75', '\x72', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x20', '\x52', '\x75', '\x6e', '\x43', '\x6f', '\x6e', '\x74', '\x65', '\x78', '\x74', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x20', '\x4c', '\x61', '\x7a', '\x79', '\x45', '\x78', '\x70', '\x72', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x66', '\x72', '\x69', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x20', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x48', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x72', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x66', '\x72', '\x69', '\x65', '\x6e', '\x64', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x66', '\x72', '\x69', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x20', '\x52', '\x75', '\x6e', '\x43', '\x6f', '\x6e', '\x74', '\x65', '\x78', '\x74', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x49', '\x54', '\x72', '\x61', '\x6e', '\x73', '\x69', '\x65', '\x6e', '\x74', '\x45', '\x78', '\x70', '\x72', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x2a', '\x20', '\x6d', '\x5f', '\x74', '\x72', '\x61', '\x6e', '\x73', '\x69', '\x65', '\x6e', '\x74', '\x45', '\x78', '\x70', '\x72', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x20', '\x3d', '\x20', '\x6e', '\x75', '\x6c', '\x6c', '\x70', '\x74', '\x72', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x6d', '\x5f', '\x69', '\x73', '\x4e', '\x65', '\x67', '\x61', '\x74', '\x65', '\x64', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x70', '\x75', '\x62', '\x6c', '\x69', '\x63', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x4c', '\x61', '\x7a', '\x79', '\x45', '\x78', '\x70', '\x72', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x28', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x69', '\x73', '\x4e', '\x65', '\x67', '\x61', '\x74', '\x65', '\x64', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x4c', '\x61', '\x7a', '\x79', '\x45', '\x78', '\x70', '\x72', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x28', '\x20', '\x4c', '\x61', '\x7a', '\x79', '\x45', '\x78', '\x70', '\x72', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6f', '\x74', '\x68', '\x65', '\x72', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x4c', '\x61', '\x7a', '\x79', '\x45', '\x78', '\x70', '\x72', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x26', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x3d', '\x20', '\x28', '\x20', '\x4c', '\x61', '\x7a', '\x79', '\x45', '\x78', '\x70', '\x72', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x29', '\x20', '\x3d', '\x20', '\x64', '\x65', '\x6c', '\x65', '\x74', '\x65', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x78', '\x70', '\x6c', '\x69', '\x63', '\x69', '\x74', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x66', '\x72', '\x69', '\x65', '\x6e', '\x64', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x3c', '\x3c', '\x20', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6f', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x26', '\x20', '\x6f', '\x73', '\x2c', '\x20', '\x4c', '\x61', '\x7a', '\x79', '\x45', '\x78', '\x70', '\x72', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6c', '\x61', '\x7a', '\x79', '\x45', '\x78', '\x70', '\x72', '\x20', '\x29', '\x20', '\x2d', '\x3e', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6f', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x26', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x52', '\x65', '\x61', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x73', '\x68', '\x6f', '\x75', '\x6c', '\x64', '\x44', '\x65', '\x62', '\x75', '\x67', '\x42', '\x72', '\x65', '\x61', '\x6b', '\x20', '\x3d', '\x20', '\x66', '\x61', '\x6c', '\x73', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x73', '\x68', '\x6f', '\x75', '\x6c', '\x64', '\x54', '\x68', '\x72', '\x6f', '\x77', '\x20', '\x3d', '\x20', '\x66', '\x61', '\x6c', '\x73', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x20', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x48', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x72', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x6d', '\x5f', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x52', '\x65', '\x61', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x6d', '\x5f', '\x72', '\x65', '\x61', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x6d', '\x5f', '\x63', '\x6f', '\x6d', '\x70', '\x6c', '\x65', '\x74', '\x65', '\x64', '\x20', '\x3d', '\x20', '\x66', '\x61', '\x6c', '\x73', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x49', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x43', '\x61', '\x70', '\x74', '\x75', '\x72', '\x65', '\x26', '\x20', '\x6d', '\x5f', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x43', '\x61', '\x70', '\x74', '\x75', '\x72', '\x65', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x70', '\x75', '\x62', '\x6c', '\x69', '\x63', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x48', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x72', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x28', '\x20', '\x20', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x66', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6d', '\x61', '\x63', '\x72', '\x6f', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x53', '\x6f', '\x75', '\x72', '\x63', '\x65', '\x4c', '\x69', '\x6e', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6c', '\x69', '\x6e', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x66', '\x20', '\x63', '\x61', '\x70', '\x74', '\x75', '\x72', '\x65', '\x64', '\x45', '\x78', '\x70', '\x72', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x44', '\x69', '\x73', '\x70', '\x6f', '\x73', '\x69', '\x74', '\x69', '\x6f', '\x6e', '\x3a', '\x3a', '\x46', '\x6c', '\x61', '\x67', '\x73', '\x20', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x44', '\x69', '\x73', '\x70', '\x6f', '\x73', '\x69', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7e', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x48', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x72', '\x28', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x20', '\x21', '\x6d', '\x5f', '\x63', '\x6f', '\x6d', '\x70', '\x6c', '\x65', '\x74', '\x65', '\x64', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x43', '\x61', '\x70', '\x74', '\x75', '\x72', '\x65', '\x2e', '\x68', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x49', '\x6e', '\x63', '\x6f', '\x6d', '\x70', '\x6c', '\x65', '\x74', '\x65', '\x28', '\x20', '\x6d', '\x5f', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x54', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x68', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x45', '\x78', '\x70', '\x72', '\x28', '\x20', '\x45', '\x78', '\x70', '\x72', '\x4c', '\x68', '\x73', '\x3c', '\x54', '\x3e', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x65', '\x78', '\x70', '\x72', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x68', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x45', '\x78', '\x70', '\x72', '\x28', '\x20', '\x65', '\x78', '\x70', '\x72', '\x2e', '\x6d', '\x61', '\x6b', '\x65', '\x55', '\x6e', '\x61', '\x72', '\x79', '\x45', '\x78', '\x70', '\x72', '\x28', '\x29', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x68', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x45', '\x78', '\x70', '\x72', '\x28', '\x20', '\x49', '\x54', '\x72', '\x61', '\x6e', '\x73', '\x69', '\x65', '\x6e', '\x74', '\x45', '\x78', '\x70', '\x72', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x65', '\x78', '\x70', '\x72', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x68', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x4d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x28', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x57', '\x61', '\x73', '\x3a', '\x3a', '\x4f', '\x66', '\x54', '\x79', '\x70', '\x65', '\x20', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x54', '\x79', '\x70', '\x65', '\x2c', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x66', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x68', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x45', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x54', '\x68', '\x72', '\x6f', '\x77', '\x6e', '\x41', '\x73', '\x45', '\x78', '\x70', '\x65', '\x63', '\x74', '\x65', '\x64', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x68', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x55', '\x6e', '\x65', '\x78', '\x70', '\x65', '\x63', '\x74', '\x65', '\x64', '\x45', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x4e', '\x6f', '\x74', '\x54', '\x68', '\x72', '\x6f', '\x77', '\x6e', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x68', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x45', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x4e', '\x6f', '\x74', '\x54', '\x68', '\x72', '\x6f', '\x77', '\x6e', '\x41', '\x73', '\x45', '\x78', '\x70', '\x65', '\x63', '\x74', '\x65', '\x64', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x68', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x54', '\x68', '\x72', '\x6f', '\x77', '\x69', '\x6e', '\x67', '\x43', '\x61', '\x6c', '\x6c', '\x53', '\x6b', '\x69', '\x70', '\x70', '\x65', '\x64', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x68', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x55', '\x6e', '\x65', '\x78', '\x70', '\x65', '\x63', '\x74', '\x65', '\x64', '\x49', '\x6e', '\x66', '\x6c', '\x69', '\x67', '\x68', '\x74', '\x45', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x63', '\x6f', '\x6d', '\x70', '\x6c', '\x65', '\x74', '\x65', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x73', '\x65', '\x74', '\x43', '\x6f', '\x6d', '\x70', '\x6c', '\x65', '\x74', '\x65', '\x64', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x71', '\x75', '\x65', '\x72', '\x79', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x61', '\x6c', '\x6c', '\x6f', '\x77', '\x54', '\x68', '\x72', '\x6f', '\x77', '\x73', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x2d', '\x3e', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x68', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x45', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x45', '\x78', '\x70', '\x72', '\x28', '\x20', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x48', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x72', '\x26', '\x20', '\x68', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x72', '\x2c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x73', '\x74', '\x72', '\x2c', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x66', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x68', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x72', '\x2e', '\x68', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x6d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x2e', '\x68', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x3e', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3e', '\x0d', '\x0a', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x4d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x4d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x28', '\x20', '\x20', '\x20', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x66', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x5f', '\x6d', '\x61', '\x63', '\x72', '\x6f', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x53', '\x6f', '\x75', '\x72', '\x63', '\x65', '\x4c', '\x69', '\x6e', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x5f', '\x6c', '\x69', '\x6e', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x57', '\x61', '\x73', '\x3a', '\x3a', '\x4f', '\x66', '\x54', '\x79', '\x70', '\x65', '\x20', '\x5f', '\x74', '\x79', '\x70', '\x65', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x66', '\x20', '\x6d', '\x61', '\x63', '\x72', '\x6f', '\x4e', '\x61', '\x6d', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x6d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x53', '\x6f', '\x75', '\x72', '\x63', '\x65', '\x4c', '\x69', '\x6e', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x6c', '\x69', '\x6e', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x57', '\x61', '\x73', '\x3a', '\x3a', '\x4f', '\x66', '\x54', '\x79', '\x70', '\x65', '\x20', '\x74', '\x79', '\x70', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x75', '\x6e', '\x73', '\x69', '\x67', '\x6e', '\x65', '\x64', '\x20', '\x69', '\x6e', '\x74', '\x20', '\x73', '\x65', '\x71', '\x75', '\x65', '\x6e', '\x63', '\x65', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x3d', '\x3d', '\x20', '\x28', '\x20', '\x4d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6f', '\x74', '\x68', '\x65', '\x72', '\x20', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x3c', '\x20', '\x28', '\x20', '\x4d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6f', '\x74', '\x68', '\x65', '\x72', '\x20', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x70', '\x72', '\x69', '\x76', '\x61', '\x74', '\x65', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x20', '\x75', '\x6e', '\x73', '\x69', '\x67', '\x6e', '\x65', '\x64', '\x20', '\x69', '\x6e', '\x74', '\x20', '\x67', '\x6c', '\x6f', '\x62', '\x61', '\x6c', '\x43', '\x6f', '\x75', '\x6e', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x4d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x54', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x4d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x26', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x3c', '\x3c', '\x20', '\x28', '\x20', '\x54', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x20', '\x3c', '\x3c', '\x20', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x2a', '\x74', '\x68', '\x69', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x52', '\x65', '\x75', '\x73', '\x61', '\x62', '\x6c', '\x65', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x20', '\x6d', '\x5f', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x4d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x42', '\x75', '\x69', '\x6c', '\x64', '\x65', '\x72', '\x20', '\x3a', '\x20', '\x4d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x4d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x42', '\x75', '\x69', '\x6c', '\x64', '\x65', '\x72', '\x28', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x66', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6d', '\x61', '\x63', '\x72', '\x6f', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x53', '\x6f', '\x75', '\x72', '\x63', '\x65', '\x4c', '\x69', '\x6e', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6c', '\x69', '\x6e', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x57', '\x61', '\x73', '\x3a', '\x3a', '\x4f', '\x66', '\x54', '\x79', '\x70', '\x65', '\x20', '\x74', '\x79', '\x70', '\x65', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x54', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x4d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x42', '\x75', '\x69', '\x6c', '\x64', '\x65', '\x72', '\x26', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x3c', '\x3c', '\x20', '\x28', '\x20', '\x54', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x20', '\x3c', '\x3c', '\x20', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x2a', '\x74', '\x68', '\x69', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x4d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x6d', '\x5f', '\x69', '\x6e', '\x66', '\x6f', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x20', '\x53', '\x63', '\x6f', '\x70', '\x65', '\x64', '\x4d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x70', '\x75', '\x62', '\x6c', '\x69', '\x63', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x78', '\x70', '\x6c', '\x69', '\x63', '\x69', '\x74', '\x20', '\x53', '\x63', '\x6f', '\x70', '\x65', '\x64', '\x4d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x28', '\x20', '\x4d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x42', '\x75', '\x69', '\x6c', '\x64', '\x65', '\x72', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x62', '\x75', '\x69', '\x6c', '\x64', '\x65', '\x72', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x53', '\x63', '\x6f', '\x70', '\x65', '\x64', '\x4d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x28', '\x20', '\x53', '\x63', '\x6f', '\x70', '\x65', '\x64', '\x4d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x26', '\x20', '\x64', '\x75', '\x70', '\x6c', '\x69', '\x63', '\x61', '\x74', '\x65', '\x20', '\x29', '\x20', '\x3d', '\x20', '\x64', '\x65', '\x6c', '\x65', '\x74', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x53', '\x63', '\x6f', '\x70', '\x65', '\x64', '\x4d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x28', '\x20', '\x53', '\x63', '\x6f', '\x70', '\x65', '\x64', '\x4d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x26', '\x26', '\x20', '\x6f', '\x6c', '\x64', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7e', '\x53', '\x63', '\x6f', '\x70', '\x65', '\x64', '\x4d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x4d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x6d', '\x5f', '\x69', '\x6e', '\x66', '\x6f', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x6d', '\x5f', '\x6d', '\x6f', '\x76', '\x65', '\x64', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x20', '\x43', '\x61', '\x70', '\x74', '\x75', '\x72', '\x65', '\x72', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x4d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x3e', '\x20', '\x6d', '\x5f', '\x6d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x49', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x43', '\x61', '\x70', '\x74', '\x75', '\x72', '\x65', '\x26', '\x20', '\x6d', '\x5f', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x43', '\x61', '\x70', '\x74', '\x75', '\x72', '\x65', '\x20', '\x3d', '\x20', '\x67', '\x65', '\x74', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x43', '\x61', '\x70', '\x74', '\x75', '\x72', '\x65', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x69', '\x7a', '\x65', '\x5f', '\x74', '\x20', '\x6d', '\x5f', '\x63', '\x61', '\x70', '\x74', '\x75', '\x72', '\x65', '\x64', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x70', '\x75', '\x62', '\x6c', '\x69', '\x63', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x61', '\x70', '\x74', '\x75', '\x72', '\x65', '\x72', '\x28', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x66', '\x20', '\x6d', '\x61', '\x63', '\x72', '\x6f', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x53', '\x6f', '\x75', '\x72', '\x63', '\x65', '\x4c', '\x69', '\x6e', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6c', '\x69', '\x6e', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x2c', '\x20', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x57', '\x61', '\x73', '\x3a', '\x3a', '\x4f', '\x66', '\x54', '\x79', '\x70', '\x65', '\x20', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x54', '\x79', '\x70', '\x65', '\x2c', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x66', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7e', '\x43', '\x61', '\x70', '\x74', '\x75', '\x72', '\x65', '\x72', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x63', '\x61', '\x70', '\x74', '\x75', '\x72', '\x65', '\x56', '\x61', '\x6c', '\x75', '\x65', '\x28', '\x20', '\x73', '\x69', '\x7a', '\x65', '\x5f', '\x74', '\x20', '\x69', '\x6e', '\x64', '\x65', '\x78', '\x2c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x54', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x63', '\x61', '\x70', '\x74', '\x75', '\x72', '\x65', '\x56', '\x61', '\x6c', '\x75', '\x65', '\x73', '\x28', '\x20', '\x73', '\x69', '\x7a', '\x65', '\x5f', '\x74', '\x20', '\x69', '\x6e', '\x64', '\x65', '\x78', '\x2c', '\x20', '\x54', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x61', '\x70', '\x74', '\x75', '\x72', '\x65', '\x56', '\x61', '\x6c', '\x75', '\x65', '\x28', '\x20', '\x69', '\x6e', '\x64', '\x65', '\x78', '\x2c', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x44', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x69', '\x66', '\x79', '\x28', '\x20', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x20', '\x29', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x54', '\x2c', '\x20', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x2e', '\x2e', '\x2e', '\x20', '\x54', '\x73', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x63', '\x61', '\x70', '\x74', '\x75', '\x72', '\x65', '\x56', '\x61', '\x6c', '\x75', '\x65', '\x73', '\x28', '\x20', '\x73', '\x69', '\x7a', '\x65', '\x5f', '\x74', '\x20', '\x69', '\x6e', '\x64', '\x65', '\x78', '\x2c', '\x20', '\x54', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x2c', '\x20', '\x54', '\x73', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x2e', '\x2e', '\x2e', '\x20', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x73', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x61', '\x70', '\x74', '\x75', '\x72', '\x65', '\x56', '\x61', '\x6c', '\x75', '\x65', '\x28', '\x20', '\x69', '\x6e', '\x64', '\x65', '\x78', '\x2c', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x44', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x69', '\x66', '\x79', '\x28', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x29', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x61', '\x70', '\x74', '\x75', '\x72', '\x65', '\x56', '\x61', '\x6c', '\x75', '\x65', '\x73', '\x28', '\x20', '\x69', '\x6e', '\x64', '\x65', '\x78', '\x2b', '\x31', '\x2c', '\x20', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x73', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x6d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x2e', '\x68', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x20', '\x21', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x44', '\x49', '\x53', '\x41', '\x42', '\x4c', '\x45', '\x29', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x20', '\x21', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x44', '\x49', '\x53', '\x41', '\x42', '\x4c', '\x45', '\x5f', '\x53', '\x54', '\x52', '\x49', '\x4e', '\x47', '\x49', '\x46', '\x49', '\x43', '\x41', '\x54', '\x49', '\x4f', '\x4e', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x53', '\x54', '\x52', '\x49', '\x4e', '\x47', '\x49', '\x46', '\x59', '\x28', '\x2e', '\x2e', '\x2e', '\x29', '\x20', '\x23', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x0d', '\x0a', '\x23', '\x65', '\x6c', '\x73', '\x65', '\x0d', '\x0a', '\x20', '\x20', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x53', '\x54', '\x52', '\x49', '\x4e', '\x47', '\x49', '\x46', '\x59', '\x28', '\x2e', '\x2e', '\x2e', '\x29', '\x20', '\x22', '\x44', '\x69', '\x73', '\x61', '\x62', '\x6c', '\x65', '\x64', '\x20', '\x62', '\x79', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x44', '\x49', '\x53', '\x41', '\x42', '\x4c', '\x45', '\x5f', '\x53', '\x54', '\x52', '\x49', '\x4e', '\x47', '\x49', '\x46', '\x49', '\x43', '\x41', '\x54', '\x49', '\x4f', '\x4e', '\x22', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x46', '\x41', '\x53', '\x54', '\x5f', '\x43', '\x4f', '\x4d', '\x50', '\x49', '\x4c', '\x45', '\x29', '\x20', '\x7c', '\x7c', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x44', '\x49', '\x53', '\x41', '\x42', '\x4c', '\x45', '\x5f', '\x45', '\x58', '\x43', '\x45', '\x50', '\x54', '\x49', '\x4f', '\x4e', '\x53', '\x29', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x41', '\x6e', '\x6f', '\x74', '\x68', '\x65', '\x72', '\x20', '\x77', '\x61', '\x79', '\x20', '\x74', '\x6f', '\x20', '\x73', '\x70', '\x65', '\x65', '\x64', '\x2d', '\x75', '\x70', '\x20', '\x63', '\x6f', '\x6d', '\x70', '\x69', '\x6c', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x69', '\x73', '\x20', '\x74', '\x6f', '\x20', '\x6f', '\x6d', '\x69', '\x74', '\x20', '\x6c', '\x6f', '\x63', '\x61', '\x6c', '\x20', '\x74', '\x72', '\x79', '\x2d', '\x63', '\x61', '\x74', '\x63', '\x68', '\x20', '\x66', '\x6f', '\x72', '\x20', '\x52', '\x45', '\x51', '\x55', '\x49', '\x52', '\x45', '\x2a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x6d', '\x61', '\x63', '\x72', '\x6f', '\x73', '\x2e', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x52', '\x59', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x28', '\x20', '\x63', '\x61', '\x70', '\x74', '\x75', '\x72', '\x65', '\x72', '\x20', '\x29', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x65', '\x6c', '\x73', '\x65', '\x20', '\x2f', '\x2f', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x46', '\x41', '\x53', '\x54', '\x5f', '\x43', '\x4f', '\x4d', '\x50', '\x49', '\x4c', '\x45', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x52', '\x59', '\x20', '\x74', '\x72', '\x79', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x28', '\x20', '\x68', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x72', '\x20', '\x29', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x28', '\x2e', '\x2e', '\x2e', '\x29', '\x20', '\x7b', '\x20', '\x68', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x72', '\x2e', '\x68', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x55', '\x6e', '\x65', '\x78', '\x70', '\x65', '\x63', '\x74', '\x65', '\x64', '\x49', '\x6e', '\x66', '\x6c', '\x69', '\x67', '\x68', '\x74', '\x45', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x28', '\x29', '\x3b', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x41', '\x43', '\x54', '\x28', '\x20', '\x68', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x72', '\x20', '\x29', '\x20', '\x68', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x72', '\x2e', '\x63', '\x6f', '\x6d', '\x70', '\x6c', '\x65', '\x74', '\x65', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x28', '\x20', '\x6d', '\x61', '\x63', '\x72', '\x6f', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x44', '\x69', '\x73', '\x70', '\x6f', '\x73', '\x69', '\x74', '\x69', '\x6f', '\x6e', '\x2c', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x64', '\x6f', '\x20', '\x7b', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x48', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x72', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x48', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x72', '\x28', '\x20', '\x6d', '\x61', '\x63', '\x72', '\x6f', '\x4e', '\x61', '\x6d', '\x65', '\x23', '\x23', '\x5f', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x73', '\x72', '\x2c', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x4c', '\x49', '\x4e', '\x45', '\x49', '\x4e', '\x46', '\x4f', '\x2c', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x53', '\x54', '\x52', '\x49', '\x4e', '\x47', '\x49', '\x46', '\x59', '\x28', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x29', '\x2c', '\x20', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x44', '\x69', '\x73', '\x70', '\x6f', '\x73', '\x69', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x29', '\x3b', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x52', '\x59', '\x20', '\x7b', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x53', '\x55', '\x50', '\x50', '\x52', '\x45', '\x53', '\x53', '\x5f', '\x50', '\x41', '\x52', '\x45', '\x4e', '\x54', '\x48', '\x45', '\x53', '\x45', '\x53', '\x5f', '\x57', '\x41', '\x52', '\x4e', '\x49', '\x4e', '\x47', '\x53', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x48', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x72', '\x2e', '\x68', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x45', '\x78', '\x70', '\x72', '\x28', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x44', '\x65', '\x63', '\x6f', '\x6d', '\x70', '\x6f', '\x73', '\x65', '\x72', '\x28', '\x29', '\x20', '\x3c', '\x3d', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x20', '\x29', '\x3b', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x55', '\x4e', '\x53', '\x55', '\x50', '\x50', '\x52', '\x45', '\x53', '\x53', '\x5f', '\x50', '\x41', '\x52', '\x45', '\x4e', '\x54', '\x48', '\x45', '\x53', '\x45', '\x53', '\x5f', '\x57', '\x41', '\x52', '\x4e', '\x49', '\x4e', '\x47', '\x53', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x28', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x48', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x72', '\x20', '\x29', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x41', '\x43', '\x54', '\x28', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x48', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x72', '\x20', '\x29', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x20', '\x77', '\x68', '\x69', '\x6c', '\x65', '\x28', '\x20', '\x28', '\x76', '\x6f', '\x69', '\x64', '\x29', '\x30', '\x2c', '\x20', '\x28', '\x66', '\x61', '\x6c', '\x73', '\x65', '\x29', '\x20', '\x26', '\x26', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x5f', '\x63', '\x61', '\x73', '\x74', '\x3c', '\x62', '\x6f', '\x6f', '\x6c', '\x3e', '\x28', '\x20', '\x21', '\x21', '\x28', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x29', '\x20', '\x29', '\x20', '\x29', '\x20', '\x2f', '\x2f', '\x20', '\x74', '\x68', '\x65', '\x20', '\x65', '\x78', '\x70', '\x72', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x20', '\x68', '\x65', '\x72', '\x65', '\x20', '\x69', '\x73', '\x20', '\x6e', '\x65', '\x76', '\x65', '\x72', '\x20', '\x65', '\x76', '\x61', '\x6c', '\x75', '\x61', '\x74', '\x65', '\x64', '\x20', '\x61', '\x74', '\x20', '\x72', '\x75', '\x6e', '\x74', '\x69', '\x6d', '\x65', '\x20', '\x62', '\x75', '\x74', '\x20', '\x69', '\x74', '\x20', '\x66', '\x6f', '\x72', '\x63', '\x65', '\x73', '\x20', '\x74', '\x68', '\x65', '\x20', '\x63', '\x6f', '\x6d', '\x70', '\x69', '\x6c', '\x65', '\x72', '\x20', '\x74', '\x6f', '\x20', '\x67', '\x69', '\x76', '\x65', '\x20', '\x69', '\x74', '\x20', '\x61', '\x20', '\x6c', '\x6f', '\x6f', '\x6b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x54', '\x68', '\x65', '\x20', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x20', '\x6e', '\x65', '\x67', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x73', '\x69', '\x6c', '\x65', '\x6e', '\x63', '\x65', '\x73', '\x20', '\x4d', '\x53', '\x56', '\x43', '\x27', '\x73', '\x20', '\x43', '\x34', '\x38', '\x30', '\x30', '\x20', '\x77', '\x61', '\x72', '\x6e', '\x69', '\x6e', '\x67', '\x2c', '\x20', '\x74', '\x68', '\x65', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x5f', '\x63', '\x61', '\x73', '\x74', '\x20', '\x66', '\x6f', '\x72', '\x63', '\x65', '\x73', '\x20', '\x73', '\x68', '\x6f', '\x72', '\x74', '\x2d', '\x63', '\x69', '\x72', '\x63', '\x75', '\x69', '\x74', '\x20', '\x65', '\x76', '\x61', '\x6c', '\x75', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x69', '\x66', '\x20', '\x74', '\x68', '\x65', '\x20', '\x74', '\x79', '\x70', '\x65', '\x20', '\x68', '\x61', '\x73', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x6c', '\x6f', '\x61', '\x64', '\x65', '\x64', '\x20', '\x26', '\x26', '\x2e', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x46', '\x28', '\x20', '\x6d', '\x61', '\x63', '\x72', '\x6f', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x44', '\x69', '\x73', '\x70', '\x6f', '\x73', '\x69', '\x74', '\x69', '\x6f', '\x6e', '\x2c', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x28', '\x20', '\x6d', '\x61', '\x63', '\x72', '\x6f', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x44', '\x69', '\x73', '\x70', '\x6f', '\x73', '\x69', '\x74', '\x69', '\x6f', '\x6e', '\x2c', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x20', '\x29', '\x3b', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x67', '\x65', '\x74', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x43', '\x61', '\x70', '\x74', '\x75', '\x72', '\x65', '\x28', '\x29', '\x2e', '\x6c', '\x61', '\x73', '\x74', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x50', '\x61', '\x73', '\x73', '\x65', '\x64', '\x28', '\x29', '\x20', '\x29', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x45', '\x4c', '\x53', '\x45', '\x28', '\x20', '\x6d', '\x61', '\x63', '\x72', '\x6f', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x44', '\x69', '\x73', '\x70', '\x6f', '\x73', '\x69', '\x74', '\x69', '\x6f', '\x6e', '\x2c', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x28', '\x20', '\x6d', '\x61', '\x63', '\x72', '\x6f', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x44', '\x69', '\x73', '\x70', '\x6f', '\x73', '\x69', '\x74', '\x69', '\x6f', '\x6e', '\x2c', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x20', '\x29', '\x3b', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x21', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x67', '\x65', '\x74', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x43', '\x61', '\x70', '\x74', '\x75', '\x72', '\x65', '\x28', '\x29', '\x2e', '\x6c', '\x61', '\x73', '\x74', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x50', '\x61', '\x73', '\x73', '\x65', '\x64', '\x28', '\x29', '\x20', '\x29', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x4e', '\x4f', '\x5f', '\x54', '\x48', '\x52', '\x4f', '\x57', '\x28', '\x20', '\x6d', '\x61', '\x63', '\x72', '\x6f', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x44', '\x69', '\x73', '\x70', '\x6f', '\x73', '\x69', '\x74', '\x69', '\x6f', '\x6e', '\x2c', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x64', '\x6f', '\x20', '\x7b', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x48', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x72', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x48', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x72', '\x28', '\x20', '\x6d', '\x61', '\x63', '\x72', '\x6f', '\x4e', '\x61', '\x6d', '\x65', '\x23', '\x23', '\x5f', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x73', '\x72', '\x2c', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x4c', '\x49', '\x4e', '\x45', '\x49', '\x4e', '\x46', '\x4f', '\x2c', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x53', '\x54', '\x52', '\x49', '\x4e', '\x47', '\x49', '\x46', '\x59', '\x28', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x29', '\x2c', '\x20', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x44', '\x69', '\x73', '\x70', '\x6f', '\x73', '\x69', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x29', '\x3b', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x72', '\x79', '\x20', '\x7b', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x5f', '\x63', '\x61', '\x73', '\x74', '\x3c', '\x76', '\x6f', '\x69', '\x64', '\x3e', '\x28', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x29', '\x3b', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x48', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x72', '\x2e', '\x68', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x45', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x4e', '\x6f', '\x74', '\x54', '\x68', '\x72', '\x6f', '\x77', '\x6e', '\x41', '\x73', '\x45', '\x78', '\x70', '\x65', '\x63', '\x74', '\x65', '\x64', '\x28', '\x29', '\x3b', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x28', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x7b', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x48', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x72', '\x2e', '\x68', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x55', '\x6e', '\x65', '\x78', '\x70', '\x65', '\x63', '\x74', '\x65', '\x64', '\x49', '\x6e', '\x66', '\x6c', '\x69', '\x67', '\x68', '\x74', '\x45', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x28', '\x29', '\x3b', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x41', '\x43', '\x54', '\x28', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x48', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x72', '\x20', '\x29', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x20', '\x77', '\x68', '\x69', '\x6c', '\x65', '\x28', '\x20', '\x66', '\x61', '\x6c', '\x73', '\x65', '\x20', '\x29', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x48', '\x52', '\x4f', '\x57', '\x53', '\x28', '\x20', '\x6d', '\x61', '\x63', '\x72', '\x6f', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x44', '\x69', '\x73', '\x70', '\x6f', '\x73', '\x69', '\x74', '\x69', '\x6f', '\x6e', '\x2c', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x64', '\x6f', '\x20', '\x7b', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x48', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x72', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x48', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x72', '\x28', '\x20', '\x6d', '\x61', '\x63', '\x72', '\x6f', '\x4e', '\x61', '\x6d', '\x65', '\x23', '\x23', '\x5f', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x73', '\x72', '\x2c', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x4c', '\x49', '\x4e', '\x45', '\x49', '\x4e', '\x46', '\x4f', '\x2c', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x53', '\x54', '\x52', '\x49', '\x4e', '\x47', '\x49', '\x46', '\x59', '\x28', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x29', '\x2c', '\x20', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x44', '\x69', '\x73', '\x70', '\x6f', '\x73', '\x69', '\x74', '\x69', '\x6f', '\x6e', '\x29', '\x3b', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x48', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x72', '\x2e', '\x61', '\x6c', '\x6c', '\x6f', '\x77', '\x54', '\x68', '\x72', '\x6f', '\x77', '\x73', '\x28', '\x29', '\x20', '\x29', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x72', '\x79', '\x20', '\x7b', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x5f', '\x63', '\x61', '\x73', '\x74', '\x3c', '\x76', '\x6f', '\x69', '\x64', '\x3e', '\x28', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x29', '\x3b', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x48', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x72', '\x2e', '\x68', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x55', '\x6e', '\x65', '\x78', '\x70', '\x65', '\x63', '\x74', '\x65', '\x64', '\x45', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x4e', '\x6f', '\x74', '\x54', '\x68', '\x72', '\x6f', '\x77', '\x6e', '\x28', '\x29', '\x3b', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x28', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x7b', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x48', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x72', '\x2e', '\x68', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x45', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x54', '\x68', '\x72', '\x6f', '\x77', '\x6e', '\x41', '\x73', '\x45', '\x78', '\x70', '\x65', '\x63', '\x74', '\x65', '\x64', '\x28', '\x29', '\x3b', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x6c', '\x73', '\x65', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x48', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x72', '\x2e', '\x68', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x54', '\x68', '\x72', '\x6f', '\x77', '\x69', '\x6e', '\x67', '\x43', '\x61', '\x6c', '\x6c', '\x53', '\x6b', '\x69', '\x70', '\x70', '\x65', '\x64', '\x28', '\x29', '\x3b', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x41', '\x43', '\x54', '\x28', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x48', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x72', '\x20', '\x29', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x20', '\x77', '\x68', '\x69', '\x6c', '\x65', '\x28', '\x20', '\x66', '\x61', '\x6c', '\x73', '\x65', '\x20', '\x29', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x48', '\x52', '\x4f', '\x57', '\x53', '\x5f', '\x41', '\x53', '\x28', '\x20', '\x6d', '\x61', '\x63', '\x72', '\x6f', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x54', '\x79', '\x70', '\x65', '\x2c', '\x20', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x44', '\x69', '\x73', '\x70', '\x6f', '\x73', '\x69', '\x74', '\x69', '\x6f', '\x6e', '\x2c', '\x20', '\x65', '\x78', '\x70', '\x72', '\x20', '\x29', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x64', '\x6f', '\x20', '\x7b', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x48', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x72', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x48', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x72', '\x28', '\x20', '\x6d', '\x61', '\x63', '\x72', '\x6f', '\x4e', '\x61', '\x6d', '\x65', '\x23', '\x23', '\x5f', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x73', '\x72', '\x2c', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x4c', '\x49', '\x4e', '\x45', '\x49', '\x4e', '\x46', '\x4f', '\x2c', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x53', '\x54', '\x52', '\x49', '\x4e', '\x47', '\x49', '\x46', '\x59', '\x28', '\x65', '\x78', '\x70', '\x72', '\x29', '\x20', '\x22', '\x2c', '\x20', '\x22', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x53', '\x54', '\x52', '\x49', '\x4e', '\x47', '\x49', '\x46', '\x59', '\x28', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x54', '\x79', '\x70', '\x65', '\x29', '\x2c', '\x20', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x44', '\x69', '\x73', '\x70', '\x6f', '\x73', '\x69', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x29', '\x3b', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x48', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x72', '\x2e', '\x61', '\x6c', '\x6c', '\x6f', '\x77', '\x54', '\x68', '\x72', '\x6f', '\x77', '\x73', '\x28', '\x29', '\x20', '\x29', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x72', '\x79', '\x20', '\x7b', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x5f', '\x63', '\x61', '\x73', '\x74', '\x3c', '\x76', '\x6f', '\x69', '\x64', '\x3e', '\x28', '\x65', '\x78', '\x70', '\x72', '\x29', '\x3b', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x48', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x72', '\x2e', '\x68', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x55', '\x6e', '\x65', '\x78', '\x70', '\x65', '\x63', '\x74', '\x65', '\x64', '\x45', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x4e', '\x6f', '\x74', '\x54', '\x68', '\x72', '\x6f', '\x77', '\x6e', '\x28', '\x29', '\x3b', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x28', '\x20', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x54', '\x79', '\x70', '\x65', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x29', '\x20', '\x7b', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x48', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x72', '\x2e', '\x68', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x45', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x54', '\x68', '\x72', '\x6f', '\x77', '\x6e', '\x41', '\x73', '\x45', '\x78', '\x70', '\x65', '\x63', '\x74', '\x65', '\x64', '\x28', '\x29', '\x3b', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x28', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x7b', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x48', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x72', '\x2e', '\x68', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x55', '\x6e', '\x65', '\x78', '\x70', '\x65', '\x63', '\x74', '\x65', '\x64', '\x49', '\x6e', '\x66', '\x6c', '\x69', '\x67', '\x68', '\x74', '\x45', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x28', '\x29', '\x3b', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x6c', '\x73', '\x65', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x48', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x72', '\x2e', '\x68', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x54', '\x68', '\x72', '\x6f', '\x77', '\x69', '\x6e', '\x67', '\x43', '\x61', '\x6c', '\x6c', '\x53', '\x6b', '\x69', '\x70', '\x70', '\x65', '\x64', '\x28', '\x29', '\x3b', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x41', '\x43', '\x54', '\x28', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x48', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x72', '\x20', '\x29', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x20', '\x77', '\x68', '\x69', '\x6c', '\x65', '\x28', '\x20', '\x66', '\x61', '\x6c', '\x73', '\x65', '\x20', '\x29', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x4d', '\x53', '\x47', '\x28', '\x20', '\x6d', '\x61', '\x63', '\x72', '\x6f', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x6d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x54', '\x79', '\x70', '\x65', '\x2c', '\x20', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x44', '\x69', '\x73', '\x70', '\x6f', '\x73', '\x69', '\x74', '\x69', '\x6f', '\x6e', '\x2c', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x64', '\x6f', '\x20', '\x7b', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x48', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x72', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x48', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x72', '\x28', '\x20', '\x6d', '\x61', '\x63', '\x72', '\x6f', '\x4e', '\x61', '\x6d', '\x65', '\x23', '\x23', '\x5f', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x73', '\x72', '\x2c', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x4c', '\x49', '\x4e', '\x45', '\x49', '\x4e', '\x46', '\x4f', '\x2c', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x66', '\x28', '\x29', '\x2c', '\x20', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x44', '\x69', '\x73', '\x70', '\x6f', '\x73', '\x69', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x29', '\x3b', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x48', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x72', '\x2e', '\x68', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x4d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x28', '\x20', '\x6d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x54', '\x79', '\x70', '\x65', '\x2c', '\x20', '\x28', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x4d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x28', '\x29', '\x20', '\x3c', '\x3c', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x20', '\x2b', '\x20', '\x3a', '\x3a', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x45', '\x6e', '\x64', '\x53', '\x74', '\x6f', '\x70', '\x28', '\x29', '\x20', '\x29', '\x2e', '\x6d', '\x5f', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x2e', '\x73', '\x74', '\x72', '\x28', '\x29', '\x20', '\x29', '\x3b', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x41', '\x43', '\x54', '\x28', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x48', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x72', '\x20', '\x29', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x20', '\x77', '\x68', '\x69', '\x6c', '\x65', '\x28', '\x20', '\x66', '\x61', '\x6c', '\x73', '\x65', '\x20', '\x29', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x41', '\x50', '\x54', '\x55', '\x52', '\x45', '\x28', '\x20', '\x76', '\x61', '\x72', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x6d', '\x61', '\x63', '\x72', '\x6f', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x76', '\x61', '\x72', '\x4e', '\x61', '\x6d', '\x65', '\x20', '\x3d', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x43', '\x61', '\x70', '\x74', '\x75', '\x72', '\x65', '\x72', '\x28', '\x20', '\x6d', '\x61', '\x63', '\x72', '\x6f', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x4c', '\x49', '\x4e', '\x45', '\x49', '\x4e', '\x46', '\x4f', '\x2c', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x57', '\x61', '\x73', '\x3a', '\x3a', '\x49', '\x6e', '\x66', '\x6f', '\x2c', '\x20', '\x23', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x20', '\x29', '\x3b', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x61', '\x72', '\x4e', '\x61', '\x6d', '\x65', '\x2e', '\x63', '\x61', '\x70', '\x74', '\x75', '\x72', '\x65', '\x56', '\x61', '\x6c', '\x75', '\x65', '\x73', '\x28', '\x20', '\x30', '\x2c', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x20', '\x29', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x46', '\x4f', '\x28', '\x20', '\x6d', '\x61', '\x63', '\x72', '\x6f', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x6c', '\x6f', '\x67', '\x20', '\x29', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x53', '\x63', '\x6f', '\x70', '\x65', '\x64', '\x4d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x55', '\x4e', '\x49', '\x51', '\x55', '\x45', '\x5f', '\x4e', '\x41', '\x4d', '\x45', '\x28', '\x20', '\x73', '\x63', '\x6f', '\x70', '\x65', '\x64', '\x4d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x20', '\x29', '\x28', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x4d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x42', '\x75', '\x69', '\x6c', '\x64', '\x65', '\x72', '\x28', '\x20', '\x6d', '\x61', '\x63', '\x72', '\x6f', '\x4e', '\x61', '\x6d', '\x65', '\x23', '\x23', '\x5f', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x73', '\x72', '\x2c', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x4c', '\x49', '\x4e', '\x45', '\x49', '\x4e', '\x46', '\x4f', '\x2c', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x57', '\x61', '\x73', '\x3a', '\x3a', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x29', '\x20', '\x3c', '\x3c', '\x20', '\x6c', '\x6f', '\x67', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x55', '\x4e', '\x53', '\x43', '\x4f', '\x50', '\x45', '\x44', '\x5f', '\x49', '\x4e', '\x46', '\x4f', '\x28', '\x20', '\x6d', '\x61', '\x63', '\x72', '\x6f', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x6c', '\x6f', '\x67', '\x20', '\x29', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x67', '\x65', '\x74', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x43', '\x61', '\x70', '\x74', '\x75', '\x72', '\x65', '\x28', '\x29', '\x2e', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x63', '\x65', '\x55', '\x6e', '\x73', '\x63', '\x6f', '\x70', '\x65', '\x64', '\x4d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x28', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x4d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x42', '\x75', '\x69', '\x6c', '\x64', '\x65', '\x72', '\x28', '\x20', '\x6d', '\x61', '\x63', '\x72', '\x6f', '\x4e', '\x61', '\x6d', '\x65', '\x23', '\x23', '\x5f', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x73', '\x72', '\x2c', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x4c', '\x49', '\x4e', '\x45', '\x49', '\x4e', '\x46', '\x4f', '\x2c', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x57', '\x61', '\x73', '\x3a', '\x3a', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x29', '\x20', '\x3c', '\x3c', '\x20', '\x6c', '\x6f', '\x67', '\x20', '\x29', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x41', '\x6c', '\x74', '\x68', '\x6f', '\x75', '\x67', '\x68', '\x20', '\x74', '\x68', '\x69', '\x73', '\x20', '\x69', '\x73', '\x20', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x2d', '\x62', '\x61', '\x73', '\x65', '\x64', '\x2c', '\x20', '\x69', '\x74', '\x20', '\x63', '\x61', '\x6e', '\x20', '\x62', '\x65', '\x20', '\x75', '\x73', '\x65', '\x64', '\x20', '\x77', '\x69', '\x74', '\x68', '\x20', '\x6a', '\x75', '\x73', '\x74', '\x20', '\x61', '\x20', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x48', '\x52', '\x4f', '\x57', '\x53', '\x5f', '\x53', '\x54', '\x52', '\x5f', '\x4d', '\x41', '\x54', '\x43', '\x48', '\x45', '\x53', '\x28', '\x20', '\x6d', '\x61', '\x63', '\x72', '\x6f', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x44', '\x69', '\x73', '\x70', '\x6f', '\x73', '\x69', '\x74', '\x69', '\x6f', '\x6e', '\x2c', '\x20', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x2c', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x64', '\x6f', '\x20', '\x7b', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x48', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x72', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x48', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x72', '\x28', '\x20', '\x6d', '\x61', '\x63', '\x72', '\x6f', '\x4e', '\x61', '\x6d', '\x65', '\x23', '\x23', '\x5f', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x73', '\x72', '\x2c', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x4c', '\x49', '\x4e', '\x45', '\x49', '\x4e', '\x46', '\x4f', '\x2c', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x53', '\x54', '\x52', '\x49', '\x4e', '\x47', '\x49', '\x46', '\x59', '\x28', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x29', '\x20', '\x22', '\x2c', '\x20', '\x22', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x53', '\x54', '\x52', '\x49', '\x4e', '\x47', '\x49', '\x46', '\x59', '\x28', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x29', '\x2c', '\x20', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x44', '\x69', '\x73', '\x70', '\x6f', '\x73', '\x69', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x29', '\x3b', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x48', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x72', '\x2e', '\x61', '\x6c', '\x6c', '\x6f', '\x77', '\x54', '\x68', '\x72', '\x6f', '\x77', '\x73', '\x28', '\x29', '\x20', '\x29', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x72', '\x79', '\x20', '\x7b', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x5f', '\x63', '\x61', '\x73', '\x74', '\x3c', '\x76', '\x6f', '\x69', '\x64', '\x3e', '\x28', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x29', '\x3b', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x48', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x72', '\x2e', '\x68', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x55', '\x6e', '\x65', '\x78', '\x70', '\x65', '\x63', '\x74', '\x65', '\x64', '\x45', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x4e', '\x6f', '\x74', '\x54', '\x68', '\x72', '\x6f', '\x77', '\x6e', '\x28', '\x29', '\x3b', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x28', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x7b', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x68', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x45', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x45', '\x78', '\x70', '\x72', '\x28', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x48', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x72', '\x2c', '\x20', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x2c', '\x20', '\x23', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x23', '\x23', '\x5f', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x73', '\x72', '\x20', '\x29', '\x3b', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x6c', '\x73', '\x65', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x48', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x72', '\x2e', '\x68', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x54', '\x68', '\x72', '\x6f', '\x77', '\x69', '\x6e', '\x67', '\x43', '\x61', '\x6c', '\x6c', '\x53', '\x6b', '\x69', '\x70', '\x70', '\x65', '\x64', '\x28', '\x29', '\x3b', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x41', '\x43', '\x54', '\x28', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x48', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x72', '\x20', '\x29', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x20', '\x77', '\x68', '\x69', '\x6c', '\x65', '\x28', '\x20', '\x66', '\x61', '\x6c', '\x73', '\x65', '\x20', '\x29', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x20', '\x2f', '\x2f', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x44', '\x49', '\x53', '\x41', '\x42', '\x4c', '\x45', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x63', '\x61', '\x70', '\x74', '\x75', '\x72', '\x65', '\x2e', '\x68', '\x70', '\x70', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x2e', '\x68', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x5f', '\x69', '\x6e', '\x66', '\x6f', '\x2e', '\x68', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x74', '\x6f', '\x74', '\x61', '\x6c', '\x73', '\x2e', '\x68', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x63', '\x73', '\x74', '\x64', '\x64', '\x65', '\x66', '\x3e', '\x0d', '\x0a', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x43', '\x6f', '\x75', '\x6e', '\x74', '\x73', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x6f', '\x75', '\x6e', '\x74', '\x73', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x2d', '\x20', '\x28', '\x20', '\x43', '\x6f', '\x75', '\x6e', '\x74', '\x73', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6f', '\x74', '\x68', '\x65', '\x72', '\x20', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x6f', '\x75', '\x6e', '\x74', '\x73', '\x26', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x2b', '\x3d', '\x20', '\x28', '\x20', '\x43', '\x6f', '\x75', '\x6e', '\x74', '\x73', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6f', '\x74', '\x68', '\x65', '\x72', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x69', '\x7a', '\x65', '\x5f', '\x74', '\x20', '\x74', '\x6f', '\x74', '\x61', '\x6c', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x61', '\x6c', '\x6c', '\x50', '\x61', '\x73', '\x73', '\x65', '\x64', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x61', '\x6c', '\x6c', '\x4f', '\x6b', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x69', '\x7a', '\x65', '\x5f', '\x74', '\x20', '\x70', '\x61', '\x73', '\x73', '\x65', '\x64', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x69', '\x7a', '\x65', '\x5f', '\x74', '\x20', '\x66', '\x61', '\x69', '\x6c', '\x65', '\x64', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x69', '\x7a', '\x65', '\x5f', '\x74', '\x20', '\x66', '\x61', '\x69', '\x6c', '\x65', '\x64', '\x42', '\x75', '\x74', '\x4f', '\x6b', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x54', '\x6f', '\x74', '\x61', '\x6c', '\x73', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x54', '\x6f', '\x74', '\x61', '\x6c', '\x73', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x2d', '\x20', '\x28', '\x20', '\x54', '\x6f', '\x74', '\x61', '\x6c', '\x73', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6f', '\x74', '\x68', '\x65', '\x72', '\x20', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x54', '\x6f', '\x74', '\x61', '\x6c', '\x73', '\x26', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x2b', '\x3d', '\x20', '\x28', '\x20', '\x54', '\x6f', '\x74', '\x61', '\x6c', '\x73', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6f', '\x74', '\x68', '\x65', '\x72', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x54', '\x6f', '\x74', '\x61', '\x6c', '\x73', '\x20', '\x64', '\x65', '\x6c', '\x74', '\x61', '\x28', '\x20', '\x54', '\x6f', '\x74', '\x61', '\x6c', '\x73', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x70', '\x72', '\x65', '\x76', '\x54', '\x6f', '\x74', '\x61', '\x6c', '\x73', '\x20', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x6e', '\x74', '\x20', '\x65', '\x72', '\x72', '\x6f', '\x72', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x6f', '\x75', '\x6e', '\x74', '\x73', '\x20', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x6f', '\x75', '\x6e', '\x74', '\x73', '\x20', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x74', '\x6f', '\x74', '\x61', '\x6c', '\x73', '\x2e', '\x68', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x3e', '\x0d', '\x0a', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x28', '\x20', '\x20', '\x20', '\x53', '\x6f', '\x75', '\x72', '\x63', '\x65', '\x4c', '\x69', '\x6e', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x5f', '\x6c', '\x69', '\x6e', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x5f', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x44', '\x65', '\x70', '\x72', '\x65', '\x63', '\x61', '\x74', '\x65', '\x64', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x28', '\x20', '\x20', '\x20', '\x53', '\x6f', '\x75', '\x72', '\x63', '\x65', '\x4c', '\x69', '\x6e', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x5f', '\x6c', '\x69', '\x6e', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x5f', '\x6e', '\x61', '\x6d', '\x65', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x29', '\x20', '\x3a', '\x20', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x28', '\x20', '\x5f', '\x6c', '\x69', '\x6e', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x2c', '\x20', '\x5f', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x29', '\x20', '\x7b', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x64', '\x65', '\x73', '\x63', '\x72', '\x69', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x3b', '\x20', '\x2f', '\x2f', '\x20', '\x21', '\x44', '\x65', '\x70', '\x72', '\x65', '\x63', '\x61', '\x74', '\x65', '\x64', '\x3a', '\x20', '\x74', '\x68', '\x69', '\x73', '\x20', '\x77', '\x69', '\x6c', '\x6c', '\x20', '\x61', '\x6c', '\x77', '\x61', '\x79', '\x73', '\x20', '\x62', '\x65', '\x20', '\x65', '\x6d', '\x70', '\x74', '\x79', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x53', '\x6f', '\x75', '\x72', '\x63', '\x65', '\x4c', '\x69', '\x6e', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x6c', '\x69', '\x6e', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x45', '\x6e', '\x64', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x6f', '\x75', '\x6e', '\x74', '\x73', '\x20', '\x70', '\x72', '\x65', '\x76', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x20', '\x64', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x49', '\x6e', '\x53', '\x65', '\x63', '\x6f', '\x6e', '\x64', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x5f', '\x69', '\x6e', '\x66', '\x6f', '\x2e', '\x68', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x74', '\x69', '\x6d', '\x65', '\x72', '\x2e', '\x68', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x63', '\x73', '\x74', '\x64', '\x69', '\x6e', '\x74', '\x3e', '\x0d', '\x0a', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x67', '\x65', '\x74', '\x43', '\x75', '\x72', '\x72', '\x65', '\x6e', '\x74', '\x4e', '\x61', '\x6e', '\x6f', '\x73', '\x65', '\x63', '\x6f', '\x6e', '\x64', '\x73', '\x53', '\x69', '\x6e', '\x63', '\x65', '\x45', '\x70', '\x6f', '\x63', '\x68', '\x28', '\x29', '\x20', '\x2d', '\x3e', '\x20', '\x75', '\x69', '\x6e', '\x74', '\x36', '\x34', '\x5f', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x67', '\x65', '\x74', '\x45', '\x73', '\x74', '\x69', '\x6d', '\x61', '\x74', '\x65', '\x64', '\x43', '\x6c', '\x6f', '\x63', '\x6b', '\x52', '\x65', '\x73', '\x6f', '\x6c', '\x75', '\x74', '\x69', '\x6f', '\x6e', '\x28', '\x29', '\x20', '\x2d', '\x3e', '\x20', '\x75', '\x69', '\x6e', '\x74', '\x36', '\x34', '\x5f', '\x74', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x20', '\x54', '\x69', '\x6d', '\x65', '\x72', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x75', '\x69', '\x6e', '\x74', '\x36', '\x34', '\x5f', '\x74', '\x20', '\x6d', '\x5f', '\x6e', '\x61', '\x6e', '\x6f', '\x73', '\x65', '\x63', '\x6f', '\x6e', '\x64', '\x73', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x70', '\x75', '\x62', '\x6c', '\x69', '\x63', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x67', '\x65', '\x74', '\x45', '\x6c', '\x61', '\x70', '\x73', '\x65', '\x64', '\x4e', '\x61', '\x6e', '\x6f', '\x73', '\x65', '\x63', '\x6f', '\x6e', '\x64', '\x73', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x2d', '\x3e', '\x20', '\x75', '\x69', '\x6e', '\x74', '\x36', '\x34', '\x5f', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x67', '\x65', '\x74', '\x45', '\x6c', '\x61', '\x70', '\x73', '\x65', '\x64', '\x4d', '\x69', '\x63', '\x72', '\x6f', '\x73', '\x65', '\x63', '\x6f', '\x6e', '\x64', '\x73', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x2d', '\x3e', '\x20', '\x75', '\x69', '\x6e', '\x74', '\x36', '\x34', '\x5f', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x67', '\x65', '\x74', '\x45', '\x6c', '\x61', '\x70', '\x73', '\x65', '\x64', '\x4d', '\x69', '\x6c', '\x6c', '\x69', '\x73', '\x65', '\x63', '\x6f', '\x6e', '\x64', '\x73', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x2d', '\x3e', '\x20', '\x75', '\x6e', '\x73', '\x69', '\x67', '\x6e', '\x65', '\x64', '\x20', '\x69', '\x6e', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x67', '\x65', '\x74', '\x45', '\x6c', '\x61', '\x70', '\x73', '\x65', '\x64', '\x53', '\x65', '\x63', '\x6f', '\x6e', '\x64', '\x73', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x2d', '\x3e', '\x20', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x74', '\x69', '\x6d', '\x65', '\x72', '\x2e', '\x68', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x3e', '\x0d', '\x0a', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x20', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x3a', '\x20', '\x4e', '\x6f', '\x6e', '\x43', '\x6f', '\x70', '\x79', '\x61', '\x62', '\x6c', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x70', '\x75', '\x62', '\x6c', '\x69', '\x63', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x28', '\x20', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x69', '\x6e', '\x66', '\x6f', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7e', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x54', '\x68', '\x69', '\x73', '\x20', '\x69', '\x6e', '\x64', '\x69', '\x63', '\x61', '\x74', '\x65', '\x73', '\x20', '\x77', '\x68', '\x65', '\x74', '\x68', '\x65', '\x72', '\x20', '\x74', '\x68', '\x65', '\x20', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x73', '\x68', '\x6f', '\x75', '\x6c', '\x64', '\x20', '\x62', '\x65', '\x20', '\x65', '\x78', '\x65', '\x63', '\x75', '\x74', '\x65', '\x64', '\x20', '\x6f', '\x72', '\x20', '\x6e', '\x6f', '\x74', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x78', '\x70', '\x6c', '\x69', '\x63', '\x69', '\x74', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x70', '\x72', '\x69', '\x76', '\x61', '\x74', '\x65', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x6d', '\x5f', '\x69', '\x6e', '\x66', '\x6f', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x6d', '\x5f', '\x6e', '\x61', '\x6d', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x6f', '\x75', '\x6e', '\x74', '\x73', '\x20', '\x6d', '\x5f', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x6d', '\x5f', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x49', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x64', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x54', '\x69', '\x6d', '\x65', '\x72', '\x20', '\x6d', '\x5f', '\x74', '\x69', '\x6d', '\x65', '\x72', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x53', '\x45', '\x43', '\x54', '\x49', '\x4f', '\x4e', '\x28', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x53', '\x55', '\x50', '\x50', '\x52', '\x45', '\x53', '\x53', '\x5f', '\x55', '\x4e', '\x55', '\x53', '\x45', '\x44', '\x5f', '\x57', '\x41', '\x52', '\x4e', '\x49', '\x4e', '\x47', '\x53', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x55', '\x4e', '\x49', '\x51', '\x55', '\x45', '\x5f', '\x4e', '\x41', '\x4d', '\x45', '\x28', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x69', '\x6e', '\x74', '\x65', '\x72', '\x6e', '\x61', '\x6c', '\x5f', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x29', '\x20', '\x3d', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x28', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x4c', '\x49', '\x4e', '\x45', '\x49', '\x4e', '\x46', '\x4f', '\x2c', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x20', '\x29', '\x20', '\x29', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x55', '\x4e', '\x53', '\x55', '\x50', '\x50', '\x52', '\x45', '\x53', '\x53', '\x5f', '\x55', '\x4e', '\x55', '\x53', '\x45', '\x44', '\x5f', '\x57', '\x41', '\x52', '\x4e', '\x49', '\x4e', '\x47', '\x53', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x44', '\x59', '\x4e', '\x41', '\x4d', '\x49', '\x43', '\x5f', '\x53', '\x45', '\x43', '\x54', '\x49', '\x4f', '\x4e', '\x28', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x53', '\x55', '\x50', '\x50', '\x52', '\x45', '\x53', '\x53', '\x5f', '\x55', '\x4e', '\x55', '\x53', '\x45', '\x44', '\x5f', '\x57', '\x41', '\x52', '\x4e', '\x49', '\x4e', '\x47', '\x53', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x55', '\x4e', '\x49', '\x51', '\x55', '\x45', '\x5f', '\x4e', '\x41', '\x4d', '\x45', '\x28', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x69', '\x6e', '\x74', '\x65', '\x72', '\x6e', '\x61', '\x6c', '\x5f', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x29', '\x20', '\x3d', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x28', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x4c', '\x49', '\x4e', '\x45', '\x49', '\x4e', '\x46', '\x4f', '\x2c', '\x20', '\x28', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x52', '\x65', '\x75', '\x73', '\x61', '\x62', '\x6c', '\x65', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x28', '\x29', '\x20', '\x3c', '\x3c', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x29', '\x2e', '\x73', '\x74', '\x72', '\x28', '\x29', '\x20', '\x29', '\x20', '\x29', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x55', '\x4e', '\x53', '\x55', '\x50', '\x50', '\x52', '\x45', '\x53', '\x53', '\x5f', '\x55', '\x4e', '\x55', '\x53', '\x45', '\x44', '\x5f', '\x57', '\x41', '\x52', '\x4e', '\x49', '\x4e', '\x47', '\x53', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x2e', '\x68', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x69', '\x6e', '\x74', '\x65', '\x72', '\x66', '\x61', '\x63', '\x65', '\x73', '\x5f', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x2e', '\x68', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x69', '\x6e', '\x74', '\x65', '\x72', '\x66', '\x61', '\x63', '\x65', '\x73', '\x5f', '\x72', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x5f', '\x68', '\x75', '\x62', '\x2e', '\x68', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x3e', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x6d', '\x65', '\x6d', '\x6f', '\x72', '\x79', '\x3e', '\x0d', '\x0a', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x20', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x49', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x49', '\x45', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x54', '\x72', '\x61', '\x6e', '\x73', '\x6c', '\x61', '\x74', '\x6f', '\x72', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x49', '\x45', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x54', '\x72', '\x61', '\x6e', '\x73', '\x6c', '\x61', '\x74', '\x6f', '\x72', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x49', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x49', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x46', '\x61', '\x63', '\x74', '\x6f', '\x72', '\x79', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x49', '\x54', '\x61', '\x67', '\x41', '\x6c', '\x69', '\x61', '\x73', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x49', '\x4d', '\x75', '\x74', '\x61', '\x62', '\x6c', '\x65', '\x45', '\x6e', '\x75', '\x6d', '\x56', '\x61', '\x6c', '\x75', '\x65', '\x73', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x20', '\x53', '\x74', '\x61', '\x72', '\x74', '\x75', '\x70', '\x45', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x75', '\x73', '\x69', '\x6e', '\x67', '\x20', '\x49', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x46', '\x61', '\x63', '\x74', '\x6f', '\x72', '\x79', '\x50', '\x74', '\x72', '\x20', '\x3d', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x68', '\x61', '\x72', '\x65', '\x64', '\x5f', '\x70', '\x74', '\x72', '\x3c', '\x49', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x46', '\x61', '\x63', '\x74', '\x6f', '\x72', '\x79', '\x3e', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x49', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x48', '\x75', '\x62', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x69', '\x72', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x7e', '\x49', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x48', '\x75', '\x62', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x69', '\x72', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x49', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x67', '\x65', '\x74', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x69', '\x72', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x49', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x67', '\x65', '\x74', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x69', '\x72', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x49', '\x54', '\x61', '\x67', '\x41', '\x6c', '\x69', '\x61', '\x73', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x67', '\x65', '\x74', '\x54', '\x61', '\x67', '\x41', '\x6c', '\x69', '\x61', '\x73', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x69', '\x72', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x49', '\x45', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x54', '\x72', '\x61', '\x6e', '\x73', '\x6c', '\x61', '\x74', '\x6f', '\x72', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x67', '\x65', '\x74', '\x45', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x54', '\x72', '\x61', '\x6e', '\x73', '\x6c', '\x61', '\x74', '\x6f', '\x72', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x69', '\x72', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x53', '\x74', '\x61', '\x72', '\x74', '\x75', '\x70', '\x45', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x67', '\x65', '\x74', '\x53', '\x74', '\x61', '\x72', '\x74', '\x75', '\x70', '\x45', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x49', '\x4d', '\x75', '\x74', '\x61', '\x62', '\x6c', '\x65', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x48', '\x75', '\x62', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x69', '\x72', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x7e', '\x49', '\x4d', '\x75', '\x74', '\x61', '\x62', '\x6c', '\x65', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x48', '\x75', '\x62', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x69', '\x72', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x72', '\x65', '\x67', '\x69', '\x73', '\x74', '\x65', '\x72', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x49', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x46', '\x61', '\x63', '\x74', '\x6f', '\x72', '\x79', '\x50', '\x74', '\x72', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x66', '\x61', '\x63', '\x74', '\x6f', '\x72', '\x79', '\x20', '\x29', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x69', '\x72', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x72', '\x65', '\x67', '\x69', '\x73', '\x74', '\x65', '\x72', '\x4c', '\x69', '\x73', '\x74', '\x65', '\x6e', '\x65', '\x72', '\x28', '\x20', '\x49', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x46', '\x61', '\x63', '\x74', '\x6f', '\x72', '\x79', '\x50', '\x74', '\x72', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x66', '\x61', '\x63', '\x74', '\x6f', '\x72', '\x79', '\x20', '\x29', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x69', '\x72', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x72', '\x65', '\x67', '\x69', '\x73', '\x74', '\x65', '\x72', '\x54', '\x65', '\x73', '\x74', '\x28', '\x20', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x74', '\x65', '\x73', '\x74', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x29', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x69', '\x72', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x72', '\x65', '\x67', '\x69', '\x73', '\x74', '\x65', '\x72', '\x54', '\x72', '\x61', '\x6e', '\x73', '\x6c', '\x61', '\x74', '\x6f', '\x72', '\x28', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x49', '\x45', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x54', '\x72', '\x61', '\x6e', '\x73', '\x6c', '\x61', '\x74', '\x6f', '\x72', '\x2a', '\x20', '\x74', '\x72', '\x61', '\x6e', '\x73', '\x6c', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x29', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x69', '\x72', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x72', '\x65', '\x67', '\x69', '\x73', '\x74', '\x65', '\x72', '\x54', '\x61', '\x67', '\x41', '\x6c', '\x69', '\x61', '\x73', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x61', '\x6c', '\x69', '\x61', '\x73', '\x2c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x74', '\x61', '\x67', '\x2c', '\x20', '\x53', '\x6f', '\x75', '\x72', '\x63', '\x65', '\x4c', '\x69', '\x6e', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6c', '\x69', '\x6e', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x29', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x69', '\x72', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x72', '\x65', '\x67', '\x69', '\x73', '\x74', '\x65', '\x72', '\x53', '\x74', '\x61', '\x72', '\x74', '\x75', '\x70', '\x45', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x28', '\x29', '\x20', '\x6e', '\x6f', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x69', '\x72', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x49', '\x4d', '\x75', '\x74', '\x61', '\x62', '\x6c', '\x65', '\x45', '\x6e', '\x75', '\x6d', '\x56', '\x61', '\x6c', '\x75', '\x65', '\x73', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x26', '\x20', '\x67', '\x65', '\x74', '\x4d', '\x75', '\x74', '\x61', '\x62', '\x6c', '\x65', '\x45', '\x6e', '\x75', '\x6d', '\x56', '\x61', '\x6c', '\x75', '\x65', '\x73', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x28', '\x29', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x49', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x48', '\x75', '\x62', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x67', '\x65', '\x74', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x48', '\x75', '\x62', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x49', '\x4d', '\x75', '\x74', '\x61', '\x62', '\x6c', '\x65', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x48', '\x75', '\x62', '\x26', '\x20', '\x67', '\x65', '\x74', '\x4d', '\x75', '\x74', '\x61', '\x62', '\x6c', '\x65', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x48', '\x75', '\x62', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x63', '\x6c', '\x65', '\x61', '\x6e', '\x55', '\x70', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x74', '\x72', '\x61', '\x6e', '\x73', '\x6c', '\x61', '\x74', '\x65', '\x41', '\x63', '\x74', '\x69', '\x76', '\x65', '\x45', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x69', '\x6e', '\x74', '\x65', '\x72', '\x66', '\x61', '\x63', '\x65', '\x73', '\x5f', '\x72', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x5f', '\x68', '\x75', '\x62', '\x2e', '\x68', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x44', '\x49', '\x53', '\x41', '\x42', '\x4c', '\x45', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x52', '\x41', '\x4e', '\x53', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x45', '\x58', '\x43', '\x45', '\x50', '\x54', '\x49', '\x4f', '\x4e', '\x5f', '\x4e', '\x4f', '\x5f', '\x52', '\x45', '\x47', '\x28', '\x20', '\x74', '\x72', '\x61', '\x6e', '\x73', '\x6c', '\x61', '\x74', '\x6f', '\x72', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x73', '\x69', '\x67', '\x6e', '\x61', '\x74', '\x75', '\x72', '\x65', '\x29', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x74', '\x72', '\x61', '\x6e', '\x73', '\x6c', '\x61', '\x74', '\x6f', '\x72', '\x4e', '\x61', '\x6d', '\x65', '\x28', '\x20', '\x73', '\x69', '\x67', '\x6e', '\x61', '\x74', '\x75', '\x72', '\x65', '\x20', '\x29', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x3e', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x3e', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3e', '\x0d', '\x0a', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x75', '\x73', '\x69', '\x6e', '\x67', '\x20', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x54', '\x72', '\x61', '\x6e', '\x73', '\x6c', '\x61', '\x74', '\x65', '\x46', '\x75', '\x6e', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x3d', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x28', '\x2a', '\x29', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x49', '\x45', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x54', '\x72', '\x61', '\x6e', '\x73', '\x6c', '\x61', '\x74', '\x6f', '\x72', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x75', '\x73', '\x69', '\x6e', '\x67', '\x20', '\x45', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x54', '\x72', '\x61', '\x6e', '\x73', '\x6c', '\x61', '\x74', '\x6f', '\x72', '\x73', '\x20', '\x3d', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x75', '\x6e', '\x69', '\x71', '\x75', '\x65', '\x5f', '\x70', '\x74', '\x72', '\x3c', '\x49', '\x45', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x54', '\x72', '\x61', '\x6e', '\x73', '\x6c', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x3e', '\x3e', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x49', '\x45', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x54', '\x72', '\x61', '\x6e', '\x73', '\x6c', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x69', '\x72', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x7e', '\x49', '\x45', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x54', '\x72', '\x61', '\x6e', '\x73', '\x6c', '\x61', '\x74', '\x6f', '\x72', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x69', '\x72', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x74', '\x72', '\x61', '\x6e', '\x73', '\x6c', '\x61', '\x74', '\x65', '\x28', '\x20', '\x45', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x54', '\x72', '\x61', '\x6e', '\x73', '\x6c', '\x61', '\x74', '\x6f', '\x72', '\x73', '\x3a', '\x3a', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x5f', '\x69', '\x74', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x69', '\x74', '\x2c', '\x20', '\x45', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x54', '\x72', '\x61', '\x6e', '\x73', '\x6c', '\x61', '\x74', '\x6f', '\x72', '\x73', '\x3a', '\x3a', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x5f', '\x69', '\x74', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x69', '\x74', '\x45', '\x6e', '\x64', '\x20', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x49', '\x45', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x54', '\x72', '\x61', '\x6e', '\x73', '\x6c', '\x61', '\x74', '\x6f', '\x72', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x69', '\x72', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x7e', '\x49', '\x45', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x54', '\x72', '\x61', '\x6e', '\x73', '\x6c', '\x61', '\x74', '\x6f', '\x72', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x69', '\x72', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x74', '\x72', '\x61', '\x6e', '\x73', '\x6c', '\x61', '\x74', '\x65', '\x41', '\x63', '\x74', '\x69', '\x76', '\x65', '\x45', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x20', '\x45', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x54', '\x72', '\x61', '\x6e', '\x73', '\x6c', '\x61', '\x74', '\x6f', '\x72', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x61', '\x72', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x54', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x20', '\x45', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x54', '\x72', '\x61', '\x6e', '\x73', '\x6c', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x3a', '\x20', '\x70', '\x75', '\x62', '\x6c', '\x69', '\x63', '\x20', '\x49', '\x45', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x54', '\x72', '\x61', '\x6e', '\x73', '\x6c', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x75', '\x62', '\x6c', '\x69', '\x63', '\x3a', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x45', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x54', '\x72', '\x61', '\x6e', '\x73', '\x6c', '\x61', '\x74', '\x6f', '\x72', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x28', '\x2a', '\x74', '\x72', '\x61', '\x6e', '\x73', '\x6c', '\x61', '\x74', '\x65', '\x46', '\x75', '\x6e', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x29', '\x28', '\x20', '\x54', '\x26', '\x20', '\x29', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x3a', '\x20', '\x6d', '\x5f', '\x74', '\x72', '\x61', '\x6e', '\x73', '\x6c', '\x61', '\x74', '\x65', '\x46', '\x75', '\x6e', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x28', '\x20', '\x74', '\x72', '\x61', '\x6e', '\x73', '\x6c', '\x61', '\x74', '\x65', '\x46', '\x75', '\x6e', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7b', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x74', '\x72', '\x61', '\x6e', '\x73', '\x6c', '\x61', '\x74', '\x65', '\x28', '\x20', '\x45', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x54', '\x72', '\x61', '\x6e', '\x73', '\x6c', '\x61', '\x74', '\x6f', '\x72', '\x73', '\x3a', '\x3a', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x5f', '\x69', '\x74', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x69', '\x74', '\x2c', '\x20', '\x45', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x54', '\x72', '\x61', '\x6e', '\x73', '\x6c', '\x61', '\x74', '\x6f', '\x72', '\x73', '\x3a', '\x3a', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x5f', '\x69', '\x74', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x69', '\x74', '\x45', '\x6e', '\x64', '\x20', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x72', '\x79', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x69', '\x74', '\x20', '\x3d', '\x3d', '\x20', '\x69', '\x74', '\x45', '\x6e', '\x64', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x72', '\x65', '\x74', '\x68', '\x72', '\x6f', '\x77', '\x5f', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x63', '\x75', '\x72', '\x72', '\x65', '\x6e', '\x74', '\x5f', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x28', '\x29', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x6c', '\x73', '\x65', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x28', '\x2a', '\x69', '\x74', '\x29', '\x2d', '\x3e', '\x74', '\x72', '\x61', '\x6e', '\x73', '\x6c', '\x61', '\x74', '\x65', '\x28', '\x20', '\x69', '\x74', '\x2b', '\x31', '\x2c', '\x20', '\x69', '\x74', '\x45', '\x6e', '\x64', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x28', '\x20', '\x54', '\x26', '\x20', '\x65', '\x78', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6d', '\x5f', '\x74', '\x72', '\x61', '\x6e', '\x73', '\x6c', '\x61', '\x74', '\x65', '\x46', '\x75', '\x6e', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x28', '\x20', '\x65', '\x78', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x72', '\x6f', '\x74', '\x65', '\x63', '\x74', '\x65', '\x64', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x28', '\x2a', '\x6d', '\x5f', '\x74', '\x72', '\x61', '\x6e', '\x73', '\x6c', '\x61', '\x74', '\x65', '\x46', '\x75', '\x6e', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x29', '\x28', '\x20', '\x54', '\x26', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x70', '\x75', '\x62', '\x6c', '\x69', '\x63', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x54', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x45', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x54', '\x72', '\x61', '\x6e', '\x73', '\x6c', '\x61', '\x74', '\x6f', '\x72', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x61', '\x72', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x28', '\x2a', '\x74', '\x72', '\x61', '\x6e', '\x73', '\x6c', '\x61', '\x74', '\x65', '\x46', '\x75', '\x6e', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x29', '\x28', '\x20', '\x54', '\x26', '\x20', '\x29', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x67', '\x65', '\x74', '\x4d', '\x75', '\x74', '\x61', '\x62', '\x6c', '\x65', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x48', '\x75', '\x62', '\x28', '\x29', '\x2e', '\x72', '\x65', '\x67', '\x69', '\x73', '\x74', '\x65', '\x72', '\x54', '\x72', '\x61', '\x6e', '\x73', '\x6c', '\x61', '\x74', '\x6f', '\x72', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x28', '\x20', '\x6e', '\x65', '\x77', '\x20', '\x45', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x54', '\x72', '\x61', '\x6e', '\x73', '\x6c', '\x61', '\x74', '\x6f', '\x72', '\x3c', '\x54', '\x3e', '\x28', '\x20', '\x74', '\x72', '\x61', '\x6e', '\x73', '\x6c', '\x61', '\x74', '\x65', '\x46', '\x75', '\x6e', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x29', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x52', '\x41', '\x4e', '\x53', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x45', '\x58', '\x43', '\x45', '\x50', '\x54', '\x49', '\x4f', '\x4e', '\x32', '\x28', '\x20', '\x74', '\x72', '\x61', '\x6e', '\x73', '\x6c', '\x61', '\x74', '\x6f', '\x72', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x73', '\x69', '\x67', '\x6e', '\x61', '\x74', '\x75', '\x72', '\x65', '\x20', '\x29', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x74', '\x72', '\x61', '\x6e', '\x73', '\x6c', '\x61', '\x74', '\x6f', '\x72', '\x4e', '\x61', '\x6d', '\x65', '\x28', '\x20', '\x73', '\x69', '\x67', '\x6e', '\x61', '\x74', '\x75', '\x72', '\x65', '\x20', '\x29', '\x3b', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x53', '\x55', '\x50', '\x50', '\x52', '\x45', '\x53', '\x53', '\x5f', '\x47', '\x4c', '\x4f', '\x42', '\x41', '\x4c', '\x53', '\x5f', '\x57', '\x41', '\x52', '\x4e', '\x49', '\x4e', '\x47', '\x53', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x7b', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x45', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x54', '\x72', '\x61', '\x6e', '\x73', '\x6c', '\x61', '\x74', '\x6f', '\x72', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x61', '\x72', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x55', '\x4e', '\x49', '\x51', '\x55', '\x45', '\x5f', '\x4e', '\x41', '\x4d', '\x45', '\x28', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x69', '\x6e', '\x74', '\x65', '\x72', '\x6e', '\x61', '\x6c', '\x5f', '\x45', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x61', '\x72', '\x20', '\x29', '\x28', '\x20', '\x26', '\x74', '\x72', '\x61', '\x6e', '\x73', '\x6c', '\x61', '\x74', '\x6f', '\x72', '\x4e', '\x61', '\x6d', '\x65', '\x20', '\x29', '\x3b', '\x20', '\x7d', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x55', '\x4e', '\x53', '\x55', '\x50', '\x50', '\x52', '\x45', '\x53', '\x53', '\x5f', '\x47', '\x4c', '\x4f', '\x42', '\x41', '\x4c', '\x53', '\x5f', '\x57', '\x41', '\x52', '\x4e', '\x49', '\x4e', '\x47', '\x53', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x74', '\x72', '\x61', '\x6e', '\x73', '\x6c', '\x61', '\x74', '\x6f', '\x72', '\x4e', '\x61', '\x6d', '\x65', '\x28', '\x20', '\x73', '\x69', '\x67', '\x6e', '\x61', '\x74', '\x75', '\x72', '\x65', '\x20', '\x29', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x52', '\x41', '\x4e', '\x53', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x45', '\x58', '\x43', '\x45', '\x50', '\x54', '\x49', '\x4f', '\x4e', '\x28', '\x20', '\x73', '\x69', '\x67', '\x6e', '\x61', '\x74', '\x75', '\x72', '\x65', '\x20', '\x29', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x52', '\x41', '\x4e', '\x53', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x45', '\x58', '\x43', '\x45', '\x50', '\x54', '\x49', '\x4f', '\x4e', '\x32', '\x28', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x55', '\x4e', '\x49', '\x51', '\x55', '\x45', '\x5f', '\x4e', '\x41', '\x4d', '\x45', '\x28', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x69', '\x6e', '\x74', '\x65', '\x72', '\x6e', '\x61', '\x6c', '\x5f', '\x45', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x54', '\x72', '\x61', '\x6e', '\x73', '\x6c', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x29', '\x2c', '\x20', '\x73', '\x69', '\x67', '\x6e', '\x61', '\x74', '\x75', '\x72', '\x65', '\x20', '\x29', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x69', '\x6e', '\x74', '\x65', '\x72', '\x66', '\x61', '\x63', '\x65', '\x73', '\x5f', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x2e', '\x68', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x61', '\x70', '\x70', '\x72', '\x6f', '\x78', '\x2e', '\x68', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x5f', '\x74', '\x72', '\x61', '\x69', '\x74', '\x73', '\x3e', '\x0d', '\x0a', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x44', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x20', '\x41', '\x70', '\x70', '\x72', '\x6f', '\x78', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x70', '\x72', '\x69', '\x76', '\x61', '\x74', '\x65', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x65', '\x71', '\x75', '\x61', '\x6c', '\x69', '\x74', '\x79', '\x43', '\x6f', '\x6d', '\x70', '\x61', '\x72', '\x69', '\x73', '\x6f', '\x6e', '\x49', '\x6d', '\x70', '\x6c', '\x28', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x20', '\x6f', '\x74', '\x68', '\x65', '\x72', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x56', '\x61', '\x6c', '\x69', '\x64', '\x61', '\x74', '\x65', '\x73', '\x20', '\x74', '\x68', '\x65', '\x20', '\x6e', '\x65', '\x77', '\x20', '\x6d', '\x61', '\x72', '\x67', '\x69', '\x6e', '\x20', '\x28', '\x6d', '\x61', '\x72', '\x67', '\x69', '\x6e', '\x20', '\x3e', '\x3d', '\x20', '\x30', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x6f', '\x75', '\x74', '\x2d', '\x6f', '\x66', '\x2d', '\x6c', '\x69', '\x6e', '\x65', '\x20', '\x74', '\x6f', '\x20', '\x61', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x69', '\x6e', '\x67', '\x20', '\x73', '\x74', '\x64', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x20', '\x69', '\x6e', '\x20', '\x74', '\x68', '\x65', '\x20', '\x68', '\x65', '\x61', '\x64', '\x65', '\x72', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x73', '\x65', '\x74', '\x4d', '\x61', '\x72', '\x67', '\x69', '\x6e', '\x28', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x20', '\x6d', '\x61', '\x72', '\x67', '\x69', '\x6e', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x56', '\x61', '\x6c', '\x69', '\x64', '\x61', '\x74', '\x65', '\x73', '\x20', '\x74', '\x68', '\x65', '\x20', '\x6e', '\x65', '\x77', '\x20', '\x65', '\x70', '\x73', '\x69', '\x6c', '\x6f', '\x6e', '\x20', '\x28', '\x30', '\x20', '\x3c', '\x20', '\x65', '\x70', '\x73', '\x69', '\x6c', '\x6f', '\x6e', '\x20', '\x3c', '\x20', '\x31', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x6f', '\x75', '\x74', '\x2d', '\x6f', '\x66', '\x2d', '\x6c', '\x69', '\x6e', '\x65', '\x20', '\x74', '\x6f', '\x20', '\x61', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x69', '\x6e', '\x67', '\x20', '\x73', '\x74', '\x64', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x20', '\x69', '\x6e', '\x20', '\x74', '\x68', '\x65', '\x20', '\x68', '\x65', '\x61', '\x64', '\x65', '\x72', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x73', '\x65', '\x74', '\x45', '\x70', '\x73', '\x69', '\x6c', '\x6f', '\x6e', '\x28', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x20', '\x65', '\x70', '\x73', '\x69', '\x6c', '\x6f', '\x6e', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x70', '\x75', '\x62', '\x6c', '\x69', '\x63', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x78', '\x70', '\x6c', '\x69', '\x63', '\x69', '\x74', '\x20', '\x41', '\x70', '\x70', '\x72', '\x6f', '\x78', '\x20', '\x28', '\x20', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x20', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x20', '\x41', '\x70', '\x70', '\x72', '\x6f', '\x78', '\x20', '\x63', '\x75', '\x73', '\x74', '\x6f', '\x6d', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x41', '\x70', '\x70', '\x72', '\x6f', '\x78', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x2d', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x20', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x54', '\x2c', '\x20', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x3d', '\x20', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x65', '\x6e', '\x61', '\x62', '\x6c', '\x65', '\x5f', '\x69', '\x66', '\x3c', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x69', '\x73', '\x5f', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x69', '\x62', '\x6c', '\x65', '\x3c', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x2c', '\x20', '\x54', '\x3e', '\x3a', '\x3a', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x3e', '\x3a', '\x3a', '\x74', '\x79', '\x70', '\x65', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x41', '\x70', '\x70', '\x72', '\x6f', '\x78', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x28', '\x29', '\x28', '\x20', '\x54', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x41', '\x70', '\x70', '\x72', '\x6f', '\x78', '\x20', '\x61', '\x70', '\x70', '\x72', '\x6f', '\x78', '\x28', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x5f', '\x63', '\x61', '\x73', '\x74', '\x3c', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x3e', '\x28', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x29', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x70', '\x70', '\x72', '\x6f', '\x78', '\x2e', '\x6d', '\x5f', '\x65', '\x70', '\x73', '\x69', '\x6c', '\x6f', '\x6e', '\x20', '\x3d', '\x20', '\x6d', '\x5f', '\x65', '\x70', '\x73', '\x69', '\x6c', '\x6f', '\x6e', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x70', '\x70', '\x72', '\x6f', '\x78', '\x2e', '\x6d', '\x5f', '\x6d', '\x61', '\x72', '\x67', '\x69', '\x6e', '\x20', '\x3d', '\x20', '\x6d', '\x5f', '\x6d', '\x61', '\x72', '\x67', '\x69', '\x6e', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x70', '\x70', '\x72', '\x6f', '\x78', '\x2e', '\x6d', '\x5f', '\x73', '\x63', '\x61', '\x6c', '\x65', '\x20', '\x3d', '\x20', '\x6d', '\x5f', '\x73', '\x63', '\x61', '\x6c', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x61', '\x70', '\x70', '\x72', '\x6f', '\x78', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x20', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x54', '\x2c', '\x20', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x3d', '\x20', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x65', '\x6e', '\x61', '\x62', '\x6c', '\x65', '\x5f', '\x69', '\x66', '\x3c', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x69', '\x73', '\x5f', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x69', '\x62', '\x6c', '\x65', '\x3c', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x2c', '\x20', '\x54', '\x3e', '\x3a', '\x3a', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x3e', '\x3a', '\x3a', '\x74', '\x79', '\x70', '\x65', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x78', '\x70', '\x6c', '\x69', '\x63', '\x69', '\x74', '\x20', '\x41', '\x70', '\x70', '\x72', '\x6f', '\x78', '\x28', '\x20', '\x54', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x20', '\x29', '\x3a', '\x20', '\x41', '\x70', '\x70', '\x72', '\x6f', '\x78', '\x28', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x5f', '\x63', '\x61', '\x73', '\x74', '\x3c', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x3e', '\x28', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x29', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7b', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x20', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x54', '\x2c', '\x20', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x3d', '\x20', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x65', '\x6e', '\x61', '\x62', '\x6c', '\x65', '\x5f', '\x69', '\x66', '\x3c', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x69', '\x73', '\x5f', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x69', '\x62', '\x6c', '\x65', '\x3c', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x2c', '\x20', '\x54', '\x3e', '\x3a', '\x3a', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x3e', '\x3a', '\x3a', '\x74', '\x79', '\x70', '\x65', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x66', '\x72', '\x69', '\x65', '\x6e', '\x64', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x3d', '\x3d', '\x20', '\x28', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x54', '\x26', '\x20', '\x6c', '\x68', '\x73', '\x2c', '\x20', '\x41', '\x70', '\x70', '\x72', '\x6f', '\x78', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x72', '\x68', '\x73', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x6c', '\x68', '\x73', '\x5f', '\x76', '\x20', '\x3d', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x5f', '\x63', '\x61', '\x73', '\x74', '\x3c', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x3e', '\x28', '\x6c', '\x68', '\x73', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x72', '\x68', '\x73', '\x2e', '\x65', '\x71', '\x75', '\x61', '\x6c', '\x69', '\x74', '\x79', '\x43', '\x6f', '\x6d', '\x70', '\x61', '\x72', '\x69', '\x73', '\x6f', '\x6e', '\x49', '\x6d', '\x70', '\x6c', '\x28', '\x6c', '\x68', '\x73', '\x5f', '\x76', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x20', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x54', '\x2c', '\x20', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x3d', '\x20', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x65', '\x6e', '\x61', '\x62', '\x6c', '\x65', '\x5f', '\x69', '\x66', '\x3c', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x69', '\x73', '\x5f', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x69', '\x62', '\x6c', '\x65', '\x3c', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x2c', '\x20', '\x54', '\x3e', '\x3a', '\x3a', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x3e', '\x3a', '\x3a', '\x74', '\x79', '\x70', '\x65', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x66', '\x72', '\x69', '\x65', '\x6e', '\x64', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x3d', '\x3d', '\x20', '\x28', '\x20', '\x41', '\x70', '\x70', '\x72', '\x6f', '\x78', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6c', '\x68', '\x73', '\x2c', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x54', '\x26', '\x20', '\x72', '\x68', '\x73', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x3d', '\x3d', '\x28', '\x20', '\x72', '\x68', '\x73', '\x2c', '\x20', '\x6c', '\x68', '\x73', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x20', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x54', '\x2c', '\x20', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x3d', '\x20', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x65', '\x6e', '\x61', '\x62', '\x6c', '\x65', '\x5f', '\x69', '\x66', '\x3c', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x69', '\x73', '\x5f', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x69', '\x62', '\x6c', '\x65', '\x3c', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x2c', '\x20', '\x54', '\x3e', '\x3a', '\x3a', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x3e', '\x3a', '\x3a', '\x74', '\x79', '\x70', '\x65', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x66', '\x72', '\x69', '\x65', '\x6e', '\x64', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x21', '\x3d', '\x20', '\x28', '\x20', '\x54', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6c', '\x68', '\x73', '\x2c', '\x20', '\x41', '\x70', '\x70', '\x72', '\x6f', '\x78', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x72', '\x68', '\x73', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x21', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x3d', '\x3d', '\x28', '\x20', '\x6c', '\x68', '\x73', '\x2c', '\x20', '\x72', '\x68', '\x73', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x20', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x54', '\x2c', '\x20', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x3d', '\x20', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x65', '\x6e', '\x61', '\x62', '\x6c', '\x65', '\x5f', '\x69', '\x66', '\x3c', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x69', '\x73', '\x5f', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x69', '\x62', '\x6c', '\x65', '\x3c', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x2c', '\x20', '\x54', '\x3e', '\x3a', '\x3a', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x3e', '\x3a', '\x3a', '\x74', '\x79', '\x70', '\x65', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x66', '\x72', '\x69', '\x65', '\x6e', '\x64', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x21', '\x3d', '\x20', '\x28', '\x20', '\x41', '\x70', '\x70', '\x72', '\x6f', '\x78', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6c', '\x68', '\x73', '\x2c', '\x20', '\x54', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x72', '\x68', '\x73', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x21', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x3d', '\x3d', '\x28', '\x20', '\x72', '\x68', '\x73', '\x2c', '\x20', '\x6c', '\x68', '\x73', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x20', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x54', '\x2c', '\x20', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x3d', '\x20', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x65', '\x6e', '\x61', '\x62', '\x6c', '\x65', '\x5f', '\x69', '\x66', '\x3c', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x69', '\x73', '\x5f', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x69', '\x62', '\x6c', '\x65', '\x3c', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x2c', '\x20', '\x54', '\x3e', '\x3a', '\x3a', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x3e', '\x3a', '\x3a', '\x74', '\x79', '\x70', '\x65', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x66', '\x72', '\x69', '\x65', '\x6e', '\x64', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x3c', '\x3d', '\x20', '\x28', '\x20', '\x54', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6c', '\x68', '\x73', '\x2c', '\x20', '\x41', '\x70', '\x70', '\x72', '\x6f', '\x78', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x72', '\x68', '\x73', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x5f', '\x63', '\x61', '\x73', '\x74', '\x3c', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x3e', '\x28', '\x6c', '\x68', '\x73', '\x29', '\x20', '\x3c', '\x20', '\x72', '\x68', '\x73', '\x2e', '\x6d', '\x5f', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x20', '\x7c', '\x7c', '\x20', '\x6c', '\x68', '\x73', '\x20', '\x3d', '\x3d', '\x20', '\x72', '\x68', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x20', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x54', '\x2c', '\x20', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x3d', '\x20', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x65', '\x6e', '\x61', '\x62', '\x6c', '\x65', '\x5f', '\x69', '\x66', '\x3c', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x69', '\x73', '\x5f', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x69', '\x62', '\x6c', '\x65', '\x3c', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x2c', '\x20', '\x54', '\x3e', '\x3a', '\x3a', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x3e', '\x3a', '\x3a', '\x74', '\x79', '\x70', '\x65', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x66', '\x72', '\x69', '\x65', '\x6e', '\x64', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x3c', '\x3d', '\x20', '\x28', '\x20', '\x41', '\x70', '\x70', '\x72', '\x6f', '\x78', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6c', '\x68', '\x73', '\x2c', '\x20', '\x54', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x72', '\x68', '\x73', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6c', '\x68', '\x73', '\x2e', '\x6d', '\x5f', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x20', '\x3c', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x5f', '\x63', '\x61', '\x73', '\x74', '\x3c', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x3e', '\x28', '\x72', '\x68', '\x73', '\x29', '\x20', '\x7c', '\x7c', '\x20', '\x6c', '\x68', '\x73', '\x20', '\x3d', '\x3d', '\x20', '\x72', '\x68', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x20', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x54', '\x2c', '\x20', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x3d', '\x20', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x65', '\x6e', '\x61', '\x62', '\x6c', '\x65', '\x5f', '\x69', '\x66', '\x3c', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x69', '\x73', '\x5f', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x69', '\x62', '\x6c', '\x65', '\x3c', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x2c', '\x20', '\x54', '\x3e', '\x3a', '\x3a', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x3e', '\x3a', '\x3a', '\x74', '\x79', '\x70', '\x65', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x66', '\x72', '\x69', '\x65', '\x6e', '\x64', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x3e', '\x3d', '\x20', '\x28', '\x20', '\x54', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6c', '\x68', '\x73', '\x2c', '\x20', '\x41', '\x70', '\x70', '\x72', '\x6f', '\x78', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x72', '\x68', '\x73', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x5f', '\x63', '\x61', '\x73', '\x74', '\x3c', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x3e', '\x28', '\x6c', '\x68', '\x73', '\x29', '\x20', '\x3e', '\x20', '\x72', '\x68', '\x73', '\x2e', '\x6d', '\x5f', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x20', '\x7c', '\x7c', '\x20', '\x6c', '\x68', '\x73', '\x20', '\x3d', '\x3d', '\x20', '\x72', '\x68', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x20', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x54', '\x2c', '\x20', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x3d', '\x20', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x65', '\x6e', '\x61', '\x62', '\x6c', '\x65', '\x5f', '\x69', '\x66', '\x3c', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x69', '\x73', '\x5f', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x69', '\x62', '\x6c', '\x65', '\x3c', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x2c', '\x20', '\x54', '\x3e', '\x3a', '\x3a', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x3e', '\x3a', '\x3a', '\x74', '\x79', '\x70', '\x65', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x66', '\x72', '\x69', '\x65', '\x6e', '\x64', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x3e', '\x3d', '\x20', '\x28', '\x20', '\x41', '\x70', '\x70', '\x72', '\x6f', '\x78', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6c', '\x68', '\x73', '\x2c', '\x20', '\x54', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x72', '\x68', '\x73', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6c', '\x68', '\x73', '\x2e', '\x6d', '\x5f', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x20', '\x3e', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x5f', '\x63', '\x61', '\x73', '\x74', '\x3c', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x3e', '\x28', '\x72', '\x68', '\x73', '\x29', '\x20', '\x7c', '\x7c', '\x20', '\x6c', '\x68', '\x73', '\x20', '\x3d', '\x3d', '\x20', '\x72', '\x68', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x20', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x54', '\x2c', '\x20', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x3d', '\x20', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x65', '\x6e', '\x61', '\x62', '\x6c', '\x65', '\x5f', '\x69', '\x66', '\x3c', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x69', '\x73', '\x5f', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x69', '\x62', '\x6c', '\x65', '\x3c', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x2c', '\x20', '\x54', '\x3e', '\x3a', '\x3a', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x3e', '\x3a', '\x3a', '\x74', '\x79', '\x70', '\x65', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x41', '\x70', '\x70', '\x72', '\x6f', '\x78', '\x26', '\x20', '\x65', '\x70', '\x73', '\x69', '\x6c', '\x6f', '\x6e', '\x28', '\x20', '\x54', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6e', '\x65', '\x77', '\x45', '\x70', '\x73', '\x69', '\x6c', '\x6f', '\x6e', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x20', '\x65', '\x70', '\x73', '\x69', '\x6c', '\x6f', '\x6e', '\x41', '\x73', '\x44', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x20', '\x3d', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x5f', '\x63', '\x61', '\x73', '\x74', '\x3c', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x3e', '\x28', '\x6e', '\x65', '\x77', '\x45', '\x70', '\x73', '\x69', '\x6c', '\x6f', '\x6e', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x65', '\x74', '\x45', '\x70', '\x73', '\x69', '\x6c', '\x6f', '\x6e', '\x28', '\x65', '\x70', '\x73', '\x69', '\x6c', '\x6f', '\x6e', '\x41', '\x73', '\x44', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x2a', '\x74', '\x68', '\x69', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x20', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x54', '\x2c', '\x20', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x3d', '\x20', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x65', '\x6e', '\x61', '\x62', '\x6c', '\x65', '\x5f', '\x69', '\x66', '\x3c', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x69', '\x73', '\x5f', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x69', '\x62', '\x6c', '\x65', '\x3c', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x2c', '\x20', '\x54', '\x3e', '\x3a', '\x3a', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x3e', '\x3a', '\x3a', '\x74', '\x79', '\x70', '\x65', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x41', '\x70', '\x70', '\x72', '\x6f', '\x78', '\x26', '\x20', '\x6d', '\x61', '\x72', '\x67', '\x69', '\x6e', '\x28', '\x20', '\x54', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6e', '\x65', '\x77', '\x4d', '\x61', '\x72', '\x67', '\x69', '\x6e', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x20', '\x6d', '\x61', '\x72', '\x67', '\x69', '\x6e', '\x41', '\x73', '\x44', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x20', '\x3d', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x5f', '\x63', '\x61', '\x73', '\x74', '\x3c', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x3e', '\x28', '\x6e', '\x65', '\x77', '\x4d', '\x61', '\x72', '\x67', '\x69', '\x6e', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x65', '\x74', '\x4d', '\x61', '\x72', '\x67', '\x69', '\x6e', '\x28', '\x6d', '\x61', '\x72', '\x67', '\x69', '\x6e', '\x41', '\x73', '\x44', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x2a', '\x74', '\x68', '\x69', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x20', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x54', '\x2c', '\x20', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x3d', '\x20', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x65', '\x6e', '\x61', '\x62', '\x6c', '\x65', '\x5f', '\x69', '\x66', '\x3c', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x69', '\x73', '\x5f', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x69', '\x62', '\x6c', '\x65', '\x3c', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x2c', '\x20', '\x54', '\x3e', '\x3a', '\x3a', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x3e', '\x3a', '\x3a', '\x74', '\x79', '\x70', '\x65', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x41', '\x70', '\x70', '\x72', '\x6f', '\x78', '\x26', '\x20', '\x73', '\x63', '\x61', '\x6c', '\x65', '\x28', '\x20', '\x54', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6e', '\x65', '\x77', '\x53', '\x63', '\x61', '\x6c', '\x65', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x73', '\x63', '\x61', '\x6c', '\x65', '\x20', '\x3d', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x5f', '\x63', '\x61', '\x73', '\x74', '\x3c', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x3e', '\x28', '\x6e', '\x65', '\x77', '\x53', '\x63', '\x61', '\x6c', '\x65', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x2a', '\x74', '\x68', '\x69', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x74', '\x6f', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x70', '\x72', '\x69', '\x76', '\x61', '\x74', '\x65', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x20', '\x6d', '\x5f', '\x65', '\x70', '\x73', '\x69', '\x6c', '\x6f', '\x6e', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x20', '\x6d', '\x5f', '\x6d', '\x61', '\x72', '\x67', '\x69', '\x6e', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x20', '\x6d', '\x5f', '\x73', '\x63', '\x61', '\x6c', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x20', '\x6d', '\x5f', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x44', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x0d', '\x0a', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x6c', '\x69', '\x74', '\x65', '\x72', '\x61', '\x6c', '\x73', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x44', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x3a', '\x3a', '\x41', '\x70', '\x70', '\x72', '\x6f', '\x78', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x22', '\x22', '\x20', '\x5f', '\x61', '\x28', '\x6c', '\x6f', '\x6e', '\x67', '\x20', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x20', '\x76', '\x61', '\x6c', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x44', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x3a', '\x3a', '\x41', '\x70', '\x70', '\x72', '\x6f', '\x78', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x22', '\x22', '\x20', '\x5f', '\x61', '\x28', '\x75', '\x6e', '\x73', '\x69', '\x67', '\x6e', '\x65', '\x64', '\x20', '\x6c', '\x6f', '\x6e', '\x67', '\x20', '\x6c', '\x6f', '\x6e', '\x67', '\x20', '\x76', '\x61', '\x6c', '\x29', '\x3b', '\x0d', '\x0a', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x6c', '\x69', '\x74', '\x65', '\x72', '\x61', '\x6c', '\x73', '\x0d', '\x0a', '\x0d', '\x0a', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x3e', '\x0d', '\x0a', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x4d', '\x61', '\x6b', '\x65', '\x72', '\x3c', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x44', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x3a', '\x3a', '\x41', '\x70', '\x70', '\x72', '\x6f', '\x78', '\x3e', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x76', '\x65', '\x72', '\x74', '\x28', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x44', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x3a', '\x3a', '\x41', '\x70', '\x70', '\x72', '\x6f', '\x78', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x29', '\x3b', '\x0d', '\x0a', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x61', '\x70', '\x70', '\x72', '\x6f', '\x78', '\x2e', '\x68', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x5f', '\x6d', '\x61', '\x6e', '\x69', '\x70', '\x2e', '\x68', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x3e', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x69', '\x6f', '\x73', '\x66', '\x77', '\x64', '\x3e', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3e', '\x0d', '\x0a', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x73', '\x57', '\x69', '\x74', '\x68', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x73', '\x2c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x70', '\x72', '\x65', '\x66', '\x69', '\x78', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x73', '\x57', '\x69', '\x74', '\x68', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x73', '\x2c', '\x20', '\x63', '\x68', '\x61', '\x72', '\x20', '\x70', '\x72', '\x65', '\x66', '\x69', '\x78', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x65', '\x6e', '\x64', '\x73', '\x57', '\x69', '\x74', '\x68', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x73', '\x2c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x73', '\x75', '\x66', '\x66', '\x69', '\x78', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x65', '\x6e', '\x64', '\x73', '\x57', '\x69', '\x74', '\x68', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x73', '\x2c', '\x20', '\x63', '\x68', '\x61', '\x72', '\x20', '\x73', '\x75', '\x66', '\x66', '\x69', '\x78', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x63', '\x6f', '\x6e', '\x74', '\x61', '\x69', '\x6e', '\x73', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x73', '\x2c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x69', '\x6e', '\x66', '\x69', '\x78', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x74', '\x6f', '\x4c', '\x6f', '\x77', '\x65', '\x72', '\x49', '\x6e', '\x50', '\x6c', '\x61', '\x63', '\x65', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x26', '\x20', '\x73', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x74', '\x6f', '\x4c', '\x6f', '\x77', '\x65', '\x72', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x73', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x21', '\x20', '\x52', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x73', '\x20', '\x61', '\x20', '\x6e', '\x65', '\x77', '\x20', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x77', '\x69', '\x74', '\x68', '\x6f', '\x75', '\x74', '\x20', '\x77', '\x68', '\x69', '\x74', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x61', '\x74', '\x20', '\x74', '\x68', '\x65', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x2f', '\x65', '\x6e', '\x64', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x74', '\x72', '\x69', '\x6d', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x73', '\x74', '\x72', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x21', '\x20', '\x52', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x73', '\x20', '\x61', '\x20', '\x73', '\x75', '\x62', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x6f', '\x66', '\x20', '\x74', '\x68', '\x65', '\x20', '\x6f', '\x72', '\x69', '\x67', '\x69', '\x6e', '\x61', '\x6c', '\x20', '\x72', '\x65', '\x66', '\x20', '\x77', '\x69', '\x74', '\x68', '\x6f', '\x75', '\x74', '\x20', '\x77', '\x68', '\x69', '\x74', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x2e', '\x20', '\x42', '\x65', '\x77', '\x61', '\x72', '\x65', '\x20', '\x6c', '\x69', '\x66', '\x65', '\x74', '\x69', '\x6d', '\x65', '\x73', '\x21', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x66', '\x20', '\x74', '\x72', '\x69', '\x6d', '\x28', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x66', '\x20', '\x72', '\x65', '\x66', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x21', '\x21', '\x21', '\x20', '\x42', '\x65', '\x20', '\x61', '\x77', '\x61', '\x72', '\x65', '\x2c', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x73', '\x20', '\x72', '\x65', '\x66', '\x73', '\x20', '\x69', '\x6e', '\x74', '\x6f', '\x20', '\x6f', '\x72', '\x69', '\x67', '\x69', '\x6e', '\x61', '\x6c', '\x20', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x2d', '\x20', '\x6d', '\x61', '\x6b', '\x65', '\x20', '\x73', '\x75', '\x72', '\x65', '\x20', '\x6f', '\x72', '\x69', '\x67', '\x69', '\x6e', '\x61', '\x6c', '\x20', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x6f', '\x75', '\x74', '\x6c', '\x69', '\x76', '\x65', '\x73', '\x20', '\x74', '\x68', '\x65', '\x6d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x66', '\x3e', '\x20', '\x73', '\x70', '\x6c', '\x69', '\x74', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x66', '\x28', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x66', '\x20', '\x73', '\x74', '\x72', '\x2c', '\x20', '\x63', '\x68', '\x61', '\x72', '\x20', '\x64', '\x65', '\x6c', '\x69', '\x6d', '\x69', '\x74', '\x65', '\x72', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x72', '\x65', '\x70', '\x6c', '\x61', '\x63', '\x65', '\x49', '\x6e', '\x50', '\x6c', '\x61', '\x63', '\x65', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x26', '\x20', '\x73', '\x74', '\x72', '\x2c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x72', '\x65', '\x70', '\x6c', '\x61', '\x63', '\x65', '\x54', '\x68', '\x69', '\x73', '\x2c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x77', '\x69', '\x74', '\x68', '\x54', '\x68', '\x69', '\x73', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x70', '\x6c', '\x75', '\x72', '\x61', '\x6c', '\x69', '\x73', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x6c', '\x75', '\x72', '\x61', '\x6c', '\x69', '\x73', '\x65', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x69', '\x7a', '\x65', '\x5f', '\x74', '\x20', '\x63', '\x6f', '\x75', '\x6e', '\x74', '\x2c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6c', '\x61', '\x62', '\x65', '\x6c', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x66', '\x72', '\x69', '\x65', '\x6e', '\x64', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6f', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x26', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x3c', '\x3c', '\x20', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6f', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x26', '\x20', '\x6f', '\x73', '\x2c', '\x20', '\x70', '\x6c', '\x75', '\x72', '\x61', '\x6c', '\x69', '\x73', '\x65', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x70', '\x6c', '\x75', '\x72', '\x61', '\x6c', '\x69', '\x73', '\x65', '\x72', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x69', '\x7a', '\x65', '\x5f', '\x74', '\x20', '\x6d', '\x5f', '\x63', '\x6f', '\x75', '\x6e', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x6d', '\x5f', '\x6c', '\x61', '\x62', '\x65', '\x6c', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x5f', '\x6d', '\x61', '\x6e', '\x69', '\x70', '\x2e', '\x68', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x6e', '\x64', '\x65', '\x66', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x44', '\x49', '\x53', '\x41', '\x42', '\x4c', '\x45', '\x5f', '\x4d', '\x41', '\x54', '\x43', '\x48', '\x45', '\x52', '\x53', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x63', '\x61', '\x70', '\x74', '\x75', '\x72', '\x65', '\x5f', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x73', '\x2e', '\x68', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x73', '\x2e', '\x68', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x3e', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3e', '\x0d', '\x0a', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x73', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x49', '\x6d', '\x70', '\x6c', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x41', '\x72', '\x67', '\x54', '\x3e', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x41', '\x6c', '\x6c', '\x4f', '\x66', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x41', '\x72', '\x67', '\x54', '\x3e', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x41', '\x6e', '\x79', '\x4f', '\x66', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x41', '\x72', '\x67', '\x54', '\x3e', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x4e', '\x6f', '\x74', '\x4f', '\x66', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x20', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x55', '\x6e', '\x74', '\x79', '\x70', '\x65', '\x64', '\x42', '\x61', '\x73', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x75', '\x62', '\x6c', '\x69', '\x63', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x55', '\x6e', '\x74', '\x79', '\x70', '\x65', '\x64', '\x42', '\x61', '\x73', '\x65', '\x28', '\x29', '\x20', '\x3d', '\x20', '\x64', '\x65', '\x66', '\x61', '\x75', '\x6c', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x55', '\x6e', '\x74', '\x79', '\x70', '\x65', '\x64', '\x42', '\x61', '\x73', '\x65', '\x20', '\x28', '\x20', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x55', '\x6e', '\x74', '\x79', '\x70', '\x65', '\x64', '\x42', '\x61', '\x73', '\x65', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x29', '\x20', '\x3d', '\x20', '\x64', '\x65', '\x66', '\x61', '\x75', '\x6c', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x55', '\x6e', '\x74', '\x79', '\x70', '\x65', '\x64', '\x42', '\x61', '\x73', '\x65', '\x26', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x3d', '\x20', '\x28', '\x20', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x55', '\x6e', '\x74', '\x79', '\x70', '\x65', '\x64', '\x42', '\x61', '\x73', '\x65', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x29', '\x20', '\x3d', '\x20', '\x64', '\x65', '\x6c', '\x65', '\x74', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x74', '\x6f', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x72', '\x6f', '\x74', '\x65', '\x63', '\x74', '\x65', '\x64', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x69', '\x72', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x7e', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x55', '\x6e', '\x74', '\x79', '\x70', '\x65', '\x64', '\x42', '\x61', '\x73', '\x65', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x69', '\x72', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x64', '\x65', '\x73', '\x63', '\x72', '\x69', '\x62', '\x65', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x75', '\x74', '\x61', '\x62', '\x6c', '\x65', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x6d', '\x5f', '\x63', '\x61', '\x63', '\x68', '\x65', '\x64', '\x54', '\x6f', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x64', '\x65', '\x66', '\x20', '\x5f', '\x5f', '\x63', '\x6c', '\x61', '\x6e', '\x67', '\x5f', '\x5f', '\x0d', '\x0a', '\x23', '\x20', '\x20', '\x20', '\x20', '\x70', '\x72', '\x61', '\x67', '\x6d', '\x61', '\x20', '\x63', '\x6c', '\x61', '\x6e', '\x67', '\x20', '\x64', '\x69', '\x61', '\x67', '\x6e', '\x6f', '\x73', '\x74', '\x69', '\x63', '\x20', '\x70', '\x75', '\x73', '\x68', '\x0d', '\x0a', '\x23', '\x20', '\x20', '\x20', '\x20', '\x70', '\x72', '\x61', '\x67', '\x6d', '\x61', '\x20', '\x63', '\x6c', '\x61', '\x6e', '\x67', '\x20', '\x64', '\x69', '\x61', '\x67', '\x6e', '\x6f', '\x73', '\x74', '\x69', '\x63', '\x20', '\x69', '\x67', '\x6e', '\x6f', '\x72', '\x65', '\x64', '\x20', '\x22', '\x2d', '\x57', '\x6e', '\x6f', '\x6e', '\x2d', '\x76', '\x69', '\x72', '\x74', '\x75', '\x61', '\x6c', '\x2d', '\x64', '\x74', '\x6f', '\x72', '\x22', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x4f', '\x62', '\x6a', '\x65', '\x63', '\x74', '\x54', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x4d', '\x65', '\x74', '\x68', '\x6f', '\x64', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x69', '\x72', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x28', '\x20', '\x4f', '\x62', '\x6a', '\x65', '\x63', '\x74', '\x54', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x61', '\x72', '\x67', '\x20', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x5f', '\x5f', '\x4f', '\x42', '\x4a', '\x43', '\x5f', '\x5f', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x48', '\x61', '\x63', '\x6b', '\x20', '\x74', '\x6f', '\x20', '\x66', '\x69', '\x78', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x47', '\x48', '\x20', '\x69', '\x73', '\x73', '\x75', '\x65', '\x20', '\x23', '\x31', '\x36', '\x36', '\x31', '\x2e', '\x20', '\x43', '\x6f', '\x75', '\x6c', '\x64', '\x20', '\x75', '\x73', '\x65', '\x20', '\x69', '\x64', '\x20', '\x66', '\x6f', '\x72', '\x20', '\x67', '\x65', '\x6e', '\x65', '\x72', '\x69', '\x63', '\x20', '\x4f', '\x62', '\x6a', '\x65', '\x63', '\x74', '\x20', '\x73', '\x75', '\x70', '\x70', '\x6f', '\x72', '\x74', '\x2e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x75', '\x73', '\x65', '\x20', '\x6f', '\x66', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x66', '\x6f', '\x72', '\x20', '\x4f', '\x62', '\x6a', '\x65', '\x63', '\x74', '\x20', '\x70', '\x6f', '\x69', '\x6e', '\x74', '\x65', '\x72', '\x73', '\x20', '\x69', '\x73', '\x20', '\x76', '\x65', '\x72', '\x79', '\x20', '\x75', '\x6e', '\x63', '\x6f', '\x6d', '\x6d', '\x6f', '\x6e', '\x20', '\x61', '\x6e', '\x64', '\x20', '\x75', '\x6e', '\x64', '\x65', '\x72', '\x20', '\x41', '\x52', '\x43', '\x20', '\x69', '\x74', '\x20', '\x63', '\x61', '\x75', '\x73', '\x65', '\x73', '\x20', '\x73', '\x6f', '\x6d', '\x65', '\x20', '\x6b', '\x69', '\x6e', '\x64', '\x20', '\x6f', '\x66', '\x20', '\x73', '\x69', '\x67', '\x6e', '\x61', '\x74', '\x75', '\x72', '\x65', '\x20', '\x6d', '\x69', '\x73', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x20', '\x74', '\x68', '\x61', '\x74', '\x20', '\x62', '\x72', '\x65', '\x61', '\x6b', '\x73', '\x20', '\x63', '\x6f', '\x6d', '\x70', '\x69', '\x6c', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x4d', '\x65', '\x74', '\x68', '\x6f', '\x64', '\x3c', '\x4e', '\x53', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x2a', '\x3e', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x69', '\x72', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x28', '\x20', '\x4e', '\x53', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x2a', '\x20', '\x61', '\x72', '\x67', '\x20', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x64', '\x65', '\x66', '\x20', '\x5f', '\x5f', '\x63', '\x6c', '\x61', '\x6e', '\x67', '\x5f', '\x5f', '\x0d', '\x0a', '\x23', '\x20', '\x20', '\x20', '\x20', '\x70', '\x72', '\x61', '\x67', '\x6d', '\x61', '\x20', '\x63', '\x6c', '\x61', '\x6e', '\x67', '\x20', '\x64', '\x69', '\x61', '\x67', '\x6e', '\x6f', '\x73', '\x74', '\x69', '\x63', '\x20', '\x70', '\x6f', '\x70', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x54', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x42', '\x61', '\x73', '\x65', '\x20', '\x3a', '\x20', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x55', '\x6e', '\x74', '\x79', '\x70', '\x65', '\x64', '\x42', '\x61', '\x73', '\x65', '\x2c', '\x20', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x4d', '\x65', '\x74', '\x68', '\x6f', '\x64', '\x3c', '\x54', '\x3e', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x41', '\x6c', '\x6c', '\x4f', '\x66', '\x3c', '\x54', '\x3e', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x26', '\x26', '\x20', '\x28', '\x20', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x42', '\x61', '\x73', '\x65', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6f', '\x74', '\x68', '\x65', '\x72', '\x20', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x41', '\x6e', '\x79', '\x4f', '\x66', '\x3c', '\x54', '\x3e', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x7c', '\x7c', '\x20', '\x28', '\x20', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x42', '\x61', '\x73', '\x65', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6f', '\x74', '\x68', '\x65', '\x72', '\x20', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x4e', '\x6f', '\x74', '\x4f', '\x66', '\x3c', '\x54', '\x3e', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x21', '\x20', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x41', '\x72', '\x67', '\x54', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x41', '\x6c', '\x6c', '\x4f', '\x66', '\x20', '\x3a', '\x20', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x42', '\x61', '\x73', '\x65', '\x3c', '\x41', '\x72', '\x67', '\x54', '\x3e', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x28', '\x20', '\x41', '\x72', '\x67', '\x54', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x61', '\x72', '\x67', '\x20', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x66', '\x6f', '\x72', '\x28', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x20', '\x3a', '\x20', '\x6d', '\x5f', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x73', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x21', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x2d', '\x3e', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x28', '\x61', '\x72', '\x67', '\x29', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x66', '\x61', '\x6c', '\x73', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x74', '\x72', '\x75', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x64', '\x65', '\x73', '\x63', '\x72', '\x69', '\x62', '\x65', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x64', '\x65', '\x73', '\x63', '\x72', '\x69', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x64', '\x65', '\x73', '\x63', '\x72', '\x69', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x2e', '\x72', '\x65', '\x73', '\x65', '\x72', '\x76', '\x65', '\x28', '\x20', '\x34', '\x20', '\x2b', '\x20', '\x6d', '\x5f', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x73', '\x2e', '\x73', '\x69', '\x7a', '\x65', '\x28', '\x29', '\x2a', '\x33', '\x32', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x64', '\x65', '\x73', '\x63', '\x72', '\x69', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x2b', '\x3d', '\x20', '\x22', '\x28', '\x20', '\x22', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x66', '\x69', '\x72', '\x73', '\x74', '\x20', '\x3d', '\x20', '\x74', '\x72', '\x75', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x66', '\x6f', '\x72', '\x28', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x20', '\x3a', '\x20', '\x6d', '\x5f', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x73', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x66', '\x69', '\x72', '\x73', '\x74', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x66', '\x69', '\x72', '\x73', '\x74', '\x20', '\x3d', '\x20', '\x66', '\x61', '\x6c', '\x73', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x6c', '\x73', '\x65', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x64', '\x65', '\x73', '\x63', '\x72', '\x69', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x2b', '\x3d', '\x20', '\x22', '\x20', '\x61', '\x6e', '\x64', '\x20', '\x22', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x64', '\x65', '\x73', '\x63', '\x72', '\x69', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x2b', '\x3d', '\x20', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x2d', '\x3e', '\x74', '\x6f', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x64', '\x65', '\x73', '\x63', '\x72', '\x69', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x2b', '\x3d', '\x20', '\x22', '\x20', '\x29', '\x22', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x64', '\x65', '\x73', '\x63', '\x72', '\x69', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x41', '\x6c', '\x6c', '\x4f', '\x66', '\x3c', '\x41', '\x72', '\x67', '\x54', '\x3e', '\x26', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x26', '\x26', '\x20', '\x28', '\x20', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x42', '\x61', '\x73', '\x65', '\x3c', '\x41', '\x72', '\x67', '\x54', '\x3e', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6f', '\x74', '\x68', '\x65', '\x72', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x73', '\x2e', '\x70', '\x75', '\x73', '\x68', '\x5f', '\x62', '\x61', '\x63', '\x6b', '\x28', '\x20', '\x26', '\x6f', '\x74', '\x68', '\x65', '\x72', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x2a', '\x74', '\x68', '\x69', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x42', '\x61', '\x73', '\x65', '\x3c', '\x41', '\x72', '\x67', '\x54', '\x3e', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x2a', '\x3e', '\x20', '\x6d', '\x5f', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x41', '\x72', '\x67', '\x54', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x41', '\x6e', '\x79', '\x4f', '\x66', '\x20', '\x3a', '\x20', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x42', '\x61', '\x73', '\x65', '\x3c', '\x41', '\x72', '\x67', '\x54', '\x3e', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x28', '\x20', '\x41', '\x72', '\x67', '\x54', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x61', '\x72', '\x67', '\x20', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x66', '\x6f', '\x72', '\x28', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x20', '\x3a', '\x20', '\x6d', '\x5f', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x73', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x2d', '\x3e', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x28', '\x61', '\x72', '\x67', '\x29', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x74', '\x72', '\x75', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x66', '\x61', '\x6c', '\x73', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x64', '\x65', '\x73', '\x63', '\x72', '\x69', '\x62', '\x65', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x64', '\x65', '\x73', '\x63', '\x72', '\x69', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x64', '\x65', '\x73', '\x63', '\x72', '\x69', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x2e', '\x72', '\x65', '\x73', '\x65', '\x72', '\x76', '\x65', '\x28', '\x20', '\x34', '\x20', '\x2b', '\x20', '\x6d', '\x5f', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x73', '\x2e', '\x73', '\x69', '\x7a', '\x65', '\x28', '\x29', '\x2a', '\x33', '\x32', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x64', '\x65', '\x73', '\x63', '\x72', '\x69', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x2b', '\x3d', '\x20', '\x22', '\x28', '\x20', '\x22', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x66', '\x69', '\x72', '\x73', '\x74', '\x20', '\x3d', '\x20', '\x74', '\x72', '\x75', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x66', '\x6f', '\x72', '\x28', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x20', '\x3a', '\x20', '\x6d', '\x5f', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x73', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x66', '\x69', '\x72', '\x73', '\x74', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x66', '\x69', '\x72', '\x73', '\x74', '\x20', '\x3d', '\x20', '\x66', '\x61', '\x6c', '\x73', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x6c', '\x73', '\x65', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x64', '\x65', '\x73', '\x63', '\x72', '\x69', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x2b', '\x3d', '\x20', '\x22', '\x20', '\x6f', '\x72', '\x20', '\x22', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x64', '\x65', '\x73', '\x63', '\x72', '\x69', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x2b', '\x3d', '\x20', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x2d', '\x3e', '\x74', '\x6f', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x64', '\x65', '\x73', '\x63', '\x72', '\x69', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x2b', '\x3d', '\x20', '\x22', '\x20', '\x29', '\x22', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x64', '\x65', '\x73', '\x63', '\x72', '\x69', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x41', '\x6e', '\x79', '\x4f', '\x66', '\x3c', '\x41', '\x72', '\x67', '\x54', '\x3e', '\x26', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x7c', '\x7c', '\x20', '\x28', '\x20', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x42', '\x61', '\x73', '\x65', '\x3c', '\x41', '\x72', '\x67', '\x54', '\x3e', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6f', '\x74', '\x68', '\x65', '\x72', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x73', '\x2e', '\x70', '\x75', '\x73', '\x68', '\x5f', '\x62', '\x61', '\x63', '\x6b', '\x28', '\x20', '\x26', '\x6f', '\x74', '\x68', '\x65', '\x72', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x2a', '\x74', '\x68', '\x69', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x42', '\x61', '\x73', '\x65', '\x3c', '\x41', '\x72', '\x67', '\x54', '\x3e', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x2a', '\x3e', '\x20', '\x6d', '\x5f', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x41', '\x72', '\x67', '\x54', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x4e', '\x6f', '\x74', '\x4f', '\x66', '\x20', '\x3a', '\x20', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x42', '\x61', '\x73', '\x65', '\x3c', '\x41', '\x72', '\x67', '\x54', '\x3e', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x4e', '\x6f', '\x74', '\x4f', '\x66', '\x28', '\x20', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x42', '\x61', '\x73', '\x65', '\x3c', '\x41', '\x72', '\x67', '\x54', '\x3e', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x75', '\x6e', '\x64', '\x65', '\x72', '\x6c', '\x79', '\x69', '\x6e', '\x67', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x20', '\x29', '\x20', '\x3a', '\x20', '\x6d', '\x5f', '\x75', '\x6e', '\x64', '\x65', '\x72', '\x6c', '\x79', '\x69', '\x6e', '\x67', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x28', '\x20', '\x75', '\x6e', '\x64', '\x65', '\x72', '\x6c', '\x79', '\x69', '\x6e', '\x67', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x20', '\x29', '\x20', '\x7b', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x28', '\x20', '\x41', '\x72', '\x67', '\x54', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x61', '\x72', '\x67', '\x20', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x21', '\x6d', '\x5f', '\x75', '\x6e', '\x64', '\x65', '\x72', '\x6c', '\x79', '\x69', '\x6e', '\x67', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x2e', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x28', '\x20', '\x61', '\x72', '\x67', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x64', '\x65', '\x73', '\x63', '\x72', '\x69', '\x62', '\x65', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x22', '\x6e', '\x6f', '\x74', '\x20', '\x22', '\x20', '\x2b', '\x20', '\x6d', '\x5f', '\x75', '\x6e', '\x64', '\x65', '\x72', '\x6c', '\x79', '\x69', '\x6e', '\x67', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x2e', '\x74', '\x6f', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x42', '\x61', '\x73', '\x65', '\x3c', '\x41', '\x72', '\x67', '\x54', '\x3e', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6d', '\x5f', '\x75', '\x6e', '\x64', '\x65', '\x72', '\x6c', '\x79', '\x69', '\x6e', '\x67', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x54', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x41', '\x6c', '\x6c', '\x4f', '\x66', '\x3c', '\x54', '\x3e', '\x20', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x42', '\x61', '\x73', '\x65', '\x3c', '\x54', '\x3e', '\x3a', '\x3a', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x26', '\x26', '\x20', '\x28', '\x20', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x42', '\x61', '\x73', '\x65', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6f', '\x74', '\x68', '\x65', '\x72', '\x20', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x41', '\x6c', '\x6c', '\x4f', '\x66', '\x3c', '\x54', '\x3e', '\x28', '\x29', '\x20', '\x26', '\x26', '\x20', '\x2a', '\x74', '\x68', '\x69', '\x73', '\x20', '\x26', '\x26', '\x20', '\x6f', '\x74', '\x68', '\x65', '\x72', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x54', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x41', '\x6e', '\x79', '\x4f', '\x66', '\x3c', '\x54', '\x3e', '\x20', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x42', '\x61', '\x73', '\x65', '\x3c', '\x54', '\x3e', '\x3a', '\x3a', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x7c', '\x7c', '\x20', '\x28', '\x20', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x42', '\x61', '\x73', '\x65', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6f', '\x74', '\x68', '\x65', '\x72', '\x20', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x41', '\x6e', '\x79', '\x4f', '\x66', '\x3c', '\x54', '\x3e', '\x28', '\x29', '\x20', '\x7c', '\x7c', '\x20', '\x2a', '\x74', '\x68', '\x69', '\x73', '\x20', '\x7c', '\x7c', '\x20', '\x6f', '\x74', '\x68', '\x65', '\x72', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x54', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x4e', '\x6f', '\x74', '\x4f', '\x66', '\x3c', '\x54', '\x3e', '\x20', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x42', '\x61', '\x73', '\x65', '\x3c', '\x54', '\x3e', '\x3a', '\x3a', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x21', '\x20', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x4e', '\x6f', '\x74', '\x4f', '\x66', '\x3c', '\x54', '\x3e', '\x28', '\x20', '\x2a', '\x74', '\x68', '\x69', '\x73', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x49', '\x6d', '\x70', '\x6c', '\x0d', '\x0a', '\x0d', '\x0a', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x73', '\x0d', '\x0a', '\x0d', '\x0a', '\x75', '\x73', '\x69', '\x6e', '\x67', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x73', '\x3b', '\x0d', '\x0a', '\x75', '\x73', '\x69', '\x6e', '\x67', '\x20', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x73', '\x3a', '\x3a', '\x49', '\x6d', '\x70', '\x6c', '\x3a', '\x3a', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x42', '\x61', '\x73', '\x65', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x73', '\x2e', '\x68', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x73', '\x5f', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x2e', '\x68', '\x70', '\x70', '\x0d', '\x0a', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x73', '\x20', '\x7b', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x45', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x20', '\x45', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x4d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x20', '\x3a', '\x20', '\x70', '\x75', '\x62', '\x6c', '\x69', '\x63', '\x20', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x42', '\x61', '\x73', '\x65', '\x3c', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x3e', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x6d', '\x5f', '\x6d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x3b', '\x0d', '\x0a', '\x70', '\x75', '\x62', '\x6c', '\x69', '\x63', '\x3a', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x45', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x4d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x29', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x6d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x28', '\x6d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7b', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x65', '\x78', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x64', '\x65', '\x73', '\x63', '\x72', '\x69', '\x62', '\x65', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x3b', '\x0d', '\x0a', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x45', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x0d', '\x0a', '\x0d', '\x0a', '\x45', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x3a', '\x3a', '\x45', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x4d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x20', '\x4d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x73', '\x0d', '\x0a', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x73', '\x5f', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x2e', '\x68', '\x70', '\x70', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x73', '\x5f', '\x66', '\x6c', '\x6f', '\x61', '\x74', '\x69', '\x6e', '\x67', '\x2e', '\x68', '\x0d', '\x0a', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x73', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x46', '\x6c', '\x6f', '\x61', '\x74', '\x69', '\x6e', '\x67', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x6e', '\x75', '\x6d', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x20', '\x46', '\x6c', '\x6f', '\x61', '\x74', '\x69', '\x6e', '\x67', '\x50', '\x6f', '\x69', '\x6e', '\x74', '\x4b', '\x69', '\x6e', '\x64', '\x20', '\x3a', '\x20', '\x75', '\x69', '\x6e', '\x74', '\x38', '\x5f', '\x74', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x57', '\x69', '\x74', '\x68', '\x69', '\x6e', '\x41', '\x62', '\x73', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x20', '\x3a', '\x20', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x42', '\x61', '\x73', '\x65', '\x3c', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x3e', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x57', '\x69', '\x74', '\x68', '\x69', '\x6e', '\x41', '\x62', '\x73', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x28', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x20', '\x74', '\x61', '\x72', '\x67', '\x65', '\x74', '\x2c', '\x20', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x20', '\x6d', '\x61', '\x72', '\x67', '\x69', '\x6e', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x28', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x65', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x64', '\x65', '\x73', '\x63', '\x72', '\x69', '\x62', '\x65', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x72', '\x69', '\x76', '\x61', '\x74', '\x65', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x20', '\x6d', '\x5f', '\x74', '\x61', '\x72', '\x67', '\x65', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x20', '\x6d', '\x5f', '\x6d', '\x61', '\x72', '\x67', '\x69', '\x6e', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x57', '\x69', '\x74', '\x68', '\x69', '\x6e', '\x55', '\x6c', '\x70', '\x73', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x20', '\x3a', '\x20', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x42', '\x61', '\x73', '\x65', '\x3c', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x3e', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x57', '\x69', '\x74', '\x68', '\x69', '\x6e', '\x55', '\x6c', '\x70', '\x73', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x28', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x20', '\x74', '\x61', '\x72', '\x67', '\x65', '\x74', '\x2c', '\x20', '\x75', '\x69', '\x6e', '\x74', '\x36', '\x34', '\x5f', '\x74', '\x20', '\x75', '\x6c', '\x70', '\x73', '\x2c', '\x20', '\x46', '\x6c', '\x6f', '\x61', '\x74', '\x69', '\x6e', '\x67', '\x50', '\x6f', '\x69', '\x6e', '\x74', '\x4b', '\x69', '\x6e', '\x64', '\x20', '\x62', '\x61', '\x73', '\x65', '\x54', '\x79', '\x70', '\x65', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x28', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x65', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x64', '\x65', '\x73', '\x63', '\x72', '\x69', '\x62', '\x65', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x72', '\x69', '\x76', '\x61', '\x74', '\x65', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x20', '\x6d', '\x5f', '\x74', '\x61', '\x72', '\x67', '\x65', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x75', '\x69', '\x6e', '\x74', '\x36', '\x34', '\x5f', '\x74', '\x20', '\x6d', '\x5f', '\x75', '\x6c', '\x70', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x46', '\x6c', '\x6f', '\x61', '\x74', '\x69', '\x6e', '\x67', '\x50', '\x6f', '\x69', '\x6e', '\x74', '\x4b', '\x69', '\x6e', '\x64', '\x20', '\x6d', '\x5f', '\x74', '\x79', '\x70', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x47', '\x69', '\x76', '\x65', '\x6e', '\x20', '\x49', '\x45', '\x45', '\x45', '\x2d', '\x37', '\x35', '\x34', '\x20', '\x66', '\x6f', '\x72', '\x6d', '\x61', '\x74', '\x20', '\x66', '\x6f', '\x72', '\x20', '\x66', '\x6c', '\x6f', '\x61', '\x74', '\x73', '\x20', '\x61', '\x6e', '\x64', '\x20', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x73', '\x2c', '\x20', '\x77', '\x65', '\x20', '\x63', '\x61', '\x6e', '\x20', '\x61', '\x73', '\x73', '\x75', '\x6d', '\x65', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x74', '\x68', '\x61', '\x74', '\x20', '\x66', '\x6c', '\x6f', '\x61', '\x74', '\x20', '\x2d', '\x3e', '\x20', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x20', '\x70', '\x72', '\x6f', '\x6d', '\x6f', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x69', '\x73', '\x20', '\x6c', '\x6f', '\x73', '\x73', '\x6c', '\x65', '\x73', '\x73', '\x2e', '\x20', '\x47', '\x69', '\x76', '\x65', '\x6e', '\x20', '\x74', '\x68', '\x69', '\x73', '\x2c', '\x20', '\x77', '\x65', '\x20', '\x63', '\x61', '\x6e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x61', '\x73', '\x73', '\x75', '\x6d', '\x65', '\x20', '\x74', '\x68', '\x61', '\x74', '\x20', '\x69', '\x66', '\x20', '\x77', '\x65', '\x20', '\x64', '\x6f', '\x20', '\x74', '\x68', '\x65', '\x20', '\x73', '\x74', '\x61', '\x6e', '\x64', '\x61', '\x72', '\x64', '\x20', '\x72', '\x65', '\x6c', '\x61', '\x74', '\x69', '\x76', '\x65', '\x20', '\x63', '\x6f', '\x6d', '\x70', '\x61', '\x72', '\x69', '\x73', '\x6f', '\x6e', '\x20', '\x6f', '\x66', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x7c', '\x6c', '\x68', '\x73', '\x20', '\x2d', '\x20', '\x72', '\x68', '\x73', '\x7c', '\x20', '\x3c', '\x3d', '\x20', '\x65', '\x70', '\x73', '\x69', '\x6c', '\x6f', '\x6e', '\x20', '\x2a', '\x20', '\x6d', '\x61', '\x78', '\x28', '\x66', '\x61', '\x62', '\x73', '\x28', '\x6c', '\x68', '\x73', '\x29', '\x2c', '\x20', '\x66', '\x61', '\x62', '\x73', '\x28', '\x72', '\x68', '\x73', '\x29', '\x29', '\x2c', '\x20', '\x74', '\x68', '\x65', '\x6e', '\x20', '\x77', '\x65', '\x20', '\x67', '\x65', '\x74', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x74', '\x68', '\x65', '\x20', '\x73', '\x61', '\x6d', '\x65', '\x20', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x20', '\x69', '\x66', '\x20', '\x77', '\x65', '\x20', '\x64', '\x6f', '\x20', '\x74', '\x68', '\x69', '\x73', '\x20', '\x66', '\x6f', '\x72', '\x20', '\x66', '\x6c', '\x6f', '\x61', '\x74', '\x73', '\x2c', '\x20', '\x61', '\x73', '\x20', '\x69', '\x66', '\x20', '\x77', '\x65', '\x20', '\x64', '\x6f', '\x20', '\x74', '\x68', '\x69', '\x73', '\x20', '\x66', '\x6f', '\x72', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x73', '\x20', '\x74', '\x68', '\x61', '\x74', '\x20', '\x77', '\x65', '\x72', '\x65', '\x20', '\x70', '\x72', '\x6f', '\x6d', '\x6f', '\x74', '\x65', '\x64', '\x20', '\x66', '\x72', '\x6f', '\x6d', '\x20', '\x66', '\x6c', '\x6f', '\x61', '\x74', '\x73', '\x2e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x57', '\x69', '\x74', '\x68', '\x69', '\x6e', '\x52', '\x65', '\x6c', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x20', '\x3a', '\x20', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x42', '\x61', '\x73', '\x65', '\x3c', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x3e', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x57', '\x69', '\x74', '\x68', '\x69', '\x6e', '\x52', '\x65', '\x6c', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x28', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x20', '\x74', '\x61', '\x72', '\x67', '\x65', '\x74', '\x2c', '\x20', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x20', '\x65', '\x70', '\x73', '\x69', '\x6c', '\x6f', '\x6e', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x28', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x65', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x64', '\x65', '\x73', '\x63', '\x72', '\x69', '\x62', '\x65', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x72', '\x69', '\x76', '\x61', '\x74', '\x65', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x20', '\x6d', '\x5f', '\x74', '\x61', '\x72', '\x67', '\x65', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x20', '\x6d', '\x5f', '\x65', '\x70', '\x73', '\x69', '\x6c', '\x6f', '\x6e', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x46', '\x6c', '\x6f', '\x61', '\x74', '\x69', '\x6e', '\x67', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x54', '\x68', '\x65', '\x20', '\x66', '\x6f', '\x6c', '\x6c', '\x6f', '\x77', '\x69', '\x6e', '\x67', '\x20', '\x66', '\x75', '\x6e', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x20', '\x63', '\x72', '\x65', '\x61', '\x74', '\x65', '\x20', '\x74', '\x68', '\x65', '\x20', '\x61', '\x63', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x20', '\x6f', '\x62', '\x6a', '\x65', '\x63', '\x74', '\x73', '\x2e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x54', '\x68', '\x69', '\x73', '\x20', '\x61', '\x6c', '\x6c', '\x6f', '\x77', '\x73', '\x20', '\x74', '\x68', '\x65', '\x20', '\x74', '\x79', '\x70', '\x65', '\x73', '\x20', '\x74', '\x6f', '\x20', '\x62', '\x65', '\x20', '\x69', '\x6e', '\x66', '\x65', '\x72', '\x72', '\x65', '\x64', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x46', '\x6c', '\x6f', '\x61', '\x74', '\x69', '\x6e', '\x67', '\x3a', '\x3a', '\x57', '\x69', '\x74', '\x68', '\x69', '\x6e', '\x55', '\x6c', '\x70', '\x73', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x20', '\x57', '\x69', '\x74', '\x68', '\x69', '\x6e', '\x55', '\x4c', '\x50', '\x28', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x20', '\x74', '\x61', '\x72', '\x67', '\x65', '\x74', '\x2c', '\x20', '\x75', '\x69', '\x6e', '\x74', '\x36', '\x34', '\x5f', '\x74', '\x20', '\x6d', '\x61', '\x78', '\x55', '\x6c', '\x70', '\x44', '\x69', '\x66', '\x66', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x46', '\x6c', '\x6f', '\x61', '\x74', '\x69', '\x6e', '\x67', '\x3a', '\x3a', '\x57', '\x69', '\x74', '\x68', '\x69', '\x6e', '\x55', '\x6c', '\x70', '\x73', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x20', '\x57', '\x69', '\x74', '\x68', '\x69', '\x6e', '\x55', '\x4c', '\x50', '\x28', '\x66', '\x6c', '\x6f', '\x61', '\x74', '\x20', '\x74', '\x61', '\x72', '\x67', '\x65', '\x74', '\x2c', '\x20', '\x75', '\x69', '\x6e', '\x74', '\x36', '\x34', '\x5f', '\x74', '\x20', '\x6d', '\x61', '\x78', '\x55', '\x6c', '\x70', '\x44', '\x69', '\x66', '\x66', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x46', '\x6c', '\x6f', '\x61', '\x74', '\x69', '\x6e', '\x67', '\x3a', '\x3a', '\x57', '\x69', '\x74', '\x68', '\x69', '\x6e', '\x41', '\x62', '\x73', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x20', '\x57', '\x69', '\x74', '\x68', '\x69', '\x6e', '\x41', '\x62', '\x73', '\x28', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x20', '\x74', '\x61', '\x72', '\x67', '\x65', '\x74', '\x2c', '\x20', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x20', '\x6d', '\x61', '\x72', '\x67', '\x69', '\x6e', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x46', '\x6c', '\x6f', '\x61', '\x74', '\x69', '\x6e', '\x67', '\x3a', '\x3a', '\x57', '\x69', '\x74', '\x68', '\x69', '\x6e', '\x52', '\x65', '\x6c', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x20', '\x57', '\x69', '\x74', '\x68', '\x69', '\x6e', '\x52', '\x65', '\x6c', '\x28', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x20', '\x74', '\x61', '\x72', '\x67', '\x65', '\x74', '\x2c', '\x20', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x20', '\x65', '\x70', '\x73', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x64', '\x65', '\x66', '\x61', '\x75', '\x6c', '\x74', '\x73', '\x20', '\x65', '\x70', '\x73', '\x69', '\x6c', '\x6f', '\x6e', '\x20', '\x74', '\x6f', '\x20', '\x31', '\x30', '\x30', '\x2a', '\x6e', '\x75', '\x6d', '\x65', '\x72', '\x69', '\x63', '\x5f', '\x6c', '\x69', '\x6d', '\x69', '\x74', '\x73', '\x3c', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x3e', '\x3a', '\x3a', '\x65', '\x70', '\x73', '\x69', '\x6c', '\x6f', '\x6e', '\x28', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x46', '\x6c', '\x6f', '\x61', '\x74', '\x69', '\x6e', '\x67', '\x3a', '\x3a', '\x57', '\x69', '\x74', '\x68', '\x69', '\x6e', '\x52', '\x65', '\x6c', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x20', '\x57', '\x69', '\x74', '\x68', '\x69', '\x6e', '\x52', '\x65', '\x6c', '\x28', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x20', '\x74', '\x61', '\x72', '\x67', '\x65', '\x74', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x46', '\x6c', '\x6f', '\x61', '\x74', '\x69', '\x6e', '\x67', '\x3a', '\x3a', '\x57', '\x69', '\x74', '\x68', '\x69', '\x6e', '\x52', '\x65', '\x6c', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x20', '\x57', '\x69', '\x74', '\x68', '\x69', '\x6e', '\x52', '\x65', '\x6c', '\x28', '\x66', '\x6c', '\x6f', '\x61', '\x74', '\x20', '\x74', '\x61', '\x72', '\x67', '\x65', '\x74', '\x2c', '\x20', '\x66', '\x6c', '\x6f', '\x61', '\x74', '\x20', '\x65', '\x70', '\x73', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x64', '\x65', '\x66', '\x61', '\x75', '\x6c', '\x74', '\x73', '\x20', '\x65', '\x70', '\x73', '\x69', '\x6c', '\x6f', '\x6e', '\x20', '\x74', '\x6f', '\x20', '\x31', '\x30', '\x30', '\x2a', '\x6e', '\x75', '\x6d', '\x65', '\x72', '\x69', '\x63', '\x5f', '\x6c', '\x69', '\x6d', '\x69', '\x74', '\x73', '\x3c', '\x66', '\x6c', '\x6f', '\x61', '\x74', '\x3e', '\x3a', '\x3a', '\x65', '\x70', '\x73', '\x69', '\x6c', '\x6f', '\x6e', '\x28', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x46', '\x6c', '\x6f', '\x61', '\x74', '\x69', '\x6e', '\x67', '\x3a', '\x3a', '\x57', '\x69', '\x74', '\x68', '\x69', '\x6e', '\x52', '\x65', '\x6c', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x20', '\x57', '\x69', '\x74', '\x68', '\x69', '\x6e', '\x52', '\x65', '\x6c', '\x28', '\x66', '\x6c', '\x6f', '\x61', '\x74', '\x20', '\x74', '\x61', '\x72', '\x67', '\x65', '\x74', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x73', '\x0d', '\x0a', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x73', '\x5f', '\x66', '\x6c', '\x6f', '\x61', '\x74', '\x69', '\x6e', '\x67', '\x2e', '\x68', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x73', '\x5f', '\x67', '\x65', '\x6e', '\x65', '\x72', '\x69', '\x63', '\x2e', '\x68', '\x70', '\x70', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x66', '\x75', '\x6e', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x61', '\x6c', '\x3e', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x3e', '\x0d', '\x0a', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x73', '\x20', '\x7b', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x69', '\x63', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x44', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x66', '\x69', '\x6e', '\x61', '\x6c', '\x69', '\x7a', '\x65', '\x44', '\x65', '\x73', '\x63', '\x72', '\x69', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x28', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x26', '\x20', '\x64', '\x65', '\x73', '\x63', '\x29', '\x3b', '\x0d', '\x0a', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x20', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x54', '\x3e', '\x0d', '\x0a', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x20', '\x50', '\x72', '\x65', '\x64', '\x69', '\x63', '\x61', '\x74', '\x65', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x20', '\x3a', '\x20', '\x70', '\x75', '\x62', '\x6c', '\x69', '\x63', '\x20', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x42', '\x61', '\x73', '\x65', '\x3c', '\x54', '\x3e', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x66', '\x75', '\x6e', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x3c', '\x62', '\x6f', '\x6f', '\x6c', '\x28', '\x54', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x29', '\x3e', '\x20', '\x6d', '\x5f', '\x70', '\x72', '\x65', '\x64', '\x69', '\x63', '\x61', '\x74', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x6d', '\x5f', '\x64', '\x65', '\x73', '\x63', '\x72', '\x69', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x3b', '\x0d', '\x0a', '\x70', '\x75', '\x62', '\x6c', '\x69', '\x63', '\x3a', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x50', '\x72', '\x65', '\x64', '\x69', '\x63', '\x61', '\x74', '\x65', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x66', '\x75', '\x6e', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x3c', '\x62', '\x6f', '\x6f', '\x6c', '\x28', '\x54', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x29', '\x3e', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x65', '\x6c', '\x65', '\x6d', '\x2c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x64', '\x65', '\x73', '\x63', '\x72', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x3a', '\x6d', '\x5f', '\x70', '\x72', '\x65', '\x64', '\x69', '\x63', '\x61', '\x74', '\x65', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6d', '\x6f', '\x76', '\x65', '\x28', '\x65', '\x6c', '\x65', '\x6d', '\x29', '\x29', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x64', '\x65', '\x73', '\x63', '\x72', '\x69', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x28', '\x44', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x3a', '\x3a', '\x66', '\x69', '\x6e', '\x61', '\x6c', '\x69', '\x7a', '\x65', '\x44', '\x65', '\x73', '\x63', '\x72', '\x69', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x28', '\x64', '\x65', '\x73', '\x63', '\x72', '\x29', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7b', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x28', '\x20', '\x54', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x69', '\x74', '\x65', '\x6d', '\x20', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6d', '\x5f', '\x70', '\x72', '\x65', '\x64', '\x69', '\x63', '\x61', '\x74', '\x65', '\x28', '\x69', '\x74', '\x65', '\x6d', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x64', '\x65', '\x73', '\x63', '\x72', '\x69', '\x62', '\x65', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6d', '\x5f', '\x64', '\x65', '\x73', '\x63', '\x72', '\x69', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x69', '\x63', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x54', '\x68', '\x65', '\x20', '\x66', '\x6f', '\x6c', '\x6c', '\x6f', '\x77', '\x69', '\x6e', '\x67', '\x20', '\x66', '\x75', '\x6e', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x20', '\x63', '\x72', '\x65', '\x61', '\x74', '\x65', '\x20', '\x74', '\x68', '\x65', '\x20', '\x61', '\x63', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x20', '\x6f', '\x62', '\x6a', '\x65', '\x63', '\x74', '\x73', '\x2e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x54', '\x68', '\x65', '\x20', '\x75', '\x73', '\x65', '\x72', '\x20', '\x68', '\x61', '\x73', '\x20', '\x74', '\x6f', '\x20', '\x65', '\x78', '\x70', '\x6c', '\x69', '\x63', '\x69', '\x74', '\x6c', '\x79', '\x20', '\x73', '\x70', '\x65', '\x63', '\x69', '\x66', '\x79', '\x20', '\x74', '\x79', '\x70', '\x65', '\x20', '\x74', '\x6f', '\x20', '\x74', '\x68', '\x65', '\x20', '\x66', '\x75', '\x6e', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x2c', '\x20', '\x62', '\x65', '\x63', '\x61', '\x75', '\x73', '\x65', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x69', '\x6e', '\x66', '\x65', '\x72', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x66', '\x75', '\x6e', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x3c', '\x62', '\x6f', '\x6f', '\x6c', '\x28', '\x54', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x29', '\x3e', '\x20', '\x69', '\x73', '\x20', '\x68', '\x61', '\x72', '\x64', '\x20', '\x28', '\x62', '\x75', '\x74', '\x20', '\x70', '\x6f', '\x73', '\x73', '\x69', '\x62', '\x6c', '\x65', '\x29', '\x20', '\x61', '\x6e', '\x64', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x72', '\x65', '\x71', '\x75', '\x69', '\x72', '\x65', '\x73', '\x20', '\x61', '\x20', '\x6c', '\x6f', '\x74', '\x20', '\x6f', '\x66', '\x20', '\x54', '\x4d', '\x50', '\x2e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x54', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x69', '\x63', '\x3a', '\x3a', '\x50', '\x72', '\x65', '\x64', '\x69', '\x63', '\x61', '\x74', '\x65', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x3c', '\x54', '\x3e', '\x20', '\x50', '\x72', '\x65', '\x64', '\x69', '\x63', '\x61', '\x74', '\x65', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x66', '\x75', '\x6e', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x3c', '\x62', '\x6f', '\x6f', '\x6c', '\x28', '\x54', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x29', '\x3e', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x70', '\x72', '\x65', '\x64', '\x69', '\x63', '\x61', '\x74', '\x65', '\x2c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x64', '\x65', '\x73', '\x63', '\x72', '\x69', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x3d', '\x20', '\x22', '\x22', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x69', '\x63', '\x3a', '\x3a', '\x50', '\x72', '\x65', '\x64', '\x69', '\x63', '\x61', '\x74', '\x65', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x3c', '\x54', '\x3e', '\x28', '\x70', '\x72', '\x65', '\x64', '\x69', '\x63', '\x61', '\x74', '\x65', '\x2c', '\x20', '\x64', '\x65', '\x73', '\x63', '\x72', '\x69', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x73', '\x0d', '\x0a', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x73', '\x5f', '\x67', '\x65', '\x6e', '\x65', '\x72', '\x69', '\x63', '\x2e', '\x68', '\x70', '\x70', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x73', '\x5f', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x2e', '\x68', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x3e', '\x0d', '\x0a', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x73', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x53', '\x74', '\x64', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x43', '\x61', '\x73', '\x65', '\x64', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x61', '\x73', '\x65', '\x64', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x73', '\x74', '\x72', '\x2c', '\x20', '\x43', '\x61', '\x73', '\x65', '\x53', '\x65', '\x6e', '\x73', '\x69', '\x74', '\x69', '\x76', '\x65', '\x3a', '\x3a', '\x43', '\x68', '\x6f', '\x69', '\x63', '\x65', '\x20', '\x63', '\x61', '\x73', '\x65', '\x53', '\x65', '\x6e', '\x73', '\x69', '\x74', '\x69', '\x76', '\x69', '\x74', '\x79', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x61', '\x64', '\x6a', '\x75', '\x73', '\x74', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x73', '\x74', '\x72', '\x20', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x61', '\x73', '\x65', '\x53', '\x65', '\x6e', '\x73', '\x69', '\x74', '\x69', '\x76', '\x69', '\x74', '\x79', '\x53', '\x75', '\x66', '\x66', '\x69', '\x78', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x61', '\x73', '\x65', '\x53', '\x65', '\x6e', '\x73', '\x69', '\x74', '\x69', '\x76', '\x65', '\x3a', '\x3a', '\x43', '\x68', '\x6f', '\x69', '\x63', '\x65', '\x20', '\x6d', '\x5f', '\x63', '\x61', '\x73', '\x65', '\x53', '\x65', '\x6e', '\x73', '\x69', '\x74', '\x69', '\x76', '\x69', '\x74', '\x79', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x6d', '\x5f', '\x73', '\x74', '\x72', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x42', '\x61', '\x73', '\x65', '\x20', '\x3a', '\x20', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x42', '\x61', '\x73', '\x65', '\x3c', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x3e', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x42', '\x61', '\x73', '\x65', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x2c', '\x20', '\x43', '\x61', '\x73', '\x65', '\x64', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x63', '\x6f', '\x6d', '\x70', '\x61', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x64', '\x65', '\x73', '\x63', '\x72', '\x69', '\x62', '\x65', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x61', '\x73', '\x65', '\x64', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x6d', '\x5f', '\x63', '\x6f', '\x6d', '\x70', '\x61', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x6d', '\x5f', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x45', '\x71', '\x75', '\x61', '\x6c', '\x73', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x20', '\x3a', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x42', '\x61', '\x73', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x45', '\x71', '\x75', '\x61', '\x6c', '\x73', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x28', '\x20', '\x43', '\x61', '\x73', '\x65', '\x64', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x63', '\x6f', '\x6d', '\x70', '\x61', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x73', '\x6f', '\x75', '\x72', '\x63', '\x65', '\x20', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x43', '\x6f', '\x6e', '\x74', '\x61', '\x69', '\x6e', '\x73', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x20', '\x3a', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x42', '\x61', '\x73', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x6f', '\x6e', '\x74', '\x61', '\x69', '\x6e', '\x73', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x28', '\x20', '\x43', '\x61', '\x73', '\x65', '\x64', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x63', '\x6f', '\x6d', '\x70', '\x61', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x73', '\x6f', '\x75', '\x72', '\x63', '\x65', '\x20', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x53', '\x74', '\x61', '\x72', '\x74', '\x73', '\x57', '\x69', '\x74', '\x68', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x20', '\x3a', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x42', '\x61', '\x73', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x53', '\x74', '\x61', '\x72', '\x74', '\x73', '\x57', '\x69', '\x74', '\x68', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x28', '\x20', '\x43', '\x61', '\x73', '\x65', '\x64', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x63', '\x6f', '\x6d', '\x70', '\x61', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x73', '\x6f', '\x75', '\x72', '\x63', '\x65', '\x20', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x45', '\x6e', '\x64', '\x73', '\x57', '\x69', '\x74', '\x68', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x20', '\x3a', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x42', '\x61', '\x73', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x45', '\x6e', '\x64', '\x73', '\x57', '\x69', '\x74', '\x68', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x28', '\x20', '\x43', '\x61', '\x73', '\x65', '\x64', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x63', '\x6f', '\x6d', '\x70', '\x61', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x73', '\x6f', '\x75', '\x72', '\x63', '\x65', '\x20', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x52', '\x65', '\x67', '\x65', '\x78', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x20', '\x3a', '\x20', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x42', '\x61', '\x73', '\x65', '\x3c', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x3e', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x52', '\x65', '\x67', '\x65', '\x78', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x72', '\x65', '\x67', '\x65', '\x78', '\x2c', '\x20', '\x43', '\x61', '\x73', '\x65', '\x53', '\x65', '\x6e', '\x73', '\x69', '\x74', '\x69', '\x76', '\x65', '\x3a', '\x3a', '\x43', '\x68', '\x6f', '\x69', '\x63', '\x65', '\x20', '\x63', '\x61', '\x73', '\x65', '\x53', '\x65', '\x6e', '\x73', '\x69', '\x74', '\x69', '\x76', '\x69', '\x74', '\x79', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x65', '\x20', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x64', '\x65', '\x73', '\x63', '\x72', '\x69', '\x62', '\x65', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x72', '\x69', '\x76', '\x61', '\x74', '\x65', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x6d', '\x5f', '\x72', '\x65', '\x67', '\x65', '\x78', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x61', '\x73', '\x65', '\x53', '\x65', '\x6e', '\x73', '\x69', '\x74', '\x69', '\x76', '\x65', '\x3a', '\x3a', '\x43', '\x68', '\x6f', '\x69', '\x63', '\x65', '\x20', '\x6d', '\x5f', '\x63', '\x61', '\x73', '\x65', '\x53', '\x65', '\x6e', '\x73', '\x69', '\x74', '\x69', '\x76', '\x69', '\x74', '\x79', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x53', '\x74', '\x64', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x54', '\x68', '\x65', '\x20', '\x66', '\x6f', '\x6c', '\x6c', '\x6f', '\x77', '\x69', '\x6e', '\x67', '\x20', '\x66', '\x75', '\x6e', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x20', '\x63', '\x72', '\x65', '\x61', '\x74', '\x65', '\x20', '\x74', '\x68', '\x65', '\x20', '\x61', '\x63', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x20', '\x6f', '\x62', '\x6a', '\x65', '\x63', '\x74', '\x73', '\x2e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x54', '\x68', '\x69', '\x73', '\x20', '\x61', '\x6c', '\x6c', '\x6f', '\x77', '\x73', '\x20', '\x74', '\x68', '\x65', '\x20', '\x74', '\x79', '\x70', '\x65', '\x73', '\x20', '\x74', '\x6f', '\x20', '\x62', '\x65', '\x20', '\x69', '\x6e', '\x66', '\x65', '\x72', '\x72', '\x65', '\x64', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x53', '\x74', '\x64', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x3a', '\x3a', '\x45', '\x71', '\x75', '\x61', '\x6c', '\x73', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x20', '\x45', '\x71', '\x75', '\x61', '\x6c', '\x73', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x73', '\x74', '\x72', '\x2c', '\x20', '\x43', '\x61', '\x73', '\x65', '\x53', '\x65', '\x6e', '\x73', '\x69', '\x74', '\x69', '\x76', '\x65', '\x3a', '\x3a', '\x43', '\x68', '\x6f', '\x69', '\x63', '\x65', '\x20', '\x63', '\x61', '\x73', '\x65', '\x53', '\x65', '\x6e', '\x73', '\x69', '\x74', '\x69', '\x76', '\x69', '\x74', '\x79', '\x20', '\x3d', '\x20', '\x43', '\x61', '\x73', '\x65', '\x53', '\x65', '\x6e', '\x73', '\x69', '\x74', '\x69', '\x76', '\x65', '\x3a', '\x3a', '\x59', '\x65', '\x73', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x53', '\x74', '\x64', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x3a', '\x3a', '\x43', '\x6f', '\x6e', '\x74', '\x61', '\x69', '\x6e', '\x73', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x20', '\x43', '\x6f', '\x6e', '\x74', '\x61', '\x69', '\x6e', '\x73', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x73', '\x74', '\x72', '\x2c', '\x20', '\x43', '\x61', '\x73', '\x65', '\x53', '\x65', '\x6e', '\x73', '\x69', '\x74', '\x69', '\x76', '\x65', '\x3a', '\x3a', '\x43', '\x68', '\x6f', '\x69', '\x63', '\x65', '\x20', '\x63', '\x61', '\x73', '\x65', '\x53', '\x65', '\x6e', '\x73', '\x69', '\x74', '\x69', '\x76', '\x69', '\x74', '\x79', '\x20', '\x3d', '\x20', '\x43', '\x61', '\x73', '\x65', '\x53', '\x65', '\x6e', '\x73', '\x69', '\x74', '\x69', '\x76', '\x65', '\x3a', '\x3a', '\x59', '\x65', '\x73', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x53', '\x74', '\x64', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x3a', '\x3a', '\x45', '\x6e', '\x64', '\x73', '\x57', '\x69', '\x74', '\x68', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x20', '\x45', '\x6e', '\x64', '\x73', '\x57', '\x69', '\x74', '\x68', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x73', '\x74', '\x72', '\x2c', '\x20', '\x43', '\x61', '\x73', '\x65', '\x53', '\x65', '\x6e', '\x73', '\x69', '\x74', '\x69', '\x76', '\x65', '\x3a', '\x3a', '\x43', '\x68', '\x6f', '\x69', '\x63', '\x65', '\x20', '\x63', '\x61', '\x73', '\x65', '\x53', '\x65', '\x6e', '\x73', '\x69', '\x74', '\x69', '\x76', '\x69', '\x74', '\x79', '\x20', '\x3d', '\x20', '\x43', '\x61', '\x73', '\x65', '\x53', '\x65', '\x6e', '\x73', '\x69', '\x74', '\x69', '\x76', '\x65', '\x3a', '\x3a', '\x59', '\x65', '\x73', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x53', '\x74', '\x64', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x3a', '\x3a', '\x53', '\x74', '\x61', '\x72', '\x74', '\x73', '\x57', '\x69', '\x74', '\x68', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x20', '\x53', '\x74', '\x61', '\x72', '\x74', '\x73', '\x57', '\x69', '\x74', '\x68', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x73', '\x74', '\x72', '\x2c', '\x20', '\x43', '\x61', '\x73', '\x65', '\x53', '\x65', '\x6e', '\x73', '\x69', '\x74', '\x69', '\x76', '\x65', '\x3a', '\x3a', '\x43', '\x68', '\x6f', '\x69', '\x63', '\x65', '\x20', '\x63', '\x61', '\x73', '\x65', '\x53', '\x65', '\x6e', '\x73', '\x69', '\x74', '\x69', '\x76', '\x69', '\x74', '\x79', '\x20', '\x3d', '\x20', '\x43', '\x61', '\x73', '\x65', '\x53', '\x65', '\x6e', '\x73', '\x69', '\x74', '\x69', '\x76', '\x65', '\x3a', '\x3a', '\x59', '\x65', '\x73', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x53', '\x74', '\x64', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x3a', '\x3a', '\x52', '\x65', '\x67', '\x65', '\x78', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x20', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x73', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x72', '\x65', '\x67', '\x65', '\x78', '\x2c', '\x20', '\x43', '\x61', '\x73', '\x65', '\x53', '\x65', '\x6e', '\x73', '\x69', '\x74', '\x69', '\x76', '\x65', '\x3a', '\x3a', '\x43', '\x68', '\x6f', '\x69', '\x63', '\x65', '\x20', '\x63', '\x61', '\x73', '\x65', '\x53', '\x65', '\x6e', '\x73', '\x69', '\x74', '\x69', '\x76', '\x69', '\x74', '\x79', '\x20', '\x3d', '\x20', '\x43', '\x61', '\x73', '\x65', '\x53', '\x65', '\x6e', '\x73', '\x69', '\x74', '\x69', '\x76', '\x65', '\x3a', '\x3a', '\x59', '\x65', '\x73', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x73', '\x0d', '\x0a', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x73', '\x5f', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x2e', '\x68', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x73', '\x5f', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x2e', '\x68', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x61', '\x6c', '\x67', '\x6f', '\x72', '\x69', '\x74', '\x68', '\x6d', '\x3e', '\x0d', '\x0a', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x73', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x56', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x54', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x43', '\x6f', '\x6e', '\x74', '\x61', '\x69', '\x6e', '\x73', '\x45', '\x6c', '\x65', '\x6d', '\x65', '\x6e', '\x74', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x20', '\x3a', '\x20', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x42', '\x61', '\x73', '\x65', '\x3c', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x54', '\x3e', '\x3e', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x6f', '\x6e', '\x74', '\x61', '\x69', '\x6e', '\x73', '\x45', '\x6c', '\x65', '\x6d', '\x65', '\x6e', '\x74', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x28', '\x54', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x26', '\x63', '\x6f', '\x6d', '\x70', '\x61', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x29', '\x20', '\x3a', '\x20', '\x6d', '\x5f', '\x63', '\x6f', '\x6d', '\x70', '\x61', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x28', '\x20', '\x63', '\x6f', '\x6d', '\x70', '\x61', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x29', '\x20', '\x7b', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x54', '\x3e', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x26', '\x76', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x66', '\x6f', '\x72', '\x20', '\x28', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x65', '\x6c', '\x20', '\x3a', '\x20', '\x76', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x65', '\x6c', '\x20', '\x3d', '\x3d', '\x20', '\x6d', '\x5f', '\x63', '\x6f', '\x6d', '\x70', '\x61', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x74', '\x72', '\x75', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x66', '\x61', '\x6c', '\x73', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x64', '\x65', '\x73', '\x63', '\x72', '\x69', '\x62', '\x65', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x22', '\x43', '\x6f', '\x6e', '\x74', '\x61', '\x69', '\x6e', '\x73', '\x3a', '\x20', '\x22', '\x20', '\x2b', '\x20', '\x3a', '\x3a', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x44', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x69', '\x66', '\x79', '\x28', '\x20', '\x6d', '\x5f', '\x63', '\x6f', '\x6d', '\x70', '\x61', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x54', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6d', '\x5f', '\x63', '\x6f', '\x6d', '\x70', '\x61', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x54', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x43', '\x6f', '\x6e', '\x74', '\x61', '\x69', '\x6e', '\x73', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x20', '\x3a', '\x20', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x42', '\x61', '\x73', '\x65', '\x3c', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x54', '\x3e', '\x3e', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x6f', '\x6e', '\x74', '\x61', '\x69', '\x6e', '\x73', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x54', '\x3e', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x26', '\x63', '\x6f', '\x6d', '\x70', '\x61', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x29', '\x20', '\x3a', '\x20', '\x6d', '\x5f', '\x63', '\x6f', '\x6d', '\x70', '\x61', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x28', '\x20', '\x63', '\x6f', '\x6d', '\x70', '\x61', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x29', '\x20', '\x7b', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x54', '\x3e', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x26', '\x76', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x21', '\x54', '\x42', '\x44', '\x3a', '\x20', '\x73', '\x65', '\x65', '\x20', '\x6e', '\x6f', '\x74', '\x65', '\x20', '\x69', '\x6e', '\x20', '\x45', '\x71', '\x75', '\x61', '\x6c', '\x73', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x6d', '\x5f', '\x63', '\x6f', '\x6d', '\x70', '\x61', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x2e', '\x73', '\x69', '\x7a', '\x65', '\x28', '\x29', '\x20', '\x3e', '\x20', '\x76', '\x2e', '\x73', '\x69', '\x7a', '\x65', '\x28', '\x29', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x66', '\x61', '\x6c', '\x73', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x66', '\x6f', '\x72', '\x20', '\x28', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x63', '\x6f', '\x6d', '\x70', '\x61', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x3a', '\x20', '\x6d', '\x5f', '\x63', '\x6f', '\x6d', '\x70', '\x61', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x70', '\x72', '\x65', '\x73', '\x65', '\x6e', '\x74', '\x20', '\x3d', '\x20', '\x66', '\x61', '\x6c', '\x73', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x66', '\x6f', '\x72', '\x20', '\x28', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x26', '\x20', '\x65', '\x6c', '\x20', '\x3a', '\x20', '\x76', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x65', '\x6c', '\x20', '\x3d', '\x3d', '\x20', '\x63', '\x6f', '\x6d', '\x70', '\x61', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x72', '\x65', '\x73', '\x65', '\x6e', '\x74', '\x20', '\x3d', '\x20', '\x74', '\x72', '\x75', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x72', '\x65', '\x61', '\x6b', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x21', '\x70', '\x72', '\x65', '\x73', '\x65', '\x6e', '\x74', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x66', '\x61', '\x6c', '\x73', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x74', '\x72', '\x75', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x64', '\x65', '\x73', '\x63', '\x72', '\x69', '\x62', '\x65', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x22', '\x43', '\x6f', '\x6e', '\x74', '\x61', '\x69', '\x6e', '\x73', '\x3a', '\x20', '\x22', '\x20', '\x2b', '\x20', '\x3a', '\x3a', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x44', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x69', '\x66', '\x79', '\x28', '\x20', '\x6d', '\x5f', '\x63', '\x6f', '\x6d', '\x70', '\x61', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x54', '\x3e', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6d', '\x5f', '\x63', '\x6f', '\x6d', '\x70', '\x61', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x54', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x45', '\x71', '\x75', '\x61', '\x6c', '\x73', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x20', '\x3a', '\x20', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x42', '\x61', '\x73', '\x65', '\x3c', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x54', '\x3e', '\x3e', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x45', '\x71', '\x75', '\x61', '\x6c', '\x73', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x54', '\x3e', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x26', '\x63', '\x6f', '\x6d', '\x70', '\x61', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x29', '\x20', '\x3a', '\x20', '\x6d', '\x5f', '\x63', '\x6f', '\x6d', '\x70', '\x61', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x28', '\x20', '\x63', '\x6f', '\x6d', '\x70', '\x61', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x29', '\x20', '\x7b', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x54', '\x3e', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x26', '\x76', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x21', '\x54', '\x42', '\x44', '\x3a', '\x20', '\x54', '\x68', '\x69', '\x73', '\x20', '\x63', '\x75', '\x72', '\x72', '\x65', '\x6e', '\x74', '\x6c', '\x79', '\x20', '\x77', '\x6f', '\x72', '\x6b', '\x73', '\x20', '\x69', '\x66', '\x20', '\x61', '\x6c', '\x6c', '\x20', '\x65', '\x6c', '\x65', '\x6d', '\x65', '\x6e', '\x74', '\x73', '\x20', '\x63', '\x61', '\x6e', '\x20', '\x62', '\x65', '\x20', '\x63', '\x6f', '\x6d', '\x70', '\x61', '\x72', '\x65', '\x64', '\x20', '\x75', '\x73', '\x69', '\x6e', '\x67', '\x20', '\x21', '\x3d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x2d', '\x20', '\x61', '\x20', '\x6d', '\x6f', '\x72', '\x65', '\x20', '\x67', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x6c', '\x20', '\x61', '\x70', '\x70', '\x72', '\x6f', '\x61', '\x63', '\x68', '\x20', '\x77', '\x6f', '\x75', '\x6c', '\x64', '\x20', '\x62', '\x65', '\x20', '\x76', '\x69', '\x61', '\x20', '\x61', '\x20', '\x63', '\x6f', '\x6d', '\x70', '\x61', '\x72', '\x65', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x20', '\x74', '\x68', '\x61', '\x74', '\x20', '\x64', '\x65', '\x66', '\x61', '\x75', '\x6c', '\x74', '\x73', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x74', '\x6f', '\x20', '\x75', '\x73', '\x69', '\x6e', '\x67', '\x20', '\x21', '\x3d', '\x2e', '\x20', '\x62', '\x75', '\x74', '\x20', '\x63', '\x6f', '\x75', '\x6c', '\x64', '\x20', '\x62', '\x65', '\x20', '\x73', '\x70', '\x65', '\x63', '\x69', '\x61', '\x6c', '\x69', '\x73', '\x65', '\x64', '\x20', '\x66', '\x6f', '\x72', '\x2c', '\x20', '\x65', '\x2e', '\x67', '\x2e', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x54', '\x3e', '\x20', '\x65', '\x74', '\x63', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x2d', '\x20', '\x74', '\x68', '\x65', '\x6e', '\x20', '\x6a', '\x75', '\x73', '\x74', '\x20', '\x63', '\x61', '\x6c', '\x6c', '\x20', '\x74', '\x68', '\x61', '\x74', '\x20', '\x64', '\x69', '\x72', '\x65', '\x63', '\x74', '\x6c', '\x79', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x6d', '\x5f', '\x63', '\x6f', '\x6d', '\x70', '\x61', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x2e', '\x73', '\x69', '\x7a', '\x65', '\x28', '\x29', '\x20', '\x21', '\x3d', '\x20', '\x76', '\x2e', '\x73', '\x69', '\x7a', '\x65', '\x28', '\x29', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x66', '\x61', '\x6c', '\x73', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x66', '\x6f', '\x72', '\x20', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x69', '\x7a', '\x65', '\x5f', '\x74', '\x20', '\x69', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x20', '\x69', '\x20', '\x3c', '\x20', '\x76', '\x2e', '\x73', '\x69', '\x7a', '\x65', '\x28', '\x29', '\x3b', '\x20', '\x2b', '\x2b', '\x69', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x6d', '\x5f', '\x63', '\x6f', '\x6d', '\x70', '\x61', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x5b', '\x69', '\x5d', '\x20', '\x21', '\x3d', '\x20', '\x76', '\x5b', '\x69', '\x5d', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x66', '\x61', '\x6c', '\x73', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x74', '\x72', '\x75', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x64', '\x65', '\x73', '\x63', '\x72', '\x69', '\x62', '\x65', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x22', '\x45', '\x71', '\x75', '\x61', '\x6c', '\x73', '\x3a', '\x20', '\x22', '\x20', '\x2b', '\x20', '\x3a', '\x3a', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x44', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x69', '\x66', '\x79', '\x28', '\x20', '\x6d', '\x5f', '\x63', '\x6f', '\x6d', '\x70', '\x61', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x54', '\x3e', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6d', '\x5f', '\x63', '\x6f', '\x6d', '\x70', '\x61', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x54', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x41', '\x70', '\x70', '\x72', '\x6f', '\x78', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x20', '\x3a', '\x20', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x42', '\x61', '\x73', '\x65', '\x3c', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x54', '\x3e', '\x3e', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x41', '\x70', '\x70', '\x72', '\x6f', '\x78', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x54', '\x3e', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x63', '\x6f', '\x6d', '\x70', '\x61', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x29', '\x20', '\x3a', '\x20', '\x6d', '\x5f', '\x63', '\x6f', '\x6d', '\x70', '\x61', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x28', '\x20', '\x63', '\x6f', '\x6d', '\x70', '\x61', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x29', '\x20', '\x7b', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x54', '\x3e', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x26', '\x76', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x6d', '\x5f', '\x63', '\x6f', '\x6d', '\x70', '\x61', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x2e', '\x73', '\x69', '\x7a', '\x65', '\x28', '\x29', '\x20', '\x21', '\x3d', '\x20', '\x76', '\x2e', '\x73', '\x69', '\x7a', '\x65', '\x28', '\x29', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x66', '\x61', '\x6c', '\x73', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x66', '\x6f', '\x72', '\x20', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x69', '\x7a', '\x65', '\x5f', '\x74', '\x20', '\x69', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x20', '\x69', '\x20', '\x3c', '\x20', '\x76', '\x2e', '\x73', '\x69', '\x7a', '\x65', '\x28', '\x29', '\x3b', '\x20', '\x2b', '\x2b', '\x69', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x6d', '\x5f', '\x63', '\x6f', '\x6d', '\x70', '\x61', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x5b', '\x69', '\x5d', '\x20', '\x21', '\x3d', '\x20', '\x61', '\x70', '\x70', '\x72', '\x6f', '\x78', '\x28', '\x76', '\x5b', '\x69', '\x5d', '\x29', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x66', '\x61', '\x6c', '\x73', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x74', '\x72', '\x75', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x64', '\x65', '\x73', '\x63', '\x72', '\x69', '\x62', '\x65', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x22', '\x69', '\x73', '\x20', '\x61', '\x70', '\x70', '\x72', '\x6f', '\x78', '\x3a', '\x20', '\x22', '\x20', '\x2b', '\x20', '\x3a', '\x3a', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x44', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x69', '\x66', '\x79', '\x28', '\x20', '\x6d', '\x5f', '\x63', '\x6f', '\x6d', '\x70', '\x61', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x20', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x3d', '\x20', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x65', '\x6e', '\x61', '\x62', '\x6c', '\x65', '\x5f', '\x69', '\x66', '\x3c', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x69', '\x73', '\x5f', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x69', '\x62', '\x6c', '\x65', '\x3c', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x2c', '\x20', '\x54', '\x3e', '\x3a', '\x3a', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x3e', '\x3a', '\x3a', '\x74', '\x79', '\x70', '\x65', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x41', '\x70', '\x70', '\x72', '\x6f', '\x78', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x26', '\x20', '\x65', '\x70', '\x73', '\x69', '\x6c', '\x6f', '\x6e', '\x28', '\x20', '\x54', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6e', '\x65', '\x77', '\x45', '\x70', '\x73', '\x69', '\x6c', '\x6f', '\x6e', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x70', '\x70', '\x72', '\x6f', '\x78', '\x2e', '\x65', '\x70', '\x73', '\x69', '\x6c', '\x6f', '\x6e', '\x28', '\x6e', '\x65', '\x77', '\x45', '\x70', '\x73', '\x69', '\x6c', '\x6f', '\x6e', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x2a', '\x74', '\x68', '\x69', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x20', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x3d', '\x20', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x65', '\x6e', '\x61', '\x62', '\x6c', '\x65', '\x5f', '\x69', '\x66', '\x3c', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x69', '\x73', '\x5f', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x69', '\x62', '\x6c', '\x65', '\x3c', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x2c', '\x20', '\x54', '\x3e', '\x3a', '\x3a', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x3e', '\x3a', '\x3a', '\x74', '\x79', '\x70', '\x65', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x41', '\x70', '\x70', '\x72', '\x6f', '\x78', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x26', '\x20', '\x6d', '\x61', '\x72', '\x67', '\x69', '\x6e', '\x28', '\x20', '\x54', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6e', '\x65', '\x77', '\x4d', '\x61', '\x72', '\x67', '\x69', '\x6e', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x70', '\x70', '\x72', '\x6f', '\x78', '\x2e', '\x6d', '\x61', '\x72', '\x67', '\x69', '\x6e', '\x28', '\x6e', '\x65', '\x77', '\x4d', '\x61', '\x72', '\x67', '\x69', '\x6e', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x2a', '\x74', '\x68', '\x69', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x20', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x3d', '\x20', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x65', '\x6e', '\x61', '\x62', '\x6c', '\x65', '\x5f', '\x69', '\x66', '\x3c', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x69', '\x73', '\x5f', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x69', '\x62', '\x6c', '\x65', '\x3c', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x2c', '\x20', '\x54', '\x3e', '\x3a', '\x3a', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x3e', '\x3a', '\x3a', '\x74', '\x79', '\x70', '\x65', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x41', '\x70', '\x70', '\x72', '\x6f', '\x78', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x26', '\x20', '\x73', '\x63', '\x61', '\x6c', '\x65', '\x28', '\x20', '\x54', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6e', '\x65', '\x77', '\x53', '\x63', '\x61', '\x6c', '\x65', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x70', '\x70', '\x72', '\x6f', '\x78', '\x2e', '\x73', '\x63', '\x61', '\x6c', '\x65', '\x28', '\x6e', '\x65', '\x77', '\x53', '\x63', '\x61', '\x6c', '\x65', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x2a', '\x74', '\x68', '\x69', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x54', '\x3e', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6d', '\x5f', '\x63', '\x6f', '\x6d', '\x70', '\x61', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x75', '\x74', '\x61', '\x62', '\x6c', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x44', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x3a', '\x3a', '\x41', '\x70', '\x70', '\x72', '\x6f', '\x78', '\x20', '\x61', '\x70', '\x70', '\x72', '\x6f', '\x78', '\x20', '\x3d', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x44', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x3a', '\x3a', '\x41', '\x70', '\x70', '\x72', '\x6f', '\x78', '\x3a', '\x3a', '\x63', '\x75', '\x73', '\x74', '\x6f', '\x6d', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x54', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x55', '\x6e', '\x6f', '\x72', '\x64', '\x65', '\x72', '\x65', '\x64', '\x45', '\x71', '\x75', '\x61', '\x6c', '\x73', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x20', '\x3a', '\x20', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x42', '\x61', '\x73', '\x65', '\x3c', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x54', '\x3e', '\x3e', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x55', '\x6e', '\x6f', '\x72', '\x64', '\x65', '\x72', '\x65', '\x64', '\x45', '\x71', '\x75', '\x61', '\x6c', '\x73', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x54', '\x3e', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x74', '\x61', '\x72', '\x67', '\x65', '\x74', '\x29', '\x20', '\x3a', '\x20', '\x6d', '\x5f', '\x74', '\x61', '\x72', '\x67', '\x65', '\x74', '\x28', '\x74', '\x61', '\x72', '\x67', '\x65', '\x74', '\x29', '\x20', '\x7b', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x54', '\x3e', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x76', '\x65', '\x63', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x4e', '\x6f', '\x74', '\x65', '\x3a', '\x20', '\x54', '\x68', '\x69', '\x73', '\x20', '\x69', '\x73', '\x20', '\x61', '\x20', '\x72', '\x65', '\x69', '\x6d', '\x70', '\x6c', '\x65', '\x6d', '\x65', '\x6e', '\x74', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x6f', '\x66', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x69', '\x73', '\x5f', '\x70', '\x65', '\x72', '\x6d', '\x75', '\x74', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x65', '\x63', '\x61', '\x75', '\x73', '\x65', '\x20', '\x49', '\x20', '\x64', '\x6f', '\x6e', '\x27', '\x74', '\x20', '\x77', '\x61', '\x6e', '\x74', '\x20', '\x74', '\x6f', '\x20', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x61', '\x6c', '\x67', '\x6f', '\x72', '\x69', '\x74', '\x68', '\x6d', '\x3e', '\x20', '\x69', '\x6e', '\x73', '\x69', '\x64', '\x65', '\x20', '\x74', '\x68', '\x65', '\x20', '\x63', '\x6f', '\x6d', '\x6d', '\x6f', '\x6e', '\x20', '\x70', '\x61', '\x74', '\x68', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x6d', '\x5f', '\x74', '\x61', '\x72', '\x67', '\x65', '\x74', '\x2e', '\x73', '\x69', '\x7a', '\x65', '\x28', '\x29', '\x20', '\x21', '\x3d', '\x20', '\x76', '\x65', '\x63', '\x2e', '\x73', '\x69', '\x7a', '\x65', '\x28', '\x29', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x66', '\x61', '\x6c', '\x73', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x69', '\x73', '\x5f', '\x70', '\x65', '\x72', '\x6d', '\x75', '\x74', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x28', '\x6d', '\x5f', '\x74', '\x61', '\x72', '\x67', '\x65', '\x74', '\x2e', '\x62', '\x65', '\x67', '\x69', '\x6e', '\x28', '\x29', '\x2c', '\x20', '\x6d', '\x5f', '\x74', '\x61', '\x72', '\x67', '\x65', '\x74', '\x2e', '\x65', '\x6e', '\x64', '\x28', '\x29', '\x2c', '\x20', '\x76', '\x65', '\x63', '\x2e', '\x62', '\x65', '\x67', '\x69', '\x6e', '\x28', '\x29', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x64', '\x65', '\x73', '\x63', '\x72', '\x69', '\x62', '\x65', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x22', '\x55', '\x6e', '\x6f', '\x72', '\x64', '\x65', '\x72', '\x65', '\x64', '\x45', '\x71', '\x75', '\x61', '\x6c', '\x73', '\x3a', '\x20', '\x22', '\x20', '\x2b', '\x20', '\x3a', '\x3a', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x44', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x69', '\x66', '\x79', '\x28', '\x6d', '\x5f', '\x74', '\x61', '\x72', '\x67', '\x65', '\x74', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x72', '\x69', '\x76', '\x61', '\x74', '\x65', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x54', '\x3e', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6d', '\x5f', '\x74', '\x61', '\x72', '\x67', '\x65', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x56', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x54', '\x68', '\x65', '\x20', '\x66', '\x6f', '\x6c', '\x6c', '\x6f', '\x77', '\x69', '\x6e', '\x67', '\x20', '\x66', '\x75', '\x6e', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x20', '\x63', '\x72', '\x65', '\x61', '\x74', '\x65', '\x20', '\x74', '\x68', '\x65', '\x20', '\x61', '\x63', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x20', '\x6f', '\x62', '\x6a', '\x65', '\x63', '\x74', '\x73', '\x2e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x54', '\x68', '\x69', '\x73', '\x20', '\x61', '\x6c', '\x6c', '\x6f', '\x77', '\x73', '\x20', '\x74', '\x68', '\x65', '\x20', '\x74', '\x79', '\x70', '\x65', '\x73', '\x20', '\x74', '\x6f', '\x20', '\x62', '\x65', '\x20', '\x69', '\x6e', '\x66', '\x65', '\x72', '\x72', '\x65', '\x64', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x54', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x56', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3a', '\x3a', '\x43', '\x6f', '\x6e', '\x74', '\x61', '\x69', '\x6e', '\x73', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x3c', '\x54', '\x3e', '\x20', '\x43', '\x6f', '\x6e', '\x74', '\x61', '\x69', '\x6e', '\x73', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x54', '\x3e', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x63', '\x6f', '\x6d', '\x70', '\x61', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x56', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3a', '\x3a', '\x43', '\x6f', '\x6e', '\x74', '\x61', '\x69', '\x6e', '\x73', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x3c', '\x54', '\x3e', '\x28', '\x20', '\x63', '\x6f', '\x6d', '\x70', '\x61', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x54', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x56', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3a', '\x3a', '\x43', '\x6f', '\x6e', '\x74', '\x61', '\x69', '\x6e', '\x73', '\x45', '\x6c', '\x65', '\x6d', '\x65', '\x6e', '\x74', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x3c', '\x54', '\x3e', '\x20', '\x56', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x43', '\x6f', '\x6e', '\x74', '\x61', '\x69', '\x6e', '\x73', '\x28', '\x20', '\x54', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x63', '\x6f', '\x6d', '\x70', '\x61', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x56', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3a', '\x3a', '\x43', '\x6f', '\x6e', '\x74', '\x61', '\x69', '\x6e', '\x73', '\x45', '\x6c', '\x65', '\x6d', '\x65', '\x6e', '\x74', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x3c', '\x54', '\x3e', '\x28', '\x20', '\x63', '\x6f', '\x6d', '\x70', '\x61', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x54', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x56', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3a', '\x3a', '\x45', '\x71', '\x75', '\x61', '\x6c', '\x73', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x3c', '\x54', '\x3e', '\x20', '\x45', '\x71', '\x75', '\x61', '\x6c', '\x73', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x54', '\x3e', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x63', '\x6f', '\x6d', '\x70', '\x61', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x56', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3a', '\x3a', '\x45', '\x71', '\x75', '\x61', '\x6c', '\x73', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x3c', '\x54', '\x3e', '\x28', '\x20', '\x63', '\x6f', '\x6d', '\x70', '\x61', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x54', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x56', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3a', '\x3a', '\x41', '\x70', '\x70', '\x72', '\x6f', '\x78', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x3c', '\x54', '\x3e', '\x20', '\x41', '\x70', '\x70', '\x72', '\x6f', '\x78', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x54', '\x3e', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x63', '\x6f', '\x6d', '\x70', '\x61', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x56', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3a', '\x3a', '\x41', '\x70', '\x70', '\x72', '\x6f', '\x78', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x3c', '\x54', '\x3e', '\x28', '\x20', '\x63', '\x6f', '\x6d', '\x70', '\x61', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x54', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x56', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3a', '\x3a', '\x55', '\x6e', '\x6f', '\x72', '\x64', '\x65', '\x72', '\x65', '\x64', '\x45', '\x71', '\x75', '\x61', '\x6c', '\x73', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x3c', '\x54', '\x3e', '\x20', '\x55', '\x6e', '\x6f', '\x72', '\x64', '\x65', '\x72', '\x65', '\x64', '\x45', '\x71', '\x75', '\x61', '\x6c', '\x73', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x54', '\x3e', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x74', '\x61', '\x72', '\x67', '\x65', '\x74', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x56', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3a', '\x3a', '\x55', '\x6e', '\x6f', '\x72', '\x64', '\x65', '\x72', '\x65', '\x64', '\x45', '\x71', '\x75', '\x61', '\x6c', '\x73', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x3c', '\x54', '\x3e', '\x28', '\x74', '\x61', '\x72', '\x67', '\x65', '\x74', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x73', '\x0d', '\x0a', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x73', '\x5f', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x2e', '\x68', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x41', '\x72', '\x67', '\x54', '\x2c', '\x20', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x54', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x20', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x45', '\x78', '\x70', '\x72', '\x20', '\x3a', '\x20', '\x70', '\x75', '\x62', '\x6c', '\x69', '\x63', '\x20', '\x49', '\x54', '\x72', '\x61', '\x6e', '\x73', '\x69', '\x65', '\x6e', '\x74', '\x45', '\x78', '\x70', '\x72', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x41', '\x72', '\x67', '\x54', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6d', '\x5f', '\x61', '\x72', '\x67', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x54', '\x20', '\x6d', '\x5f', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x66', '\x20', '\x6d', '\x5f', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x70', '\x75', '\x62', '\x6c', '\x69', '\x63', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x45', '\x78', '\x70', '\x72', '\x28', '\x20', '\x41', '\x72', '\x67', '\x54', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x61', '\x72', '\x67', '\x2c', '\x20', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x54', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x2c', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x66', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x3a', '\x20', '\x20', '\x20', '\x49', '\x54', '\x72', '\x61', '\x6e', '\x73', '\x69', '\x65', '\x6e', '\x74', '\x45', '\x78', '\x70', '\x72', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x7b', '\x20', '\x74', '\x72', '\x75', '\x65', '\x2c', '\x20', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x2e', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x28', '\x20', '\x61', '\x72', '\x67', '\x20', '\x29', '\x20', '\x7d', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x61', '\x72', '\x67', '\x28', '\x20', '\x61', '\x72', '\x67', '\x20', '\x29', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x28', '\x20', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x20', '\x29', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x28', '\x20', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7b', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x52', '\x65', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x65', '\x64', '\x45', '\x78', '\x70', '\x72', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6f', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x20', '\x26', '\x6f', '\x73', '\x20', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x41', '\x73', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x3d', '\x20', '\x6d', '\x5f', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x2e', '\x74', '\x6f', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6f', '\x73', '\x20', '\x3c', '\x3c', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x44', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x69', '\x66', '\x79', '\x28', '\x20', '\x6d', '\x5f', '\x61', '\x72', '\x67', '\x20', '\x29', '\x20', '\x3c', '\x3c', '\x20', '\x27', '\x20', '\x27', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x41', '\x73', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x3d', '\x3d', '\x20', '\x44', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x3a', '\x3a', '\x75', '\x6e', '\x70', '\x72', '\x69', '\x6e', '\x74', '\x61', '\x62', '\x6c', '\x65', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6f', '\x73', '\x20', '\x3c', '\x3c', '\x20', '\x6d', '\x5f', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x6c', '\x73', '\x65', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6f', '\x73', '\x20', '\x3c', '\x3c', '\x20', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x41', '\x73', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x75', '\x73', '\x69', '\x6e', '\x67', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x20', '\x3d', '\x20', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x73', '\x3a', '\x3a', '\x49', '\x6d', '\x70', '\x6c', '\x3a', '\x3a', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x42', '\x61', '\x73', '\x65', '\x3c', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x3e', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x68', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x45', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x45', '\x78', '\x70', '\x72', '\x28', '\x20', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x48', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x72', '\x26', '\x20', '\x68', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x72', '\x2c', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x2c', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x66', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x41', '\x72', '\x67', '\x54', '\x2c', '\x20', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x54', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x6d', '\x61', '\x6b', '\x65', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x45', '\x78', '\x70', '\x72', '\x28', '\x20', '\x41', '\x72', '\x67', '\x54', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x61', '\x72', '\x67', '\x2c', '\x20', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x54', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x2c', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x66', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x20', '\x29', '\x20', '\x2d', '\x3e', '\x20', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x45', '\x78', '\x70', '\x72', '\x3c', '\x41', '\x72', '\x67', '\x54', '\x2c', '\x20', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x54', '\x3e', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x45', '\x78', '\x70', '\x72', '\x3c', '\x41', '\x72', '\x67', '\x54', '\x2c', '\x20', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x54', '\x3e', '\x28', '\x20', '\x61', '\x72', '\x67', '\x2c', '\x20', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x2c', '\x20', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x48', '\x45', '\x43', '\x4b', '\x5f', '\x54', '\x48', '\x41', '\x54', '\x28', '\x20', '\x6d', '\x61', '\x63', '\x72', '\x6f', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x2c', '\x20', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x44', '\x69', '\x73', '\x70', '\x6f', '\x73', '\x69', '\x74', '\x69', '\x6f', '\x6e', '\x2c', '\x20', '\x61', '\x72', '\x67', '\x20', '\x29', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x64', '\x6f', '\x20', '\x7b', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x48', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x72', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x48', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x72', '\x28', '\x20', '\x6d', '\x61', '\x63', '\x72', '\x6f', '\x4e', '\x61', '\x6d', '\x65', '\x23', '\x23', '\x5f', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x73', '\x72', '\x2c', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x4c', '\x49', '\x4e', '\x45', '\x49', '\x4e', '\x46', '\x4f', '\x2c', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x53', '\x54', '\x52', '\x49', '\x4e', '\x47', '\x49', '\x46', '\x59', '\x28', '\x61', '\x72', '\x67', '\x29', '\x20', '\x22', '\x2c', '\x20', '\x22', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x53', '\x54', '\x52', '\x49', '\x4e', '\x47', '\x49', '\x46', '\x59', '\x28', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x29', '\x2c', '\x20', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x44', '\x69', '\x73', '\x70', '\x6f', '\x73', '\x69', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x29', '\x3b', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x52', '\x59', '\x20', '\x7b', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x48', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x72', '\x2e', '\x68', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x45', '\x78', '\x70', '\x72', '\x28', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x6d', '\x61', '\x6b', '\x65', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x45', '\x78', '\x70', '\x72', '\x28', '\x20', '\x61', '\x72', '\x67', '\x2c', '\x20', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x2c', '\x20', '\x23', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x23', '\x23', '\x5f', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x73', '\x72', '\x20', '\x29', '\x20', '\x29', '\x3b', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x28', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x48', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x72', '\x20', '\x29', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x41', '\x43', '\x54', '\x28', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x48', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x72', '\x20', '\x29', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x20', '\x77', '\x68', '\x69', '\x6c', '\x65', '\x28', '\x20', '\x66', '\x61', '\x6c', '\x73', '\x65', '\x20', '\x29', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x48', '\x52', '\x4f', '\x57', '\x53', '\x5f', '\x4d', '\x41', '\x54', '\x43', '\x48', '\x45', '\x53', '\x28', '\x20', '\x6d', '\x61', '\x63', '\x72', '\x6f', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x54', '\x79', '\x70', '\x65', '\x2c', '\x20', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x44', '\x69', '\x73', '\x70', '\x6f', '\x73', '\x69', '\x74', '\x69', '\x6f', '\x6e', '\x2c', '\x20', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x2c', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x64', '\x6f', '\x20', '\x7b', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x48', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x72', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x48', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x72', '\x28', '\x20', '\x6d', '\x61', '\x63', '\x72', '\x6f', '\x4e', '\x61', '\x6d', '\x65', '\x23', '\x23', '\x5f', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x73', '\x72', '\x2c', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x4c', '\x49', '\x4e', '\x45', '\x49', '\x4e', '\x46', '\x4f', '\x2c', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x53', '\x54', '\x52', '\x49', '\x4e', '\x47', '\x49', '\x46', '\x59', '\x28', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x29', '\x20', '\x22', '\x2c', '\x20', '\x22', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x53', '\x54', '\x52', '\x49', '\x4e', '\x47', '\x49', '\x46', '\x59', '\x28', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x54', '\x79', '\x70', '\x65', '\x29', '\x20', '\x22', '\x2c', '\x20', '\x22', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x53', '\x54', '\x52', '\x49', '\x4e', '\x47', '\x49', '\x46', '\x59', '\x28', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x29', '\x2c', '\x20', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x44', '\x69', '\x73', '\x70', '\x6f', '\x73', '\x69', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x29', '\x3b', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x48', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x72', '\x2e', '\x61', '\x6c', '\x6c', '\x6f', '\x77', '\x54', '\x68', '\x72', '\x6f', '\x77', '\x73', '\x28', '\x29', '\x20', '\x29', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x72', '\x79', '\x20', '\x7b', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x5f', '\x63', '\x61', '\x73', '\x74', '\x3c', '\x76', '\x6f', '\x69', '\x64', '\x3e', '\x28', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x20', '\x29', '\x3b', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x48', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x72', '\x2e', '\x68', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x55', '\x6e', '\x65', '\x78', '\x70', '\x65', '\x63', '\x74', '\x65', '\x64', '\x45', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x4e', '\x6f', '\x74', '\x54', '\x68', '\x72', '\x6f', '\x77', '\x6e', '\x28', '\x29', '\x3b', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x28', '\x20', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x54', '\x79', '\x70', '\x65', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x65', '\x78', '\x20', '\x29', '\x20', '\x7b', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x48', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x72', '\x2e', '\x68', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x45', '\x78', '\x70', '\x72', '\x28', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x6d', '\x61', '\x6b', '\x65', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x45', '\x78', '\x70', '\x72', '\x28', '\x20', '\x65', '\x78', '\x2c', '\x20', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x2c', '\x20', '\x23', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x23', '\x23', '\x5f', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x73', '\x72', '\x20', '\x29', '\x20', '\x29', '\x3b', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x28', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x7b', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x48', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x72', '\x2e', '\x68', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x55', '\x6e', '\x65', '\x78', '\x70', '\x65', '\x63', '\x74', '\x65', '\x64', '\x49', '\x6e', '\x66', '\x6c', '\x69', '\x67', '\x68', '\x74', '\x45', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x28', '\x29', '\x3b', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x6c', '\x73', '\x65', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x48', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x72', '\x2e', '\x68', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x54', '\x68', '\x72', '\x6f', '\x77', '\x69', '\x6e', '\x67', '\x43', '\x61', '\x6c', '\x6c', '\x53', '\x6b', '\x69', '\x70', '\x70', '\x65', '\x64', '\x28', '\x29', '\x3b', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x41', '\x43', '\x54', '\x28', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x48', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x72', '\x20', '\x29', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x20', '\x77', '\x68', '\x69', '\x6c', '\x65', '\x28', '\x20', '\x66', '\x61', '\x6c', '\x73', '\x65', '\x20', '\x29', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x63', '\x61', '\x70', '\x74', '\x75', '\x72', '\x65', '\x5f', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x73', '\x2e', '\x68', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x67', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x73', '\x2e', '\x68', '\x70', '\x70', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x69', '\x6e', '\x74', '\x65', '\x72', '\x66', '\x61', '\x63', '\x65', '\x73', '\x5f', '\x67', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x74', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x2e', '\x68', '\x0d', '\x0a', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x6d', '\x65', '\x6d', '\x6f', '\x72', '\x79', '\x3e', '\x0d', '\x0a', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x73', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x20', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x55', '\x6e', '\x74', '\x79', '\x70', '\x65', '\x64', '\x42', '\x61', '\x73', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x75', '\x62', '\x6c', '\x69', '\x63', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x55', '\x6e', '\x74', '\x79', '\x70', '\x65', '\x64', '\x42', '\x61', '\x73', '\x65', '\x28', '\x29', '\x20', '\x3d', '\x20', '\x64', '\x65', '\x66', '\x61', '\x75', '\x6c', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x69', '\x72', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x7e', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x55', '\x6e', '\x74', '\x79', '\x70', '\x65', '\x64', '\x42', '\x61', '\x73', '\x65', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x41', '\x74', '\x74', '\x65', '\x6d', '\x70', '\x74', '\x73', '\x20', '\x74', '\x6f', '\x20', '\x6d', '\x6f', '\x76', '\x65', '\x20', '\x74', '\x68', '\x65', '\x20', '\x67', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x74', '\x6f', '\x20', '\x74', '\x68', '\x65', '\x20', '\x6e', '\x65', '\x78', '\x74', '\x20', '\x65', '\x6c', '\x65', '\x6d', '\x65', '\x6e', '\x74', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x52', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x73', '\x20', '\x74', '\x72', '\x75', '\x65', '\x20', '\x69', '\x66', '\x66', '\x20', '\x74', '\x68', '\x65', '\x20', '\x6d', '\x6f', '\x76', '\x65', '\x20', '\x73', '\x75', '\x63', '\x63', '\x65', '\x65', '\x64', '\x65', '\x64', '\x20', '\x28', '\x61', '\x6e', '\x64', '\x20', '\x61', '\x20', '\x76', '\x61', '\x6c', '\x69', '\x64', '\x20', '\x65', '\x6c', '\x65', '\x6d', '\x65', '\x6e', '\x74', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x63', '\x61', '\x6e', '\x20', '\x62', '\x65', '\x20', '\x72', '\x65', '\x74', '\x72', '\x69', '\x65', '\x76', '\x65', '\x64', '\x29', '\x2e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x69', '\x72', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x6e', '\x65', '\x78', '\x74', '\x28', '\x29', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x75', '\x73', '\x69', '\x6e', '\x67', '\x20', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x42', '\x61', '\x73', '\x65', '\x50', '\x74', '\x72', '\x20', '\x3d', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x75', '\x6e', '\x69', '\x71', '\x75', '\x65', '\x5f', '\x70', '\x74', '\x72', '\x3c', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x55', '\x6e', '\x74', '\x79', '\x70', '\x65', '\x64', '\x42', '\x61', '\x73', '\x65', '\x3e', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x73', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x49', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x69', '\x72', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x7e', '\x49', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x69', '\x72', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x68', '\x61', '\x73', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x2d', '\x3e', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x69', '\x72', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x67', '\x65', '\x74', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x2d', '\x3e', '\x20', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x73', '\x3a', '\x3a', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x42', '\x61', '\x73', '\x65', '\x50', '\x74', '\x72', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x69', '\x72', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x73', '\x65', '\x74', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x28', '\x20', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x73', '\x3a', '\x3a', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x42', '\x61', '\x73', '\x65', '\x50', '\x74', '\x72', '\x26', '\x26', '\x20', '\x67', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x29', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x69', '\x6e', '\x74', '\x65', '\x72', '\x66', '\x61', '\x63', '\x65', '\x73', '\x5f', '\x67', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x74', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x2e', '\x68', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x65', '\x6e', '\x66', '\x6f', '\x72', '\x63', '\x65', '\x2e', '\x68', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x3e', '\x0d', '\x0a', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x20', '\x21', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x44', '\x49', '\x53', '\x41', '\x42', '\x4c', '\x45', '\x5f', '\x45', '\x58', '\x43', '\x45', '\x50', '\x54', '\x49', '\x4f', '\x4e', '\x53', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x20', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x45', '\x78', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x5b', '\x5b', '\x6e', '\x6f', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x5d', '\x5d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x74', '\x68', '\x72', '\x6f', '\x77', '\x5f', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x28', '\x45', '\x78', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x65', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x68', '\x72', '\x6f', '\x77', '\x20', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x23', '\x65', '\x6c', '\x73', '\x65', '\x20', '\x2f', '\x2f', '\x20', '\x5e', '\x5e', '\x20', '\x45', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x20', '\x61', '\x72', '\x65', '\x20', '\x65', '\x6e', '\x61', '\x62', '\x6c', '\x65', '\x64', '\x20', '\x2f', '\x2f', '\x20', '\x20', '\x45', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x20', '\x61', '\x72', '\x65', '\x20', '\x64', '\x69', '\x73', '\x61', '\x62', '\x6c', '\x65', '\x64', '\x20', '\x76', '\x76', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x5b', '\x5b', '\x6e', '\x6f', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x5d', '\x5d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x74', '\x68', '\x72', '\x6f', '\x77', '\x5f', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x65', '\x29', '\x3b', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x5b', '\x5b', '\x6e', '\x6f', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x5d', '\x5d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x74', '\x68', '\x72', '\x6f', '\x77', '\x5f', '\x6c', '\x6f', '\x67', '\x69', '\x63', '\x5f', '\x65', '\x72', '\x72', '\x6f', '\x72', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6d', '\x73', '\x67', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x5b', '\x5b', '\x6e', '\x6f', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x5d', '\x5d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x74', '\x68', '\x72', '\x6f', '\x77', '\x5f', '\x64', '\x6f', '\x6d', '\x61', '\x69', '\x6e', '\x5f', '\x65', '\x72', '\x72', '\x6f', '\x72', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6d', '\x73', '\x67', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x5b', '\x5b', '\x6e', '\x6f', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x5d', '\x5d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x74', '\x68', '\x72', '\x6f', '\x77', '\x5f', '\x72', '\x75', '\x6e', '\x74', '\x69', '\x6d', '\x65', '\x5f', '\x65', '\x72', '\x72', '\x6f', '\x72', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6d', '\x73', '\x67', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x4d', '\x41', '\x4b', '\x45', '\x5f', '\x4d', '\x53', '\x47', '\x28', '\x2e', '\x2e', '\x2e', '\x29', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x28', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x52', '\x65', '\x75', '\x73', '\x61', '\x62', '\x6c', '\x65', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x28', '\x29', '\x20', '\x3c', '\x3c', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x29', '\x2e', '\x73', '\x74', '\x72', '\x28', '\x29', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x45', '\x52', '\x52', '\x4f', '\x52', '\x28', '\x2e', '\x2e', '\x2e', '\x29', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x74', '\x68', '\x72', '\x6f', '\x77', '\x5f', '\x6c', '\x6f', '\x67', '\x69', '\x63', '\x5f', '\x65', '\x72', '\x72', '\x6f', '\x72', '\x28', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x4d', '\x41', '\x4b', '\x45', '\x5f', '\x4d', '\x53', '\x47', '\x28', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x4c', '\x49', '\x4e', '\x45', '\x49', '\x4e', '\x46', '\x4f', '\x20', '\x3c', '\x3c', '\x20', '\x22', '\x3a', '\x20', '\x49', '\x6e', '\x74', '\x65', '\x72', '\x6e', '\x61', '\x6c', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x32', '\x20', '\x65', '\x72', '\x72', '\x6f', '\x72', '\x3a', '\x20', '\x22', '\x20', '\x3c', '\x3c', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x29', '\x29', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x45', '\x52', '\x52', '\x4f', '\x52', '\x28', '\x2e', '\x2e', '\x2e', '\x29', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x74', '\x68', '\x72', '\x6f', '\x77', '\x5f', '\x64', '\x6f', '\x6d', '\x61', '\x69', '\x6e', '\x5f', '\x65', '\x72', '\x72', '\x6f', '\x72', '\x28', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x4d', '\x41', '\x4b', '\x45', '\x5f', '\x4d', '\x53', '\x47', '\x28', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x20', '\x29', '\x29', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x55', '\x4e', '\x54', '\x49', '\x4d', '\x45', '\x5f', '\x45', '\x52', '\x52', '\x4f', '\x52', '\x28', '\x2e', '\x2e', '\x2e', '\x29', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x74', '\x68', '\x72', '\x6f', '\x77', '\x5f', '\x72', '\x75', '\x6e', '\x74', '\x69', '\x6d', '\x65', '\x5f', '\x65', '\x72', '\x72', '\x6f', '\x72', '\x28', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x4d', '\x41', '\x4b', '\x45', '\x5f', '\x4d', '\x53', '\x47', '\x28', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x20', '\x29', '\x29', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x45', '\x4e', '\x46', '\x4f', '\x52', '\x43', '\x45', '\x28', '\x20', '\x63', '\x6f', '\x6e', '\x64', '\x69', '\x74', '\x69', '\x6f', '\x6e', '\x2c', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x64', '\x6f', '\x7b', '\x20', '\x69', '\x66', '\x28', '\x20', '\x21', '\x28', '\x63', '\x6f', '\x6e', '\x64', '\x69', '\x74', '\x69', '\x6f', '\x6e', '\x29', '\x20', '\x29', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x45', '\x52', '\x52', '\x4f', '\x52', '\x28', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x20', '\x29', '\x3b', '\x20', '\x7d', '\x20', '\x77', '\x68', '\x69', '\x6c', '\x65', '\x28', '\x66', '\x61', '\x6c', '\x73', '\x65', '\x29', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x65', '\x6e', '\x66', '\x6f', '\x72', '\x63', '\x65', '\x2e', '\x68', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x6d', '\x65', '\x6d', '\x6f', '\x72', '\x79', '\x3e', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3e', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x63', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x3e', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x75', '\x74', '\x69', '\x6c', '\x69', '\x74', '\x79', '\x3e', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x3e', '\x0d', '\x0a', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x20', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x45', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x3a', '\x20', '\x70', '\x75', '\x62', '\x6c', '\x69', '\x63', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x63', '\x68', '\x61', '\x72', '\x2a', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x6d', '\x5f', '\x6d', '\x73', '\x67', '\x20', '\x3d', '\x20', '\x22', '\x22', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x70', '\x75', '\x62', '\x6c', '\x69', '\x63', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x45', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x28', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x63', '\x68', '\x61', '\x72', '\x2a', '\x20', '\x6d', '\x73', '\x67', '\x29', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x6d', '\x73', '\x67', '\x28', '\x6d', '\x73', '\x67', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7b', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x63', '\x68', '\x61', '\x72', '\x2a', '\x20', '\x77', '\x68', '\x61', '\x74', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x6e', '\x6f', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x20', '\x66', '\x69', '\x6e', '\x61', '\x6c', '\x3b', '\x0d', '\x0a', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x73', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x21', '\x54', '\x42', '\x44', '\x20', '\x6d', '\x6f', '\x76', '\x65', '\x20', '\x74', '\x68', '\x69', '\x73', '\x20', '\x69', '\x6e', '\x74', '\x6f', '\x20', '\x69', '\x74', '\x73', '\x20', '\x6f', '\x77', '\x6e', '\x20', '\x6c', '\x6f', '\x63', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x3f', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x70', '\x66', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x54', '\x2c', '\x20', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x2e', '\x2e', '\x2e', '\x20', '\x41', '\x72', '\x67', '\x73', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x75', '\x6e', '\x69', '\x71', '\x75', '\x65', '\x5f', '\x70', '\x74', '\x72', '\x3c', '\x54', '\x3e', '\x20', '\x6d', '\x61', '\x6b', '\x65', '\x5f', '\x75', '\x6e', '\x69', '\x71', '\x75', '\x65', '\x28', '\x20', '\x41', '\x72', '\x67', '\x73', '\x26', '\x26', '\x2e', '\x2e', '\x2e', '\x20', '\x61', '\x72', '\x67', '\x73', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x75', '\x6e', '\x69', '\x71', '\x75', '\x65', '\x5f', '\x70', '\x74', '\x72', '\x3c', '\x54', '\x3e', '\x28', '\x6e', '\x65', '\x77', '\x20', '\x54', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x66', '\x6f', '\x72', '\x77', '\x61', '\x72', '\x64', '\x3c', '\x41', '\x72', '\x67', '\x73', '\x3e', '\x28', '\x61', '\x72', '\x67', '\x73', '\x29', '\x2e', '\x2e', '\x2e', '\x29', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x54', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x49', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x3a', '\x20', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x55', '\x6e', '\x74', '\x79', '\x70', '\x65', '\x64', '\x42', '\x61', '\x73', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x69', '\x72', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x7e', '\x49', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x28', '\x29', '\x20', '\x3d', '\x20', '\x64', '\x65', '\x66', '\x61', '\x75', '\x6c', '\x74', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x52', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x73', '\x20', '\x74', '\x68', '\x65', '\x20', '\x63', '\x75', '\x72', '\x72', '\x65', '\x6e', '\x74', '\x20', '\x65', '\x6c', '\x65', '\x6d', '\x65', '\x6e', '\x74', '\x20', '\x6f', '\x66', '\x20', '\x74', '\x68', '\x65', '\x20', '\x67', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x5c', '\x50', '\x72', '\x65', '\x63', '\x6f', '\x6e', '\x64', '\x69', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x54', '\x68', '\x65', '\x20', '\x67', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x69', '\x73', '\x20', '\x65', '\x69', '\x74', '\x68', '\x65', '\x72', '\x20', '\x66', '\x72', '\x65', '\x73', '\x68', '\x6c', '\x79', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x65', '\x64', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x6f', '\x72', '\x20', '\x74', '\x68', '\x65', '\x20', '\x6c', '\x61', '\x73', '\x74', '\x20', '\x63', '\x61', '\x6c', '\x6c', '\x20', '\x74', '\x6f', '\x20', '\x60', '\x6e', '\x65', '\x78', '\x74', '\x28', '\x29', '\x60', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x65', '\x64', '\x20', '\x74', '\x72', '\x75', '\x65', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x69', '\x72', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x54', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x67', '\x65', '\x74', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x75', '\x73', '\x69', '\x6e', '\x67', '\x20', '\x74', '\x79', '\x70', '\x65', '\x20', '\x3d', '\x20', '\x54', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x54', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x20', '\x53', '\x69', '\x6e', '\x67', '\x6c', '\x65', '\x56', '\x61', '\x6c', '\x75', '\x65', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x66', '\x69', '\x6e', '\x61', '\x6c', '\x20', '\x3a', '\x20', '\x70', '\x75', '\x62', '\x6c', '\x69', '\x63', '\x20', '\x49', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x3c', '\x54', '\x3e', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x54', '\x20', '\x6d', '\x5f', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x70', '\x75', '\x62', '\x6c', '\x69', '\x63', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x53', '\x69', '\x6e', '\x67', '\x6c', '\x65', '\x56', '\x61', '\x6c', '\x75', '\x65', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x28', '\x54', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x29', '\x20', '\x3a', '\x20', '\x6d', '\x5f', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x28', '\x20', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x20', '\x29', '\x20', '\x7b', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x53', '\x69', '\x6e', '\x67', '\x6c', '\x65', '\x56', '\x61', '\x6c', '\x75', '\x65', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x28', '\x54', '\x26', '\x26', '\x20', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x29', '\x20', '\x3a', '\x20', '\x6d', '\x5f', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6d', '\x6f', '\x76', '\x65', '\x28', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x29', '\x29', '\x20', '\x7b', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x54', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x67', '\x65', '\x74', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6d', '\x5f', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x6e', '\x65', '\x78', '\x74', '\x28', '\x29', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x66', '\x61', '\x6c', '\x73', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x54', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x20', '\x46', '\x69', '\x78', '\x65', '\x64', '\x56', '\x61', '\x6c', '\x75', '\x65', '\x73', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x66', '\x69', '\x6e', '\x61', '\x6c', '\x20', '\x3a', '\x20', '\x70', '\x75', '\x62', '\x6c', '\x69', '\x63', '\x20', '\x49', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x3c', '\x54', '\x3e', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x5f', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x28', '\x21', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x69', '\x73', '\x5f', '\x73', '\x61', '\x6d', '\x65', '\x3c', '\x54', '\x2c', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x3e', '\x3a', '\x3a', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x22', '\x46', '\x69', '\x78', '\x65', '\x64', '\x56', '\x61', '\x6c', '\x75', '\x65', '\x73', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x64', '\x6f', '\x65', '\x73', '\x20', '\x6e', '\x6f', '\x74', '\x20', '\x73', '\x75', '\x70', '\x70', '\x6f', '\x72', '\x74', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x73', '\x20', '\x62', '\x65', '\x63', '\x61', '\x75', '\x73', '\x65', '\x20', '\x6f', '\x66', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x62', '\x6f', '\x6f', '\x6c', '\x3e', '\x22', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x22', '\x73', '\x70', '\x65', '\x63', '\x69', '\x61', '\x6c', '\x69', '\x7a', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x2c', '\x20', '\x75', '\x73', '\x65', '\x20', '\x53', '\x69', '\x6e', '\x67', '\x6c', '\x65', '\x56', '\x61', '\x6c', '\x75', '\x65', '\x20', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x69', '\x6e', '\x73', '\x74', '\x65', '\x61', '\x64', '\x2e', '\x22', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x54', '\x3e', '\x20', '\x6d', '\x5f', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x69', '\x7a', '\x65', '\x5f', '\x74', '\x20', '\x6d', '\x5f', '\x69', '\x64', '\x78', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x70', '\x75', '\x62', '\x6c', '\x69', '\x63', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x46', '\x69', '\x78', '\x65', '\x64', '\x56', '\x61', '\x6c', '\x75', '\x65', '\x73', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x69', '\x6e', '\x69', '\x74', '\x69', '\x61', '\x6c', '\x69', '\x7a', '\x65', '\x72', '\x5f', '\x6c', '\x69', '\x73', '\x74', '\x3c', '\x54', '\x3e', '\x20', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x73', '\x20', '\x29', '\x20', '\x3a', '\x20', '\x6d', '\x5f', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x73', '\x28', '\x20', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x73', '\x20', '\x29', '\x20', '\x7b', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x54', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x67', '\x65', '\x74', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6d', '\x5f', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x73', '\x5b', '\x6d', '\x5f', '\x69', '\x64', '\x78', '\x5d', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x6e', '\x65', '\x78', '\x74', '\x28', '\x29', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2b', '\x2b', '\x6d', '\x5f', '\x69', '\x64', '\x78', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6d', '\x5f', '\x69', '\x64', '\x78', '\x20', '\x3c', '\x20', '\x6d', '\x5f', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x73', '\x2e', '\x73', '\x69', '\x7a', '\x65', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x20', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x54', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x20', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x57', '\x72', '\x61', '\x70', '\x70', '\x65', '\x72', '\x20', '\x66', '\x69', '\x6e', '\x61', '\x6c', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x75', '\x6e', '\x69', '\x71', '\x75', '\x65', '\x5f', '\x70', '\x74', '\x72', '\x3c', '\x49', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x3c', '\x54', '\x3e', '\x3e', '\x20', '\x6d', '\x5f', '\x67', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x70', '\x75', '\x62', '\x6c', '\x69', '\x63', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x57', '\x72', '\x61', '\x70', '\x70', '\x65', '\x72', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x75', '\x6e', '\x69', '\x71', '\x75', '\x65', '\x5f', '\x70', '\x74', '\x72', '\x3c', '\x49', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x3c', '\x54', '\x3e', '\x3e', '\x20', '\x67', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x29', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x67', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6d', '\x6f', '\x76', '\x65', '\x28', '\x67', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x29', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7b', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x54', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x67', '\x65', '\x74', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6d', '\x5f', '\x67', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x2d', '\x3e', '\x67', '\x65', '\x74', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x6e', '\x65', '\x78', '\x74', '\x28', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6d', '\x5f', '\x67', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x2d', '\x3e', '\x6e', '\x65', '\x78', '\x74', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x20', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x54', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x57', '\x72', '\x61', '\x70', '\x70', '\x65', '\x72', '\x3c', '\x54', '\x3e', '\x20', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x28', '\x54', '\x26', '\x26', '\x20', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x57', '\x72', '\x61', '\x70', '\x70', '\x65', '\x72', '\x3c', '\x54', '\x3e', '\x28', '\x70', '\x66', '\x3a', '\x3a', '\x6d', '\x61', '\x6b', '\x65', '\x5f', '\x75', '\x6e', '\x69', '\x71', '\x75', '\x65', '\x3c', '\x53', '\x69', '\x6e', '\x67', '\x6c', '\x65', '\x56', '\x61', '\x6c', '\x75', '\x65', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x3c', '\x54', '\x3e', '\x3e', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x66', '\x6f', '\x72', '\x77', '\x61', '\x72', '\x64', '\x3c', '\x54', '\x3e', '\x28', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x29', '\x29', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x20', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x54', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x57', '\x72', '\x61', '\x70', '\x70', '\x65', '\x72', '\x3c', '\x54', '\x3e', '\x20', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x73', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x69', '\x6e', '\x69', '\x74', '\x69', '\x61', '\x6c', '\x69', '\x7a', '\x65', '\x72', '\x5f', '\x6c', '\x69', '\x73', '\x74', '\x3c', '\x54', '\x3e', '\x20', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x73', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x57', '\x72', '\x61', '\x70', '\x70', '\x65', '\x72', '\x3c', '\x54', '\x3e', '\x28', '\x70', '\x66', '\x3a', '\x3a', '\x6d', '\x61', '\x6b', '\x65', '\x5f', '\x75', '\x6e', '\x69', '\x71', '\x75', '\x65', '\x3c', '\x46', '\x69', '\x78', '\x65', '\x64', '\x56', '\x61', '\x6c', '\x75', '\x65', '\x73', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x3c', '\x54', '\x3e', '\x3e', '\x28', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x73', '\x29', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x54', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x20', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x73', '\x20', '\x3a', '\x20', '\x70', '\x75', '\x62', '\x6c', '\x69', '\x63', '\x20', '\x49', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x3c', '\x54', '\x3e', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x57', '\x72', '\x61', '\x70', '\x70', '\x65', '\x72', '\x3c', '\x54', '\x3e', '\x3e', '\x20', '\x6d', '\x5f', '\x67', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x69', '\x7a', '\x65', '\x5f', '\x74', '\x20', '\x6d', '\x5f', '\x63', '\x75', '\x72', '\x72', '\x65', '\x6e', '\x74', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x70', '\x6f', '\x70', '\x75', '\x6c', '\x61', '\x74', '\x65', '\x28', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x57', '\x72', '\x61', '\x70', '\x70', '\x65', '\x72', '\x3c', '\x54', '\x3e', '\x26', '\x26', '\x20', '\x67', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x67', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x73', '\x2e', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x63', '\x65', '\x5f', '\x62', '\x61', '\x63', '\x6b', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6d', '\x6f', '\x76', '\x65', '\x28', '\x67', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x29', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x70', '\x6f', '\x70', '\x75', '\x6c', '\x61', '\x74', '\x65', '\x28', '\x54', '\x26', '\x26', '\x20', '\x76', '\x61', '\x6c', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x67', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x73', '\x2e', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x63', '\x65', '\x5f', '\x62', '\x61', '\x63', '\x6b', '\x28', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6d', '\x6f', '\x76', '\x65', '\x28', '\x76', '\x61', '\x6c', '\x29', '\x29', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x55', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x70', '\x6f', '\x70', '\x75', '\x6c', '\x61', '\x74', '\x65', '\x28', '\x55', '\x26', '\x26', '\x20', '\x76', '\x61', '\x6c', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x6f', '\x70', '\x75', '\x6c', '\x61', '\x74', '\x65', '\x28', '\x54', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6d', '\x6f', '\x76', '\x65', '\x28', '\x76', '\x61', '\x6c', '\x29', '\x29', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x55', '\x2c', '\x20', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x2e', '\x2e', '\x2e', '\x20', '\x47', '\x73', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x70', '\x6f', '\x70', '\x75', '\x6c', '\x61', '\x74', '\x65', '\x28', '\x55', '\x26', '\x26', '\x20', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x4f', '\x72', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x2c', '\x20', '\x47', '\x73', '\x2e', '\x2e', '\x2e', '\x20', '\x6d', '\x6f', '\x72', '\x65', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x73', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x6f', '\x70', '\x75', '\x6c', '\x61', '\x74', '\x65', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x66', '\x6f', '\x72', '\x77', '\x61', '\x72', '\x64', '\x3c', '\x55', '\x3e', '\x28', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x4f', '\x72', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x29', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x6f', '\x70', '\x75', '\x6c', '\x61', '\x74', '\x65', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x66', '\x6f', '\x72', '\x77', '\x61', '\x72', '\x64', '\x3c', '\x47', '\x73', '\x3e', '\x28', '\x6d', '\x6f', '\x72', '\x65', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x73', '\x29', '\x2e', '\x2e', '\x2e', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x70', '\x75', '\x62', '\x6c', '\x69', '\x63', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x20', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x2e', '\x2e', '\x2e', '\x20', '\x47', '\x73', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x73', '\x28', '\x47', '\x73', '\x2e', '\x2e', '\x2e', '\x20', '\x6d', '\x6f', '\x72', '\x65', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x73', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x67', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x73', '\x2e', '\x72', '\x65', '\x73', '\x65', '\x72', '\x76', '\x65', '\x28', '\x73', '\x69', '\x7a', '\x65', '\x6f', '\x66', '\x2e', '\x2e', '\x2e', '\x28', '\x47', '\x73', '\x29', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x6f', '\x70', '\x75', '\x6c', '\x61', '\x74', '\x65', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x66', '\x6f', '\x72', '\x77', '\x61', '\x72', '\x64', '\x3c', '\x47', '\x73', '\x3e', '\x28', '\x6d', '\x6f', '\x72', '\x65', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x73', '\x29', '\x2e', '\x2e', '\x2e', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x54', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x67', '\x65', '\x74', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6d', '\x5f', '\x67', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x73', '\x5b', '\x6d', '\x5f', '\x63', '\x75', '\x72', '\x72', '\x65', '\x6e', '\x74', '\x5d', '\x2e', '\x67', '\x65', '\x74', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x6e', '\x65', '\x78', '\x74', '\x28', '\x29', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x6d', '\x5f', '\x63', '\x75', '\x72', '\x72', '\x65', '\x6e', '\x74', '\x20', '\x3e', '\x3d', '\x20', '\x6d', '\x5f', '\x67', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x73', '\x2e', '\x73', '\x69', '\x7a', '\x65', '\x28', '\x29', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x66', '\x61', '\x6c', '\x73', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x63', '\x75', '\x72', '\x72', '\x65', '\x6e', '\x74', '\x5f', '\x73', '\x74', '\x61', '\x74', '\x75', '\x73', '\x20', '\x3d', '\x20', '\x6d', '\x5f', '\x67', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x73', '\x5b', '\x6d', '\x5f', '\x63', '\x75', '\x72', '\x72', '\x65', '\x6e', '\x74', '\x5d', '\x2e', '\x6e', '\x65', '\x78', '\x74', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x21', '\x63', '\x75', '\x72', '\x72', '\x65', '\x6e', '\x74', '\x5f', '\x73', '\x74', '\x61', '\x74', '\x75', '\x73', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2b', '\x2b', '\x6d', '\x5f', '\x63', '\x75', '\x72', '\x72', '\x65', '\x6e', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6d', '\x5f', '\x63', '\x75', '\x72', '\x72', '\x65', '\x6e', '\x74', '\x20', '\x3c', '\x20', '\x6d', '\x5f', '\x67', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x73', '\x2e', '\x73', '\x69', '\x7a', '\x65', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x2e', '\x2e', '\x2e', '\x20', '\x54', '\x73', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x57', '\x72', '\x61', '\x70', '\x70', '\x65', '\x72', '\x3c', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x74', '\x75', '\x70', '\x6c', '\x65', '\x3c', '\x54', '\x73', '\x2e', '\x2e', '\x2e', '\x3e', '\x3e', '\x20', '\x74', '\x61', '\x62', '\x6c', '\x65', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x69', '\x6e', '\x69', '\x74', '\x69', '\x61', '\x6c', '\x69', '\x7a', '\x65', '\x72', '\x5f', '\x6c', '\x69', '\x73', '\x74', '\x3c', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x74', '\x75', '\x70', '\x6c', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x64', '\x65', '\x63', '\x61', '\x79', '\x3c', '\x54', '\x73', '\x3e', '\x3a', '\x3a', '\x74', '\x79', '\x70', '\x65', '\x2e', '\x2e', '\x2e', '\x3e', '\x3e', '\x20', '\x74', '\x75', '\x70', '\x6c', '\x65', '\x73', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x73', '\x3c', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x74', '\x75', '\x70', '\x6c', '\x65', '\x3c', '\x54', '\x73', '\x2e', '\x2e', '\x2e', '\x3e', '\x3e', '\x28', '\x20', '\x74', '\x75', '\x70', '\x6c', '\x65', '\x73', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x54', '\x61', '\x67', '\x20', '\x74', '\x79', '\x70', '\x65', '\x20', '\x74', '\x6f', '\x20', '\x73', '\x69', '\x67', '\x6e', '\x61', '\x6c', '\x20', '\x74', '\x68', '\x61', '\x74', '\x20', '\x61', '\x20', '\x67', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x73', '\x65', '\x71', '\x75', '\x65', '\x6e', '\x63', '\x65', '\x20', '\x73', '\x68', '\x6f', '\x75', '\x6c', '\x64', '\x20', '\x63', '\x6f', '\x6e', '\x76', '\x65', '\x72', '\x74', '\x20', '\x61', '\x72', '\x67', '\x75', '\x6d', '\x65', '\x6e', '\x74', '\x73', '\x20', '\x74', '\x6f', '\x20', '\x61', '\x20', '\x73', '\x70', '\x65', '\x63', '\x69', '\x66', '\x69', '\x63', '\x20', '\x74', '\x79', '\x70', '\x65', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x20', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x54', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x61', '\x73', '\x20', '\x7b', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x54', '\x2c', '\x20', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x2e', '\x2e', '\x2e', '\x20', '\x47', '\x73', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x6d', '\x61', '\x6b', '\x65', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x73', '\x28', '\x20', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x57', '\x72', '\x61', '\x70', '\x70', '\x65', '\x72', '\x3c', '\x54', '\x3e', '\x26', '\x26', '\x20', '\x67', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x2c', '\x20', '\x47', '\x73', '\x2e', '\x2e', '\x2e', '\x20', '\x6d', '\x6f', '\x72', '\x65', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x73', '\x20', '\x29', '\x20', '\x2d', '\x3e', '\x20', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x73', '\x3c', '\x54', '\x3e', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x73', '\x3c', '\x54', '\x3e', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6d', '\x6f', '\x76', '\x65', '\x28', '\x67', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x29', '\x2c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x66', '\x6f', '\x72', '\x77', '\x61', '\x72', '\x64', '\x3c', '\x47', '\x73', '\x3e', '\x28', '\x6d', '\x6f', '\x72', '\x65', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x73', '\x29', '\x2e', '\x2e', '\x2e', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x54', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x6d', '\x61', '\x6b', '\x65', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x73', '\x28', '\x20', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x57', '\x72', '\x61', '\x70', '\x70', '\x65', '\x72', '\x3c', '\x54', '\x3e', '\x26', '\x26', '\x20', '\x67', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x29', '\x20', '\x2d', '\x3e', '\x20', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x73', '\x3c', '\x54', '\x3e', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x73', '\x3c', '\x54', '\x3e', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6d', '\x6f', '\x76', '\x65', '\x28', '\x67', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x29', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x54', '\x2c', '\x20', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x2e', '\x2e', '\x2e', '\x20', '\x47', '\x73', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x6d', '\x61', '\x6b', '\x65', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x73', '\x28', '\x20', '\x54', '\x26', '\x26', '\x20', '\x76', '\x61', '\x6c', '\x2c', '\x20', '\x47', '\x73', '\x2e', '\x2e', '\x2e', '\x20', '\x6d', '\x6f', '\x72', '\x65', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x73', '\x20', '\x29', '\x20', '\x2d', '\x3e', '\x20', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x73', '\x3c', '\x54', '\x3e', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6d', '\x61', '\x6b', '\x65', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x73', '\x28', '\x20', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x66', '\x6f', '\x72', '\x77', '\x61', '\x72', '\x64', '\x3c', '\x54', '\x3e', '\x28', '\x20', '\x76', '\x61', '\x6c', '\x20', '\x29', '\x20', '\x29', '\x2c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x66', '\x6f', '\x72', '\x77', '\x61', '\x72', '\x64', '\x3c', '\x47', '\x73', '\x3e', '\x28', '\x20', '\x6d', '\x6f', '\x72', '\x65', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x73', '\x20', '\x29', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x54', '\x2c', '\x20', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x55', '\x2c', '\x20', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x2e', '\x2e', '\x2e', '\x20', '\x47', '\x73', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x6d', '\x61', '\x6b', '\x65', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x73', '\x28', '\x20', '\x61', '\x73', '\x3c', '\x54', '\x3e', '\x2c', '\x20', '\x55', '\x26', '\x26', '\x20', '\x76', '\x61', '\x6c', '\x2c', '\x20', '\x47', '\x73', '\x2e', '\x2e', '\x2e', '\x20', '\x6d', '\x6f', '\x72', '\x65', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x73', '\x20', '\x29', '\x20', '\x2d', '\x3e', '\x20', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x73', '\x3c', '\x54', '\x3e', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6d', '\x61', '\x6b', '\x65', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x73', '\x28', '\x20', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x28', '\x20', '\x54', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x66', '\x6f', '\x72', '\x77', '\x61', '\x72', '\x64', '\x3c', '\x55', '\x3e', '\x28', '\x20', '\x76', '\x61', '\x6c', '\x20', '\x29', '\x20', '\x29', '\x20', '\x29', '\x2c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x66', '\x6f', '\x72', '\x77', '\x61', '\x72', '\x64', '\x3c', '\x47', '\x73', '\x3e', '\x28', '\x20', '\x6d', '\x6f', '\x72', '\x65', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x73', '\x20', '\x29', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x61', '\x63', '\x71', '\x75', '\x69', '\x72', '\x65', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x28', '\x20', '\x53', '\x6f', '\x75', '\x72', '\x63', '\x65', '\x4c', '\x69', '\x6e', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6c', '\x69', '\x6e', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x29', '\x20', '\x2d', '\x3e', '\x20', '\x49', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x26', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x4c', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x4e', '\x6f', '\x74', '\x65', '\x3a', '\x20', '\x54', '\x68', '\x65', '\x20', '\x74', '\x79', '\x70', '\x65', '\x20', '\x61', '\x66', '\x74', '\x65', '\x72', '\x20', '\x2d', '\x3e', '\x20', '\x69', '\x73', '\x20', '\x77', '\x65', '\x69', '\x72', '\x64', '\x2c', '\x20', '\x62', '\x65', '\x63', '\x61', '\x75', '\x73', '\x65', '\x20', '\x56', '\x53', '\x32', '\x30', '\x31', '\x35', '\x20', '\x63', '\x61', '\x6e', '\x6e', '\x6f', '\x74', '\x20', '\x70', '\x61', '\x72', '\x73', '\x65', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x68', '\x65', '\x20', '\x65', '\x78', '\x70', '\x72', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x20', '\x75', '\x73', '\x65', '\x64', '\x20', '\x69', '\x6e', '\x20', '\x74', '\x68', '\x65', '\x20', '\x74', '\x79', '\x70', '\x65', '\x64', '\x65', '\x66', '\x20', '\x69', '\x6e', '\x73', '\x69', '\x64', '\x65', '\x2c', '\x20', '\x77', '\x68', '\x65', '\x6e', '\x20', '\x69', '\x74', '\x20', '\x69', '\x73', '\x20', '\x69', '\x6e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x74', '\x79', '\x70', '\x65', '\x2e', '\x20', '\x59', '\x65', '\x61', '\x68', '\x2e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x67', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x65', '\x28', '\x20', '\x53', '\x6f', '\x75', '\x72', '\x63', '\x65', '\x4c', '\x69', '\x6e', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6c', '\x69', '\x6e', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x2c', '\x20', '\x4c', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x67', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x45', '\x78', '\x70', '\x72', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x20', '\x29', '\x20', '\x2d', '\x3e', '\x20', '\x64', '\x65', '\x63', '\x6c', '\x74', '\x79', '\x70', '\x65', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x64', '\x65', '\x63', '\x6c', '\x76', '\x61', '\x6c', '\x3c', '\x64', '\x65', '\x63', '\x6c', '\x74', '\x79', '\x70', '\x65', '\x28', '\x67', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x45', '\x78', '\x70', '\x72', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x28', '\x29', '\x29', '\x3e', '\x28', '\x29', '\x2e', '\x67', '\x65', '\x74', '\x28', '\x29', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x75', '\x73', '\x69', '\x6e', '\x67', '\x20', '\x55', '\x6e', '\x64', '\x65', '\x72', '\x6c', '\x79', '\x69', '\x6e', '\x67', '\x54', '\x79', '\x70', '\x65', '\x20', '\x3d', '\x20', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x64', '\x65', '\x63', '\x6c', '\x74', '\x79', '\x70', '\x65', '\x28', '\x67', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x45', '\x78', '\x70', '\x72', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x28', '\x29', '\x29', '\x3a', '\x3a', '\x74', '\x79', '\x70', '\x65', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x49', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x26', '\x20', '\x74', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x20', '\x3d', '\x20', '\x61', '\x63', '\x71', '\x75', '\x69', '\x72', '\x65', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x28', '\x20', '\x6c', '\x69', '\x6e', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x21', '\x74', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x2e', '\x68', '\x61', '\x73', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x28', '\x29', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x2e', '\x73', '\x65', '\x74', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x28', '\x70', '\x66', '\x3a', '\x3a', '\x6d', '\x61', '\x6b', '\x65', '\x5f', '\x75', '\x6e', '\x69', '\x71', '\x75', '\x65', '\x3c', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x73', '\x3c', '\x55', '\x6e', '\x64', '\x65', '\x72', '\x6c', '\x79', '\x69', '\x6e', '\x67', '\x54', '\x79', '\x70', '\x65', '\x3e', '\x3e', '\x28', '\x67', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x45', '\x78', '\x70', '\x72', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x28', '\x29', '\x29', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x67', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x3d', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x5f', '\x63', '\x61', '\x73', '\x74', '\x3c', '\x49', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x3c', '\x55', '\x6e', '\x64', '\x65', '\x72', '\x6c', '\x79', '\x69', '\x6e', '\x67', '\x54', '\x79', '\x70', '\x65', '\x3e', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x3e', '\x28', '\x20', '\x2a', '\x74', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x2e', '\x67', '\x65', '\x74', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x28', '\x29', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x67', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x2e', '\x67', '\x65', '\x74', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x73', '\x0d', '\x0a', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x47', '\x45', '\x4e', '\x45', '\x52', '\x41', '\x54', '\x45', '\x28', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x73', '\x3a', '\x3a', '\x67', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x65', '\x28', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x4c', '\x49', '\x4e', '\x45', '\x49', '\x4e', '\x46', '\x4f', '\x2c', '\x20', '\x5b', '\x20', '\x5d', '\x7b', '\x20', '\x75', '\x73', '\x69', '\x6e', '\x67', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x73', '\x3b', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6d', '\x61', '\x6b', '\x65', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x73', '\x28', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x20', '\x29', '\x3b', '\x20', '\x7d', '\x20', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x47', '\x45', '\x4e', '\x45', '\x52', '\x41', '\x54', '\x45', '\x5f', '\x43', '\x4f', '\x50', '\x59', '\x28', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x73', '\x3a', '\x3a', '\x67', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x65', '\x28', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x4c', '\x49', '\x4e', '\x45', '\x49', '\x4e', '\x46', '\x4f', '\x2c', '\x20', '\x5b', '\x3d', '\x5d', '\x7b', '\x20', '\x75', '\x73', '\x69', '\x6e', '\x67', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x73', '\x3b', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6d', '\x61', '\x6b', '\x65', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x73', '\x28', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x20', '\x29', '\x3b', '\x20', '\x7d', '\x20', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x47', '\x45', '\x4e', '\x45', '\x52', '\x41', '\x54', '\x45', '\x5f', '\x52', '\x45', '\x46', '\x28', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x73', '\x3a', '\x3a', '\x67', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x65', '\x28', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x4c', '\x49', '\x4e', '\x45', '\x49', '\x4e', '\x46', '\x4f', '\x2c', '\x20', '\x5b', '\x26', '\x5d', '\x7b', '\x20', '\x75', '\x73', '\x69', '\x6e', '\x67', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x73', '\x3b', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6d', '\x61', '\x6b', '\x65', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x73', '\x28', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x20', '\x29', '\x3b', '\x20', '\x7d', '\x20', '\x29', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x67', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x73', '\x2e', '\x68', '\x70', '\x70', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x67', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x73', '\x5f', '\x67', '\x65', '\x6e', '\x65', '\x72', '\x69', '\x63', '\x2e', '\x68', '\x70', '\x70', '\x0d', '\x0a', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x73', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x20', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x54', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x20', '\x54', '\x61', '\x6b', '\x65', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x3a', '\x20', '\x70', '\x75', '\x62', '\x6c', '\x69', '\x63', '\x20', '\x49', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x3c', '\x54', '\x3e', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x57', '\x72', '\x61', '\x70', '\x70', '\x65', '\x72', '\x3c', '\x54', '\x3e', '\x20', '\x6d', '\x5f', '\x67', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x69', '\x7a', '\x65', '\x5f', '\x74', '\x20', '\x6d', '\x5f', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x65', '\x64', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x69', '\x7a', '\x65', '\x5f', '\x74', '\x20', '\x6d', '\x5f', '\x74', '\x61', '\x72', '\x67', '\x65', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x70', '\x75', '\x62', '\x6c', '\x69', '\x63', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x54', '\x61', '\x6b', '\x65', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x28', '\x73', '\x69', '\x7a', '\x65', '\x5f', '\x74', '\x20', '\x74', '\x61', '\x72', '\x67', '\x65', '\x74', '\x2c', '\x20', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x57', '\x72', '\x61', '\x70', '\x70', '\x65', '\x72', '\x3c', '\x54', '\x3e', '\x26', '\x26', '\x20', '\x67', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x29', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x67', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6d', '\x6f', '\x76', '\x65', '\x28', '\x67', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x29', '\x29', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x74', '\x61', '\x72', '\x67', '\x65', '\x74', '\x28', '\x74', '\x61', '\x72', '\x67', '\x65', '\x74', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x28', '\x74', '\x61', '\x72', '\x67', '\x65', '\x74', '\x20', '\x21', '\x3d', '\x20', '\x30', '\x20', '\x26', '\x26', '\x20', '\x22', '\x45', '\x6d', '\x70', '\x74', '\x79', '\x20', '\x67', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x73', '\x20', '\x61', '\x72', '\x65', '\x20', '\x6e', '\x6f', '\x74', '\x20', '\x61', '\x6c', '\x6c', '\x6f', '\x77', '\x65', '\x64', '\x22', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x54', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x67', '\x65', '\x74', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6d', '\x5f', '\x67', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x2e', '\x67', '\x65', '\x74', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x6e', '\x65', '\x78', '\x74', '\x28', '\x29', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2b', '\x2b', '\x6d', '\x5f', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x65', '\x64', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x6d', '\x5f', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x65', '\x64', '\x20', '\x3e', '\x3d', '\x20', '\x6d', '\x5f', '\x74', '\x61', '\x72', '\x67', '\x65', '\x74', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x66', '\x61', '\x6c', '\x73', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x73', '\x75', '\x63', '\x63', '\x65', '\x73', '\x73', '\x20', '\x3d', '\x20', '\x6d', '\x5f', '\x67', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x2e', '\x6e', '\x65', '\x78', '\x74', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x49', '\x66', '\x20', '\x74', '\x68', '\x65', '\x20', '\x75', '\x6e', '\x64', '\x65', '\x72', '\x6c', '\x79', '\x69', '\x6e', '\x67', '\x20', '\x67', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x64', '\x6f', '\x65', '\x73', '\x20', '\x6e', '\x6f', '\x74', '\x20', '\x63', '\x6f', '\x6e', '\x74', '\x61', '\x69', '\x6e', '\x20', '\x65', '\x6e', '\x6f', '\x75', '\x67', '\x68', '\x20', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x73', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x74', '\x68', '\x65', '\x6e', '\x20', '\x77', '\x65', '\x20', '\x63', '\x75', '\x74', '\x20', '\x73', '\x68', '\x6f', '\x72', '\x74', '\x20', '\x61', '\x73', '\x20', '\x77', '\x65', '\x6c', '\x6c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x21', '\x73', '\x75', '\x63', '\x63', '\x65', '\x73', '\x73', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x65', '\x64', '\x20', '\x3d', '\x20', '\x6d', '\x5f', '\x74', '\x61', '\x72', '\x67', '\x65', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x73', '\x75', '\x63', '\x63', '\x65', '\x73', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x20', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x54', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x57', '\x72', '\x61', '\x70', '\x70', '\x65', '\x72', '\x3c', '\x54', '\x3e', '\x20', '\x74', '\x61', '\x6b', '\x65', '\x28', '\x73', '\x69', '\x7a', '\x65', '\x5f', '\x74', '\x20', '\x74', '\x61', '\x72', '\x67', '\x65', '\x74', '\x2c', '\x20', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x57', '\x72', '\x61', '\x70', '\x70', '\x65', '\x72', '\x3c', '\x54', '\x3e', '\x26', '\x26', '\x20', '\x67', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x57', '\x72', '\x61', '\x70', '\x70', '\x65', '\x72', '\x3c', '\x54', '\x3e', '\x28', '\x70', '\x66', '\x3a', '\x3a', '\x6d', '\x61', '\x6b', '\x65', '\x5f', '\x75', '\x6e', '\x69', '\x71', '\x75', '\x65', '\x3c', '\x54', '\x61', '\x6b', '\x65', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x3c', '\x54', '\x3e', '\x3e', '\x28', '\x74', '\x61', '\x72', '\x67', '\x65', '\x74', '\x2c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6d', '\x6f', '\x76', '\x65', '\x28', '\x67', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x29', '\x29', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x20', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x54', '\x2c', '\x20', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x50', '\x72', '\x65', '\x64', '\x69', '\x63', '\x61', '\x74', '\x65', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x20', '\x46', '\x69', '\x6c', '\x74', '\x65', '\x72', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x3a', '\x20', '\x70', '\x75', '\x62', '\x6c', '\x69', '\x63', '\x20', '\x49', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x3c', '\x54', '\x3e', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x57', '\x72', '\x61', '\x70', '\x70', '\x65', '\x72', '\x3c', '\x54', '\x3e', '\x20', '\x6d', '\x5f', '\x67', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x50', '\x72', '\x65', '\x64', '\x69', '\x63', '\x61', '\x74', '\x65', '\x20', '\x6d', '\x5f', '\x70', '\x72', '\x65', '\x64', '\x69', '\x63', '\x61', '\x74', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x70', '\x75', '\x62', '\x6c', '\x69', '\x63', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x20', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x50', '\x20', '\x3d', '\x20', '\x50', '\x72', '\x65', '\x64', '\x69', '\x63', '\x61', '\x74', '\x65', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x46', '\x69', '\x6c', '\x74', '\x65', '\x72', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x28', '\x50', '\x26', '\x26', '\x20', '\x70', '\x72', '\x65', '\x64', '\x2c', '\x20', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x57', '\x72', '\x61', '\x70', '\x70', '\x65', '\x72', '\x3c', '\x54', '\x3e', '\x26', '\x26', '\x20', '\x67', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x29', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x67', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6d', '\x6f', '\x76', '\x65', '\x28', '\x67', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x29', '\x29', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x70', '\x72', '\x65', '\x64', '\x69', '\x63', '\x61', '\x74', '\x65', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x66', '\x6f', '\x72', '\x77', '\x61', '\x72', '\x64', '\x3c', '\x50', '\x3e', '\x28', '\x70', '\x72', '\x65', '\x64', '\x29', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x21', '\x6d', '\x5f', '\x70', '\x72', '\x65', '\x64', '\x69', '\x63', '\x61', '\x74', '\x65', '\x28', '\x6d', '\x5f', '\x67', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x2e', '\x67', '\x65', '\x74', '\x28', '\x29', '\x29', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x49', '\x74', '\x20', '\x6d', '\x69', '\x67', '\x68', '\x74', '\x20', '\x68', '\x61', '\x70', '\x70', '\x65', '\x6e', '\x20', '\x74', '\x68', '\x61', '\x74', '\x20', '\x74', '\x68', '\x65', '\x72', '\x65', '\x20', '\x61', '\x72', '\x65', '\x20', '\x6e', '\x6f', '\x20', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x73', '\x20', '\x74', '\x68', '\x61', '\x74', '\x20', '\x70', '\x61', '\x73', '\x73', '\x20', '\x74', '\x68', '\x65', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x66', '\x69', '\x6c', '\x74', '\x65', '\x72', '\x2e', '\x20', '\x49', '\x6e', '\x20', '\x74', '\x68', '\x61', '\x74', '\x20', '\x63', '\x61', '\x73', '\x65', '\x20', '\x77', '\x65', '\x20', '\x74', '\x68', '\x72', '\x6f', '\x77', '\x20', '\x61', '\x6e', '\x20', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x2e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x68', '\x61', '\x73', '\x5f', '\x69', '\x6e', '\x69', '\x74', '\x69', '\x61', '\x6c', '\x5f', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x20', '\x3d', '\x20', '\x6e', '\x65', '\x78', '\x74', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x21', '\x68', '\x61', '\x73', '\x5f', '\x69', '\x6e', '\x69', '\x74', '\x69', '\x61', '\x6c', '\x5f', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x74', '\x68', '\x72', '\x6f', '\x77', '\x5f', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x28', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x45', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x28', '\x22', '\x4e', '\x6f', '\x20', '\x76', '\x61', '\x6c', '\x69', '\x64', '\x20', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x20', '\x66', '\x6f', '\x75', '\x6e', '\x64', '\x20', '\x69', '\x6e', '\x20', '\x66', '\x69', '\x6c', '\x74', '\x65', '\x72', '\x65', '\x64', '\x20', '\x67', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x22', '\x29', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x54', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x67', '\x65', '\x74', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6d', '\x5f', '\x67', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x2e', '\x67', '\x65', '\x74', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x6e', '\x65', '\x78', '\x74', '\x28', '\x29', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x73', '\x75', '\x63', '\x63', '\x65', '\x73', '\x73', '\x20', '\x3d', '\x20', '\x6d', '\x5f', '\x67', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x2e', '\x6e', '\x65', '\x78', '\x74', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x21', '\x73', '\x75', '\x63', '\x63', '\x65', '\x73', '\x73', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x66', '\x61', '\x6c', '\x73', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x77', '\x68', '\x69', '\x6c', '\x65', '\x20', '\x28', '\x21', '\x6d', '\x5f', '\x70', '\x72', '\x65', '\x64', '\x69', '\x63', '\x61', '\x74', '\x65', '\x28', '\x6d', '\x5f', '\x67', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x2e', '\x67', '\x65', '\x74', '\x28', '\x29', '\x29', '\x20', '\x26', '\x26', '\x20', '\x28', '\x73', '\x75', '\x63', '\x63', '\x65', '\x73', '\x73', '\x20', '\x3d', '\x20', '\x6d', '\x5f', '\x67', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x2e', '\x6e', '\x65', '\x78', '\x74', '\x28', '\x29', '\x29', '\x20', '\x3d', '\x3d', '\x20', '\x74', '\x72', '\x75', '\x65', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x73', '\x75', '\x63', '\x63', '\x65', '\x73', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x20', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x54', '\x2c', '\x20', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x50', '\x72', '\x65', '\x64', '\x69', '\x63', '\x61', '\x74', '\x65', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x57', '\x72', '\x61', '\x70', '\x70', '\x65', '\x72', '\x3c', '\x54', '\x3e', '\x20', '\x66', '\x69', '\x6c', '\x74', '\x65', '\x72', '\x28', '\x50', '\x72', '\x65', '\x64', '\x69', '\x63', '\x61', '\x74', '\x65', '\x26', '\x26', '\x20', '\x70', '\x72', '\x65', '\x64', '\x2c', '\x20', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x57', '\x72', '\x61', '\x70', '\x70', '\x65', '\x72', '\x3c', '\x54', '\x3e', '\x26', '\x26', '\x20', '\x67', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x57', '\x72', '\x61', '\x70', '\x70', '\x65', '\x72', '\x3c', '\x54', '\x3e', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x75', '\x6e', '\x69', '\x71', '\x75', '\x65', '\x5f', '\x70', '\x74', '\x72', '\x3c', '\x49', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x3c', '\x54', '\x3e', '\x3e', '\x28', '\x70', '\x66', '\x3a', '\x3a', '\x6d', '\x61', '\x6b', '\x65', '\x5f', '\x75', '\x6e', '\x69', '\x71', '\x75', '\x65', '\x3c', '\x46', '\x69', '\x6c', '\x74', '\x65', '\x72', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x3c', '\x54', '\x2c', '\x20', '\x50', '\x72', '\x65', '\x64', '\x69', '\x63', '\x61', '\x74', '\x65', '\x3e', '\x3e', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x66', '\x6f', '\x72', '\x77', '\x61', '\x72', '\x64', '\x3c', '\x50', '\x72', '\x65', '\x64', '\x69', '\x63', '\x61', '\x74', '\x65', '\x3e', '\x28', '\x70', '\x72', '\x65', '\x64', '\x29', '\x2c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6d', '\x6f', '\x76', '\x65', '\x28', '\x67', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x29', '\x29', '\x29', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x20', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x54', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x20', '\x52', '\x65', '\x70', '\x65', '\x61', '\x74', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x3a', '\x20', '\x70', '\x75', '\x62', '\x6c', '\x69', '\x63', '\x20', '\x49', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x3c', '\x54', '\x3e', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x5f', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x28', '\x21', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x69', '\x73', '\x5f', '\x73', '\x61', '\x6d', '\x65', '\x3c', '\x54', '\x2c', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x3e', '\x3a', '\x3a', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x22', '\x52', '\x65', '\x70', '\x65', '\x61', '\x74', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x63', '\x75', '\x72', '\x72', '\x65', '\x6e', '\x74', '\x6c', '\x79', '\x20', '\x64', '\x6f', '\x65', '\x73', '\x20', '\x6e', '\x6f', '\x74', '\x20', '\x73', '\x75', '\x70', '\x70', '\x6f', '\x72', '\x74', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x73', '\x22', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x22', '\x62', '\x65', '\x63', '\x61', '\x75', '\x73', '\x65', '\x20', '\x6f', '\x66', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x62', '\x6f', '\x6f', '\x6c', '\x3e', '\x20', '\x73', '\x70', '\x65', '\x63', '\x69', '\x61', '\x6c', '\x69', '\x7a', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x22', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x57', '\x72', '\x61', '\x70', '\x70', '\x65', '\x72', '\x3c', '\x54', '\x3e', '\x20', '\x6d', '\x5f', '\x67', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x75', '\x74', '\x61', '\x62', '\x6c', '\x65', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x54', '\x3e', '\x20', '\x6d', '\x5f', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x65', '\x64', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x69', '\x7a', '\x65', '\x5f', '\x74', '\x20', '\x6d', '\x5f', '\x74', '\x61', '\x72', '\x67', '\x65', '\x74', '\x5f', '\x72', '\x65', '\x70', '\x65', '\x61', '\x74', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x69', '\x7a', '\x65', '\x5f', '\x74', '\x20', '\x6d', '\x5f', '\x63', '\x75', '\x72', '\x72', '\x65', '\x6e', '\x74', '\x5f', '\x72', '\x65', '\x70', '\x65', '\x61', '\x74', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x69', '\x7a', '\x65', '\x5f', '\x74', '\x20', '\x6d', '\x5f', '\x72', '\x65', '\x70', '\x65', '\x61', '\x74', '\x5f', '\x69', '\x6e', '\x64', '\x65', '\x78', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x70', '\x75', '\x62', '\x6c', '\x69', '\x63', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x52', '\x65', '\x70', '\x65', '\x61', '\x74', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x28', '\x73', '\x69', '\x7a', '\x65', '\x5f', '\x74', '\x20', '\x72', '\x65', '\x70', '\x65', '\x61', '\x74', '\x73', '\x2c', '\x20', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x57', '\x72', '\x61', '\x70', '\x70', '\x65', '\x72', '\x3c', '\x54', '\x3e', '\x26', '\x26', '\x20', '\x67', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x29', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x67', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6d', '\x6f', '\x76', '\x65', '\x28', '\x67', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x29', '\x29', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x74', '\x61', '\x72', '\x67', '\x65', '\x74', '\x5f', '\x72', '\x65', '\x70', '\x65', '\x61', '\x74', '\x73', '\x28', '\x72', '\x65', '\x70', '\x65', '\x61', '\x74', '\x73', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x28', '\x6d', '\x5f', '\x74', '\x61', '\x72', '\x67', '\x65', '\x74', '\x5f', '\x72', '\x65', '\x70', '\x65', '\x61', '\x74', '\x73', '\x20', '\x3e', '\x20', '\x30', '\x20', '\x26', '\x26', '\x20', '\x22', '\x52', '\x65', '\x70', '\x65', '\x61', '\x74', '\x20', '\x67', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x6d', '\x75', '\x73', '\x74', '\x20', '\x72', '\x65', '\x70', '\x65', '\x61', '\x74', '\x20', '\x61', '\x74', '\x20', '\x6c', '\x65', '\x61', '\x73', '\x74', '\x20', '\x6f', '\x6e', '\x63', '\x65', '\x22', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x54', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x67', '\x65', '\x74', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x6d', '\x5f', '\x63', '\x75', '\x72', '\x72', '\x65', '\x6e', '\x74', '\x5f', '\x72', '\x65', '\x70', '\x65', '\x61', '\x74', '\x20', '\x3d', '\x3d', '\x20', '\x30', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x65', '\x64', '\x2e', '\x70', '\x75', '\x73', '\x68', '\x5f', '\x62', '\x61', '\x63', '\x6b', '\x28', '\x6d', '\x5f', '\x67', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x2e', '\x67', '\x65', '\x74', '\x28', '\x29', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6d', '\x5f', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x65', '\x64', '\x2e', '\x62', '\x61', '\x63', '\x6b', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6d', '\x5f', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x65', '\x64', '\x5b', '\x6d', '\x5f', '\x72', '\x65', '\x70', '\x65', '\x61', '\x74', '\x5f', '\x69', '\x6e', '\x64', '\x65', '\x78', '\x5d', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x6e', '\x65', '\x78', '\x74', '\x28', '\x29', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x54', '\x68', '\x65', '\x72', '\x65', '\x20', '\x61', '\x72', '\x65', '\x20', '\x32', '\x20', '\x62', '\x61', '\x73', '\x69', '\x63', '\x20', '\x63', '\x61', '\x73', '\x65', '\x73', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x31', '\x29', '\x20', '\x57', '\x65', '\x20', '\x61', '\x72', '\x65', '\x20', '\x73', '\x74', '\x69', '\x6c', '\x6c', '\x20', '\x72', '\x65', '\x61', '\x64', '\x69', '\x6e', '\x67', '\x20', '\x74', '\x68', '\x65', '\x20', '\x67', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x32', '\x29', '\x20', '\x57', '\x65', '\x20', '\x61', '\x72', '\x65', '\x20', '\x72', '\x65', '\x61', '\x64', '\x69', '\x6e', '\x67', '\x20', '\x6f', '\x75', '\x72', '\x20', '\x6f', '\x77', '\x6e', '\x20', '\x63', '\x61', '\x63', '\x68', '\x65', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x49', '\x6e', '\x20', '\x74', '\x68', '\x65', '\x20', '\x66', '\x69', '\x72', '\x73', '\x74', '\x20', '\x63', '\x61', '\x73', '\x65', '\x2c', '\x20', '\x77', '\x65', '\x20', '\x6e', '\x65', '\x65', '\x64', '\x20', '\x74', '\x6f', '\x20', '\x70', '\x6f', '\x6b', '\x65', '\x20', '\x74', '\x68', '\x65', '\x20', '\x75', '\x6e', '\x64', '\x65', '\x72', '\x6c', '\x79', '\x69', '\x6e', '\x67', '\x20', '\x67', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x2e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x49', '\x66', '\x20', '\x69', '\x74', '\x20', '\x68', '\x61', '\x70', '\x70', '\x69', '\x6c', '\x79', '\x20', '\x6d', '\x6f', '\x76', '\x65', '\x73', '\x2c', '\x20', '\x77', '\x65', '\x20', '\x61', '\x72', '\x65', '\x20', '\x6c', '\x65', '\x66', '\x74', '\x20', '\x69', '\x6e', '\x20', '\x74', '\x68', '\x61', '\x74', '\x20', '\x73', '\x74', '\x61', '\x74', '\x65', '\x2c', '\x20', '\x6f', '\x74', '\x68', '\x65', '\x72', '\x77', '\x69', '\x73', '\x65', '\x20', '\x69', '\x74', '\x20', '\x69', '\x73', '\x20', '\x74', '\x69', '\x6d', '\x65', '\x20', '\x74', '\x6f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x72', '\x65', '\x61', '\x64', '\x69', '\x6e', '\x67', '\x20', '\x66', '\x72', '\x6f', '\x6d', '\x20', '\x6f', '\x75', '\x72', '\x20', '\x63', '\x61', '\x63', '\x68', '\x65', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x6d', '\x5f', '\x63', '\x75', '\x72', '\x72', '\x65', '\x6e', '\x74', '\x5f', '\x72', '\x65', '\x70', '\x65', '\x61', '\x74', '\x20', '\x3d', '\x3d', '\x20', '\x30', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x73', '\x75', '\x63', '\x63', '\x65', '\x73', '\x73', '\x20', '\x3d', '\x20', '\x6d', '\x5f', '\x67', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x2e', '\x6e', '\x65', '\x78', '\x74', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x21', '\x73', '\x75', '\x63', '\x63', '\x65', '\x73', '\x73', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2b', '\x2b', '\x6d', '\x5f', '\x63', '\x75', '\x72', '\x72', '\x65', '\x6e', '\x74', '\x5f', '\x72', '\x65', '\x70', '\x65', '\x61', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6d', '\x5f', '\x63', '\x75', '\x72', '\x72', '\x65', '\x6e', '\x74', '\x5f', '\x72', '\x65', '\x70', '\x65', '\x61', '\x74', '\x20', '\x3c', '\x20', '\x6d', '\x5f', '\x74', '\x61', '\x72', '\x67', '\x65', '\x74', '\x5f', '\x72', '\x65', '\x70', '\x65', '\x61', '\x74', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x49', '\x6e', '\x20', '\x74', '\x68', '\x65', '\x20', '\x73', '\x65', '\x63', '\x6f', '\x6e', '\x64', '\x20', '\x63', '\x61', '\x73', '\x65', '\x2c', '\x20', '\x77', '\x65', '\x20', '\x6e', '\x65', '\x65', '\x64', '\x20', '\x74', '\x6f', '\x20', '\x6d', '\x6f', '\x76', '\x65', '\x20', '\x69', '\x6e', '\x64', '\x69', '\x63', '\x65', '\x73', '\x20', '\x66', '\x6f', '\x72', '\x77', '\x61', '\x72', '\x64', '\x20', '\x61', '\x6e', '\x64', '\x20', '\x63', '\x68', '\x65', '\x63', '\x6b', '\x20', '\x74', '\x68', '\x61', '\x74', '\x20', '\x77', '\x65', '\x20', '\x68', '\x61', '\x76', '\x65', '\x6e', '\x27', '\x74', '\x20', '\x72', '\x75', '\x6e', '\x20', '\x75', '\x70', '\x20', '\x61', '\x67', '\x61', '\x69', '\x6e', '\x73', '\x74', '\x20', '\x74', '\x68', '\x65', '\x20', '\x65', '\x6e', '\x64', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2b', '\x2b', '\x6d', '\x5f', '\x72', '\x65', '\x70', '\x65', '\x61', '\x74', '\x5f', '\x69', '\x6e', '\x64', '\x65', '\x78', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x6d', '\x5f', '\x72', '\x65', '\x70', '\x65', '\x61', '\x74', '\x5f', '\x69', '\x6e', '\x64', '\x65', '\x78', '\x20', '\x3d', '\x3d', '\x20', '\x6d', '\x5f', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x65', '\x64', '\x2e', '\x73', '\x69', '\x7a', '\x65', '\x28', '\x29', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x72', '\x65', '\x70', '\x65', '\x61', '\x74', '\x5f', '\x69', '\x6e', '\x64', '\x65', '\x78', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2b', '\x2b', '\x6d', '\x5f', '\x63', '\x75', '\x72', '\x72', '\x65', '\x6e', '\x74', '\x5f', '\x72', '\x65', '\x70', '\x65', '\x61', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6d', '\x5f', '\x63', '\x75', '\x72', '\x72', '\x65', '\x6e', '\x74', '\x5f', '\x72', '\x65', '\x70', '\x65', '\x61', '\x74', '\x20', '\x3c', '\x20', '\x6d', '\x5f', '\x74', '\x61', '\x72', '\x67', '\x65', '\x74', '\x5f', '\x72', '\x65', '\x70', '\x65', '\x61', '\x74', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x20', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x54', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x57', '\x72', '\x61', '\x70', '\x70', '\x65', '\x72', '\x3c', '\x54', '\x3e', '\x20', '\x72', '\x65', '\x70', '\x65', '\x61', '\x74', '\x28', '\x73', '\x69', '\x7a', '\x65', '\x5f', '\x74', '\x20', '\x72', '\x65', '\x70', '\x65', '\x61', '\x74', '\x73', '\x2c', '\x20', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x57', '\x72', '\x61', '\x70', '\x70', '\x65', '\x72', '\x3c', '\x54', '\x3e', '\x26', '\x26', '\x20', '\x67', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x57', '\x72', '\x61', '\x70', '\x70', '\x65', '\x72', '\x3c', '\x54', '\x3e', '\x28', '\x70', '\x66', '\x3a', '\x3a', '\x6d', '\x61', '\x6b', '\x65', '\x5f', '\x75', '\x6e', '\x69', '\x71', '\x75', '\x65', '\x3c', '\x52', '\x65', '\x70', '\x65', '\x61', '\x74', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x3c', '\x54', '\x3e', '\x3e', '\x28', '\x72', '\x65', '\x70', '\x65', '\x61', '\x74', '\x73', '\x2c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6d', '\x6f', '\x76', '\x65', '\x28', '\x67', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x29', '\x29', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x20', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x54', '\x2c', '\x20', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x55', '\x2c', '\x20', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x46', '\x75', '\x6e', '\x63', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x20', '\x4d', '\x61', '\x70', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x3a', '\x20', '\x70', '\x75', '\x62', '\x6c', '\x69', '\x63', '\x20', '\x49', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x3c', '\x54', '\x3e', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x54', '\x42', '\x44', '\x3a', '\x20', '\x70', '\x72', '\x6f', '\x76', '\x69', '\x64', '\x65', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x20', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x20', '\x66', '\x6f', '\x72', '\x20', '\x6d', '\x61', '\x70', '\x70', '\x69', '\x6e', '\x67', '\x20', '\x66', '\x75', '\x6e', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x2c', '\x20', '\x66', '\x6f', '\x72', '\x20', '\x66', '\x72', '\x69', '\x65', '\x6e', '\x64', '\x6c', '\x79', '\x20', '\x65', '\x72', '\x72', '\x6f', '\x72', '\x20', '\x6d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x57', '\x72', '\x61', '\x70', '\x70', '\x65', '\x72', '\x3c', '\x55', '\x3e', '\x20', '\x6d', '\x5f', '\x67', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x46', '\x75', '\x6e', '\x63', '\x20', '\x6d', '\x5f', '\x66', '\x75', '\x6e', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x54', '\x6f', '\x20', '\x61', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x69', '\x6e', '\x67', '\x20', '\x64', '\x61', '\x6e', '\x67', '\x6c', '\x69', '\x6e', '\x67', '\x20', '\x72', '\x65', '\x66', '\x65', '\x72', '\x65', '\x6e', '\x63', '\x65', '\x2c', '\x20', '\x77', '\x65', '\x20', '\x68', '\x61', '\x76', '\x65', '\x20', '\x74', '\x6f', '\x20', '\x73', '\x61', '\x76', '\x65', '\x20', '\x74', '\x68', '\x65', '\x20', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x73', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x54', '\x20', '\x6d', '\x5f', '\x63', '\x61', '\x63', '\x68', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x70', '\x75', '\x62', '\x6c', '\x69', '\x63', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x20', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x46', '\x32', '\x20', '\x3d', '\x20', '\x46', '\x75', '\x6e', '\x63', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x4d', '\x61', '\x70', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x28', '\x46', '\x32', '\x26', '\x26', '\x20', '\x66', '\x75', '\x6e', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x2c', '\x20', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x57', '\x72', '\x61', '\x70', '\x70', '\x65', '\x72', '\x3c', '\x55', '\x3e', '\x26', '\x26', '\x20', '\x67', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x29', '\x20', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x67', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6d', '\x6f', '\x76', '\x65', '\x28', '\x67', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x29', '\x29', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x66', '\x75', '\x6e', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x66', '\x6f', '\x72', '\x77', '\x61', '\x72', '\x64', '\x3c', '\x46', '\x32', '\x3e', '\x28', '\x66', '\x75', '\x6e', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x29', '\x29', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x63', '\x61', '\x63', '\x68', '\x65', '\x28', '\x6d', '\x5f', '\x66', '\x75', '\x6e', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x28', '\x6d', '\x5f', '\x67', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x2e', '\x67', '\x65', '\x74', '\x28', '\x29', '\x29', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7b', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x54', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x67', '\x65', '\x74', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6d', '\x5f', '\x63', '\x61', '\x63', '\x68', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x6e', '\x65', '\x78', '\x74', '\x28', '\x29', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x73', '\x75', '\x63', '\x63', '\x65', '\x73', '\x73', '\x20', '\x3d', '\x20', '\x6d', '\x5f', '\x67', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x2e', '\x6e', '\x65', '\x78', '\x74', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x73', '\x75', '\x63', '\x63', '\x65', '\x73', '\x73', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x63', '\x61', '\x63', '\x68', '\x65', '\x20', '\x3d', '\x20', '\x6d', '\x5f', '\x66', '\x75', '\x6e', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x28', '\x6d', '\x5f', '\x67', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x2e', '\x67', '\x65', '\x74', '\x28', '\x29', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x73', '\x75', '\x63', '\x63', '\x65', '\x73', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x5f', '\x5f', '\x63', '\x70', '\x70', '\x5f', '\x6c', '\x69', '\x62', '\x5f', '\x69', '\x73', '\x5f', '\x69', '\x6e', '\x76', '\x6f', '\x63', '\x61', '\x62', '\x6c', '\x65', '\x29', '\x20', '\x26', '\x26', '\x20', '\x5f', '\x5f', '\x63', '\x70', '\x70', '\x5f', '\x6c', '\x69', '\x62', '\x5f', '\x69', '\x73', '\x5f', '\x69', '\x6e', '\x76', '\x6f', '\x63', '\x61', '\x62', '\x6c', '\x65', '\x20', '\x3e', '\x3d', '\x20', '\x32', '\x30', '\x31', '\x37', '\x30', '\x33', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x5f', '\x6f', '\x66', '\x20', '\x69', '\x73', '\x20', '\x64', '\x65', '\x70', '\x72', '\x65', '\x63', '\x61', '\x74', '\x65', '\x64', '\x20', '\x69', '\x6e', '\x20', '\x43', '\x2b', '\x2b', '\x31', '\x37', '\x20', '\x61', '\x6e', '\x64', '\x20', '\x72', '\x65', '\x6d', '\x6f', '\x76', '\x65', '\x64', '\x20', '\x69', '\x6e', '\x20', '\x43', '\x2b', '\x2b', '\x32', '\x30', '\x2e', '\x20', '\x48', '\x65', '\x6e', '\x63', '\x65', '\x2c', '\x20', '\x69', '\x74', '\x20', '\x69', '\x73', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x72', '\x65', '\x70', '\x6c', '\x61', '\x63', '\x65', '\x64', '\x20', '\x77', '\x69', '\x74', '\x68', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x69', '\x6e', '\x76', '\x6f', '\x6b', '\x65', '\x5f', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x20', '\x68', '\x65', '\x72', '\x65', '\x2e', '\x20', '\x41', '\x6c', '\x73', '\x6f', '\x20', '\x2a', '\x5f', '\x74', '\x20', '\x66', '\x6f', '\x72', '\x6d', '\x61', '\x74', '\x20', '\x69', '\x73', '\x20', '\x70', '\x72', '\x65', '\x66', '\x65', '\x72', '\x72', '\x65', '\x64', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x2a', '\x3a', '\x3a', '\x74', '\x79', '\x70', '\x65', '\x20', '\x66', '\x6f', '\x72', '\x6d', '\x61', '\x74', '\x2e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x20', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x46', '\x75', '\x6e', '\x63', '\x2c', '\x20', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x55', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x75', '\x73', '\x69', '\x6e', '\x67', '\x20', '\x4d', '\x61', '\x70', '\x46', '\x75', '\x6e', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x52', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x54', '\x79', '\x70', '\x65', '\x20', '\x3d', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x72', '\x65', '\x6d', '\x6f', '\x76', '\x65', '\x5f', '\x72', '\x65', '\x66', '\x65', '\x72', '\x65', '\x6e', '\x63', '\x65', '\x5f', '\x74', '\x3c', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x72', '\x65', '\x6d', '\x6f', '\x76', '\x65', '\x5f', '\x63', '\x76', '\x5f', '\x74', '\x3c', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x69', '\x6e', '\x76', '\x6f', '\x6b', '\x65', '\x5f', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x5f', '\x74', '\x3c', '\x46', '\x75', '\x6e', '\x63', '\x2c', '\x20', '\x55', '\x3e', '\x3e', '\x3e', '\x3b', '\x0d', '\x0a', '\x23', '\x65', '\x6c', '\x73', '\x65', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x20', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x46', '\x75', '\x6e', '\x63', '\x2c', '\x20', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x55', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x75', '\x73', '\x69', '\x6e', '\x67', '\x20', '\x4d', '\x61', '\x70', '\x46', '\x75', '\x6e', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x52', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x54', '\x79', '\x70', '\x65', '\x20', '\x3d', '\x20', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x72', '\x65', '\x6d', '\x6f', '\x76', '\x65', '\x5f', '\x72', '\x65', '\x66', '\x65', '\x72', '\x65', '\x6e', '\x63', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x72', '\x65', '\x6d', '\x6f', '\x76', '\x65', '\x5f', '\x63', '\x76', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x5f', '\x6f', '\x66', '\x3c', '\x46', '\x75', '\x6e', '\x63', '\x28', '\x55', '\x29', '\x3e', '\x3a', '\x3a', '\x74', '\x79', '\x70', '\x65', '\x3e', '\x3a', '\x3a', '\x74', '\x79', '\x70', '\x65', '\x3e', '\x3a', '\x3a', '\x74', '\x79', '\x70', '\x65', '\x3b', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x20', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x46', '\x75', '\x6e', '\x63', '\x2c', '\x20', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x55', '\x2c', '\x20', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x54', '\x20', '\x3d', '\x20', '\x4d', '\x61', '\x70', '\x46', '\x75', '\x6e', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x52', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x54', '\x79', '\x70', '\x65', '\x3c', '\x46', '\x75', '\x6e', '\x63', '\x2c', '\x20', '\x55', '\x3e', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x57', '\x72', '\x61', '\x70', '\x70', '\x65', '\x72', '\x3c', '\x54', '\x3e', '\x20', '\x6d', '\x61', '\x70', '\x28', '\x46', '\x75', '\x6e', '\x63', '\x26', '\x26', '\x20', '\x66', '\x75', '\x6e', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x2c', '\x20', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x57', '\x72', '\x61', '\x70', '\x70', '\x65', '\x72', '\x3c', '\x55', '\x3e', '\x26', '\x26', '\x20', '\x67', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x57', '\x72', '\x61', '\x70', '\x70', '\x65', '\x72', '\x3c', '\x54', '\x3e', '\x28', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x66', '\x3a', '\x3a', '\x6d', '\x61', '\x6b', '\x65', '\x5f', '\x75', '\x6e', '\x69', '\x71', '\x75', '\x65', '\x3c', '\x4d', '\x61', '\x70', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x3c', '\x54', '\x2c', '\x20', '\x55', '\x2c', '\x20', '\x46', '\x75', '\x6e', '\x63', '\x3e', '\x3e', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x66', '\x6f', '\x72', '\x77', '\x61', '\x72', '\x64', '\x3c', '\x46', '\x75', '\x6e', '\x63', '\x3e', '\x28', '\x66', '\x75', '\x6e', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x29', '\x2c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6d', '\x6f', '\x76', '\x65', '\x28', '\x67', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x29', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x20', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x54', '\x2c', '\x20', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x55', '\x2c', '\x20', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x46', '\x75', '\x6e', '\x63', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x57', '\x72', '\x61', '\x70', '\x70', '\x65', '\x72', '\x3c', '\x54', '\x3e', '\x20', '\x6d', '\x61', '\x70', '\x28', '\x46', '\x75', '\x6e', '\x63', '\x26', '\x26', '\x20', '\x66', '\x75', '\x6e', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x2c', '\x20', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x57', '\x72', '\x61', '\x70', '\x70', '\x65', '\x72', '\x3c', '\x55', '\x3e', '\x26', '\x26', '\x20', '\x67', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x57', '\x72', '\x61', '\x70', '\x70', '\x65', '\x72', '\x3c', '\x54', '\x3e', '\x28', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x66', '\x3a', '\x3a', '\x6d', '\x61', '\x6b', '\x65', '\x5f', '\x75', '\x6e', '\x69', '\x71', '\x75', '\x65', '\x3c', '\x4d', '\x61', '\x70', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x3c', '\x54', '\x2c', '\x20', '\x55', '\x2c', '\x20', '\x46', '\x75', '\x6e', '\x63', '\x3e', '\x3e', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x66', '\x6f', '\x72', '\x77', '\x61', '\x72', '\x64', '\x3c', '\x46', '\x75', '\x6e', '\x63', '\x3e', '\x28', '\x66', '\x75', '\x6e', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x29', '\x2c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6d', '\x6f', '\x76', '\x65', '\x28', '\x67', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x29', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x20', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x54', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x20', '\x43', '\x68', '\x75', '\x6e', '\x6b', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x66', '\x69', '\x6e', '\x61', '\x6c', '\x20', '\x3a', '\x20', '\x70', '\x75', '\x62', '\x6c', '\x69', '\x63', '\x20', '\x49', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x3c', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x54', '\x3e', '\x3e', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x54', '\x3e', '\x20', '\x6d', '\x5f', '\x63', '\x68', '\x75', '\x6e', '\x6b', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x69', '\x7a', '\x65', '\x5f', '\x74', '\x20', '\x6d', '\x5f', '\x63', '\x68', '\x75', '\x6e', '\x6b', '\x5f', '\x73', '\x69', '\x7a', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x57', '\x72', '\x61', '\x70', '\x70', '\x65', '\x72', '\x3c', '\x54', '\x3e', '\x20', '\x6d', '\x5f', '\x67', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x6d', '\x5f', '\x75', '\x73', '\x65', '\x64', '\x5f', '\x75', '\x70', '\x20', '\x3d', '\x20', '\x66', '\x61', '\x6c', '\x73', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x70', '\x75', '\x62', '\x6c', '\x69', '\x63', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x68', '\x75', '\x6e', '\x6b', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x28', '\x73', '\x69', '\x7a', '\x65', '\x5f', '\x74', '\x20', '\x73', '\x69', '\x7a', '\x65', '\x2c', '\x20', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x57', '\x72', '\x61', '\x70', '\x70', '\x65', '\x72', '\x3c', '\x54', '\x3e', '\x20', '\x67', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x29', '\x20', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x63', '\x68', '\x75', '\x6e', '\x6b', '\x5f', '\x73', '\x69', '\x7a', '\x65', '\x28', '\x73', '\x69', '\x7a', '\x65', '\x29', '\x2c', '\x20', '\x6d', '\x5f', '\x67', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6d', '\x6f', '\x76', '\x65', '\x28', '\x67', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x29', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x63', '\x68', '\x75', '\x6e', '\x6b', '\x2e', '\x72', '\x65', '\x73', '\x65', '\x72', '\x76', '\x65', '\x28', '\x6d', '\x5f', '\x63', '\x68', '\x75', '\x6e', '\x6b', '\x5f', '\x73', '\x69', '\x7a', '\x65', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x6d', '\x5f', '\x63', '\x68', '\x75', '\x6e', '\x6b', '\x5f', '\x73', '\x69', '\x7a', '\x65', '\x20', '\x21', '\x3d', '\x20', '\x30', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x63', '\x68', '\x75', '\x6e', '\x6b', '\x2e', '\x70', '\x75', '\x73', '\x68', '\x5f', '\x62', '\x61', '\x63', '\x6b', '\x28', '\x6d', '\x5f', '\x67', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x2e', '\x67', '\x65', '\x74', '\x28', '\x29', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x66', '\x6f', '\x72', '\x20', '\x28', '\x73', '\x69', '\x7a', '\x65', '\x5f', '\x74', '\x20', '\x69', '\x20', '\x3d', '\x20', '\x31', '\x3b', '\x20', '\x69', '\x20', '\x3c', '\x20', '\x6d', '\x5f', '\x63', '\x68', '\x75', '\x6e', '\x6b', '\x5f', '\x73', '\x69', '\x7a', '\x65', '\x3b', '\x20', '\x2b', '\x2b', '\x69', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x21', '\x6d', '\x5f', '\x67', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x2e', '\x6e', '\x65', '\x78', '\x74', '\x28', '\x29', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x74', '\x68', '\x72', '\x6f', '\x77', '\x5f', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x28', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x45', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x28', '\x22', '\x4e', '\x6f', '\x74', '\x20', '\x65', '\x6e', '\x6f', '\x75', '\x67', '\x68', '\x20', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x73', '\x20', '\x74', '\x6f', '\x20', '\x69', '\x6e', '\x69', '\x74', '\x69', '\x61', '\x6c', '\x69', '\x7a', '\x65', '\x20', '\x74', '\x68', '\x65', '\x20', '\x66', '\x69', '\x72', '\x73', '\x74', '\x20', '\x63', '\x68', '\x75', '\x6e', '\x6b', '\x22', '\x29', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x63', '\x68', '\x75', '\x6e', '\x6b', '\x2e', '\x70', '\x75', '\x73', '\x68', '\x5f', '\x62', '\x61', '\x63', '\x6b', '\x28', '\x6d', '\x5f', '\x67', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x2e', '\x67', '\x65', '\x74', '\x28', '\x29', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x54', '\x3e', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x67', '\x65', '\x74', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6d', '\x5f', '\x63', '\x68', '\x75', '\x6e', '\x6b', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x6e', '\x65', '\x78', '\x74', '\x28', '\x29', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x63', '\x68', '\x75', '\x6e', '\x6b', '\x2e', '\x63', '\x6c', '\x65', '\x61', '\x72', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x66', '\x6f', '\x72', '\x20', '\x28', '\x73', '\x69', '\x7a', '\x65', '\x5f', '\x74', '\x20', '\x69', '\x64', '\x78', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x20', '\x69', '\x64', '\x78', '\x20', '\x3c', '\x20', '\x6d', '\x5f', '\x63', '\x68', '\x75', '\x6e', '\x6b', '\x5f', '\x73', '\x69', '\x7a', '\x65', '\x3b', '\x20', '\x2b', '\x2b', '\x69', '\x64', '\x78', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x21', '\x6d', '\x5f', '\x67', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x2e', '\x6e', '\x65', '\x78', '\x74', '\x28', '\x29', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x66', '\x61', '\x6c', '\x73', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x63', '\x68', '\x75', '\x6e', '\x6b', '\x2e', '\x70', '\x75', '\x73', '\x68', '\x5f', '\x62', '\x61', '\x63', '\x6b', '\x28', '\x6d', '\x5f', '\x67', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x2e', '\x67', '\x65', '\x74', '\x28', '\x29', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x74', '\x72', '\x75', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x20', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x54', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x57', '\x72', '\x61', '\x70', '\x70', '\x65', '\x72', '\x3c', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x54', '\x3e', '\x3e', '\x20', '\x63', '\x68', '\x75', '\x6e', '\x6b', '\x28', '\x73', '\x69', '\x7a', '\x65', '\x5f', '\x74', '\x20', '\x73', '\x69', '\x7a', '\x65', '\x2c', '\x20', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x57', '\x72', '\x61', '\x70', '\x70', '\x65', '\x72', '\x3c', '\x54', '\x3e', '\x26', '\x26', '\x20', '\x67', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x57', '\x72', '\x61', '\x70', '\x70', '\x65', '\x72', '\x3c', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x54', '\x3e', '\x3e', '\x28', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x66', '\x3a', '\x3a', '\x6d', '\x61', '\x6b', '\x65', '\x5f', '\x75', '\x6e', '\x69', '\x71', '\x75', '\x65', '\x3c', '\x43', '\x68', '\x75', '\x6e', '\x6b', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x3c', '\x54', '\x3e', '\x3e', '\x28', '\x73', '\x69', '\x7a', '\x65', '\x2c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6d', '\x6f', '\x76', '\x65', '\x28', '\x67', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x29', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x73', '\x0d', '\x0a', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x67', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x73', '\x5f', '\x67', '\x65', '\x6e', '\x65', '\x72', '\x69', '\x63', '\x2e', '\x68', '\x70', '\x70', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x67', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x73', '\x5f', '\x73', '\x70', '\x65', '\x63', '\x69', '\x66', '\x69', '\x63', '\x2e', '\x68', '\x70', '\x70', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x63', '\x6f', '\x6e', '\x74', '\x65', '\x78', '\x74', '\x2e', '\x68', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x6d', '\x65', '\x6d', '\x6f', '\x72', '\x79', '\x3e', '\x0d', '\x0a', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x49', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x43', '\x61', '\x70', '\x74', '\x75', '\x72', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x49', '\x52', '\x75', '\x6e', '\x6e', '\x65', '\x72', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x49', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x49', '\x4d', '\x75', '\x74', '\x61', '\x62', '\x6c', '\x65', '\x43', '\x6f', '\x6e', '\x74', '\x65', '\x78', '\x74', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x75', '\x73', '\x69', '\x6e', '\x67', '\x20', '\x49', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x50', '\x74', '\x72', '\x20', '\x3d', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x68', '\x61', '\x72', '\x65', '\x64', '\x5f', '\x70', '\x74', '\x72', '\x3c', '\x49', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x3e', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x49', '\x43', '\x6f', '\x6e', '\x74', '\x65', '\x78', '\x74', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x69', '\x72', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x7e', '\x49', '\x43', '\x6f', '\x6e', '\x74', '\x65', '\x78', '\x74', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x69', '\x72', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x49', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x43', '\x61', '\x70', '\x74', '\x75', '\x72', '\x65', '\x2a', '\x20', '\x67', '\x65', '\x74', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x43', '\x61', '\x70', '\x74', '\x75', '\x72', '\x65', '\x28', '\x29', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x69', '\x72', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x49', '\x52', '\x75', '\x6e', '\x6e', '\x65', '\x72', '\x2a', '\x20', '\x67', '\x65', '\x74', '\x52', '\x75', '\x6e', '\x6e', '\x65', '\x72', '\x28', '\x29', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x69', '\x72', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x49', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x50', '\x74', '\x72', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x67', '\x65', '\x74', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x49', '\x4d', '\x75', '\x74', '\x61', '\x62', '\x6c', '\x65', '\x43', '\x6f', '\x6e', '\x74', '\x65', '\x78', '\x74', '\x20', '\x3a', '\x20', '\x49', '\x43', '\x6f', '\x6e', '\x74', '\x65', '\x78', '\x74', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x69', '\x72', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x7e', '\x49', '\x4d', '\x75', '\x74', '\x61', '\x62', '\x6c', '\x65', '\x43', '\x6f', '\x6e', '\x74', '\x65', '\x78', '\x74', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x69', '\x72', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x73', '\x65', '\x74', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x43', '\x61', '\x70', '\x74', '\x75', '\x72', '\x65', '\x28', '\x20', '\x49', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x43', '\x61', '\x70', '\x74', '\x75', '\x72', '\x65', '\x2a', '\x20', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x43', '\x61', '\x70', '\x74', '\x75', '\x72', '\x65', '\x20', '\x29', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x69', '\x72', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x73', '\x65', '\x74', '\x52', '\x75', '\x6e', '\x6e', '\x65', '\x72', '\x28', '\x20', '\x49', '\x52', '\x75', '\x6e', '\x6e', '\x65', '\x72', '\x2a', '\x20', '\x72', '\x75', '\x6e', '\x6e', '\x65', '\x72', '\x20', '\x29', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x69', '\x72', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x73', '\x65', '\x74', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x28', '\x20', '\x49', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x50', '\x74', '\x72', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x20', '\x29', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x70', '\x72', '\x69', '\x76', '\x61', '\x74', '\x65', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x20', '\x49', '\x4d', '\x75', '\x74', '\x61', '\x62', '\x6c', '\x65', '\x43', '\x6f', '\x6e', '\x74', '\x65', '\x78', '\x74', '\x20', '\x2a', '\x63', '\x75', '\x72', '\x72', '\x65', '\x6e', '\x74', '\x43', '\x6f', '\x6e', '\x74', '\x65', '\x78', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x66', '\x72', '\x69', '\x65', '\x6e', '\x64', '\x20', '\x49', '\x4d', '\x75', '\x74', '\x61', '\x62', '\x6c', '\x65', '\x43', '\x6f', '\x6e', '\x74', '\x65', '\x78', '\x74', '\x26', '\x20', '\x67', '\x65', '\x74', '\x43', '\x75', '\x72', '\x72', '\x65', '\x6e', '\x74', '\x4d', '\x75', '\x74', '\x61', '\x62', '\x6c', '\x65', '\x43', '\x6f', '\x6e', '\x74', '\x65', '\x78', '\x74', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x66', '\x72', '\x69', '\x65', '\x6e', '\x64', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x63', '\x6c', '\x65', '\x61', '\x6e', '\x55', '\x70', '\x43', '\x6f', '\x6e', '\x74', '\x65', '\x78', '\x74', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x63', '\x72', '\x65', '\x61', '\x74', '\x65', '\x43', '\x6f', '\x6e', '\x74', '\x65', '\x78', '\x74', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x69', '\x6e', '\x6c', '\x69', '\x6e', '\x65', '\x20', '\x49', '\x4d', '\x75', '\x74', '\x61', '\x62', '\x6c', '\x65', '\x43', '\x6f', '\x6e', '\x74', '\x65', '\x78', '\x74', '\x26', '\x20', '\x67', '\x65', '\x74', '\x43', '\x75', '\x72', '\x72', '\x65', '\x6e', '\x74', '\x4d', '\x75', '\x74', '\x61', '\x62', '\x6c', '\x65', '\x43', '\x6f', '\x6e', '\x74', '\x65', '\x78', '\x74', '\x28', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x21', '\x49', '\x4d', '\x75', '\x74', '\x61', '\x62', '\x6c', '\x65', '\x43', '\x6f', '\x6e', '\x74', '\x65', '\x78', '\x74', '\x3a', '\x3a', '\x63', '\x75', '\x72', '\x72', '\x65', '\x6e', '\x74', '\x43', '\x6f', '\x6e', '\x74', '\x65', '\x78', '\x74', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x49', '\x4d', '\x75', '\x74', '\x61', '\x62', '\x6c', '\x65', '\x43', '\x6f', '\x6e', '\x74', '\x65', '\x78', '\x74', '\x3a', '\x3a', '\x63', '\x72', '\x65', '\x61', '\x74', '\x65', '\x43', '\x6f', '\x6e', '\x74', '\x65', '\x78', '\x74', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x4e', '\x4f', '\x4c', '\x49', '\x4e', '\x54', '\x4e', '\x45', '\x58', '\x54', '\x4c', '\x49', '\x4e', '\x45', '\x28', '\x63', '\x6c', '\x61', '\x6e', '\x67', '\x2d', '\x61', '\x6e', '\x61', '\x6c', '\x79', '\x7a', '\x65', '\x72', '\x2d', '\x63', '\x6f', '\x72', '\x65', '\x2e', '\x75', '\x6e', '\x69', '\x6e', '\x69', '\x74', '\x69', '\x61', '\x6c', '\x69', '\x7a', '\x65', '\x64', '\x2e', '\x55', '\x6e', '\x64', '\x65', '\x66', '\x52', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x2a', '\x49', '\x4d', '\x75', '\x74', '\x61', '\x62', '\x6c', '\x65', '\x43', '\x6f', '\x6e', '\x74', '\x65', '\x78', '\x74', '\x3a', '\x3a', '\x63', '\x75', '\x72', '\x72', '\x65', '\x6e', '\x74', '\x43', '\x6f', '\x6e', '\x74', '\x65', '\x78', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x69', '\x6e', '\x6c', '\x69', '\x6e', '\x65', '\x20', '\x49', '\x43', '\x6f', '\x6e', '\x74', '\x65', '\x78', '\x74', '\x26', '\x20', '\x67', '\x65', '\x74', '\x43', '\x75', '\x72', '\x72', '\x65', '\x6e', '\x74', '\x43', '\x6f', '\x6e', '\x74', '\x65', '\x78', '\x74', '\x28', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x67', '\x65', '\x74', '\x43', '\x75', '\x72', '\x72', '\x65', '\x6e', '\x74', '\x4d', '\x75', '\x74', '\x61', '\x62', '\x6c', '\x65', '\x43', '\x6f', '\x6e', '\x74', '\x65', '\x78', '\x74', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x63', '\x6c', '\x65', '\x61', '\x6e', '\x55', '\x70', '\x43', '\x6f', '\x6e', '\x74', '\x65', '\x78', '\x74', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x20', '\x53', '\x69', '\x6d', '\x70', '\x6c', '\x65', '\x50', '\x63', '\x67', '\x33', '\x32', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x53', '\x69', '\x6d', '\x70', '\x6c', '\x65', '\x50', '\x63', '\x67', '\x33', '\x32', '\x26', '\x20', '\x72', '\x6e', '\x67', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x63', '\x6f', '\x6e', '\x74', '\x65', '\x78', '\x74', '\x2e', '\x68', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x69', '\x6e', '\x74', '\x65', '\x72', '\x66', '\x61', '\x63', '\x65', '\x73', '\x5f', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x2e', '\x68', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x6f', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x2e', '\x68', '\x70', '\x70', '\x0d', '\x0a', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x41', '\x6e', '\x20', '\x6f', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x61', '\x6c', '\x20', '\x74', '\x79', '\x70', '\x65', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x54', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x20', '\x4f', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x70', '\x75', '\x62', '\x6c', '\x69', '\x63', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x4f', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x28', '\x29', '\x20', '\x3a', '\x20', '\x6e', '\x75', '\x6c', '\x6c', '\x61', '\x62', '\x6c', '\x65', '\x56', '\x61', '\x6c', '\x75', '\x65', '\x28', '\x20', '\x6e', '\x75', '\x6c', '\x6c', '\x70', '\x74', '\x72', '\x20', '\x29', '\x20', '\x7b', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x4f', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x28', '\x20', '\x54', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x5f', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x3a', '\x20', '\x6e', '\x75', '\x6c', '\x6c', '\x61', '\x62', '\x6c', '\x65', '\x56', '\x61', '\x6c', '\x75', '\x65', '\x28', '\x20', '\x6e', '\x65', '\x77', '\x28', '\x20', '\x73', '\x74', '\x6f', '\x72', '\x61', '\x67', '\x65', '\x20', '\x29', '\x20', '\x54', '\x28', '\x20', '\x5f', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x20', '\x29', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7b', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x4f', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x28', '\x20', '\x4f', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x5f', '\x6f', '\x74', '\x68', '\x65', '\x72', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x3a', '\x20', '\x6e', '\x75', '\x6c', '\x6c', '\x61', '\x62', '\x6c', '\x65', '\x56', '\x61', '\x6c', '\x75', '\x65', '\x28', '\x20', '\x5f', '\x6f', '\x74', '\x68', '\x65', '\x72', '\x20', '\x3f', '\x20', '\x6e', '\x65', '\x77', '\x28', '\x20', '\x73', '\x74', '\x6f', '\x72', '\x61', '\x67', '\x65', '\x20', '\x29', '\x20', '\x54', '\x28', '\x20', '\x2a', '\x5f', '\x6f', '\x74', '\x68', '\x65', '\x72', '\x20', '\x29', '\x20', '\x3a', '\x20', '\x6e', '\x75', '\x6c', '\x6c', '\x70', '\x74', '\x72', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7b', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7e', '\x4f', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x28', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x73', '\x65', '\x74', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x4f', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x26', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x3d', '\x20', '\x28', '\x20', '\x4f', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x5f', '\x6f', '\x74', '\x68', '\x65', '\x72', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x26', '\x5f', '\x6f', '\x74', '\x68', '\x65', '\x72', '\x20', '\x21', '\x3d', '\x20', '\x74', '\x68', '\x69', '\x73', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x73', '\x65', '\x74', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x5f', '\x6f', '\x74', '\x68', '\x65', '\x72', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6e', '\x75', '\x6c', '\x6c', '\x61', '\x62', '\x6c', '\x65', '\x56', '\x61', '\x6c', '\x75', '\x65', '\x20', '\x3d', '\x20', '\x6e', '\x65', '\x77', '\x28', '\x20', '\x73', '\x74', '\x6f', '\x72', '\x61', '\x67', '\x65', '\x20', '\x29', '\x20', '\x54', '\x28', '\x20', '\x2a', '\x5f', '\x6f', '\x74', '\x68', '\x65', '\x72', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x2a', '\x74', '\x68', '\x69', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x4f', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x26', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x3d', '\x20', '\x28', '\x20', '\x54', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x5f', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x73', '\x65', '\x74', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6e', '\x75', '\x6c', '\x6c', '\x61', '\x62', '\x6c', '\x65', '\x56', '\x61', '\x6c', '\x75', '\x65', '\x20', '\x3d', '\x20', '\x6e', '\x65', '\x77', '\x28', '\x20', '\x73', '\x74', '\x6f', '\x72', '\x61', '\x67', '\x65', '\x20', '\x29', '\x20', '\x54', '\x28', '\x20', '\x5f', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x2a', '\x74', '\x68', '\x69', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x72', '\x65', '\x73', '\x65', '\x74', '\x28', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x6e', '\x75', '\x6c', '\x6c', '\x61', '\x62', '\x6c', '\x65', '\x56', '\x61', '\x6c', '\x75', '\x65', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6e', '\x75', '\x6c', '\x6c', '\x61', '\x62', '\x6c', '\x65', '\x56', '\x61', '\x6c', '\x75', '\x65', '\x2d', '\x3e', '\x7e', '\x54', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6e', '\x75', '\x6c', '\x6c', '\x61', '\x62', '\x6c', '\x65', '\x56', '\x61', '\x6c', '\x75', '\x65', '\x20', '\x3d', '\x20', '\x6e', '\x75', '\x6c', '\x6c', '\x70', '\x74', '\x72', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x54', '\x26', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x2a', '\x28', '\x29', '\x20', '\x7b', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x2a', '\x6e', '\x75', '\x6c', '\x6c', '\x61', '\x62', '\x6c', '\x65', '\x56', '\x61', '\x6c', '\x75', '\x65', '\x3b', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x54', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x2a', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x7b', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x2a', '\x6e', '\x75', '\x6c', '\x6c', '\x61', '\x62', '\x6c', '\x65', '\x56', '\x61', '\x6c', '\x75', '\x65', '\x3b', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x54', '\x2a', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x2d', '\x3e', '\x28', '\x29', '\x20', '\x7b', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6e', '\x75', '\x6c', '\x6c', '\x61', '\x62', '\x6c', '\x65', '\x56', '\x61', '\x6c', '\x75', '\x65', '\x3b', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x54', '\x2a', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x2d', '\x3e', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x7b', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6e', '\x75', '\x6c', '\x6c', '\x61', '\x62', '\x6c', '\x65', '\x56', '\x61', '\x6c', '\x75', '\x65', '\x3b', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x54', '\x20', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x4f', '\x72', '\x28', '\x20', '\x54', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x64', '\x65', '\x66', '\x61', '\x75', '\x6c', '\x74', '\x56', '\x61', '\x6c', '\x75', '\x65', '\x20', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6e', '\x75', '\x6c', '\x6c', '\x61', '\x62', '\x6c', '\x65', '\x56', '\x61', '\x6c', '\x75', '\x65', '\x20', '\x3f', '\x20', '\x2a', '\x6e', '\x75', '\x6c', '\x6c', '\x61', '\x62', '\x6c', '\x65', '\x56', '\x61', '\x6c', '\x75', '\x65', '\x20', '\x3a', '\x20', '\x64', '\x65', '\x66', '\x61', '\x75', '\x6c', '\x74', '\x56', '\x61', '\x6c', '\x75', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x73', '\x6f', '\x6d', '\x65', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x7b', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6e', '\x75', '\x6c', '\x6c', '\x61', '\x62', '\x6c', '\x65', '\x56', '\x61', '\x6c', '\x75', '\x65', '\x20', '\x21', '\x3d', '\x20', '\x6e', '\x75', '\x6c', '\x6c', '\x70', '\x74', '\x72', '\x3b', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x6e', '\x6f', '\x6e', '\x65', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x7b', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6e', '\x75', '\x6c', '\x6c', '\x61', '\x62', '\x6c', '\x65', '\x56', '\x61', '\x6c', '\x75', '\x65', '\x20', '\x3d', '\x3d', '\x20', '\x6e', '\x75', '\x6c', '\x6c', '\x70', '\x74', '\x72', '\x3b', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x21', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x7b', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6e', '\x75', '\x6c', '\x6c', '\x61', '\x62', '\x6c', '\x65', '\x56', '\x61', '\x6c', '\x75', '\x65', '\x20', '\x3d', '\x3d', '\x20', '\x6e', '\x75', '\x6c', '\x6c', '\x70', '\x74', '\x72', '\x3b', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x78', '\x70', '\x6c', '\x69', '\x63', '\x69', '\x74', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x73', '\x6f', '\x6d', '\x65', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x70', '\x72', '\x69', '\x76', '\x61', '\x74', '\x65', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x54', '\x20', '\x2a', '\x6e', '\x75', '\x6c', '\x6c', '\x61', '\x62', '\x6c', '\x65', '\x56', '\x61', '\x6c', '\x75', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x6c', '\x69', '\x67', '\x6e', '\x61', '\x73', '\x28', '\x61', '\x6c', '\x69', '\x67', '\x6e', '\x6f', '\x66', '\x28', '\x54', '\x29', '\x29', '\x20', '\x63', '\x68', '\x61', '\x72', '\x20', '\x73', '\x74', '\x6f', '\x72', '\x61', '\x67', '\x65', '\x5b', '\x73', '\x69', '\x7a', '\x65', '\x6f', '\x66', '\x28', '\x54', '\x29', '\x5d', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x6f', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x2e', '\x68', '\x70', '\x70', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x69', '\x6f', '\x73', '\x66', '\x77', '\x64', '\x3e', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x3e', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3e', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x6d', '\x65', '\x6d', '\x6f', '\x72', '\x79', '\x3e', '\x0d', '\x0a', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x65', '\x6e', '\x75', '\x6d', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x20', '\x56', '\x65', '\x72', '\x62', '\x6f', '\x73', '\x69', '\x74', '\x79', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x51', '\x75', '\x69', '\x65', '\x74', '\x20', '\x3d', '\x20', '\x30', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x4e', '\x6f', '\x72', '\x6d', '\x61', '\x6c', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x48', '\x69', '\x67', '\x68', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x57', '\x61', '\x72', '\x6e', '\x41', '\x62', '\x6f', '\x75', '\x74', '\x20', '\x7b', '\x20', '\x65', '\x6e', '\x75', '\x6d', '\x20', '\x57', '\x68', '\x61', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x4e', '\x6f', '\x74', '\x68', '\x69', '\x6e', '\x67', '\x20', '\x3d', '\x20', '\x30', '\x78', '\x30', '\x30', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x4e', '\x6f', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x20', '\x3d', '\x20', '\x30', '\x78', '\x30', '\x31', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x4e', '\x6f', '\x54', '\x65', '\x73', '\x74', '\x73', '\x20', '\x3d', '\x20', '\x30', '\x78', '\x30', '\x32', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x53', '\x68', '\x6f', '\x77', '\x44', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x20', '\x7b', '\x20', '\x65', '\x6e', '\x75', '\x6d', '\x20', '\x4f', '\x72', '\x4e', '\x6f', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x44', '\x65', '\x66', '\x61', '\x75', '\x6c', '\x74', '\x46', '\x6f', '\x72', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x41', '\x6c', '\x77', '\x61', '\x79', '\x73', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x4e', '\x65', '\x76', '\x65', '\x72', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x52', '\x75', '\x6e', '\x54', '\x65', '\x73', '\x74', '\x73', '\x20', '\x7b', '\x20', '\x65', '\x6e', '\x75', '\x6d', '\x20', '\x49', '\x6e', '\x57', '\x68', '\x61', '\x74', '\x4f', '\x72', '\x64', '\x65', '\x72', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x49', '\x6e', '\x44', '\x65', '\x63', '\x6c', '\x61', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x4f', '\x72', '\x64', '\x65', '\x72', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x49', '\x6e', '\x4c', '\x65', '\x78', '\x69', '\x63', '\x6f', '\x67', '\x72', '\x61', '\x70', '\x68', '\x69', '\x63', '\x61', '\x6c', '\x4f', '\x72', '\x64', '\x65', '\x72', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x49', '\x6e', '\x52', '\x61', '\x6e', '\x64', '\x6f', '\x6d', '\x4f', '\x72', '\x64', '\x65', '\x72', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x55', '\x73', '\x65', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x20', '\x7b', '\x20', '\x65', '\x6e', '\x75', '\x6d', '\x20', '\x59', '\x65', '\x73', '\x4f', '\x72', '\x4e', '\x6f', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x41', '\x75', '\x74', '\x6f', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x59', '\x65', '\x73', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x4e', '\x6f', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x57', '\x61', '\x69', '\x74', '\x46', '\x6f', '\x72', '\x4b', '\x65', '\x79', '\x70', '\x72', '\x65', '\x73', '\x73', '\x20', '\x7b', '\x20', '\x65', '\x6e', '\x75', '\x6d', '\x20', '\x57', '\x68', '\x65', '\x6e', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x4e', '\x65', '\x76', '\x65', '\x72', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x42', '\x65', '\x66', '\x6f', '\x72', '\x65', '\x53', '\x74', '\x61', '\x72', '\x74', '\x20', '\x3d', '\x20', '\x31', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x42', '\x65', '\x66', '\x6f', '\x72', '\x65', '\x45', '\x78', '\x69', '\x74', '\x20', '\x3d', '\x20', '\x32', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x42', '\x65', '\x66', '\x6f', '\x72', '\x65', '\x53', '\x74', '\x61', '\x72', '\x74', '\x41', '\x6e', '\x64', '\x45', '\x78', '\x69', '\x74', '\x20', '\x3d', '\x20', '\x42', '\x65', '\x66', '\x6f', '\x72', '\x65', '\x53', '\x74', '\x61', '\x72', '\x74', '\x20', '\x7c', '\x20', '\x42', '\x65', '\x66', '\x6f', '\x72', '\x65', '\x45', '\x78', '\x69', '\x74', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x20', '\x54', '\x65', '\x73', '\x74', '\x53', '\x70', '\x65', '\x63', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x49', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x20', '\x3a', '\x20', '\x4e', '\x6f', '\x6e', '\x43', '\x6f', '\x70', '\x79', '\x61', '\x62', '\x6c', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x69', '\x72', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x7e', '\x49', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x69', '\x72', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x61', '\x6c', '\x6c', '\x6f', '\x77', '\x54', '\x68', '\x72', '\x6f', '\x77', '\x73', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x69', '\x72', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6f', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x26', '\x20', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x69', '\x72', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x69', '\x72', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x53', '\x75', '\x63', '\x63', '\x65', '\x73', '\x73', '\x66', '\x75', '\x6c', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x73', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x69', '\x72', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x73', '\x68', '\x6f', '\x75', '\x6c', '\x64', '\x44', '\x65', '\x62', '\x75', '\x67', '\x42', '\x72', '\x65', '\x61', '\x6b', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x69', '\x72', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x77', '\x61', '\x72', '\x6e', '\x41', '\x62', '\x6f', '\x75', '\x74', '\x4d', '\x69', '\x73', '\x73', '\x69', '\x6e', '\x67', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x69', '\x72', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x77', '\x61', '\x72', '\x6e', '\x41', '\x62', '\x6f', '\x75', '\x74', '\x4e', '\x6f', '\x54', '\x65', '\x73', '\x74', '\x73', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x69', '\x72', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x69', '\x6e', '\x74', '\x20', '\x61', '\x62', '\x6f', '\x72', '\x74', '\x41', '\x66', '\x74', '\x65', '\x72', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x69', '\x72', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x73', '\x68', '\x6f', '\x77', '\x49', '\x6e', '\x76', '\x69', '\x73', '\x69', '\x62', '\x6c', '\x65', '\x73', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x69', '\x72', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x53', '\x68', '\x6f', '\x77', '\x44', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x3a', '\x3a', '\x4f', '\x72', '\x4e', '\x6f', '\x74', '\x20', '\x73', '\x68', '\x6f', '\x77', '\x44', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x69', '\x72', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x54', '\x65', '\x73', '\x74', '\x53', '\x70', '\x65', '\x63', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x74', '\x65', '\x73', '\x74', '\x53', '\x70', '\x65', '\x63', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x69', '\x72', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x68', '\x61', '\x73', '\x54', '\x65', '\x73', '\x74', '\x46', '\x69', '\x6c', '\x74', '\x65', '\x72', '\x73', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x69', '\x72', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x3e', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x67', '\x65', '\x74', '\x54', '\x65', '\x73', '\x74', '\x73', '\x4f', '\x72', '\x54', '\x61', '\x67', '\x73', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x69', '\x72', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x52', '\x75', '\x6e', '\x54', '\x65', '\x73', '\x74', '\x73', '\x3a', '\x3a', '\x49', '\x6e', '\x57', '\x68', '\x61', '\x74', '\x4f', '\x72', '\x64', '\x65', '\x72', '\x20', '\x72', '\x75', '\x6e', '\x4f', '\x72', '\x64', '\x65', '\x72', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x69', '\x72', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x75', '\x6e', '\x73', '\x69', '\x67', '\x6e', '\x65', '\x64', '\x20', '\x69', '\x6e', '\x74', '\x20', '\x72', '\x6e', '\x67', '\x53', '\x65', '\x65', '\x64', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x69', '\x72', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x55', '\x73', '\x65', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x3a', '\x3a', '\x59', '\x65', '\x73', '\x4f', '\x72', '\x4e', '\x6f', '\x20', '\x75', '\x73', '\x65', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x69', '\x72', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x3e', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x67', '\x65', '\x74', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x54', '\x6f', '\x52', '\x75', '\x6e', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x69', '\x72', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x56', '\x65', '\x72', '\x62', '\x6f', '\x73', '\x69', '\x74', '\x79', '\x20', '\x76', '\x65', '\x72', '\x62', '\x6f', '\x73', '\x69', '\x74', '\x79', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x69', '\x72', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x62', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x4e', '\x6f', '\x41', '\x6e', '\x61', '\x6c', '\x79', '\x73', '\x69', '\x73', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x69', '\x72', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x69', '\x6e', '\x74', '\x20', '\x62', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x53', '\x61', '\x6d', '\x70', '\x6c', '\x65', '\x73', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x69', '\x72', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x20', '\x62', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x64', '\x65', '\x6e', '\x63', '\x65', '\x49', '\x6e', '\x74', '\x65', '\x72', '\x76', '\x61', '\x6c', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x69', '\x72', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x75', '\x6e', '\x73', '\x69', '\x67', '\x6e', '\x65', '\x64', '\x20', '\x69', '\x6e', '\x74', '\x20', '\x62', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x52', '\x65', '\x73', '\x61', '\x6d', '\x70', '\x6c', '\x65', '\x73', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x75', '\x73', '\x69', '\x6e', '\x67', '\x20', '\x49', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x50', '\x74', '\x72', '\x20', '\x3d', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x68', '\x61', '\x72', '\x65', '\x64', '\x5f', '\x70', '\x74', '\x72', '\x3c', '\x49', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x3e', '\x3b', '\x0d', '\x0a', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x69', '\x6e', '\x74', '\x65', '\x72', '\x66', '\x61', '\x63', '\x65', '\x73', '\x5f', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x2e', '\x68', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x72', '\x61', '\x6e', '\x64', '\x6f', '\x6d', '\x5f', '\x6e', '\x75', '\x6d', '\x62', '\x65', '\x72', '\x5f', '\x67', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x2e', '\x68', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x63', '\x73', '\x74', '\x64', '\x69', '\x6e', '\x74', '\x3e', '\x0d', '\x0a', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x54', '\x68', '\x69', '\x73', '\x20', '\x69', '\x73', '\x20', '\x61', '\x20', '\x73', '\x69', '\x6d', '\x70', '\x6c', '\x65', '\x20', '\x69', '\x6d', '\x70', '\x6c', '\x65', '\x6d', '\x65', '\x6e', '\x74', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x6f', '\x66', '\x20', '\x43', '\x2b', '\x2b', '\x31', '\x31', '\x20', '\x55', '\x6e', '\x69', '\x66', '\x6f', '\x72', '\x6d', '\x20', '\x52', '\x61', '\x6e', '\x64', '\x6f', '\x6d', '\x20', '\x4e', '\x75', '\x6d', '\x62', '\x65', '\x72', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x2e', '\x20', '\x49', '\x74', '\x20', '\x64', '\x6f', '\x65', '\x73', '\x20', '\x6e', '\x6f', '\x74', '\x20', '\x70', '\x72', '\x6f', '\x76', '\x69', '\x64', '\x65', '\x20', '\x61', '\x6c', '\x6c', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x73', '\x2c', '\x20', '\x62', '\x65', '\x63', '\x61', '\x75', '\x73', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x32', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x64', '\x6f', '\x65', '\x73', '\x20', '\x6e', '\x6f', '\x74', '\x20', '\x75', '\x73', '\x65', '\x20', '\x69', '\x74', '\x2c', '\x20', '\x62', '\x75', '\x74', '\x20', '\x69', '\x74', '\x20', '\x73', '\x68', '\x6f', '\x75', '\x6c', '\x64', '\x20', '\x62', '\x65', '\x68', '\x61', '\x76', '\x65', '\x20', '\x61', '\x73', '\x20', '\x65', '\x78', '\x70', '\x65', '\x63', '\x74', '\x65', '\x64', '\x20', '\x69', '\x6e', '\x73', '\x69', '\x64', '\x65', '\x20', '\x73', '\x74', '\x64', '\x6c', '\x69', '\x62', '\x27', '\x73', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x64', '\x69', '\x73', '\x74', '\x72', '\x69', '\x62', '\x75', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x2e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x54', '\x68', '\x65', '\x20', '\x69', '\x6d', '\x70', '\x6c', '\x65', '\x6d', '\x65', '\x6e', '\x74', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x69', '\x73', '\x20', '\x62', '\x61', '\x73', '\x65', '\x64', '\x20', '\x6f', '\x6e', '\x20', '\x74', '\x68', '\x65', '\x20', '\x50', '\x43', '\x47', '\x20', '\x66', '\x61', '\x6d', '\x69', '\x6c', '\x79', '\x20', '\x28', '\x68', '\x74', '\x74', '\x70', '\x3a', '\x2f', '\x2f', '\x70', '\x63', '\x67', '\x2d', '\x72', '\x61', '\x6e', '\x64', '\x6f', '\x6d', '\x2e', '\x6f', '\x72', '\x67', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x20', '\x53', '\x69', '\x6d', '\x70', '\x6c', '\x65', '\x50', '\x63', '\x67', '\x33', '\x32', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x75', '\x73', '\x69', '\x6e', '\x67', '\x20', '\x73', '\x74', '\x61', '\x74', '\x65', '\x5f', '\x74', '\x79', '\x70', '\x65', '\x20', '\x3d', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x75', '\x69', '\x6e', '\x74', '\x36', '\x34', '\x5f', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x70', '\x75', '\x62', '\x6c', '\x69', '\x63', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x75', '\x73', '\x69', '\x6e', '\x67', '\x20', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x5f', '\x74', '\x79', '\x70', '\x65', '\x20', '\x3d', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x75', '\x69', '\x6e', '\x74', '\x33', '\x32', '\x5f', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x65', '\x78', '\x70', '\x72', '\x20', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x5f', '\x74', '\x79', '\x70', '\x65', '\x20', '\x28', '\x6d', '\x69', '\x6e', '\x29', '\x28', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x65', '\x78', '\x70', '\x72', '\x20', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x5f', '\x74', '\x79', '\x70', '\x65', '\x20', '\x28', '\x6d', '\x61', '\x78', '\x29', '\x28', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x5f', '\x63', '\x61', '\x73', '\x74', '\x3c', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x5f', '\x74', '\x79', '\x70', '\x65', '\x3e', '\x28', '\x2d', '\x31', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x50', '\x72', '\x6f', '\x76', '\x69', '\x64', '\x65', '\x20', '\x73', '\x6f', '\x6d', '\x65', '\x20', '\x64', '\x65', '\x66', '\x61', '\x75', '\x6c', '\x74', '\x20', '\x69', '\x6e', '\x69', '\x74', '\x69', '\x61', '\x6c', '\x20', '\x73', '\x74', '\x61', '\x74', '\x65', '\x20', '\x66', '\x6f', '\x72', '\x20', '\x74', '\x68', '\x65', '\x20', '\x64', '\x65', '\x66', '\x61', '\x75', '\x6c', '\x74', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x6f', '\x72', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x53', '\x69', '\x6d', '\x70', '\x6c', '\x65', '\x50', '\x63', '\x67', '\x33', '\x32', '\x28', '\x29', '\x3a', '\x53', '\x69', '\x6d', '\x70', '\x6c', '\x65', '\x50', '\x63', '\x67', '\x33', '\x32', '\x28', '\x30', '\x78', '\x65', '\x64', '\x37', '\x34', '\x33', '\x63', '\x63', '\x34', '\x55', '\x29', '\x20', '\x7b', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x78', '\x70', '\x6c', '\x69', '\x63', '\x69', '\x74', '\x20', '\x53', '\x69', '\x6d', '\x70', '\x6c', '\x65', '\x50', '\x63', '\x67', '\x33', '\x32', '\x28', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x5f', '\x74', '\x79', '\x70', '\x65', '\x20', '\x73', '\x65', '\x65', '\x64', '\x5f', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x73', '\x65', '\x65', '\x64', '\x28', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x5f', '\x74', '\x79', '\x70', '\x65', '\x20', '\x73', '\x65', '\x65', '\x64', '\x5f', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x64', '\x69', '\x73', '\x63', '\x61', '\x72', '\x64', '\x28', '\x75', '\x69', '\x6e', '\x74', '\x36', '\x34', '\x5f', '\x74', '\x20', '\x73', '\x6b', '\x69', '\x70', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x5f', '\x74', '\x79', '\x70', '\x65', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x28', '\x29', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x70', '\x72', '\x69', '\x76', '\x61', '\x74', '\x65', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x66', '\x72', '\x69', '\x65', '\x6e', '\x64', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x3d', '\x3d', '\x28', '\x53', '\x69', '\x6d', '\x70', '\x6c', '\x65', '\x50', '\x63', '\x67', '\x33', '\x32', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6c', '\x68', '\x73', '\x2c', '\x20', '\x53', '\x69', '\x6d', '\x70', '\x6c', '\x65', '\x50', '\x63', '\x67', '\x33', '\x32', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x72', '\x68', '\x73', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x66', '\x72', '\x69', '\x65', '\x6e', '\x64', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x21', '\x3d', '\x28', '\x53', '\x69', '\x6d', '\x70', '\x6c', '\x65', '\x50', '\x63', '\x67', '\x33', '\x32', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6c', '\x68', '\x73', '\x2c', '\x20', '\x53', '\x69', '\x6d', '\x70', '\x6c', '\x65', '\x50', '\x63', '\x67', '\x33', '\x32', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x72', '\x68', '\x73', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x49', '\x6e', '\x20', '\x74', '\x68', '\x65', '\x6f', '\x72', '\x79', '\x20', '\x77', '\x65', '\x20', '\x61', '\x6c', '\x73', '\x6f', '\x20', '\x6e', '\x65', '\x65', '\x64', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x3c', '\x3c', '\x20', '\x61', '\x6e', '\x64', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x3e', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x49', '\x6e', '\x20', '\x70', '\x72', '\x61', '\x63', '\x74', '\x69', '\x63', '\x65', '\x20', '\x77', '\x65', '\x20', '\x64', '\x6f', '\x20', '\x6e', '\x6f', '\x74', '\x20', '\x75', '\x73', '\x65', '\x20', '\x74', '\x68', '\x65', '\x6d', '\x2c', '\x20', '\x73', '\x6f', '\x20', '\x77', '\x65', '\x20', '\x77', '\x69', '\x6c', '\x6c', '\x20', '\x73', '\x6b', '\x69', '\x70', '\x20', '\x74', '\x68', '\x65', '\x6d', '\x20', '\x66', '\x6f', '\x72', '\x20', '\x6e', '\x6f', '\x77', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x75', '\x69', '\x6e', '\x74', '\x36', '\x34', '\x5f', '\x74', '\x20', '\x6d', '\x5f', '\x73', '\x74', '\x61', '\x74', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x54', '\x68', '\x69', '\x73', '\x20', '\x70', '\x61', '\x72', '\x74', '\x20', '\x6f', '\x66', '\x20', '\x74', '\x68', '\x65', '\x20', '\x73', '\x74', '\x61', '\x74', '\x65', '\x20', '\x64', '\x65', '\x74', '\x65', '\x72', '\x6d', '\x69', '\x6e', '\x65', '\x73', '\x20', '\x77', '\x68', '\x69', '\x63', '\x68', '\x20', '\x22', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x22', '\x20', '\x6f', '\x66', '\x20', '\x74', '\x68', '\x65', '\x20', '\x6e', '\x75', '\x6d', '\x62', '\x65', '\x72', '\x73', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x69', '\x73', '\x20', '\x63', '\x68', '\x6f', '\x73', '\x65', '\x6e', '\x20', '\x2d', '\x2d', '\x20', '\x77', '\x65', '\x20', '\x74', '\x61', '\x6b', '\x65', '\x20', '\x69', '\x74', '\x20', '\x61', '\x73', '\x20', '\x61', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x61', '\x6e', '\x74', '\x20', '\x66', '\x6f', '\x72', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x32', '\x2c', '\x20', '\x73', '\x6f', '\x20', '\x77', '\x65', '\x20', '\x6f', '\x6e', '\x6c', '\x79', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x6e', '\x65', '\x65', '\x64', '\x20', '\x74', '\x6f', '\x20', '\x64', '\x65', '\x61', '\x6c', '\x20', '\x77', '\x69', '\x74', '\x68', '\x20', '\x73', '\x65', '\x65', '\x64', '\x69', '\x6e', '\x67', '\x20', '\x74', '\x68', '\x65', '\x20', '\x6d', '\x61', '\x69', '\x6e', '\x20', '\x73', '\x74', '\x61', '\x74', '\x65', '\x2e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x50', '\x69', '\x63', '\x6b', '\x65', '\x64', '\x20', '\x62', '\x79', '\x20', '\x72', '\x65', '\x61', '\x64', '\x69', '\x6e', '\x67', '\x20', '\x38', '\x20', '\x62', '\x79', '\x74', '\x65', '\x73', '\x20', '\x66', '\x72', '\x6f', '\x6d', '\x20', '\x60', '\x2f', '\x64', '\x65', '\x76', '\x2f', '\x72', '\x61', '\x6e', '\x64', '\x6f', '\x6d', '\x60', '\x20', '\x3a', '\x2d', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x75', '\x69', '\x6e', '\x74', '\x36', '\x34', '\x5f', '\x74', '\x20', '\x73', '\x5f', '\x69', '\x6e', '\x63', '\x20', '\x3d', '\x20', '\x28', '\x30', '\x78', '\x31', '\x33', '\x65', '\x64', '\x30', '\x63', '\x63', '\x35', '\x33', '\x66', '\x39', '\x33', '\x39', '\x34', '\x37', '\x36', '\x55', '\x4c', '\x4c', '\x20', '\x3c', '\x3c', '\x20', '\x31', '\x55', '\x4c', '\x4c', '\x29', '\x20', '\x7c', '\x20', '\x31', '\x55', '\x4c', '\x4c', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x72', '\x61', '\x6e', '\x64', '\x6f', '\x6d', '\x5f', '\x6e', '\x75', '\x6d', '\x62', '\x65', '\x72', '\x5f', '\x67', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x2e', '\x68', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x72', '\x61', '\x6e', '\x64', '\x6f', '\x6d', '\x3e', '\x0d', '\x0a', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x73', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x20', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x46', '\x6c', '\x6f', '\x61', '\x74', '\x3e', '\x0d', '\x0a', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x20', '\x52', '\x61', '\x6e', '\x64', '\x6f', '\x6d', '\x46', '\x6c', '\x6f', '\x61', '\x74', '\x69', '\x6e', '\x67', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x66', '\x69', '\x6e', '\x61', '\x6c', '\x20', '\x3a', '\x20', '\x70', '\x75', '\x62', '\x6c', '\x69', '\x63', '\x20', '\x49', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x3c', '\x46', '\x6c', '\x6f', '\x61', '\x74', '\x3e', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x53', '\x69', '\x6d', '\x70', '\x6c', '\x65', '\x50', '\x63', '\x67', '\x33', '\x32', '\x26', '\x20', '\x6d', '\x5f', '\x72', '\x6e', '\x67', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x75', '\x6e', '\x69', '\x66', '\x6f', '\x72', '\x6d', '\x5f', '\x72', '\x65', '\x61', '\x6c', '\x5f', '\x64', '\x69', '\x73', '\x74', '\x72', '\x69', '\x62', '\x75', '\x74', '\x69', '\x6f', '\x6e', '\x3c', '\x46', '\x6c', '\x6f', '\x61', '\x74', '\x3e', '\x20', '\x6d', '\x5f', '\x64', '\x69', '\x73', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x46', '\x6c', '\x6f', '\x61', '\x74', '\x20', '\x6d', '\x5f', '\x63', '\x75', '\x72', '\x72', '\x65', '\x6e', '\x74', '\x5f', '\x6e', '\x75', '\x6d', '\x62', '\x65', '\x72', '\x3b', '\x0d', '\x0a', '\x70', '\x75', '\x62', '\x6c', '\x69', '\x63', '\x3a', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x52', '\x61', '\x6e', '\x64', '\x6f', '\x6d', '\x46', '\x6c', '\x6f', '\x61', '\x74', '\x69', '\x6e', '\x67', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x28', '\x46', '\x6c', '\x6f', '\x61', '\x74', '\x20', '\x61', '\x2c', '\x20', '\x46', '\x6c', '\x6f', '\x61', '\x74', '\x20', '\x62', '\x29', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x72', '\x6e', '\x67', '\x28', '\x72', '\x6e', '\x67', '\x28', '\x29', '\x29', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x64', '\x69', '\x73', '\x74', '\x28', '\x61', '\x2c', '\x20', '\x62', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x5f', '\x63', '\x61', '\x73', '\x74', '\x3c', '\x76', '\x6f', '\x69', '\x64', '\x3e', '\x28', '\x6e', '\x65', '\x78', '\x74', '\x28', '\x29', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x46', '\x6c', '\x6f', '\x61', '\x74', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x67', '\x65', '\x74', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6d', '\x5f', '\x63', '\x75', '\x72', '\x72', '\x65', '\x6e', '\x74', '\x5f', '\x6e', '\x75', '\x6d', '\x62', '\x65', '\x72', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x6e', '\x65', '\x78', '\x74', '\x28', '\x29', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x63', '\x75', '\x72', '\x72', '\x65', '\x6e', '\x74', '\x5f', '\x6e', '\x75', '\x6d', '\x62', '\x65', '\x72', '\x20', '\x3d', '\x20', '\x6d', '\x5f', '\x64', '\x69', '\x73', '\x74', '\x28', '\x6d', '\x5f', '\x72', '\x6e', '\x67', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x74', '\x72', '\x75', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x20', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x49', '\x6e', '\x74', '\x65', '\x67', '\x65', '\x72', '\x3e', '\x0d', '\x0a', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x20', '\x52', '\x61', '\x6e', '\x64', '\x6f', '\x6d', '\x49', '\x6e', '\x74', '\x65', '\x67', '\x65', '\x72', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x66', '\x69', '\x6e', '\x61', '\x6c', '\x20', '\x3a', '\x20', '\x70', '\x75', '\x62', '\x6c', '\x69', '\x63', '\x20', '\x49', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x3c', '\x49', '\x6e', '\x74', '\x65', '\x67', '\x65', '\x72', '\x3e', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x53', '\x69', '\x6d', '\x70', '\x6c', '\x65', '\x50', '\x63', '\x67', '\x33', '\x32', '\x26', '\x20', '\x6d', '\x5f', '\x72', '\x6e', '\x67', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x75', '\x6e', '\x69', '\x66', '\x6f', '\x72', '\x6d', '\x5f', '\x69', '\x6e', '\x74', '\x5f', '\x64', '\x69', '\x73', '\x74', '\x72', '\x69', '\x62', '\x75', '\x74', '\x69', '\x6f', '\x6e', '\x3c', '\x49', '\x6e', '\x74', '\x65', '\x67', '\x65', '\x72', '\x3e', '\x20', '\x6d', '\x5f', '\x64', '\x69', '\x73', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x49', '\x6e', '\x74', '\x65', '\x67', '\x65', '\x72', '\x20', '\x6d', '\x5f', '\x63', '\x75', '\x72', '\x72', '\x65', '\x6e', '\x74', '\x5f', '\x6e', '\x75', '\x6d', '\x62', '\x65', '\x72', '\x3b', '\x0d', '\x0a', '\x70', '\x75', '\x62', '\x6c', '\x69', '\x63', '\x3a', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x52', '\x61', '\x6e', '\x64', '\x6f', '\x6d', '\x49', '\x6e', '\x74', '\x65', '\x67', '\x65', '\x72', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x28', '\x49', '\x6e', '\x74', '\x65', '\x67', '\x65', '\x72', '\x20', '\x61', '\x2c', '\x20', '\x49', '\x6e', '\x74', '\x65', '\x67', '\x65', '\x72', '\x20', '\x62', '\x29', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x72', '\x6e', '\x67', '\x28', '\x72', '\x6e', '\x67', '\x28', '\x29', '\x29', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x64', '\x69', '\x73', '\x74', '\x28', '\x61', '\x2c', '\x20', '\x62', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x5f', '\x63', '\x61', '\x73', '\x74', '\x3c', '\x76', '\x6f', '\x69', '\x64', '\x3e', '\x28', '\x6e', '\x65', '\x78', '\x74', '\x28', '\x29', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x49', '\x6e', '\x74', '\x65', '\x67', '\x65', '\x72', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x67', '\x65', '\x74', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6d', '\x5f', '\x63', '\x75', '\x72', '\x72', '\x65', '\x6e', '\x74', '\x5f', '\x6e', '\x75', '\x6d', '\x62', '\x65', '\x72', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x6e', '\x65', '\x78', '\x74', '\x28', '\x29', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x63', '\x75', '\x72', '\x72', '\x65', '\x6e', '\x74', '\x5f', '\x6e', '\x75', '\x6d', '\x62', '\x65', '\x72', '\x20', '\x3d', '\x20', '\x6d', '\x5f', '\x64', '\x69', '\x73', '\x74', '\x28', '\x6d', '\x5f', '\x72', '\x6e', '\x67', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x74', '\x72', '\x75', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x54', '\x4f', '\x44', '\x4f', '\x3a', '\x20', '\x49', '\x64', '\x65', '\x61', '\x6c', '\x6c', '\x79', '\x20', '\x74', '\x68', '\x69', '\x73', '\x20', '\x77', '\x6f', '\x75', '\x6c', '\x64', '\x20', '\x62', '\x65', '\x20', '\x61', '\x6c', '\x73', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x72', '\x61', '\x69', '\x6e', '\x65', '\x64', '\x20', '\x61', '\x67', '\x61', '\x69', '\x6e', '\x73', '\x74', '\x20', '\x74', '\x68', '\x65', '\x20', '\x76', '\x61', '\x72', '\x69', '\x6f', '\x75', '\x73', '\x20', '\x63', '\x68', '\x61', '\x72', '\x20', '\x74', '\x79', '\x70', '\x65', '\x73', '\x2c', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x75', '\x74', '\x20', '\x49', '\x20', '\x64', '\x6f', '\x6e', '\x27', '\x74', '\x20', '\x65', '\x78', '\x70', '\x65', '\x63', '\x74', '\x20', '\x75', '\x73', '\x65', '\x72', '\x73', '\x20', '\x74', '\x6f', '\x20', '\x72', '\x75', '\x6e', '\x20', '\x69', '\x6e', '\x74', '\x6f', '\x20', '\x74', '\x68', '\x61', '\x74', '\x20', '\x69', '\x6e', '\x20', '\x70', '\x72', '\x61', '\x63', '\x74', '\x69', '\x63', '\x65', '\x2e', '\x0d', '\x0a', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x20', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x54', '\x3e', '\x0d', '\x0a', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x65', '\x6e', '\x61', '\x62', '\x6c', '\x65', '\x5f', '\x69', '\x66', '\x3c', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x69', '\x73', '\x5f', '\x69', '\x6e', '\x74', '\x65', '\x67', '\x72', '\x61', '\x6c', '\x3c', '\x54', '\x3e', '\x3a', '\x3a', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x20', '\x26', '\x26', '\x20', '\x21', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x69', '\x73', '\x5f', '\x73', '\x61', '\x6d', '\x65', '\x3c', '\x54', '\x2c', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x3e', '\x3a', '\x3a', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x2c', '\x0d', '\x0a', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x57', '\x72', '\x61', '\x70', '\x70', '\x65', '\x72', '\x3c', '\x54', '\x3e', '\x3e', '\x3a', '\x3a', '\x74', '\x79', '\x70', '\x65', '\x0d', '\x0a', '\x72', '\x61', '\x6e', '\x64', '\x6f', '\x6d', '\x28', '\x54', '\x20', '\x61', '\x2c', '\x20', '\x54', '\x20', '\x62', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x57', '\x72', '\x61', '\x70', '\x70', '\x65', '\x72', '\x3c', '\x54', '\x3e', '\x28', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x66', '\x3a', '\x3a', '\x6d', '\x61', '\x6b', '\x65', '\x5f', '\x75', '\x6e', '\x69', '\x71', '\x75', '\x65', '\x3c', '\x52', '\x61', '\x6e', '\x64', '\x6f', '\x6d', '\x49', '\x6e', '\x74', '\x65', '\x67', '\x65', '\x72', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x3c', '\x54', '\x3e', '\x3e', '\x28', '\x61', '\x2c', '\x20', '\x62', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x20', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x54', '\x3e', '\x0d', '\x0a', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x65', '\x6e', '\x61', '\x62', '\x6c', '\x65', '\x5f', '\x69', '\x66', '\x3c', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x69', '\x73', '\x5f', '\x66', '\x6c', '\x6f', '\x61', '\x74', '\x69', '\x6e', '\x67', '\x5f', '\x70', '\x6f', '\x69', '\x6e', '\x74', '\x3c', '\x54', '\x3e', '\x3a', '\x3a', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x2c', '\x0d', '\x0a', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x57', '\x72', '\x61', '\x70', '\x70', '\x65', '\x72', '\x3c', '\x54', '\x3e', '\x3e', '\x3a', '\x3a', '\x74', '\x79', '\x70', '\x65', '\x0d', '\x0a', '\x72', '\x61', '\x6e', '\x64', '\x6f', '\x6d', '\x28', '\x54', '\x20', '\x61', '\x2c', '\x20', '\x54', '\x20', '\x62', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x57', '\x72', '\x61', '\x70', '\x70', '\x65', '\x72', '\x3c', '\x54', '\x3e', '\x28', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x66', '\x3a', '\x3a', '\x6d', '\x61', '\x6b', '\x65', '\x5f', '\x75', '\x6e', '\x69', '\x71', '\x75', '\x65', '\x3c', '\x52', '\x61', '\x6e', '\x64', '\x6f', '\x6d', '\x46', '\x6c', '\x6f', '\x61', '\x74', '\x69', '\x6e', '\x67', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x3c', '\x54', '\x3e', '\x3e', '\x28', '\x61', '\x2c', '\x20', '\x62', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x20', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x54', '\x3e', '\x0d', '\x0a', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x20', '\x52', '\x61', '\x6e', '\x67', '\x65', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x66', '\x69', '\x6e', '\x61', '\x6c', '\x20', '\x3a', '\x20', '\x70', '\x75', '\x62', '\x6c', '\x69', '\x63', '\x20', '\x49', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x3c', '\x54', '\x3e', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x54', '\x20', '\x6d', '\x5f', '\x63', '\x75', '\x72', '\x72', '\x65', '\x6e', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x54', '\x20', '\x6d', '\x5f', '\x65', '\x6e', '\x64', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x54', '\x20', '\x6d', '\x5f', '\x73', '\x74', '\x65', '\x70', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x6d', '\x5f', '\x70', '\x6f', '\x73', '\x69', '\x74', '\x69', '\x76', '\x65', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x70', '\x75', '\x62', '\x6c', '\x69', '\x63', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x52', '\x61', '\x6e', '\x67', '\x65', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x28', '\x54', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x2c', '\x20', '\x54', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x65', '\x6e', '\x64', '\x2c', '\x20', '\x54', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x73', '\x74', '\x65', '\x70', '\x29', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x63', '\x75', '\x72', '\x72', '\x65', '\x6e', '\x74', '\x28', '\x73', '\x74', '\x61', '\x72', '\x74', '\x29', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x65', '\x6e', '\x64', '\x28', '\x65', '\x6e', '\x64', '\x29', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x73', '\x74', '\x65', '\x70', '\x28', '\x73', '\x74', '\x65', '\x70', '\x29', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x70', '\x6f', '\x73', '\x69', '\x74', '\x69', '\x76', '\x65', '\x28', '\x6d', '\x5f', '\x73', '\x74', '\x65', '\x70', '\x20', '\x3e', '\x20', '\x54', '\x28', '\x30', '\x29', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x28', '\x6d', '\x5f', '\x63', '\x75', '\x72', '\x72', '\x65', '\x6e', '\x74', '\x20', '\x21', '\x3d', '\x20', '\x6d', '\x5f', '\x65', '\x6e', '\x64', '\x20', '\x26', '\x26', '\x20', '\x22', '\x52', '\x61', '\x6e', '\x67', '\x65', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x61', '\x6e', '\x64', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x61', '\x6e', '\x6e', '\x6f', '\x74', '\x20', '\x62', '\x65', '\x20', '\x65', '\x71', '\x75', '\x61', '\x6c', '\x22', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x28', '\x6d', '\x5f', '\x73', '\x74', '\x65', '\x70', '\x20', '\x21', '\x3d', '\x20', '\x54', '\x28', '\x30', '\x29', '\x20', '\x26', '\x26', '\x20', '\x22', '\x53', '\x74', '\x65', '\x70', '\x20', '\x73', '\x69', '\x7a', '\x65', '\x20', '\x63', '\x61', '\x6e', '\x6e', '\x6f', '\x74', '\x20', '\x62', '\x65', '\x20', '\x7a', '\x65', '\x72', '\x6f', '\x22', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x28', '\x28', '\x28', '\x6d', '\x5f', '\x70', '\x6f', '\x73', '\x69', '\x74', '\x69', '\x76', '\x65', '\x20', '\x26', '\x26', '\x20', '\x6d', '\x5f', '\x63', '\x75', '\x72', '\x72', '\x65', '\x6e', '\x74', '\x20', '\x3c', '\x3d', '\x20', '\x6d', '\x5f', '\x65', '\x6e', '\x64', '\x29', '\x20', '\x7c', '\x7c', '\x20', '\x28', '\x21', '\x6d', '\x5f', '\x70', '\x6f', '\x73', '\x69', '\x74', '\x69', '\x76', '\x65', '\x20', '\x26', '\x26', '\x20', '\x6d', '\x5f', '\x63', '\x75', '\x72', '\x72', '\x65', '\x6e', '\x74', '\x20', '\x3e', '\x3d', '\x20', '\x6d', '\x5f', '\x65', '\x6e', '\x64', '\x29', '\x29', '\x20', '\x26', '\x26', '\x20', '\x22', '\x53', '\x74', '\x65', '\x70', '\x20', '\x6d', '\x6f', '\x76', '\x65', '\x73', '\x20', '\x61', '\x77', '\x61', '\x79', '\x20', '\x66', '\x72', '\x6f', '\x6d', '\x20', '\x65', '\x6e', '\x64', '\x22', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x52', '\x61', '\x6e', '\x67', '\x65', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x28', '\x54', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x2c', '\x20', '\x54', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x65', '\x6e', '\x64', '\x29', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x52', '\x61', '\x6e', '\x67', '\x65', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x28', '\x73', '\x74', '\x61', '\x72', '\x74', '\x2c', '\x20', '\x65', '\x6e', '\x64', '\x2c', '\x20', '\x28', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x3c', '\x20', '\x65', '\x6e', '\x64', '\x29', '\x20', '\x3f', '\x20', '\x54', '\x28', '\x31', '\x29', '\x20', '\x3a', '\x20', '\x54', '\x28', '\x2d', '\x31', '\x29', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7b', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x54', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x67', '\x65', '\x74', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6d', '\x5f', '\x63', '\x75', '\x72', '\x72', '\x65', '\x6e', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x6e', '\x65', '\x78', '\x74', '\x28', '\x29', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x63', '\x75', '\x72', '\x72', '\x65', '\x6e', '\x74', '\x20', '\x2b', '\x3d', '\x20', '\x6d', '\x5f', '\x73', '\x74', '\x65', '\x70', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x28', '\x6d', '\x5f', '\x70', '\x6f', '\x73', '\x69', '\x74', '\x69', '\x76', '\x65', '\x29', '\x20', '\x3f', '\x20', '\x28', '\x6d', '\x5f', '\x63', '\x75', '\x72', '\x72', '\x65', '\x6e', '\x74', '\x20', '\x3c', '\x20', '\x6d', '\x5f', '\x65', '\x6e', '\x64', '\x29', '\x20', '\x3a', '\x20', '\x28', '\x6d', '\x5f', '\x63', '\x75', '\x72', '\x72', '\x65', '\x6e', '\x74', '\x20', '\x3e', '\x20', '\x6d', '\x5f', '\x65', '\x6e', '\x64', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x20', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x54', '\x3e', '\x0d', '\x0a', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x57', '\x72', '\x61', '\x70', '\x70', '\x65', '\x72', '\x3c', '\x54', '\x3e', '\x20', '\x72', '\x61', '\x6e', '\x67', '\x65', '\x28', '\x54', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x2c', '\x20', '\x54', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x65', '\x6e', '\x64', '\x2c', '\x20', '\x54', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x73', '\x74', '\x65', '\x70', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x5f', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x69', '\x73', '\x5f', '\x69', '\x6e', '\x74', '\x65', '\x67', '\x72', '\x61', '\x6c', '\x3c', '\x54', '\x3e', '\x3a', '\x3a', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x20', '\x26', '\x26', '\x20', '\x21', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x69', '\x73', '\x5f', '\x73', '\x61', '\x6d', '\x65', '\x3c', '\x54', '\x2c', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x3e', '\x3a', '\x3a', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x2c', '\x20', '\x22', '\x54', '\x79', '\x70', '\x65', '\x20', '\x6d', '\x75', '\x73', '\x74', '\x20', '\x62', '\x65', '\x20', '\x61', '\x6e', '\x20', '\x69', '\x6e', '\x74', '\x65', '\x67', '\x65', '\x72', '\x22', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x57', '\x72', '\x61', '\x70', '\x70', '\x65', '\x72', '\x3c', '\x54', '\x3e', '\x28', '\x70', '\x66', '\x3a', '\x3a', '\x6d', '\x61', '\x6b', '\x65', '\x5f', '\x75', '\x6e', '\x69', '\x71', '\x75', '\x65', '\x3c', '\x52', '\x61', '\x6e', '\x67', '\x65', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x3c', '\x54', '\x3e', '\x3e', '\x28', '\x73', '\x74', '\x61', '\x72', '\x74', '\x2c', '\x20', '\x65', '\x6e', '\x64', '\x2c', '\x20', '\x73', '\x74', '\x65', '\x70', '\x29', '\x29', '\x3b', '\x0d', '\x0a', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x20', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x54', '\x3e', '\x0d', '\x0a', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x57', '\x72', '\x61', '\x70', '\x70', '\x65', '\x72', '\x3c', '\x54', '\x3e', '\x20', '\x72', '\x61', '\x6e', '\x67', '\x65', '\x28', '\x54', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x2c', '\x20', '\x54', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x65', '\x6e', '\x64', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x5f', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x69', '\x73', '\x5f', '\x69', '\x6e', '\x74', '\x65', '\x67', '\x72', '\x61', '\x6c', '\x3c', '\x54', '\x3e', '\x3a', '\x3a', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x20', '\x26', '\x26', '\x20', '\x21', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x69', '\x73', '\x5f', '\x73', '\x61', '\x6d', '\x65', '\x3c', '\x54', '\x2c', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x3e', '\x3a', '\x3a', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x2c', '\x20', '\x22', '\x54', '\x79', '\x70', '\x65', '\x20', '\x6d', '\x75', '\x73', '\x74', '\x20', '\x62', '\x65', '\x20', '\x61', '\x6e', '\x20', '\x69', '\x6e', '\x74', '\x65', '\x67', '\x65', '\x72', '\x22', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x57', '\x72', '\x61', '\x70', '\x70', '\x65', '\x72', '\x3c', '\x54', '\x3e', '\x28', '\x70', '\x66', '\x3a', '\x3a', '\x6d', '\x61', '\x6b', '\x65', '\x5f', '\x75', '\x6e', '\x69', '\x71', '\x75', '\x65', '\x3c', '\x52', '\x61', '\x6e', '\x67', '\x65', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x3c', '\x54', '\x3e', '\x3e', '\x28', '\x73', '\x74', '\x61', '\x72', '\x74', '\x2c', '\x20', '\x65', '\x6e', '\x64', '\x29', '\x29', '\x3b', '\x0d', '\x0a', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x20', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x54', '\x3e', '\x0d', '\x0a', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x20', '\x49', '\x74', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x66', '\x69', '\x6e', '\x61', '\x6c', '\x20', '\x3a', '\x20', '\x70', '\x75', '\x62', '\x6c', '\x69', '\x63', '\x20', '\x49', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x3c', '\x54', '\x3e', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x5f', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x28', '\x21', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x69', '\x73', '\x5f', '\x73', '\x61', '\x6d', '\x65', '\x3c', '\x54', '\x2c', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x3e', '\x3a', '\x3a', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x22', '\x49', '\x74', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x63', '\x75', '\x72', '\x72', '\x65', '\x6e', '\x74', '\x6c', '\x79', '\x20', '\x64', '\x6f', '\x65', '\x73', '\x20', '\x6e', '\x6f', '\x74', '\x20', '\x73', '\x75', '\x70', '\x70', '\x6f', '\x72', '\x74', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x73', '\x22', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x22', '\x62', '\x65', '\x63', '\x61', '\x75', '\x73', '\x65', '\x20', '\x6f', '\x66', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x62', '\x6f', '\x6f', '\x6c', '\x3e', '\x20', '\x73', '\x70', '\x65', '\x63', '\x69', '\x61', '\x6c', '\x69', '\x7a', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x22', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x54', '\x3e', '\x20', '\x6d', '\x5f', '\x65', '\x6c', '\x65', '\x6d', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x69', '\x7a', '\x65', '\x5f', '\x74', '\x20', '\x6d', '\x5f', '\x63', '\x75', '\x72', '\x72', '\x65', '\x6e', '\x74', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x70', '\x75', '\x62', '\x6c', '\x69', '\x63', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x20', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x49', '\x6e', '\x70', '\x75', '\x74', '\x49', '\x74', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x2c', '\x20', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x49', '\x6e', '\x70', '\x75', '\x74', '\x53', '\x65', '\x6e', '\x74', '\x69', '\x6e', '\x65', '\x6c', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x49', '\x74', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x28', '\x49', '\x6e', '\x70', '\x75', '\x74', '\x49', '\x74', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x66', '\x69', '\x72', '\x73', '\x74', '\x2c', '\x20', '\x49', '\x6e', '\x70', '\x75', '\x74', '\x53', '\x65', '\x6e', '\x74', '\x69', '\x6e', '\x65', '\x6c', '\x20', '\x6c', '\x61', '\x73', '\x74', '\x29', '\x3a', '\x6d', '\x5f', '\x65', '\x6c', '\x65', '\x6d', '\x73', '\x28', '\x66', '\x69', '\x72', '\x73', '\x74', '\x2c', '\x20', '\x6c', '\x61', '\x73', '\x74', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x6d', '\x5f', '\x65', '\x6c', '\x65', '\x6d', '\x73', '\x2e', '\x65', '\x6d', '\x70', '\x74', '\x79', '\x28', '\x29', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x74', '\x68', '\x72', '\x6f', '\x77', '\x5f', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x28', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x45', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x28', '\x22', '\x49', '\x74', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x72', '\x65', '\x63', '\x65', '\x69', '\x76', '\x65', '\x64', '\x20', '\x6e', '\x6f', '\x20', '\x76', '\x61', '\x6c', '\x69', '\x64', '\x20', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x73', '\x22', '\x29', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x54', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x67', '\x65', '\x74', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6d', '\x5f', '\x65', '\x6c', '\x65', '\x6d', '\x73', '\x5b', '\x6d', '\x5f', '\x63', '\x75', '\x72', '\x72', '\x65', '\x6e', '\x74', '\x5d', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x6e', '\x65', '\x78', '\x74', '\x28', '\x29', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2b', '\x2b', '\x6d', '\x5f', '\x63', '\x75', '\x72', '\x72', '\x65', '\x6e', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6d', '\x5f', '\x63', '\x75', '\x72', '\x72', '\x65', '\x6e', '\x74', '\x20', '\x21', '\x3d', '\x20', '\x6d', '\x5f', '\x65', '\x6c', '\x65', '\x6d', '\x73', '\x2e', '\x73', '\x69', '\x7a', '\x65', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x20', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x49', '\x6e', '\x70', '\x75', '\x74', '\x49', '\x74', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x49', '\x6e', '\x70', '\x75', '\x74', '\x53', '\x65', '\x6e', '\x74', '\x69', '\x6e', '\x65', '\x6c', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x54', '\x79', '\x70', '\x65', '\x20', '\x3d', '\x20', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x69', '\x74', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x5f', '\x74', '\x72', '\x61', '\x69', '\x74', '\x73', '\x3c', '\x49', '\x6e', '\x70', '\x75', '\x74', '\x49', '\x74', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x3e', '\x3a', '\x3a', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x5f', '\x74', '\x79', '\x70', '\x65', '\x3e', '\x0d', '\x0a', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x57', '\x72', '\x61', '\x70', '\x70', '\x65', '\x72', '\x3c', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x54', '\x79', '\x70', '\x65', '\x3e', '\x20', '\x66', '\x72', '\x6f', '\x6d', '\x5f', '\x72', '\x61', '\x6e', '\x67', '\x65', '\x28', '\x49', '\x6e', '\x70', '\x75', '\x74', '\x49', '\x74', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x66', '\x72', '\x6f', '\x6d', '\x2c', '\x20', '\x49', '\x6e', '\x70', '\x75', '\x74', '\x53', '\x65', '\x6e', '\x74', '\x69', '\x6e', '\x65', '\x6c', '\x20', '\x74', '\x6f', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x57', '\x72', '\x61', '\x70', '\x70', '\x65', '\x72', '\x3c', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x54', '\x79', '\x70', '\x65', '\x3e', '\x28', '\x70', '\x66', '\x3a', '\x3a', '\x6d', '\x61', '\x6b', '\x65', '\x5f', '\x75', '\x6e', '\x69', '\x71', '\x75', '\x65', '\x3c', '\x49', '\x74', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x3c', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x54', '\x79', '\x70', '\x65', '\x3e', '\x3e', '\x28', '\x66', '\x72', '\x6f', '\x6d', '\x2c', '\x20', '\x74', '\x6f', '\x29', '\x29', '\x3b', '\x0d', '\x0a', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x20', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x43', '\x6f', '\x6e', '\x74', '\x61', '\x69', '\x6e', '\x65', '\x72', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x54', '\x79', '\x70', '\x65', '\x20', '\x3d', '\x20', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x43', '\x6f', '\x6e', '\x74', '\x61', '\x69', '\x6e', '\x65', '\x72', '\x3a', '\x3a', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x5f', '\x74', '\x79', '\x70', '\x65', '\x3e', '\x0d', '\x0a', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x57', '\x72', '\x61', '\x70', '\x70', '\x65', '\x72', '\x3c', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x54', '\x79', '\x70', '\x65', '\x3e', '\x20', '\x66', '\x72', '\x6f', '\x6d', '\x5f', '\x72', '\x61', '\x6e', '\x67', '\x65', '\x28', '\x43', '\x6f', '\x6e', '\x74', '\x61', '\x69', '\x6e', '\x65', '\x72', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x63', '\x6e', '\x74', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x57', '\x72', '\x61', '\x70', '\x70', '\x65', '\x72', '\x3c', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x54', '\x79', '\x70', '\x65', '\x3e', '\x28', '\x70', '\x66', '\x3a', '\x3a', '\x6d', '\x61', '\x6b', '\x65', '\x5f', '\x75', '\x6e', '\x69', '\x71', '\x75', '\x65', '\x3c', '\x49', '\x74', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x3c', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x54', '\x79', '\x70', '\x65', '\x3e', '\x3e', '\x28', '\x63', '\x6e', '\x74', '\x2e', '\x62', '\x65', '\x67', '\x69', '\x6e', '\x28', '\x29', '\x2c', '\x20', '\x63', '\x6e', '\x74', '\x2e', '\x65', '\x6e', '\x64', '\x28', '\x29', '\x29', '\x29', '\x3b', '\x0d', '\x0a', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x73', '\x0d', '\x0a', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x67', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x73', '\x5f', '\x73', '\x70', '\x65', '\x63', '\x69', '\x66', '\x69', '\x63', '\x2e', '\x68', '\x70', '\x70', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x54', '\x68', '\x65', '\x73', '\x65', '\x20', '\x66', '\x69', '\x6c', '\x65', '\x73', '\x20', '\x61', '\x72', '\x65', '\x20', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x64', '\x20', '\x68', '\x65', '\x72', '\x65', '\x20', '\x73', '\x6f', '\x20', '\x74', '\x68', '\x65', '\x20', '\x73', '\x69', '\x6e', '\x67', '\x6c', '\x65', '\x5f', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x73', '\x63', '\x72', '\x69', '\x70', '\x74', '\x20', '\x64', '\x6f', '\x65', '\x73', '\x6e', '\x27', '\x74', '\x20', '\x70', '\x75', '\x74', '\x20', '\x74', '\x68', '\x65', '\x6d', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x69', '\x6e', '\x20', '\x74', '\x68', '\x65', '\x20', '\x63', '\x6f', '\x6e', '\x64', '\x69', '\x74', '\x69', '\x6f', '\x6e', '\x61', '\x6c', '\x6c', '\x79', '\x20', '\x63', '\x6f', '\x6d', '\x70', '\x69', '\x6c', '\x65', '\x64', '\x20', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x74', '\x65', '\x73', '\x74', '\x5f', '\x63', '\x61', '\x73', '\x65', '\x5f', '\x69', '\x6e', '\x66', '\x6f', '\x2e', '\x68', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x3e', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3e', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x6d', '\x65', '\x6d', '\x6f', '\x72', '\x79', '\x3e', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x64', '\x65', '\x66', '\x20', '\x5f', '\x5f', '\x63', '\x6c', '\x61', '\x6e', '\x67', '\x5f', '\x5f', '\x0d', '\x0a', '\x23', '\x70', '\x72', '\x61', '\x67', '\x6d', '\x61', '\x20', '\x63', '\x6c', '\x61', '\x6e', '\x67', '\x20', '\x64', '\x69', '\x61', '\x67', '\x6e', '\x6f', '\x73', '\x74', '\x69', '\x63', '\x20', '\x70', '\x75', '\x73', '\x68', '\x0d', '\x0a', '\x23', '\x70', '\x72', '\x61', '\x67', '\x6d', '\x61', '\x20', '\x63', '\x6c', '\x61', '\x6e', '\x67', '\x20', '\x64', '\x69', '\x61', '\x67', '\x6e', '\x6f', '\x73', '\x74', '\x69', '\x63', '\x20', '\x69', '\x67', '\x6e', '\x6f', '\x72', '\x65', '\x64', '\x20', '\x22', '\x2d', '\x57', '\x70', '\x61', '\x64', '\x64', '\x65', '\x64', '\x22', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x49', '\x54', '\x65', '\x73', '\x74', '\x49', '\x6e', '\x76', '\x6f', '\x6b', '\x65', '\x72', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x6e', '\x75', '\x6d', '\x20', '\x53', '\x70', '\x65', '\x63', '\x69', '\x61', '\x6c', '\x50', '\x72', '\x6f', '\x70', '\x65', '\x72', '\x74', '\x69', '\x65', '\x73', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x4e', '\x6f', '\x6e', '\x65', '\x20', '\x3d', '\x20', '\x30', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x49', '\x73', '\x48', '\x69', '\x64', '\x64', '\x65', '\x6e', '\x20', '\x3d', '\x20', '\x31', '\x20', '\x3c', '\x3c', '\x20', '\x31', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x53', '\x68', '\x6f', '\x75', '\x6c', '\x64', '\x46', '\x61', '\x69', '\x6c', '\x20', '\x3d', '\x20', '\x31', '\x20', '\x3c', '\x3c', '\x20', '\x32', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x4d', '\x61', '\x79', '\x46', '\x61', '\x69', '\x6c', '\x20', '\x3d', '\x20', '\x31', '\x20', '\x3c', '\x3c', '\x20', '\x33', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x54', '\x68', '\x72', '\x6f', '\x77', '\x73', '\x20', '\x3d', '\x20', '\x31', '\x20', '\x3c', '\x3c', '\x20', '\x34', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x4e', '\x6f', '\x6e', '\x50', '\x6f', '\x72', '\x74', '\x61', '\x62', '\x6c', '\x65', '\x20', '\x3d', '\x20', '\x31', '\x20', '\x3c', '\x3c', '\x20', '\x35', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x42', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x20', '\x3d', '\x20', '\x31', '\x20', '\x3c', '\x3c', '\x20', '\x36', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x28', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x5f', '\x6e', '\x61', '\x6d', '\x65', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x5f', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x5f', '\x64', '\x65', '\x73', '\x63', '\x72', '\x69', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x3e', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x5f', '\x74', '\x61', '\x67', '\x73', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x53', '\x6f', '\x75', '\x72', '\x63', '\x65', '\x4c', '\x69', '\x6e', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x5f', '\x6c', '\x69', '\x6e', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x66', '\x72', '\x69', '\x65', '\x6e', '\x64', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x73', '\x65', '\x74', '\x54', '\x61', '\x67', '\x73', '\x28', '\x20', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x26', '\x20', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x2c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x3e', '\x20', '\x74', '\x61', '\x67', '\x73', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x69', '\x73', '\x48', '\x69', '\x64', '\x64', '\x65', '\x6e', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x74', '\x68', '\x72', '\x6f', '\x77', '\x73', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x6f', '\x6b', '\x54', '\x6f', '\x46', '\x61', '\x69', '\x6c', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x65', '\x78', '\x70', '\x65', '\x63', '\x74', '\x65', '\x64', '\x54', '\x6f', '\x46', '\x61', '\x69', '\x6c', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x74', '\x61', '\x67', '\x73', '\x41', '\x73', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x64', '\x65', '\x73', '\x63', '\x72', '\x69', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x3e', '\x20', '\x74', '\x61', '\x67', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x3e', '\x20', '\x6c', '\x63', '\x61', '\x73', '\x65', '\x54', '\x61', '\x67', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x53', '\x6f', '\x75', '\x72', '\x63', '\x65', '\x4c', '\x69', '\x6e', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x6c', '\x69', '\x6e', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x53', '\x70', '\x65', '\x63', '\x69', '\x61', '\x6c', '\x50', '\x72', '\x6f', '\x70', '\x65', '\x72', '\x74', '\x69', '\x65', '\x73', '\x20', '\x70', '\x72', '\x6f', '\x70', '\x65', '\x72', '\x74', '\x69', '\x65', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x20', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x20', '\x3a', '\x20', '\x70', '\x75', '\x62', '\x6c', '\x69', '\x63', '\x20', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x70', '\x75', '\x62', '\x6c', '\x69', '\x63', '\x3a', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x28', '\x20', '\x49', '\x54', '\x65', '\x73', '\x74', '\x49', '\x6e', '\x76', '\x6f', '\x6b', '\x65', '\x72', '\x2a', '\x20', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x2c', '\x20', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x26', '\x26', '\x20', '\x69', '\x6e', '\x66', '\x6f', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x20', '\x77', '\x69', '\x74', '\x68', '\x4e', '\x61', '\x6d', '\x65', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x5f', '\x6e', '\x65', '\x77', '\x4e', '\x61', '\x6d', '\x65', '\x20', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x69', '\x6e', '\x76', '\x6f', '\x6b', '\x65', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x67', '\x65', '\x74', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x3d', '\x3d', '\x20', '\x28', '\x20', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6f', '\x74', '\x68', '\x65', '\x72', '\x20', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x3c', '\x20', '\x28', '\x20', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6f', '\x74', '\x68', '\x65', '\x72', '\x20', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x70', '\x72', '\x69', '\x76', '\x61', '\x74', '\x65', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x68', '\x61', '\x72', '\x65', '\x64', '\x5f', '\x70', '\x74', '\x72', '\x3c', '\x49', '\x54', '\x65', '\x73', '\x74', '\x49', '\x6e', '\x76', '\x6f', '\x6b', '\x65', '\x72', '\x3e', '\x20', '\x74', '\x65', '\x73', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x20', '\x6d', '\x61', '\x6b', '\x65', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x28', '\x20', '\x20', '\x49', '\x54', '\x65', '\x73', '\x74', '\x49', '\x6e', '\x76', '\x6f', '\x6b', '\x65', '\x72', '\x2a', '\x20', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x4e', '\x61', '\x6d', '\x65', '\x41', '\x6e', '\x64', '\x54', '\x61', '\x67', '\x73', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x41', '\x6e', '\x64', '\x54', '\x61', '\x67', '\x73', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x53', '\x6f', '\x75', '\x72', '\x63', '\x65', '\x4c', '\x69', '\x6e', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6c', '\x69', '\x6e', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x64', '\x65', '\x66', '\x20', '\x5f', '\x5f', '\x63', '\x6c', '\x61', '\x6e', '\x67', '\x5f', '\x5f', '\x0d', '\x0a', '\x23', '\x70', '\x72', '\x61', '\x67', '\x6d', '\x61', '\x20', '\x63', '\x6c', '\x61', '\x6e', '\x67', '\x20', '\x64', '\x69', '\x61', '\x67', '\x6e', '\x6f', '\x73', '\x74', '\x69', '\x63', '\x20', '\x70', '\x6f', '\x70', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x74', '\x65', '\x73', '\x74', '\x5f', '\x63', '\x61', '\x73', '\x65', '\x5f', '\x69', '\x6e', '\x66', '\x6f', '\x2e', '\x68', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x69', '\x6e', '\x74', '\x65', '\x72', '\x66', '\x61', '\x63', '\x65', '\x73', '\x5f', '\x72', '\x75', '\x6e', '\x6e', '\x65', '\x72', '\x2e', '\x68', '\x0d', '\x0a', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x49', '\x52', '\x75', '\x6e', '\x6e', '\x65', '\x72', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x69', '\x72', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x7e', '\x49', '\x52', '\x75', '\x6e', '\x6e', '\x65', '\x72', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x69', '\x72', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x61', '\x62', '\x6f', '\x72', '\x74', '\x69', '\x6e', '\x67', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x69', '\x6e', '\x74', '\x65', '\x72', '\x66', '\x61', '\x63', '\x65', '\x73', '\x5f', '\x72', '\x75', '\x6e', '\x6e', '\x65', '\x72', '\x2e', '\x68', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x64', '\x65', '\x66', '\x20', '\x5f', '\x5f', '\x4f', '\x42', '\x4a', '\x43', '\x5f', '\x5f', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x6f', '\x62', '\x6a', '\x63', '\x2e', '\x68', '\x70', '\x70', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x6d', '\x70', '\x6f', '\x72', '\x74', '\x20', '\x3c', '\x6f', '\x62', '\x6a', '\x63', '\x2f', '\x72', '\x75', '\x6e', '\x74', '\x69', '\x6d', '\x65', '\x2e', '\x68', '\x3e', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x3e', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x4e', '\x42', '\x2e', '\x20', '\x41', '\x6e', '\x79', '\x20', '\x67', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x6c', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x20', '\x68', '\x65', '\x61', '\x64', '\x65', '\x72', '\x73', '\x20', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x64', '\x20', '\x68', '\x65', '\x72', '\x65', '\x20', '\x6d', '\x75', '\x73', '\x74', '\x20', '\x62', '\x65', '\x20', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x64', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x69', '\x6e', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x2e', '\x68', '\x70', '\x70', '\x20', '\x66', '\x69', '\x72', '\x73', '\x74', '\x20', '\x74', '\x6f', '\x20', '\x6d', '\x61', '\x6b', '\x65', '\x20', '\x73', '\x75', '\x72', '\x65', '\x20', '\x74', '\x68', '\x65', '\x79', '\x20', '\x61', '\x72', '\x65', '\x20', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x64', '\x20', '\x62', '\x79', '\x20', '\x74', '\x68', '\x65', '\x20', '\x73', '\x69', '\x6e', '\x67', '\x6c', '\x65', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x68', '\x65', '\x61', '\x64', '\x65', '\x72', '\x20', '\x66', '\x6f', '\x72', '\x20', '\x6e', '\x6f', '\x6e', '\x20', '\x6f', '\x62', '\x6a', '\x2d', '\x75', '\x73', '\x61', '\x67', '\x65', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x54', '\x68', '\x69', '\x73', '\x20', '\x70', '\x72', '\x6f', '\x74', '\x6f', '\x63', '\x6f', '\x6c', '\x20', '\x69', '\x73', '\x20', '\x72', '\x65', '\x61', '\x6c', '\x6c', '\x79', '\x20', '\x6f', '\x6e', '\x6c', '\x79', '\x20', '\x68', '\x65', '\x72', '\x65', '\x20', '\x66', '\x6f', '\x72', '\x20', '\x28', '\x73', '\x65', '\x6c', '\x66', '\x29', '\x20', '\x64', '\x6f', '\x63', '\x75', '\x6d', '\x65', '\x6e', '\x74', '\x69', '\x6e', '\x67', '\x20', '\x70', '\x75', '\x72', '\x70', '\x6f', '\x73', '\x65', '\x73', '\x2c', '\x20', '\x73', '\x69', '\x6e', '\x63', '\x65', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x61', '\x6c', '\x6c', '\x20', '\x69', '\x74', '\x73', '\x20', '\x6d', '\x65', '\x74', '\x68', '\x6f', '\x64', '\x73', '\x20', '\x61', '\x72', '\x65', '\x20', '\x6f', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x61', '\x6c', '\x2e', '\x0d', '\x0a', '\x40', '\x70', '\x72', '\x6f', '\x74', '\x6f', '\x63', '\x6f', '\x6c', '\x20', '\x4f', '\x63', '\x46', '\x69', '\x78', '\x74', '\x75', '\x72', '\x65', '\x0d', '\x0a', '\x0d', '\x0a', '\x40', '\x6f', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x61', '\x6c', '\x0d', '\x0a', '\x0d', '\x0a', '\x2d', '\x28', '\x76', '\x6f', '\x69', '\x64', '\x29', '\x20', '\x73', '\x65', '\x74', '\x55', '\x70', '\x3b', '\x0d', '\x0a', '\x2d', '\x28', '\x76', '\x6f', '\x69', '\x64', '\x29', '\x20', '\x74', '\x65', '\x61', '\x72', '\x44', '\x6f', '\x77', '\x6e', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x40', '\x65', '\x6e', '\x64', '\x0d', '\x0a', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x20', '\x4f', '\x63', '\x4d', '\x65', '\x74', '\x68', '\x6f', '\x64', '\x20', '\x3a', '\x20', '\x70', '\x75', '\x62', '\x6c', '\x69', '\x63', '\x20', '\x49', '\x54', '\x65', '\x73', '\x74', '\x49', '\x6e', '\x76', '\x6f', '\x6b', '\x65', '\x72', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x70', '\x75', '\x62', '\x6c', '\x69', '\x63', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x4f', '\x63', '\x4d', '\x65', '\x74', '\x68', '\x6f', '\x64', '\x28', '\x20', '\x43', '\x6c', '\x61', '\x73', '\x73', '\x20', '\x63', '\x6c', '\x73', '\x2c', '\x20', '\x53', '\x45', '\x4c', '\x20', '\x73', '\x65', '\x6c', '\x20', '\x29', '\x20', '\x3a', '\x20', '\x6d', '\x5f', '\x63', '\x6c', '\x73', '\x28', '\x20', '\x63', '\x6c', '\x73', '\x20', '\x29', '\x2c', '\x20', '\x6d', '\x5f', '\x73', '\x65', '\x6c', '\x28', '\x20', '\x73', '\x65', '\x6c', '\x20', '\x29', '\x20', '\x7b', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x69', '\x72', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x69', '\x6e', '\x76', '\x6f', '\x6b', '\x65', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x64', '\x20', '\x6f', '\x62', '\x6a', '\x20', '\x3d', '\x20', '\x5b', '\x5b', '\x6d', '\x5f', '\x63', '\x6c', '\x73', '\x20', '\x61', '\x6c', '\x6c', '\x6f', '\x63', '\x5d', '\x20', '\x69', '\x6e', '\x69', '\x74', '\x5d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x65', '\x72', '\x66', '\x6f', '\x72', '\x6d', '\x4f', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x61', '\x6c', '\x53', '\x65', '\x6c', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x28', '\x20', '\x6f', '\x62', '\x6a', '\x2c', '\x20', '\x40', '\x73', '\x65', '\x6c', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x28', '\x73', '\x65', '\x74', '\x55', '\x70', '\x29', '\x20', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x65', '\x72', '\x66', '\x6f', '\x72', '\x6d', '\x4f', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x61', '\x6c', '\x53', '\x65', '\x6c', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x28', '\x20', '\x6f', '\x62', '\x6a', '\x2c', '\x20', '\x6d', '\x5f', '\x73', '\x65', '\x6c', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x65', '\x72', '\x66', '\x6f', '\x72', '\x6d', '\x4f', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x61', '\x6c', '\x53', '\x65', '\x6c', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x28', '\x20', '\x6f', '\x62', '\x6a', '\x2c', '\x20', '\x40', '\x73', '\x65', '\x6c', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x28', '\x74', '\x65', '\x61', '\x72', '\x44', '\x6f', '\x77', '\x6e', '\x29', '\x20', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x72', '\x63', '\x53', '\x61', '\x66', '\x65', '\x52', '\x65', '\x6c', '\x65', '\x61', '\x73', '\x65', '\x28', '\x20', '\x6f', '\x62', '\x6a', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x70', '\x72', '\x69', '\x76', '\x61', '\x74', '\x65', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x69', '\x72', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x7e', '\x4f', '\x63', '\x4d', '\x65', '\x74', '\x68', '\x6f', '\x64', '\x28', '\x29', '\x20', '\x7b', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x6c', '\x61', '\x73', '\x73', '\x20', '\x6d', '\x5f', '\x63', '\x6c', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x53', '\x45', '\x4c', '\x20', '\x6d', '\x5f', '\x73', '\x65', '\x6c', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x44', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x6e', '\x6c', '\x69', '\x6e', '\x65', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x67', '\x65', '\x74', '\x41', '\x6e', '\x6e', '\x6f', '\x74', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x28', '\x20', '\x20', '\x20', '\x43', '\x6c', '\x61', '\x73', '\x73', '\x20', '\x63', '\x6c', '\x73', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x61', '\x6e', '\x6e', '\x6f', '\x74', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x4e', '\x61', '\x6d', '\x65', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x4e', '\x53', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x2a', '\x20', '\x73', '\x65', '\x6c', '\x53', '\x74', '\x72', '\x20', '\x3d', '\x20', '\x5b', '\x5b', '\x4e', '\x53', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x61', '\x6c', '\x6c', '\x6f', '\x63', '\x5d', '\x20', '\x69', '\x6e', '\x69', '\x74', '\x57', '\x69', '\x74', '\x68', '\x46', '\x6f', '\x72', '\x6d', '\x61', '\x74', '\x3a', '\x40', '\x22', '\x43', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x25', '\x73', '\x5f', '\x25', '\x73', '\x22', '\x2c', '\x20', '\x61', '\x6e', '\x6e', '\x6f', '\x74', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x4e', '\x61', '\x6d', '\x65', '\x2e', '\x63', '\x5f', '\x73', '\x74', '\x72', '\x28', '\x29', '\x2c', '\x20', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x4e', '\x61', '\x6d', '\x65', '\x2e', '\x63', '\x5f', '\x73', '\x74', '\x72', '\x28', '\x29', '\x5d', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x53', '\x45', '\x4c', '\x20', '\x73', '\x65', '\x6c', '\x20', '\x3d', '\x20', '\x4e', '\x53', '\x53', '\x65', '\x6c', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x46', '\x72', '\x6f', '\x6d', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x28', '\x20', '\x73', '\x65', '\x6c', '\x53', '\x74', '\x72', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x72', '\x63', '\x53', '\x61', '\x66', '\x65', '\x52', '\x65', '\x6c', '\x65', '\x61', '\x73', '\x65', '\x28', '\x20', '\x73', '\x65', '\x6c', '\x53', '\x74', '\x72', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x64', '\x20', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x20', '\x3d', '\x20', '\x70', '\x65', '\x72', '\x66', '\x6f', '\x72', '\x6d', '\x4f', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x61', '\x6c', '\x53', '\x65', '\x6c', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x28', '\x20', '\x63', '\x6c', '\x73', '\x2c', '\x20', '\x73', '\x65', '\x6c', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x5b', '\x28', '\x4e', '\x53', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x2a', '\x29', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x20', '\x55', '\x54', '\x46', '\x38', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x5d', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x22', '\x22', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x69', '\x6e', '\x6c', '\x69', '\x6e', '\x65', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x69', '\x7a', '\x65', '\x5f', '\x74', '\x20', '\x72', '\x65', '\x67', '\x69', '\x73', '\x74', '\x65', '\x72', '\x54', '\x65', '\x73', '\x74', '\x4d', '\x65', '\x74', '\x68', '\x6f', '\x64', '\x73', '\x28', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x69', '\x7a', '\x65', '\x5f', '\x74', '\x20', '\x6e', '\x6f', '\x54', '\x65', '\x73', '\x74', '\x4d', '\x65', '\x74', '\x68', '\x6f', '\x64', '\x73', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x6e', '\x74', '\x20', '\x6e', '\x6f', '\x43', '\x6c', '\x61', '\x73', '\x73', '\x65', '\x73', '\x20', '\x3d', '\x20', '\x6f', '\x62', '\x6a', '\x63', '\x5f', '\x67', '\x65', '\x74', '\x43', '\x6c', '\x61', '\x73', '\x73', '\x4c', '\x69', '\x73', '\x74', '\x28', '\x20', '\x6e', '\x75', '\x6c', '\x6c', '\x70', '\x74', '\x72', '\x2c', '\x20', '\x30', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x6c', '\x61', '\x73', '\x73', '\x2a', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x65', '\x73', '\x20', '\x3d', '\x20', '\x28', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x55', '\x4e', '\x53', '\x41', '\x46', '\x45', '\x5f', '\x55', '\x4e', '\x52', '\x45', '\x54', '\x41', '\x49', '\x4e', '\x45', '\x44', '\x20', '\x43', '\x6c', '\x61', '\x73', '\x73', '\x20', '\x2a', '\x29', '\x6d', '\x61', '\x6c', '\x6c', '\x6f', '\x63', '\x28', '\x20', '\x73', '\x69', '\x7a', '\x65', '\x6f', '\x66', '\x28', '\x43', '\x6c', '\x61', '\x73', '\x73', '\x29', '\x20', '\x2a', '\x20', '\x6e', '\x6f', '\x43', '\x6c', '\x61', '\x73', '\x73', '\x65', '\x73', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6f', '\x62', '\x6a', '\x63', '\x5f', '\x67', '\x65', '\x74', '\x43', '\x6c', '\x61', '\x73', '\x73', '\x4c', '\x69', '\x73', '\x74', '\x28', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x65', '\x73', '\x2c', '\x20', '\x6e', '\x6f', '\x43', '\x6c', '\x61', '\x73', '\x73', '\x65', '\x73', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x66', '\x6f', '\x72', '\x28', '\x20', '\x69', '\x6e', '\x74', '\x20', '\x63', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x20', '\x63', '\x20', '\x3c', '\x20', '\x6e', '\x6f', '\x43', '\x6c', '\x61', '\x73', '\x73', '\x65', '\x73', '\x3b', '\x20', '\x63', '\x2b', '\x2b', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x6c', '\x61', '\x73', '\x73', '\x20', '\x63', '\x6c', '\x73', '\x20', '\x3d', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x65', '\x73', '\x5b', '\x63', '\x5d', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x75', '\x5f', '\x69', '\x6e', '\x74', '\x20', '\x63', '\x6f', '\x75', '\x6e', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x4d', '\x65', '\x74', '\x68', '\x6f', '\x64', '\x2a', '\x20', '\x6d', '\x65', '\x74', '\x68', '\x6f', '\x64', '\x73', '\x20', '\x3d', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x5f', '\x63', '\x6f', '\x70', '\x79', '\x4d', '\x65', '\x74', '\x68', '\x6f', '\x64', '\x4c', '\x69', '\x73', '\x74', '\x28', '\x20', '\x63', '\x6c', '\x73', '\x2c', '\x20', '\x26', '\x63', '\x6f', '\x75', '\x6e', '\x74', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x66', '\x6f', '\x72', '\x28', '\x20', '\x75', '\x5f', '\x69', '\x6e', '\x74', '\x20', '\x6d', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x20', '\x6d', '\x20', '\x3c', '\x20', '\x63', '\x6f', '\x75', '\x6e', '\x74', '\x20', '\x3b', '\x20', '\x6d', '\x2b', '\x2b', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x53', '\x45', '\x4c', '\x20', '\x73', '\x65', '\x6c', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x20', '\x3d', '\x20', '\x6d', '\x65', '\x74', '\x68', '\x6f', '\x64', '\x5f', '\x67', '\x65', '\x74', '\x4e', '\x61', '\x6d', '\x65', '\x28', '\x6d', '\x65', '\x74', '\x68', '\x6f', '\x64', '\x73', '\x5b', '\x6d', '\x5d', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x6d', '\x65', '\x74', '\x68', '\x6f', '\x64', '\x4e', '\x61', '\x6d', '\x65', '\x20', '\x3d', '\x20', '\x73', '\x65', '\x6c', '\x5f', '\x67', '\x65', '\x74', '\x4e', '\x61', '\x6d', '\x65', '\x28', '\x73', '\x65', '\x6c', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x73', '\x57', '\x69', '\x74', '\x68', '\x28', '\x20', '\x6d', '\x65', '\x74', '\x68', '\x6f', '\x64', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x22', '\x43', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x5f', '\x22', '\x20', '\x29', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x4e', '\x61', '\x6d', '\x65', '\x20', '\x3d', '\x20', '\x6d', '\x65', '\x74', '\x68', '\x6f', '\x64', '\x4e', '\x61', '\x6d', '\x65', '\x2e', '\x73', '\x75', '\x62', '\x73', '\x74', '\x72', '\x28', '\x20', '\x31', '\x35', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x3d', '\x20', '\x44', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x3a', '\x3a', '\x67', '\x65', '\x74', '\x41', '\x6e', '\x6e', '\x6f', '\x74', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x28', '\x20', '\x63', '\x6c', '\x73', '\x2c', '\x20', '\x22', '\x4e', '\x61', '\x6d', '\x65', '\x22', '\x2c', '\x20', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x4e', '\x61', '\x6d', '\x65', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x64', '\x65', '\x73', '\x63', '\x20', '\x3d', '\x20', '\x44', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x3a', '\x3a', '\x67', '\x65', '\x74', '\x41', '\x6e', '\x6e', '\x6f', '\x74', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x28', '\x20', '\x63', '\x6c', '\x73', '\x2c', '\x20', '\x22', '\x44', '\x65', '\x73', '\x63', '\x72', '\x69', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x22', '\x2c', '\x20', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x4e', '\x61', '\x6d', '\x65', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x63', '\x68', '\x61', '\x72', '\x2a', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x20', '\x3d', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x5f', '\x67', '\x65', '\x74', '\x4e', '\x61', '\x6d', '\x65', '\x28', '\x20', '\x63', '\x6c', '\x73', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x67', '\x65', '\x74', '\x4d', '\x75', '\x74', '\x61', '\x62', '\x6c', '\x65', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x48', '\x75', '\x62', '\x28', '\x29', '\x2e', '\x72', '\x65', '\x67', '\x69', '\x73', '\x74', '\x65', '\x72', '\x54', '\x65', '\x73', '\x74', '\x28', '\x20', '\x6d', '\x61', '\x6b', '\x65', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x28', '\x20', '\x6e', '\x65', '\x77', '\x20', '\x4f', '\x63', '\x4d', '\x65', '\x74', '\x68', '\x6f', '\x64', '\x28', '\x20', '\x63', '\x6c', '\x73', '\x2c', '\x20', '\x73', '\x65', '\x6c', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x20', '\x29', '\x2c', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x4e', '\x61', '\x6d', '\x65', '\x41', '\x6e', '\x64', '\x54', '\x61', '\x67', '\x73', '\x28', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x2e', '\x63', '\x5f', '\x73', '\x74', '\x72', '\x28', '\x29', '\x2c', '\x20', '\x64', '\x65', '\x73', '\x63', '\x2e', '\x63', '\x5f', '\x73', '\x74', '\x72', '\x28', '\x29', '\x20', '\x29', '\x2c', '\x20', '\x53', '\x6f', '\x75', '\x72', '\x63', '\x65', '\x4c', '\x69', '\x6e', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x28', '\x22', '\x22', '\x2c', '\x30', '\x29', '\x20', '\x29', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6e', '\x6f', '\x54', '\x65', '\x73', '\x74', '\x4d', '\x65', '\x74', '\x68', '\x6f', '\x64', '\x73', '\x2b', '\x2b', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x66', '\x72', '\x65', '\x65', '\x28', '\x6d', '\x65', '\x74', '\x68', '\x6f', '\x64', '\x73', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6e', '\x6f', '\x54', '\x65', '\x73', '\x74', '\x4d', '\x65', '\x74', '\x68', '\x6f', '\x64', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x20', '\x21', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x44', '\x49', '\x53', '\x41', '\x42', '\x4c', '\x45', '\x5f', '\x4d', '\x41', '\x54', '\x43', '\x48', '\x45', '\x52', '\x53', '\x29', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x73', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x49', '\x6d', '\x70', '\x6c', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x4e', '\x53', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x73', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x48', '\x6f', '\x6c', '\x64', '\x65', '\x72', '\x20', '\x3a', '\x20', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x42', '\x61', '\x73', '\x65', '\x3c', '\x4e', '\x53', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x2a', '\x3e', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x48', '\x6f', '\x6c', '\x64', '\x65', '\x72', '\x28', '\x20', '\x4e', '\x53', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x2a', '\x20', '\x73', '\x75', '\x62', '\x73', '\x74', '\x72', '\x20', '\x29', '\x20', '\x3a', '\x20', '\x6d', '\x5f', '\x73', '\x75', '\x62', '\x73', '\x74', '\x72', '\x28', '\x20', '\x5b', '\x73', '\x75', '\x62', '\x73', '\x74', '\x72', '\x20', '\x63', '\x6f', '\x70', '\x79', '\x5d', '\x20', '\x29', '\x7b', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x48', '\x6f', '\x6c', '\x64', '\x65', '\x72', '\x28', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x48', '\x6f', '\x6c', '\x64', '\x65', '\x72', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6f', '\x74', '\x68', '\x65', '\x72', '\x20', '\x29', '\x20', '\x3a', '\x20', '\x6d', '\x5f', '\x73', '\x75', '\x62', '\x73', '\x74', '\x72', '\x28', '\x20', '\x5b', '\x6f', '\x74', '\x68', '\x65', '\x72', '\x2e', '\x6d', '\x5f', '\x73', '\x75', '\x62', '\x73', '\x74', '\x72', '\x20', '\x63', '\x6f', '\x70', '\x79', '\x5d', '\x20', '\x29', '\x7b', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x48', '\x6f', '\x6c', '\x64', '\x65', '\x72', '\x28', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x72', '\x63', '\x53', '\x61', '\x66', '\x65', '\x52', '\x65', '\x6c', '\x65', '\x61', '\x73', '\x65', '\x28', '\x20', '\x6d', '\x5f', '\x73', '\x75', '\x62', '\x73', '\x74', '\x72', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x28', '\x20', '\x4e', '\x53', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x2a', '\x20', '\x73', '\x74', '\x72', '\x20', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x66', '\x61', '\x6c', '\x73', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x4e', '\x53', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x2a', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x41', '\x52', '\x43', '\x5f', '\x53', '\x54', '\x52', '\x4f', '\x4e', '\x47', '\x20', '\x6d', '\x5f', '\x73', '\x75', '\x62', '\x73', '\x74', '\x72', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x45', '\x71', '\x75', '\x61', '\x6c', '\x73', '\x20', '\x3a', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x48', '\x6f', '\x6c', '\x64', '\x65', '\x72', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x45', '\x71', '\x75', '\x61', '\x6c', '\x73', '\x28', '\x20', '\x4e', '\x53', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x2a', '\x20', '\x73', '\x75', '\x62', '\x73', '\x74', '\x72', '\x20', '\x29', '\x20', '\x3a', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x48', '\x6f', '\x6c', '\x64', '\x65', '\x72', '\x28', '\x20', '\x73', '\x75', '\x62', '\x73', '\x74', '\x72', '\x20', '\x29', '\x7b', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x28', '\x20', '\x4e', '\x53', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x2a', '\x20', '\x73', '\x74', '\x72', '\x20', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x20', '\x28', '\x73', '\x74', '\x72', '\x20', '\x21', '\x3d', '\x20', '\x6e', '\x69', '\x6c', '\x20', '\x7c', '\x7c', '\x20', '\x6d', '\x5f', '\x73', '\x75', '\x62', '\x73', '\x74', '\x72', '\x20', '\x3d', '\x3d', '\x20', '\x6e', '\x69', '\x6c', '\x20', '\x29', '\x20', '\x26', '\x26', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x5b', '\x73', '\x74', '\x72', '\x20', '\x69', '\x73', '\x45', '\x71', '\x75', '\x61', '\x6c', '\x54', '\x6f', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x3a', '\x6d', '\x5f', '\x73', '\x75', '\x62', '\x73', '\x74', '\x72', '\x5d', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x64', '\x65', '\x73', '\x63', '\x72', '\x69', '\x62', '\x65', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x22', '\x65', '\x71', '\x75', '\x61', '\x6c', '\x73', '\x20', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x3a', '\x20', '\x22', '\x20', '\x2b', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x44', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x69', '\x66', '\x79', '\x28', '\x20', '\x6d', '\x5f', '\x73', '\x75', '\x62', '\x73', '\x74', '\x72', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x43', '\x6f', '\x6e', '\x74', '\x61', '\x69', '\x6e', '\x73', '\x20', '\x3a', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x48', '\x6f', '\x6c', '\x64', '\x65', '\x72', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x6f', '\x6e', '\x74', '\x61', '\x69', '\x6e', '\x73', '\x28', '\x20', '\x4e', '\x53', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x2a', '\x20', '\x73', '\x75', '\x62', '\x73', '\x74', '\x72', '\x20', '\x29', '\x20', '\x3a', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x48', '\x6f', '\x6c', '\x64', '\x65', '\x72', '\x28', '\x20', '\x73', '\x75', '\x62', '\x73', '\x74', '\x72', '\x20', '\x29', '\x7b', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x28', '\x20', '\x4e', '\x53', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x2a', '\x20', '\x73', '\x74', '\x72', '\x20', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x20', '\x28', '\x73', '\x74', '\x72', '\x20', '\x21', '\x3d', '\x20', '\x6e', '\x69', '\x6c', '\x20', '\x7c', '\x7c', '\x20', '\x6d', '\x5f', '\x73', '\x75', '\x62', '\x73', '\x74', '\x72', '\x20', '\x3d', '\x3d', '\x20', '\x6e', '\x69', '\x6c', '\x20', '\x29', '\x20', '\x26', '\x26', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x5b', '\x73', '\x74', '\x72', '\x20', '\x72', '\x61', '\x6e', '\x67', '\x65', '\x4f', '\x66', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x3a', '\x6d', '\x5f', '\x73', '\x75', '\x62', '\x73', '\x74', '\x72', '\x5d', '\x2e', '\x6c', '\x6f', '\x63', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x21', '\x3d', '\x20', '\x4e', '\x53', '\x4e', '\x6f', '\x74', '\x46', '\x6f', '\x75', '\x6e', '\x64', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x64', '\x65', '\x73', '\x63', '\x72', '\x69', '\x62', '\x65', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x22', '\x63', '\x6f', '\x6e', '\x74', '\x61', '\x69', '\x6e', '\x73', '\x20', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x3a', '\x20', '\x22', '\x20', '\x2b', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x44', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x69', '\x66', '\x79', '\x28', '\x20', '\x6d', '\x5f', '\x73', '\x75', '\x62', '\x73', '\x74', '\x72', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x53', '\x74', '\x61', '\x72', '\x74', '\x73', '\x57', '\x69', '\x74', '\x68', '\x20', '\x3a', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x48', '\x6f', '\x6c', '\x64', '\x65', '\x72', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x53', '\x74', '\x61', '\x72', '\x74', '\x73', '\x57', '\x69', '\x74', '\x68', '\x28', '\x20', '\x4e', '\x53', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x2a', '\x20', '\x73', '\x75', '\x62', '\x73', '\x74', '\x72', '\x20', '\x29', '\x20', '\x3a', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x48', '\x6f', '\x6c', '\x64', '\x65', '\x72', '\x28', '\x20', '\x73', '\x75', '\x62', '\x73', '\x74', '\x72', '\x20', '\x29', '\x7b', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x28', '\x20', '\x4e', '\x53', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x2a', '\x20', '\x73', '\x74', '\x72', '\x20', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x20', '\x28', '\x73', '\x74', '\x72', '\x20', '\x21', '\x3d', '\x20', '\x6e', '\x69', '\x6c', '\x20', '\x7c', '\x7c', '\x20', '\x6d', '\x5f', '\x73', '\x75', '\x62', '\x73', '\x74', '\x72', '\x20', '\x3d', '\x3d', '\x20', '\x6e', '\x69', '\x6c', '\x20', '\x29', '\x20', '\x26', '\x26', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x5b', '\x73', '\x74', '\x72', '\x20', '\x72', '\x61', '\x6e', '\x67', '\x65', '\x4f', '\x66', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x3a', '\x6d', '\x5f', '\x73', '\x75', '\x62', '\x73', '\x74', '\x72', '\x5d', '\x2e', '\x6c', '\x6f', '\x63', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x3d', '\x3d', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x64', '\x65', '\x73', '\x63', '\x72', '\x69', '\x62', '\x65', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x22', '\x73', '\x74', '\x61', '\x72', '\x74', '\x73', '\x20', '\x77', '\x69', '\x74', '\x68', '\x3a', '\x20', '\x22', '\x20', '\x2b', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x44', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x69', '\x66', '\x79', '\x28', '\x20', '\x6d', '\x5f', '\x73', '\x75', '\x62', '\x73', '\x74', '\x72', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x45', '\x6e', '\x64', '\x73', '\x57', '\x69', '\x74', '\x68', '\x20', '\x3a', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x48', '\x6f', '\x6c', '\x64', '\x65', '\x72', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x45', '\x6e', '\x64', '\x73', '\x57', '\x69', '\x74', '\x68', '\x28', '\x20', '\x4e', '\x53', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x2a', '\x20', '\x73', '\x75', '\x62', '\x73', '\x74', '\x72', '\x20', '\x29', '\x20', '\x3a', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x48', '\x6f', '\x6c', '\x64', '\x65', '\x72', '\x28', '\x20', '\x73', '\x75', '\x62', '\x73', '\x74', '\x72', '\x20', '\x29', '\x7b', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x28', '\x20', '\x4e', '\x53', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x2a', '\x20', '\x73', '\x74', '\x72', '\x20', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x20', '\x28', '\x73', '\x74', '\x72', '\x20', '\x21', '\x3d', '\x20', '\x6e', '\x69', '\x6c', '\x20', '\x7c', '\x7c', '\x20', '\x6d', '\x5f', '\x73', '\x75', '\x62', '\x73', '\x74', '\x72', '\x20', '\x3d', '\x3d', '\x20', '\x6e', '\x69', '\x6c', '\x20', '\x29', '\x20', '\x26', '\x26', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x5b', '\x73', '\x74', '\x72', '\x20', '\x72', '\x61', '\x6e', '\x67', '\x65', '\x4f', '\x66', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x3a', '\x6d', '\x5f', '\x73', '\x75', '\x62', '\x73', '\x74', '\x72', '\x5d', '\x2e', '\x6c', '\x6f', '\x63', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x3d', '\x3d', '\x20', '\x5b', '\x73', '\x74', '\x72', '\x20', '\x6c', '\x65', '\x6e', '\x67', '\x74', '\x68', '\x5d', '\x20', '\x2d', '\x20', '\x5b', '\x6d', '\x5f', '\x73', '\x75', '\x62', '\x73', '\x74', '\x72', '\x20', '\x6c', '\x65', '\x6e', '\x67', '\x74', '\x68', '\x5d', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x64', '\x65', '\x73', '\x63', '\x72', '\x69', '\x62', '\x65', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x22', '\x65', '\x6e', '\x64', '\x73', '\x20', '\x77', '\x69', '\x74', '\x68', '\x3a', '\x20', '\x22', '\x20', '\x2b', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x44', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x69', '\x66', '\x79', '\x28', '\x20', '\x6d', '\x5f', '\x73', '\x75', '\x62', '\x73', '\x74', '\x72', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x4e', '\x53', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x73', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x49', '\x6d', '\x70', '\x6c', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x6e', '\x6c', '\x69', '\x6e', '\x65', '\x20', '\x49', '\x6d', '\x70', '\x6c', '\x3a', '\x3a', '\x4e', '\x53', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x73', '\x3a', '\x3a', '\x45', '\x71', '\x75', '\x61', '\x6c', '\x73', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x45', '\x71', '\x75', '\x61', '\x6c', '\x73', '\x28', '\x20', '\x4e', '\x53', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x2a', '\x20', '\x73', '\x75', '\x62', '\x73', '\x74', '\x72', '\x20', '\x29', '\x7b', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x49', '\x6d', '\x70', '\x6c', '\x3a', '\x3a', '\x4e', '\x53', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x73', '\x3a', '\x3a', '\x45', '\x71', '\x75', '\x61', '\x6c', '\x73', '\x28', '\x20', '\x73', '\x75', '\x62', '\x73', '\x74', '\x72', '\x20', '\x29', '\x3b', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x6e', '\x6c', '\x69', '\x6e', '\x65', '\x20', '\x49', '\x6d', '\x70', '\x6c', '\x3a', '\x3a', '\x4e', '\x53', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x73', '\x3a', '\x3a', '\x43', '\x6f', '\x6e', '\x74', '\x61', '\x69', '\x6e', '\x73', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x6f', '\x6e', '\x74', '\x61', '\x69', '\x6e', '\x73', '\x28', '\x20', '\x4e', '\x53', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x2a', '\x20', '\x73', '\x75', '\x62', '\x73', '\x74', '\x72', '\x20', '\x29', '\x7b', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x49', '\x6d', '\x70', '\x6c', '\x3a', '\x3a', '\x4e', '\x53', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x73', '\x3a', '\x3a', '\x43', '\x6f', '\x6e', '\x74', '\x61', '\x69', '\x6e', '\x73', '\x28', '\x20', '\x73', '\x75', '\x62', '\x73', '\x74', '\x72', '\x20', '\x29', '\x3b', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x6e', '\x6c', '\x69', '\x6e', '\x65', '\x20', '\x49', '\x6d', '\x70', '\x6c', '\x3a', '\x3a', '\x4e', '\x53', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x73', '\x3a', '\x3a', '\x53', '\x74', '\x61', '\x72', '\x74', '\x73', '\x57', '\x69', '\x74', '\x68', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x53', '\x74', '\x61', '\x72', '\x74', '\x73', '\x57', '\x69', '\x74', '\x68', '\x28', '\x20', '\x4e', '\x53', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x2a', '\x20', '\x73', '\x75', '\x62', '\x73', '\x74', '\x72', '\x20', '\x29', '\x7b', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x49', '\x6d', '\x70', '\x6c', '\x3a', '\x3a', '\x4e', '\x53', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x73', '\x3a', '\x3a', '\x53', '\x74', '\x61', '\x72', '\x74', '\x73', '\x57', '\x69', '\x74', '\x68', '\x28', '\x20', '\x73', '\x75', '\x62', '\x73', '\x74', '\x72', '\x20', '\x29', '\x3b', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x6e', '\x6c', '\x69', '\x6e', '\x65', '\x20', '\x49', '\x6d', '\x70', '\x6c', '\x3a', '\x3a', '\x4e', '\x53', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x73', '\x3a', '\x3a', '\x45', '\x6e', '\x64', '\x73', '\x57', '\x69', '\x74', '\x68', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x45', '\x6e', '\x64', '\x73', '\x57', '\x69', '\x74', '\x68', '\x28', '\x20', '\x4e', '\x53', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x2a', '\x20', '\x73', '\x75', '\x62', '\x73', '\x74', '\x72', '\x20', '\x29', '\x7b', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x49', '\x6d', '\x70', '\x6c', '\x3a', '\x3a', '\x4e', '\x53', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x73', '\x3a', '\x3a', '\x45', '\x6e', '\x64', '\x73', '\x57', '\x69', '\x74', '\x68', '\x28', '\x20', '\x73', '\x75', '\x62', '\x73', '\x74', '\x72', '\x20', '\x29', '\x3b', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x73', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x75', '\x73', '\x69', '\x6e', '\x67', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x73', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x20', '\x2f', '\x2f', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x44', '\x49', '\x53', '\x41', '\x42', '\x4c', '\x45', '\x5f', '\x4d', '\x41', '\x54', '\x43', '\x48', '\x45', '\x52', '\x53', '\x0d', '\x0a', '\x0d', '\x0a', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x4f', '\x43', '\x5f', '\x4d', '\x41', '\x4b', '\x45', '\x5f', '\x55', '\x4e', '\x49', '\x51', '\x55', '\x45', '\x5f', '\x4e', '\x41', '\x4d', '\x45', '\x28', '\x20', '\x72', '\x6f', '\x6f', '\x74', '\x2c', '\x20', '\x75', '\x6e', '\x69', '\x71', '\x75', '\x65', '\x53', '\x75', '\x66', '\x66', '\x69', '\x78', '\x20', '\x29', '\x20', '\x72', '\x6f', '\x6f', '\x74', '\x23', '\x23', '\x75', '\x6e', '\x69', '\x71', '\x75', '\x65', '\x53', '\x75', '\x66', '\x66', '\x69', '\x78', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x4f', '\x43', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x32', '\x28', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x64', '\x65', '\x73', '\x63', '\x2c', '\x20', '\x75', '\x6e', '\x69', '\x71', '\x75', '\x65', '\x53', '\x75', '\x66', '\x66', '\x69', '\x78', '\x20', '\x29', '\x20', '\x5c', '\x0d', '\x0a', '\x2b', '\x28', '\x4e', '\x53', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x2a', '\x29', '\x20', '\x4f', '\x43', '\x5f', '\x4d', '\x41', '\x4b', '\x45', '\x5f', '\x55', '\x4e', '\x49', '\x51', '\x55', '\x45', '\x5f', '\x4e', '\x41', '\x4d', '\x45', '\x28', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x4e', '\x61', '\x6d', '\x65', '\x5f', '\x74', '\x65', '\x73', '\x74', '\x5f', '\x2c', '\x20', '\x75', '\x6e', '\x69', '\x71', '\x75', '\x65', '\x53', '\x75', '\x66', '\x66', '\x69', '\x78', '\x20', '\x29', '\x20', '\x5c', '\x0d', '\x0a', '\x7b', '\x20', '\x5c', '\x0d', '\x0a', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x40', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x3b', '\x20', '\x5c', '\x0d', '\x0a', '\x7d', '\x20', '\x5c', '\x0d', '\x0a', '\x2b', '\x28', '\x4e', '\x53', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x2a', '\x29', '\x20', '\x4f', '\x43', '\x5f', '\x4d', '\x41', '\x4b', '\x45', '\x5f', '\x55', '\x4e', '\x49', '\x51', '\x55', '\x45', '\x5f', '\x4e', '\x41', '\x4d', '\x45', '\x28', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x44', '\x65', '\x73', '\x63', '\x72', '\x69', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x5f', '\x74', '\x65', '\x73', '\x74', '\x5f', '\x2c', '\x20', '\x75', '\x6e', '\x69', '\x71', '\x75', '\x65', '\x53', '\x75', '\x66', '\x66', '\x69', '\x78', '\x20', '\x29', '\x20', '\x5c', '\x0d', '\x0a', '\x7b', '\x20', '\x5c', '\x0d', '\x0a', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x40', '\x20', '\x64', '\x65', '\x73', '\x63', '\x3b', '\x20', '\x5c', '\x0d', '\x0a', '\x7d', '\x20', '\x5c', '\x0d', '\x0a', '\x2d', '\x28', '\x76', '\x6f', '\x69', '\x64', '\x29', '\x20', '\x4f', '\x43', '\x5f', '\x4d', '\x41', '\x4b', '\x45', '\x5f', '\x55', '\x4e', '\x49', '\x51', '\x55', '\x45', '\x5f', '\x4e', '\x41', '\x4d', '\x45', '\x28', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x5f', '\x74', '\x65', '\x73', '\x74', '\x5f', '\x2c', '\x20', '\x75', '\x6e', '\x69', '\x71', '\x75', '\x65', '\x53', '\x75', '\x66', '\x66', '\x69', '\x78', '\x20', '\x29', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x4f', '\x43', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x28', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x64', '\x65', '\x73', '\x63', '\x20', '\x29', '\x20', '\x4f', '\x43', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x32', '\x28', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x64', '\x65', '\x73', '\x63', '\x2c', '\x20', '\x5f', '\x5f', '\x4c', '\x49', '\x4e', '\x45', '\x5f', '\x5f', '\x20', '\x29', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x6f', '\x62', '\x6a', '\x63', '\x2e', '\x68', '\x70', '\x70', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x42', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x69', '\x6e', '\x67', '\x20', '\x6e', '\x65', '\x65', '\x64', '\x73', '\x20', '\x74', '\x68', '\x65', '\x20', '\x65', '\x78', '\x74', '\x65', '\x72', '\x6e', '\x61', '\x6c', '\x6c', '\x79', '\x2d', '\x66', '\x61', '\x63', '\x69', '\x6e', '\x67', '\x20', '\x70', '\x61', '\x72', '\x74', '\x73', '\x20', '\x6f', '\x66', '\x20', '\x72', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x73', '\x20', '\x74', '\x6f', '\x20', '\x77', '\x6f', '\x72', '\x6b', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x45', '\x58', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x46', '\x41', '\x43', '\x45', '\x53', '\x29', '\x20', '\x7c', '\x7c', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x45', '\x4e', '\x41', '\x42', '\x4c', '\x45', '\x5f', '\x42', '\x45', '\x4e', '\x43', '\x48', '\x4d', '\x41', '\x52', '\x4b', '\x49', '\x4e', '\x47', '\x29', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x65', '\x78', '\x74', '\x65', '\x72', '\x6e', '\x61', '\x6c', '\x5f', '\x69', '\x6e', '\x74', '\x65', '\x72', '\x66', '\x61', '\x63', '\x65', '\x73', '\x2e', '\x68', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x72', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x5f', '\x62', '\x61', '\x73', '\x65', '\x73', '\x2e', '\x68', '\x70', '\x70', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x69', '\x6e', '\x74', '\x65', '\x72', '\x66', '\x61', '\x63', '\x65', '\x73', '\x5f', '\x72', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x2e', '\x68', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x2e', '\x68', '\x70', '\x70', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x74', '\x65', '\x73', '\x74', '\x5f', '\x73', '\x70', '\x65', '\x63', '\x5f', '\x70', '\x61', '\x72', '\x73', '\x65', '\x72', '\x2e', '\x68', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x64', '\x65', '\x66', '\x20', '\x5f', '\x5f', '\x63', '\x6c', '\x61', '\x6e', '\x67', '\x5f', '\x5f', '\x0d', '\x0a', '\x23', '\x70', '\x72', '\x61', '\x67', '\x6d', '\x61', '\x20', '\x63', '\x6c', '\x61', '\x6e', '\x67', '\x20', '\x64', '\x69', '\x61', '\x67', '\x6e', '\x6f', '\x73', '\x74', '\x69', '\x63', '\x20', '\x70', '\x75', '\x73', '\x68', '\x0d', '\x0a', '\x23', '\x70', '\x72', '\x61', '\x67', '\x6d', '\x61', '\x20', '\x63', '\x6c', '\x61', '\x6e', '\x67', '\x20', '\x64', '\x69', '\x61', '\x67', '\x6e', '\x6f', '\x73', '\x74', '\x69', '\x63', '\x20', '\x69', '\x67', '\x6e', '\x6f', '\x72', '\x65', '\x64', '\x20', '\x22', '\x2d', '\x57', '\x70', '\x61', '\x64', '\x64', '\x65', '\x64', '\x22', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x74', '\x65', '\x73', '\x74', '\x5f', '\x73', '\x70', '\x65', '\x63', '\x2e', '\x68', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x64', '\x65', '\x66', '\x20', '\x5f', '\x5f', '\x63', '\x6c', '\x61', '\x6e', '\x67', '\x5f', '\x5f', '\x0d', '\x0a', '\x23', '\x70', '\x72', '\x61', '\x67', '\x6d', '\x61', '\x20', '\x63', '\x6c', '\x61', '\x6e', '\x67', '\x20', '\x64', '\x69', '\x61', '\x67', '\x6e', '\x6f', '\x73', '\x74', '\x69', '\x63', '\x20', '\x70', '\x75', '\x73', '\x68', '\x0d', '\x0a', '\x23', '\x70', '\x72', '\x61', '\x67', '\x6d', '\x61', '\x20', '\x63', '\x6c', '\x61', '\x6e', '\x67', '\x20', '\x64', '\x69', '\x61', '\x67', '\x6e', '\x6f', '\x73', '\x74', '\x69', '\x63', '\x20', '\x69', '\x67', '\x6e', '\x6f', '\x72', '\x65', '\x64', '\x20', '\x22', '\x2d', '\x57', '\x70', '\x61', '\x64', '\x64', '\x65', '\x64', '\x22', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x77', '\x69', '\x6c', '\x64', '\x63', '\x61', '\x72', '\x64', '\x5f', '\x70', '\x61', '\x74', '\x74', '\x65', '\x72', '\x6e', '\x2e', '\x68', '\x0d', '\x0a', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x0d', '\x0a', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x20', '\x57', '\x69', '\x6c', '\x64', '\x63', '\x61', '\x72', '\x64', '\x50', '\x61', '\x74', '\x74', '\x65', '\x72', '\x6e', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x6e', '\x75', '\x6d', '\x20', '\x57', '\x69', '\x6c', '\x64', '\x63', '\x61', '\x72', '\x64', '\x50', '\x6f', '\x73', '\x69', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x4e', '\x6f', '\x57', '\x69', '\x6c', '\x64', '\x63', '\x61', '\x72', '\x64', '\x20', '\x3d', '\x20', '\x30', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x57', '\x69', '\x6c', '\x64', '\x63', '\x61', '\x72', '\x64', '\x41', '\x74', '\x53', '\x74', '\x61', '\x72', '\x74', '\x20', '\x3d', '\x20', '\x31', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x57', '\x69', '\x6c', '\x64', '\x63', '\x61', '\x72', '\x64', '\x41', '\x74', '\x45', '\x6e', '\x64', '\x20', '\x3d', '\x20', '\x32', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x57', '\x69', '\x6c', '\x64', '\x63', '\x61', '\x72', '\x64', '\x41', '\x74', '\x42', '\x6f', '\x74', '\x68', '\x45', '\x6e', '\x64', '\x73', '\x20', '\x3d', '\x20', '\x57', '\x69', '\x6c', '\x64', '\x63', '\x61', '\x72', '\x64', '\x41', '\x74', '\x53', '\x74', '\x61', '\x72', '\x74', '\x20', '\x7c', '\x20', '\x57', '\x69', '\x6c', '\x64', '\x63', '\x61', '\x72', '\x64', '\x41', '\x74', '\x45', '\x6e', '\x64', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x70', '\x75', '\x62', '\x6c', '\x69', '\x63', '\x3a', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x57', '\x69', '\x6c', '\x64', '\x63', '\x61', '\x72', '\x64', '\x50', '\x61', '\x74', '\x74', '\x65', '\x72', '\x6e', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x70', '\x61', '\x74', '\x74', '\x65', '\x72', '\x6e', '\x2c', '\x20', '\x43', '\x61', '\x73', '\x65', '\x53', '\x65', '\x6e', '\x73', '\x69', '\x74', '\x69', '\x76', '\x65', '\x3a', '\x3a', '\x43', '\x68', '\x6f', '\x69', '\x63', '\x65', '\x20', '\x63', '\x61', '\x73', '\x65', '\x53', '\x65', '\x6e', '\x73', '\x69', '\x74', '\x69', '\x76', '\x69', '\x74', '\x79', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x69', '\x72', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x7e', '\x57', '\x69', '\x6c', '\x64', '\x63', '\x61', '\x72', '\x64', '\x50', '\x61', '\x74', '\x74', '\x65', '\x72', '\x6e', '\x28', '\x29', '\x20', '\x3d', '\x20', '\x64', '\x65', '\x66', '\x61', '\x75', '\x6c', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x69', '\x72', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x73', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x73', '\x74', '\x72', '\x20', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x70', '\x72', '\x69', '\x76', '\x61', '\x74', '\x65', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x6e', '\x6f', '\x72', '\x6d', '\x61', '\x6c', '\x69', '\x73', '\x65', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x73', '\x74', '\x72', '\x20', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x61', '\x73', '\x65', '\x53', '\x65', '\x6e', '\x73', '\x69', '\x74', '\x69', '\x76', '\x65', '\x3a', '\x3a', '\x43', '\x68', '\x6f', '\x69', '\x63', '\x65', '\x20', '\x6d', '\x5f', '\x63', '\x61', '\x73', '\x65', '\x53', '\x65', '\x6e', '\x73', '\x69', '\x74', '\x69', '\x76', '\x69', '\x74', '\x79', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x57', '\x69', '\x6c', '\x64', '\x63', '\x61', '\x72', '\x64', '\x50', '\x6f', '\x73', '\x69', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x6d', '\x5f', '\x77', '\x69', '\x6c', '\x64', '\x63', '\x61', '\x72', '\x64', '\x20', '\x3d', '\x20', '\x4e', '\x6f', '\x57', '\x69', '\x6c', '\x64', '\x63', '\x61', '\x72', '\x64', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x6d', '\x5f', '\x70', '\x61', '\x74', '\x74', '\x65', '\x72', '\x6e', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x77', '\x69', '\x6c', '\x64', '\x63', '\x61', '\x72', '\x64', '\x5f', '\x70', '\x61', '\x74', '\x74', '\x65', '\x72', '\x6e', '\x2e', '\x68', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x3e', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3e', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x6d', '\x65', '\x6d', '\x6f', '\x72', '\x79', '\x3e', '\x0d', '\x0a', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x49', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x20', '\x54', '\x65', '\x73', '\x74', '\x53', '\x70', '\x65', '\x63', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x20', '\x50', '\x61', '\x74', '\x74', '\x65', '\x72', '\x6e', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x75', '\x62', '\x6c', '\x69', '\x63', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x78', '\x70', '\x6c', '\x69', '\x63', '\x69', '\x74', '\x20', '\x50', '\x61', '\x74', '\x74', '\x65', '\x72', '\x6e', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x69', '\x72', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x7e', '\x50', '\x61', '\x74', '\x74', '\x65', '\x72', '\x6e', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x69', '\x72', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x73', '\x28', '\x20', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x20', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x72', '\x69', '\x76', '\x61', '\x74', '\x65', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x6d', '\x5f', '\x6e', '\x61', '\x6d', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x75', '\x73', '\x69', '\x6e', '\x67', '\x20', '\x50', '\x61', '\x74', '\x74', '\x65', '\x72', '\x6e', '\x50', '\x74', '\x72', '\x20', '\x3d', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x68', '\x61', '\x72', '\x65', '\x64', '\x5f', '\x70', '\x74', '\x72', '\x3c', '\x50', '\x61', '\x74', '\x74', '\x65', '\x72', '\x6e', '\x3e', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x20', '\x4e', '\x61', '\x6d', '\x65', '\x50', '\x61', '\x74', '\x74', '\x65', '\x72', '\x6e', '\x20', '\x3a', '\x20', '\x70', '\x75', '\x62', '\x6c', '\x69', '\x63', '\x20', '\x50', '\x61', '\x74', '\x74', '\x65', '\x72', '\x6e', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x75', '\x62', '\x6c', '\x69', '\x63', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x78', '\x70', '\x6c', '\x69', '\x63', '\x69', '\x74', '\x20', '\x4e', '\x61', '\x6d', '\x65', '\x50', '\x61', '\x74', '\x74', '\x65', '\x72', '\x6e', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x66', '\x69', '\x6c', '\x74', '\x65', '\x72', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x73', '\x28', '\x20', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x20', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x72', '\x69', '\x76', '\x61', '\x74', '\x65', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x57', '\x69', '\x6c', '\x64', '\x63', '\x61', '\x72', '\x64', '\x50', '\x61', '\x74', '\x74', '\x65', '\x72', '\x6e', '\x20', '\x6d', '\x5f', '\x77', '\x69', '\x6c', '\x64', '\x63', '\x61', '\x72', '\x64', '\x50', '\x61', '\x74', '\x74', '\x65', '\x72', '\x6e', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x20', '\x54', '\x61', '\x67', '\x50', '\x61', '\x74', '\x74', '\x65', '\x72', '\x6e', '\x20', '\x3a', '\x20', '\x70', '\x75', '\x62', '\x6c', '\x69', '\x63', '\x20', '\x50', '\x61', '\x74', '\x74', '\x65', '\x72', '\x6e', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x75', '\x62', '\x6c', '\x69', '\x63', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x78', '\x70', '\x6c', '\x69', '\x63', '\x69', '\x74', '\x20', '\x54', '\x61', '\x67', '\x50', '\x61', '\x74', '\x74', '\x65', '\x72', '\x6e', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x74', '\x61', '\x67', '\x2c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x66', '\x69', '\x6c', '\x74', '\x65', '\x72', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x73', '\x28', '\x20', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x20', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x72', '\x69', '\x76', '\x61', '\x74', '\x65', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x6d', '\x5f', '\x74', '\x61', '\x67', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x20', '\x45', '\x78', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x64', '\x50', '\x61', '\x74', '\x74', '\x65', '\x72', '\x6e', '\x20', '\x3a', '\x20', '\x70', '\x75', '\x62', '\x6c', '\x69', '\x63', '\x20', '\x50', '\x61', '\x74', '\x74', '\x65', '\x72', '\x6e', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x75', '\x62', '\x6c', '\x69', '\x63', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x78', '\x70', '\x6c', '\x69', '\x63', '\x69', '\x74', '\x20', '\x45', '\x78', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x64', '\x50', '\x61', '\x74', '\x74', '\x65', '\x72', '\x6e', '\x28', '\x20', '\x50', '\x61', '\x74', '\x74', '\x65', '\x72', '\x6e', '\x50', '\x74', '\x72', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x75', '\x6e', '\x64', '\x65', '\x72', '\x6c', '\x79', '\x69', '\x6e', '\x67', '\x50', '\x61', '\x74', '\x74', '\x65', '\x72', '\x6e', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x73', '\x28', '\x20', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x20', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x72', '\x69', '\x76', '\x61', '\x74', '\x65', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x50', '\x61', '\x74', '\x74', '\x65', '\x72', '\x6e', '\x50', '\x74', '\x72', '\x20', '\x6d', '\x5f', '\x75', '\x6e', '\x64', '\x65', '\x72', '\x6c', '\x79', '\x69', '\x6e', '\x67', '\x50', '\x61', '\x74', '\x74', '\x65', '\x72', '\x6e', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x46', '\x69', '\x6c', '\x74', '\x65', '\x72', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x50', '\x61', '\x74', '\x74', '\x65', '\x72', '\x6e', '\x50', '\x74', '\x72', '\x3e', '\x20', '\x6d', '\x5f', '\x70', '\x61', '\x74', '\x74', '\x65', '\x72', '\x6e', '\x73', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x73', '\x28', '\x20', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x20', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x70', '\x75', '\x62', '\x6c', '\x69', '\x63', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x46', '\x69', '\x6c', '\x74', '\x65', '\x72', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x2a', '\x3e', '\x20', '\x74', '\x65', '\x73', '\x74', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x75', '\x73', '\x69', '\x6e', '\x67', '\x20', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x73', '\x20', '\x3d', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x46', '\x69', '\x6c', '\x74', '\x65', '\x72', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x3e', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x75', '\x73', '\x69', '\x6e', '\x67', '\x20', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x73', '\x20', '\x3d', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x3e', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x68', '\x61', '\x73', '\x46', '\x69', '\x6c', '\x74', '\x65', '\x72', '\x73', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x73', '\x28', '\x20', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x20', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x73', '\x20', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x73', '\x42', '\x79', '\x46', '\x69', '\x6c', '\x74', '\x65', '\x72', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x3e', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x73', '\x2c', '\x20', '\x49', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x20', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x73', '\x20', '\x26', '\x20', '\x67', '\x65', '\x74', '\x49', '\x6e', '\x76', '\x61', '\x6c', '\x69', '\x64', '\x41', '\x72', '\x67', '\x73', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x70', '\x72', '\x69', '\x76', '\x61', '\x74', '\x65', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x46', '\x69', '\x6c', '\x74', '\x65', '\x72', '\x3e', '\x20', '\x6d', '\x5f', '\x66', '\x69', '\x6c', '\x74', '\x65', '\x72', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x3e', '\x20', '\x6d', '\x5f', '\x69', '\x6e', '\x76', '\x61', '\x6c', '\x69', '\x64', '\x41', '\x72', '\x67', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x66', '\x72', '\x69', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x20', '\x54', '\x65', '\x73', '\x74', '\x53', '\x70', '\x65', '\x63', '\x50', '\x61', '\x72', '\x73', '\x65', '\x72', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x64', '\x65', '\x66', '\x20', '\x5f', '\x5f', '\x63', '\x6c', '\x61', '\x6e', '\x67', '\x5f', '\x5f', '\x0d', '\x0a', '\x23', '\x70', '\x72', '\x61', '\x67', '\x6d', '\x61', '\x20', '\x63', '\x6c', '\x61', '\x6e', '\x67', '\x20', '\x64', '\x69', '\x61', '\x67', '\x6e', '\x6f', '\x73', '\x74', '\x69', '\x63', '\x20', '\x70', '\x6f', '\x70', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x74', '\x65', '\x73', '\x74', '\x5f', '\x73', '\x70', '\x65', '\x63', '\x2e', '\x68', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x69', '\x6e', '\x74', '\x65', '\x72', '\x66', '\x61', '\x63', '\x65', '\x73', '\x5f', '\x74', '\x61', '\x67', '\x5f', '\x61', '\x6c', '\x69', '\x61', '\x73', '\x5f', '\x72', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x2e', '\x68', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x3e', '\x0d', '\x0a', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x54', '\x61', '\x67', '\x41', '\x6c', '\x69', '\x61', '\x73', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x49', '\x54', '\x61', '\x67', '\x41', '\x6c', '\x69', '\x61', '\x73', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x69', '\x72', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x7e', '\x49', '\x54', '\x61', '\x67', '\x41', '\x6c', '\x69', '\x61', '\x73', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x4e', '\x75', '\x6c', '\x6c', '\x70', '\x74', '\x72', '\x20', '\x69', '\x66', '\x20', '\x6e', '\x6f', '\x74', '\x20', '\x70', '\x72', '\x65', '\x73', '\x65', '\x6e', '\x74', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x69', '\x72', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x54', '\x61', '\x67', '\x41', '\x6c', '\x69', '\x61', '\x73', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x2a', '\x20', '\x66', '\x69', '\x6e', '\x64', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x61', '\x6c', '\x69', '\x61', '\x73', '\x20', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x69', '\x72', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x65', '\x78', '\x70', '\x61', '\x6e', '\x64', '\x41', '\x6c', '\x69', '\x61', '\x73', '\x65', '\x73', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x75', '\x6e', '\x65', '\x78', '\x70', '\x61', '\x6e', '\x64', '\x65', '\x64', '\x54', '\x65', '\x73', '\x74', '\x53', '\x70', '\x65', '\x63', '\x20', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x20', '\x49', '\x54', '\x61', '\x67', '\x41', '\x6c', '\x69', '\x61', '\x73', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x67', '\x65', '\x74', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x69', '\x6e', '\x74', '\x65', '\x72', '\x66', '\x61', '\x63', '\x65', '\x73', '\x5f', '\x74', '\x61', '\x67', '\x5f', '\x61', '\x6c', '\x69', '\x61', '\x73', '\x5f', '\x72', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x2e', '\x68', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x20', '\x54', '\x65', '\x73', '\x74', '\x53', '\x70', '\x65', '\x63', '\x50', '\x61', '\x72', '\x73', '\x65', '\x72', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x6e', '\x75', '\x6d', '\x20', '\x4d', '\x6f', '\x64', '\x65', '\x7b', '\x20', '\x4e', '\x6f', '\x6e', '\x65', '\x2c', '\x20', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x51', '\x75', '\x6f', '\x74', '\x65', '\x64', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x54', '\x61', '\x67', '\x2c', '\x20', '\x45', '\x73', '\x63', '\x61', '\x70', '\x65', '\x64', '\x4e', '\x61', '\x6d', '\x65', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x4d', '\x6f', '\x64', '\x65', '\x20', '\x6d', '\x5f', '\x6d', '\x6f', '\x64', '\x65', '\x20', '\x3d', '\x20', '\x4e', '\x6f', '\x6e', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x4d', '\x6f', '\x64', '\x65', '\x20', '\x6c', '\x61', '\x73', '\x74', '\x4d', '\x6f', '\x64', '\x65', '\x20', '\x3d', '\x20', '\x4e', '\x6f', '\x6e', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x6d', '\x5f', '\x65', '\x78', '\x63', '\x6c', '\x75', '\x73', '\x69', '\x6f', '\x6e', '\x20', '\x3d', '\x20', '\x66', '\x61', '\x6c', '\x73', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x69', '\x7a', '\x65', '\x5f', '\x74', '\x20', '\x6d', '\x5f', '\x70', '\x6f', '\x73', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x69', '\x7a', '\x65', '\x5f', '\x74', '\x20', '\x6d', '\x5f', '\x72', '\x65', '\x61', '\x6c', '\x50', '\x61', '\x74', '\x74', '\x65', '\x72', '\x6e', '\x50', '\x6f', '\x73', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x6d', '\x5f', '\x61', '\x72', '\x67', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x6d', '\x5f', '\x73', '\x75', '\x62', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x6d', '\x5f', '\x70', '\x61', '\x74', '\x74', '\x65', '\x72', '\x6e', '\x4e', '\x61', '\x6d', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x69', '\x7a', '\x65', '\x5f', '\x74', '\x3e', '\x20', '\x6d', '\x5f', '\x65', '\x73', '\x63', '\x61', '\x70', '\x65', '\x43', '\x68', '\x61', '\x72', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x54', '\x65', '\x73', '\x74', '\x53', '\x70', '\x65', '\x63', '\x3a', '\x3a', '\x46', '\x69', '\x6c', '\x74', '\x65', '\x72', '\x20', '\x6d', '\x5f', '\x63', '\x75', '\x72', '\x72', '\x65', '\x6e', '\x74', '\x46', '\x69', '\x6c', '\x74', '\x65', '\x72', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x54', '\x65', '\x73', '\x74', '\x53', '\x70', '\x65', '\x63', '\x20', '\x6d', '\x5f', '\x74', '\x65', '\x73', '\x74', '\x53', '\x70', '\x65', '\x63', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x49', '\x54', '\x61', '\x67', '\x41', '\x6c', '\x69', '\x61', '\x73', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x2a', '\x20', '\x6d', '\x5f', '\x74', '\x61', '\x67', '\x41', '\x6c', '\x69', '\x61', '\x73', '\x65', '\x73', '\x20', '\x3d', '\x20', '\x6e', '\x75', '\x6c', '\x6c', '\x70', '\x74', '\x72', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x70', '\x75', '\x62', '\x6c', '\x69', '\x63', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x54', '\x65', '\x73', '\x74', '\x53', '\x70', '\x65', '\x63', '\x50', '\x61', '\x72', '\x73', '\x65', '\x72', '\x28', '\x20', '\x49', '\x54', '\x61', '\x67', '\x41', '\x6c', '\x69', '\x61', '\x73', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x74', '\x61', '\x67', '\x41', '\x6c', '\x69', '\x61', '\x73', '\x65', '\x73', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x54', '\x65', '\x73', '\x74', '\x53', '\x70', '\x65', '\x63', '\x50', '\x61', '\x72', '\x73', '\x65', '\x72', '\x26', '\x20', '\x70', '\x61', '\x72', '\x73', '\x65', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x61', '\x72', '\x67', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x54', '\x65', '\x73', '\x74', '\x53', '\x70', '\x65', '\x63', '\x20', '\x74', '\x65', '\x73', '\x74', '\x53', '\x70', '\x65', '\x63', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x70', '\x72', '\x69', '\x76', '\x61', '\x74', '\x65', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x76', '\x69', '\x73', '\x69', '\x74', '\x43', '\x68', '\x61', '\x72', '\x28', '\x20', '\x63', '\x68', '\x61', '\x72', '\x20', '\x63', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x4e', '\x65', '\x77', '\x4d', '\x6f', '\x64', '\x65', '\x28', '\x20', '\x4d', '\x6f', '\x64', '\x65', '\x20', '\x6d', '\x6f', '\x64', '\x65', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x70', '\x72', '\x6f', '\x63', '\x65', '\x73', '\x73', '\x4e', '\x6f', '\x6e', '\x65', '\x43', '\x68', '\x61', '\x72', '\x28', '\x20', '\x63', '\x68', '\x61', '\x72', '\x20', '\x63', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x70', '\x72', '\x6f', '\x63', '\x65', '\x73', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x43', '\x68', '\x61', '\x72', '\x28', '\x20', '\x63', '\x68', '\x61', '\x72', '\x20', '\x63', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x70', '\x72', '\x6f', '\x63', '\x65', '\x73', '\x73', '\x4f', '\x74', '\x68', '\x65', '\x72', '\x43', '\x68', '\x61', '\x72', '\x28', '\x20', '\x63', '\x68', '\x61', '\x72', '\x20', '\x63', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x65', '\x6e', '\x64', '\x4d', '\x6f', '\x64', '\x65', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x65', '\x73', '\x63', '\x61', '\x70', '\x65', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x69', '\x73', '\x43', '\x6f', '\x6e', '\x74', '\x72', '\x6f', '\x6c', '\x43', '\x68', '\x61', '\x72', '\x28', '\x20', '\x63', '\x68', '\x61', '\x72', '\x20', '\x63', '\x20', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x73', '\x61', '\x76', '\x65', '\x4c', '\x61', '\x73', '\x74', '\x4d', '\x6f', '\x64', '\x65', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x72', '\x65', '\x76', '\x65', '\x72', '\x74', '\x42', '\x61', '\x63', '\x6b', '\x54', '\x6f', '\x4c', '\x61', '\x73', '\x74', '\x4d', '\x6f', '\x64', '\x65', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x61', '\x64', '\x64', '\x46', '\x69', '\x6c', '\x74', '\x65', '\x72', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x73', '\x65', '\x70', '\x61', '\x72', '\x61', '\x74', '\x65', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x54', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x61', '\x64', '\x64', '\x50', '\x61', '\x74', '\x74', '\x65', '\x72', '\x6e', '\x28', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x74', '\x6f', '\x6b', '\x65', '\x6e', '\x20', '\x3d', '\x20', '\x6d', '\x5f', '\x70', '\x61', '\x74', '\x74', '\x65', '\x72', '\x6e', '\x4e', '\x61', '\x6d', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x66', '\x6f', '\x72', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x69', '\x7a', '\x65', '\x5f', '\x74', '\x20', '\x69', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x20', '\x69', '\x20', '\x3c', '\x20', '\x6d', '\x5f', '\x65', '\x73', '\x63', '\x61', '\x70', '\x65', '\x43', '\x68', '\x61', '\x72', '\x73', '\x2e', '\x73', '\x69', '\x7a', '\x65', '\x28', '\x29', '\x3b', '\x20', '\x2b', '\x2b', '\x69', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x6f', '\x6b', '\x65', '\x6e', '\x20', '\x3d', '\x20', '\x74', '\x6f', '\x6b', '\x65', '\x6e', '\x2e', '\x73', '\x75', '\x62', '\x73', '\x74', '\x72', '\x28', '\x20', '\x30', '\x2c', '\x20', '\x6d', '\x5f', '\x65', '\x73', '\x63', '\x61', '\x70', '\x65', '\x43', '\x68', '\x61', '\x72', '\x73', '\x5b', '\x69', '\x5d', '\x20', '\x2d', '\x20', '\x69', '\x20', '\x29', '\x20', '\x2b', '\x20', '\x74', '\x6f', '\x6b', '\x65', '\x6e', '\x2e', '\x73', '\x75', '\x62', '\x73', '\x74', '\x72', '\x28', '\x20', '\x6d', '\x5f', '\x65', '\x73', '\x63', '\x61', '\x70', '\x65', '\x43', '\x68', '\x61', '\x72', '\x73', '\x5b', '\x69', '\x5d', '\x20', '\x2d', '\x69', '\x20', '\x2b', '\x31', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x65', '\x73', '\x63', '\x61', '\x70', '\x65', '\x43', '\x68', '\x61', '\x72', '\x73', '\x2e', '\x63', '\x6c', '\x65', '\x61', '\x72', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x73', '\x57', '\x69', '\x74', '\x68', '\x28', '\x20', '\x74', '\x6f', '\x6b', '\x65', '\x6e', '\x2c', '\x20', '\x22', '\x65', '\x78', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x3a', '\x22', '\x20', '\x29', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x65', '\x78', '\x63', '\x6c', '\x75', '\x73', '\x69', '\x6f', '\x6e', '\x20', '\x3d', '\x20', '\x74', '\x72', '\x75', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x6f', '\x6b', '\x65', '\x6e', '\x20', '\x3d', '\x20', '\x74', '\x6f', '\x6b', '\x65', '\x6e', '\x2e', '\x73', '\x75', '\x62', '\x73', '\x74', '\x72', '\x28', '\x20', '\x38', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x21', '\x74', '\x6f', '\x6b', '\x65', '\x6e', '\x2e', '\x65', '\x6d', '\x70', '\x74', '\x79', '\x28', '\x29', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x54', '\x65', '\x73', '\x74', '\x53', '\x70', '\x65', '\x63', '\x3a', '\x3a', '\x50', '\x61', '\x74', '\x74', '\x65', '\x72', '\x6e', '\x50', '\x74', '\x72', '\x20', '\x70', '\x61', '\x74', '\x74', '\x65', '\x72', '\x6e', '\x20', '\x3d', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6d', '\x61', '\x6b', '\x65', '\x5f', '\x73', '\x68', '\x61', '\x72', '\x65', '\x64', '\x3c', '\x54', '\x3e', '\x28', '\x20', '\x74', '\x6f', '\x6b', '\x65', '\x6e', '\x2c', '\x20', '\x6d', '\x5f', '\x73', '\x75', '\x62', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x6d', '\x5f', '\x65', '\x78', '\x63', '\x6c', '\x75', '\x73', '\x69', '\x6f', '\x6e', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x61', '\x74', '\x74', '\x65', '\x72', '\x6e', '\x20', '\x3d', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6d', '\x61', '\x6b', '\x65', '\x5f', '\x73', '\x68', '\x61', '\x72', '\x65', '\x64', '\x3c', '\x54', '\x65', '\x73', '\x74', '\x53', '\x70', '\x65', '\x63', '\x3a', '\x3a', '\x45', '\x78', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x64', '\x50', '\x61', '\x74', '\x74', '\x65', '\x72', '\x6e', '\x3e', '\x28', '\x20', '\x70', '\x61', '\x74', '\x74', '\x65', '\x72', '\x6e', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x63', '\x75', '\x72', '\x72', '\x65', '\x6e', '\x74', '\x46', '\x69', '\x6c', '\x74', '\x65', '\x72', '\x2e', '\x6d', '\x5f', '\x70', '\x61', '\x74', '\x74', '\x65', '\x72', '\x6e', '\x73', '\x2e', '\x70', '\x75', '\x73', '\x68', '\x5f', '\x62', '\x61', '\x63', '\x6b', '\x28', '\x20', '\x70', '\x61', '\x74', '\x74', '\x65', '\x72', '\x6e', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x73', '\x75', '\x62', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x2e', '\x63', '\x6c', '\x65', '\x61', '\x72', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x70', '\x61', '\x74', '\x74', '\x65', '\x72', '\x6e', '\x4e', '\x61', '\x6d', '\x65', '\x2e', '\x63', '\x6c', '\x65', '\x61', '\x72', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x65', '\x78', '\x63', '\x6c', '\x75', '\x73', '\x69', '\x6f', '\x6e', '\x20', '\x3d', '\x20', '\x66', '\x61', '\x6c', '\x73', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x6d', '\x6f', '\x64', '\x65', '\x20', '\x3d', '\x20', '\x4e', '\x6f', '\x6e', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x6e', '\x6c', '\x69', '\x6e', '\x65', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x61', '\x64', '\x64', '\x43', '\x68', '\x61', '\x72', '\x54', '\x6f', '\x50', '\x61', '\x74', '\x74', '\x65', '\x72', '\x6e', '\x28', '\x63', '\x68', '\x61', '\x72', '\x20', '\x63', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x73', '\x75', '\x62', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x2b', '\x3d', '\x20', '\x63', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x70', '\x61', '\x74', '\x74', '\x65', '\x72', '\x6e', '\x4e', '\x61', '\x6d', '\x65', '\x20', '\x2b', '\x3d', '\x20', '\x63', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x72', '\x65', '\x61', '\x6c', '\x50', '\x61', '\x74', '\x74', '\x65', '\x72', '\x6e', '\x50', '\x6f', '\x73', '\x2b', '\x2b', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x54', '\x65', '\x73', '\x74', '\x53', '\x70', '\x65', '\x63', '\x20', '\x70', '\x61', '\x72', '\x73', '\x65', '\x54', '\x65', '\x73', '\x74', '\x53', '\x70', '\x65', '\x63', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x61', '\x72', '\x67', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x64', '\x65', '\x66', '\x20', '\x5f', '\x5f', '\x63', '\x6c', '\x61', '\x6e', '\x67', '\x5f', '\x5f', '\x0d', '\x0a', '\x23', '\x70', '\x72', '\x61', '\x67', '\x6d', '\x61', '\x20', '\x63', '\x6c', '\x61', '\x6e', '\x67', '\x20', '\x64', '\x69', '\x61', '\x67', '\x6e', '\x6f', '\x73', '\x74', '\x69', '\x63', '\x20', '\x70', '\x6f', '\x70', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x74', '\x65', '\x73', '\x74', '\x5f', '\x73', '\x70', '\x65', '\x63', '\x5f', '\x70', '\x61', '\x72', '\x73', '\x65', '\x72', '\x2e', '\x68', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x4c', '\x69', '\x62', '\x73', '\x74', '\x64', '\x63', '\x2b', '\x2b', '\x20', '\x64', '\x6f', '\x65', '\x73', '\x6e', '\x27', '\x74', '\x20', '\x6c', '\x69', '\x6b', '\x65', '\x20', '\x69', '\x6e', '\x63', '\x6f', '\x6d', '\x70', '\x6c', '\x65', '\x74', '\x65', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x65', '\x73', '\x20', '\x66', '\x6f', '\x72', '\x20', '\x75', '\x6e', '\x69', '\x71', '\x75', '\x65', '\x5f', '\x70', '\x74', '\x72', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x6d', '\x65', '\x6d', '\x6f', '\x72', '\x79', '\x3e', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3e', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x3e', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x6e', '\x64', '\x65', '\x66', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x43', '\x4f', '\x4e', '\x53', '\x4f', '\x4c', '\x45', '\x5f', '\x57', '\x49', '\x44', '\x54', '\x48', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x43', '\x4f', '\x4e', '\x53', '\x4f', '\x4c', '\x45', '\x5f', '\x57', '\x49', '\x44', '\x54', '\x48', '\x20', '\x38', '\x30', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x49', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x44', '\x61', '\x74', '\x61', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x6c', '\x69', '\x73', '\x74', '\x54', '\x65', '\x73', '\x74', '\x73', '\x20', '\x3d', '\x20', '\x66', '\x61', '\x6c', '\x73', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x6c', '\x69', '\x73', '\x74', '\x54', '\x61', '\x67', '\x73', '\x20', '\x3d', '\x20', '\x66', '\x61', '\x6c', '\x73', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x6c', '\x69', '\x73', '\x74', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x73', '\x20', '\x3d', '\x20', '\x66', '\x61', '\x6c', '\x73', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x6c', '\x69', '\x73', '\x74', '\x54', '\x65', '\x73', '\x74', '\x4e', '\x61', '\x6d', '\x65', '\x73', '\x4f', '\x6e', '\x6c', '\x79', '\x20', '\x3d', '\x20', '\x66', '\x61', '\x6c', '\x73', '\x65', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x73', '\x68', '\x6f', '\x77', '\x53', '\x75', '\x63', '\x63', '\x65', '\x73', '\x73', '\x66', '\x75', '\x6c', '\x54', '\x65', '\x73', '\x74', '\x73', '\x20', '\x3d', '\x20', '\x66', '\x61', '\x6c', '\x73', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x73', '\x68', '\x6f', '\x75', '\x6c', '\x64', '\x44', '\x65', '\x62', '\x75', '\x67', '\x42', '\x72', '\x65', '\x61', '\x6b', '\x20', '\x3d', '\x20', '\x66', '\x61', '\x6c', '\x73', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x6e', '\x6f', '\x54', '\x68', '\x72', '\x6f', '\x77', '\x20', '\x3d', '\x20', '\x66', '\x61', '\x6c', '\x73', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x73', '\x68', '\x6f', '\x77', '\x48', '\x65', '\x6c', '\x70', '\x20', '\x3d', '\x20', '\x66', '\x61', '\x6c', '\x73', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x73', '\x68', '\x6f', '\x77', '\x49', '\x6e', '\x76', '\x69', '\x73', '\x69', '\x62', '\x6c', '\x65', '\x73', '\x20', '\x3d', '\x20', '\x66', '\x61', '\x6c', '\x73', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x66', '\x69', '\x6c', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x41', '\x73', '\x54', '\x61', '\x67', '\x73', '\x20', '\x3d', '\x20', '\x66', '\x61', '\x6c', '\x73', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x6c', '\x69', '\x62', '\x49', '\x64', '\x65', '\x6e', '\x74', '\x69', '\x66', '\x79', '\x20', '\x3d', '\x20', '\x66', '\x61', '\x6c', '\x73', '\x65', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x6e', '\x74', '\x20', '\x61', '\x62', '\x6f', '\x72', '\x74', '\x41', '\x66', '\x74', '\x65', '\x72', '\x20', '\x3d', '\x20', '\x2d', '\x31', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x75', '\x6e', '\x73', '\x69', '\x67', '\x6e', '\x65', '\x64', '\x20', '\x69', '\x6e', '\x74', '\x20', '\x72', '\x6e', '\x67', '\x53', '\x65', '\x65', '\x64', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x62', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x4e', '\x6f', '\x41', '\x6e', '\x61', '\x6c', '\x79', '\x73', '\x69', '\x73', '\x20', '\x3d', '\x20', '\x66', '\x61', '\x6c', '\x73', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x75', '\x6e', '\x73', '\x69', '\x67', '\x6e', '\x65', '\x64', '\x20', '\x69', '\x6e', '\x74', '\x20', '\x62', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x53', '\x61', '\x6d', '\x70', '\x6c', '\x65', '\x73', '\x20', '\x3d', '\x20', '\x31', '\x30', '\x30', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x20', '\x62', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x64', '\x65', '\x6e', '\x63', '\x65', '\x49', '\x6e', '\x74', '\x65', '\x72', '\x76', '\x61', '\x6c', '\x20', '\x3d', '\x20', '\x30', '\x2e', '\x39', '\x35', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x75', '\x6e', '\x73', '\x69', '\x67', '\x6e', '\x65', '\x64', '\x20', '\x69', '\x6e', '\x74', '\x20', '\x62', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x52', '\x65', '\x73', '\x61', '\x6d', '\x70', '\x6c', '\x65', '\x73', '\x20', '\x3d', '\x20', '\x31', '\x30', '\x30', '\x30', '\x30', '\x30', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x56', '\x65', '\x72', '\x62', '\x6f', '\x73', '\x69', '\x74', '\x79', '\x20', '\x76', '\x65', '\x72', '\x62', '\x6f', '\x73', '\x69', '\x74', '\x79', '\x20', '\x3d', '\x20', '\x56', '\x65', '\x72', '\x62', '\x6f', '\x73', '\x69', '\x74', '\x79', '\x3a', '\x3a', '\x4e', '\x6f', '\x72', '\x6d', '\x61', '\x6c', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x57', '\x61', '\x72', '\x6e', '\x41', '\x62', '\x6f', '\x75', '\x74', '\x3a', '\x3a', '\x57', '\x68', '\x61', '\x74', '\x20', '\x77', '\x61', '\x72', '\x6e', '\x69', '\x6e', '\x67', '\x73', '\x20', '\x3d', '\x20', '\x57', '\x61', '\x72', '\x6e', '\x41', '\x62', '\x6f', '\x75', '\x74', '\x3a', '\x3a', '\x4e', '\x6f', '\x74', '\x68', '\x69', '\x6e', '\x67', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x53', '\x68', '\x6f', '\x77', '\x44', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x3a', '\x3a', '\x4f', '\x72', '\x4e', '\x6f', '\x74', '\x20', '\x73', '\x68', '\x6f', '\x77', '\x44', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x20', '\x3d', '\x20', '\x53', '\x68', '\x6f', '\x77', '\x44', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x3a', '\x3a', '\x44', '\x65', '\x66', '\x61', '\x75', '\x6c', '\x74', '\x46', '\x6f', '\x72', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x52', '\x75', '\x6e', '\x54', '\x65', '\x73', '\x74', '\x73', '\x3a', '\x3a', '\x49', '\x6e', '\x57', '\x68', '\x61', '\x74', '\x4f', '\x72', '\x64', '\x65', '\x72', '\x20', '\x72', '\x75', '\x6e', '\x4f', '\x72', '\x64', '\x65', '\x72', '\x20', '\x3d', '\x20', '\x52', '\x75', '\x6e', '\x54', '\x65', '\x73', '\x74', '\x73', '\x3a', '\x3a', '\x49', '\x6e', '\x44', '\x65', '\x63', '\x6c', '\x61', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x4f', '\x72', '\x64', '\x65', '\x72', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x55', '\x73', '\x65', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x3a', '\x3a', '\x59', '\x65', '\x73', '\x4f', '\x72', '\x4e', '\x6f', '\x20', '\x75', '\x73', '\x65', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x20', '\x3d', '\x20', '\x55', '\x73', '\x65', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x3a', '\x3a', '\x41', '\x75', '\x74', '\x6f', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x57', '\x61', '\x69', '\x74', '\x46', '\x6f', '\x72', '\x4b', '\x65', '\x79', '\x70', '\x72', '\x65', '\x73', '\x73', '\x3a', '\x3a', '\x57', '\x68', '\x65', '\x6e', '\x20', '\x77', '\x61', '\x69', '\x74', '\x46', '\x6f', '\x72', '\x4b', '\x65', '\x79', '\x70', '\x72', '\x65', '\x73', '\x73', '\x20', '\x3d', '\x20', '\x57', '\x61', '\x69', '\x74', '\x46', '\x6f', '\x72', '\x4b', '\x65', '\x79', '\x70', '\x72', '\x65', '\x73', '\x73', '\x3a', '\x3a', '\x4e', '\x65', '\x76', '\x65', '\x72', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x6f', '\x75', '\x74', '\x70', '\x75', '\x74', '\x46', '\x69', '\x6c', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x70', '\x72', '\x6f', '\x63', '\x65', '\x73', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x3b', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x6e', '\x64', '\x65', '\x66', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x44', '\x45', '\x46', '\x41', '\x55', '\x4c', '\x54', '\x5f', '\x52', '\x45', '\x50', '\x4f', '\x52', '\x54', '\x45', '\x52', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x44', '\x45', '\x46', '\x41', '\x55', '\x4c', '\x54', '\x5f', '\x52', '\x45', '\x50', '\x4f', '\x52', '\x54', '\x45', '\x52', '\x20', '\x22', '\x63', '\x6f', '\x6e', '\x73', '\x6f', '\x6c', '\x65', '\x22', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x72', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x4e', '\x61', '\x6d', '\x65', '\x20', '\x3d', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x44', '\x45', '\x46', '\x41', '\x55', '\x4c', '\x54', '\x5f', '\x52', '\x45', '\x50', '\x4f', '\x52', '\x54', '\x45', '\x52', '\x3b', '\x0d', '\x0a', '\x23', '\x75', '\x6e', '\x64', '\x65', '\x66', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x44', '\x45', '\x46', '\x41', '\x55', '\x4c', '\x54', '\x5f', '\x52', '\x45', '\x50', '\x4f', '\x52', '\x54', '\x45', '\x52', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x3e', '\x20', '\x74', '\x65', '\x73', '\x74', '\x73', '\x4f', '\x72', '\x54', '\x61', '\x67', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x3e', '\x20', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x54', '\x6f', '\x52', '\x75', '\x6e', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x20', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x20', '\x3a', '\x20', '\x70', '\x75', '\x62', '\x6c', '\x69', '\x63', '\x20', '\x49', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x70', '\x75', '\x62', '\x6c', '\x69', '\x63', '\x3a', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x28', '\x29', '\x20', '\x3d', '\x20', '\x64', '\x65', '\x66', '\x61', '\x75', '\x6c', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x28', '\x20', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x44', '\x61', '\x74', '\x61', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x64', '\x61', '\x74', '\x61', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x69', '\x72', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x7e', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x28', '\x29', '\x20', '\x3d', '\x20', '\x64', '\x65', '\x66', '\x61', '\x75', '\x6c', '\x74', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x67', '\x65', '\x74', '\x46', '\x69', '\x6c', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x6c', '\x69', '\x73', '\x74', '\x54', '\x65', '\x73', '\x74', '\x73', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x6c', '\x69', '\x73', '\x74', '\x54', '\x65', '\x73', '\x74', '\x4e', '\x61', '\x6d', '\x65', '\x73', '\x4f', '\x6e', '\x6c', '\x79', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x6c', '\x69', '\x73', '\x74', '\x54', '\x61', '\x67', '\x73', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x6c', '\x69', '\x73', '\x74', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x73', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x67', '\x65', '\x74', '\x50', '\x72', '\x6f', '\x63', '\x65', '\x73', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x67', '\x65', '\x74', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x4e', '\x61', '\x6d', '\x65', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x3e', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x67', '\x65', '\x74', '\x54', '\x65', '\x73', '\x74', '\x73', '\x4f', '\x72', '\x54', '\x61', '\x67', '\x73', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x3e', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x67', '\x65', '\x74', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x54', '\x6f', '\x52', '\x75', '\x6e', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x54', '\x65', '\x73', '\x74', '\x53', '\x70', '\x65', '\x63', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x74', '\x65', '\x73', '\x74', '\x53', '\x70', '\x65', '\x63', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x68', '\x61', '\x73', '\x54', '\x65', '\x73', '\x74', '\x46', '\x69', '\x6c', '\x74', '\x65', '\x72', '\x73', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x73', '\x68', '\x6f', '\x77', '\x48', '\x65', '\x6c', '\x70', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x49', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x20', '\x69', '\x6e', '\x74', '\x65', '\x72', '\x66', '\x61', '\x63', '\x65', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x61', '\x6c', '\x6c', '\x6f', '\x77', '\x54', '\x68', '\x72', '\x6f', '\x77', '\x73', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6f', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x26', '\x20', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x53', '\x75', '\x63', '\x63', '\x65', '\x73', '\x73', '\x66', '\x75', '\x6c', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x73', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x77', '\x61', '\x72', '\x6e', '\x41', '\x62', '\x6f', '\x75', '\x74', '\x4d', '\x69', '\x73', '\x73', '\x69', '\x6e', '\x67', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x77', '\x61', '\x72', '\x6e', '\x41', '\x62', '\x6f', '\x75', '\x74', '\x4e', '\x6f', '\x54', '\x65', '\x73', '\x74', '\x73', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x53', '\x68', '\x6f', '\x77', '\x44', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x3a', '\x3a', '\x4f', '\x72', '\x4e', '\x6f', '\x74', '\x20', '\x73', '\x68', '\x6f', '\x77', '\x44', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x52', '\x75', '\x6e', '\x54', '\x65', '\x73', '\x74', '\x73', '\x3a', '\x3a', '\x49', '\x6e', '\x57', '\x68', '\x61', '\x74', '\x4f', '\x72', '\x64', '\x65', '\x72', '\x20', '\x72', '\x75', '\x6e', '\x4f', '\x72', '\x64', '\x65', '\x72', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x75', '\x6e', '\x73', '\x69', '\x67', '\x6e', '\x65', '\x64', '\x20', '\x69', '\x6e', '\x74', '\x20', '\x72', '\x6e', '\x67', '\x53', '\x65', '\x65', '\x64', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x55', '\x73', '\x65', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x3a', '\x3a', '\x59', '\x65', '\x73', '\x4f', '\x72', '\x4e', '\x6f', '\x20', '\x75', '\x73', '\x65', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x73', '\x68', '\x6f', '\x75', '\x6c', '\x64', '\x44', '\x65', '\x62', '\x75', '\x67', '\x42', '\x72', '\x65', '\x61', '\x6b', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x6e', '\x74', '\x20', '\x61', '\x62', '\x6f', '\x72', '\x74', '\x41', '\x66', '\x74', '\x65', '\x72', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x73', '\x68', '\x6f', '\x77', '\x49', '\x6e', '\x76', '\x69', '\x73', '\x69', '\x62', '\x6c', '\x65', '\x73', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x56', '\x65', '\x72', '\x62', '\x6f', '\x73', '\x69', '\x74', '\x79', '\x20', '\x76', '\x65', '\x72', '\x62', '\x6f', '\x73', '\x69', '\x74', '\x79', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x62', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x4e', '\x6f', '\x41', '\x6e', '\x61', '\x6c', '\x79', '\x73', '\x69', '\x73', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x6e', '\x74', '\x20', '\x62', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x53', '\x61', '\x6d', '\x70', '\x6c', '\x65', '\x73', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x20', '\x62', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x64', '\x65', '\x6e', '\x63', '\x65', '\x49', '\x6e', '\x74', '\x65', '\x72', '\x76', '\x61', '\x6c', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x75', '\x6e', '\x73', '\x69', '\x67', '\x6e', '\x65', '\x64', '\x20', '\x69', '\x6e', '\x74', '\x20', '\x62', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x52', '\x65', '\x73', '\x61', '\x6d', '\x70', '\x6c', '\x65', '\x73', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x70', '\x72', '\x69', '\x76', '\x61', '\x74', '\x65', '\x3a', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x49', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x2a', '\x20', '\x6f', '\x70', '\x65', '\x6e', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x44', '\x61', '\x74', '\x61', '\x20', '\x6d', '\x5f', '\x64', '\x61', '\x74', '\x61', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x75', '\x6e', '\x69', '\x71', '\x75', '\x65', '\x5f', '\x70', '\x74', '\x72', '\x3c', '\x49', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x3e', '\x20', '\x6d', '\x5f', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x54', '\x65', '\x73', '\x74', '\x53', '\x70', '\x65', '\x63', '\x20', '\x6d', '\x5f', '\x74', '\x65', '\x73', '\x74', '\x53', '\x70', '\x65', '\x63', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x6d', '\x5f', '\x68', '\x61', '\x73', '\x54', '\x65', '\x73', '\x74', '\x46', '\x69', '\x6c', '\x74', '\x65', '\x72', '\x73', '\x20', '\x3d', '\x20', '\x66', '\x61', '\x6c', '\x73', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x2e', '\x68', '\x70', '\x70', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x2e', '\x68', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x3e', '\x0d', '\x0a', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x44', '\x61', '\x74', '\x61', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x44', '\x61', '\x74', '\x61', '\x28', '\x29', '\x20', '\x3d', '\x20', '\x64', '\x65', '\x6c', '\x65', '\x74', '\x65', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x44', '\x61', '\x74', '\x61', '\x28', '\x20', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x57', '\x61', '\x73', '\x3a', '\x3a', '\x4f', '\x66', '\x54', '\x79', '\x70', '\x65', '\x20', '\x5f', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x54', '\x79', '\x70', '\x65', '\x2c', '\x20', '\x4c', '\x61', '\x7a', '\x79', '\x45', '\x78', '\x70', '\x72', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x5f', '\x6c', '\x61', '\x7a', '\x79', '\x45', '\x78', '\x70', '\x72', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x6d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x75', '\x74', '\x61', '\x62', '\x6c', '\x65', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x72', '\x65', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x65', '\x64', '\x45', '\x78', '\x70', '\x72', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x4c', '\x61', '\x7a', '\x79', '\x45', '\x78', '\x70', '\x72', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x20', '\x6c', '\x61', '\x7a', '\x79', '\x45', '\x78', '\x70', '\x72', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x57', '\x61', '\x73', '\x3a', '\x3a', '\x4f', '\x66', '\x54', '\x79', '\x70', '\x65', '\x20', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x54', '\x79', '\x70', '\x65', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x72', '\x65', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x45', '\x78', '\x70', '\x72', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x20', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x70', '\x75', '\x62', '\x6c', '\x69', '\x63', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x28', '\x29', '\x20', '\x3d', '\x20', '\x64', '\x65', '\x6c', '\x65', '\x74', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x28', '\x20', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x69', '\x6e', '\x66', '\x6f', '\x2c', '\x20', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x44', '\x61', '\x74', '\x61', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x64', '\x61', '\x74', '\x61', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x69', '\x73', '\x4f', '\x6b', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x73', '\x75', '\x63', '\x63', '\x65', '\x65', '\x64', '\x65', '\x64', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x57', '\x61', '\x73', '\x3a', '\x3a', '\x4f', '\x66', '\x54', '\x79', '\x70', '\x65', '\x20', '\x67', '\x65', '\x74', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x54', '\x79', '\x70', '\x65', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x68', '\x61', '\x73', '\x45', '\x78', '\x70', '\x72', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x68', '\x61', '\x73', '\x4d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x67', '\x65', '\x74', '\x45', '\x78', '\x70', '\x72', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x67', '\x65', '\x74', '\x45', '\x78', '\x70', '\x72', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x49', '\x6e', '\x4d', '\x61', '\x63', '\x72', '\x6f', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x68', '\x61', '\x73', '\x45', '\x78', '\x70', '\x61', '\x6e', '\x64', '\x65', '\x64', '\x45', '\x78', '\x70', '\x72', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x67', '\x65', '\x74', '\x45', '\x78', '\x70', '\x61', '\x6e', '\x64', '\x65', '\x64', '\x45', '\x78', '\x70', '\x72', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x67', '\x65', '\x74', '\x4d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x53', '\x6f', '\x75', '\x72', '\x63', '\x65', '\x4c', '\x69', '\x6e', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x67', '\x65', '\x74', '\x53', '\x6f', '\x75', '\x72', '\x63', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x66', '\x20', '\x67', '\x65', '\x74', '\x54', '\x65', '\x73', '\x74', '\x4d', '\x61', '\x63', '\x72', '\x6f', '\x4e', '\x61', '\x6d', '\x65', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x70', '\x72', '\x6f', '\x74', '\x65', '\x63', '\x74', '\x65', '\x64', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x6d', '\x5f', '\x69', '\x6e', '\x66', '\x6f', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x44', '\x61', '\x74', '\x61', '\x20', '\x6d', '\x5f', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x44', '\x61', '\x74', '\x61', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x2e', '\x68', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x45', '\x4e', '\x41', '\x42', '\x4c', '\x45', '\x5f', '\x42', '\x45', '\x4e', '\x43', '\x48', '\x4d', '\x41', '\x52', '\x4b', '\x49', '\x4e', '\x47', '\x29', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x65', '\x73', '\x74', '\x69', '\x6d', '\x61', '\x74', '\x65', '\x2e', '\x68', '\x70', '\x70', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x2f', '\x2f', '\x20', '\x53', '\x74', '\x61', '\x74', '\x69', '\x73', '\x74', '\x69', '\x63', '\x73', '\x20', '\x65', '\x73', '\x74', '\x69', '\x6d', '\x61', '\x74', '\x65', '\x73', '\x0d', '\x0a', '\x0d', '\x0a', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x42', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x20', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x44', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x45', '\x73', '\x74', '\x69', '\x6d', '\x61', '\x74', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x44', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x70', '\x6f', '\x69', '\x6e', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x44', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x6c', '\x6f', '\x77', '\x65', '\x72', '\x5f', '\x62', '\x6f', '\x75', '\x6e', '\x64', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x44', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x75', '\x70', '\x70', '\x65', '\x72', '\x5f', '\x62', '\x6f', '\x75', '\x6e', '\x64', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x20', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x64', '\x65', '\x6e', '\x63', '\x65', '\x5f', '\x69', '\x6e', '\x74', '\x65', '\x72', '\x76', '\x61', '\x6c', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x20', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x44', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x32', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x45', '\x73', '\x74', '\x69', '\x6d', '\x61', '\x74', '\x65', '\x3c', '\x44', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x32', '\x3e', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x7b', '\x20', '\x70', '\x6f', '\x69', '\x6e', '\x74', '\x2c', '\x20', '\x6c', '\x6f', '\x77', '\x65', '\x72', '\x5f', '\x62', '\x6f', '\x75', '\x6e', '\x64', '\x2c', '\x20', '\x75', '\x70', '\x70', '\x65', '\x72', '\x5f', '\x62', '\x6f', '\x75', '\x6e', '\x64', '\x2c', '\x20', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x64', '\x65', '\x6e', '\x63', '\x65', '\x5f', '\x69', '\x6e', '\x74', '\x65', '\x72', '\x76', '\x61', '\x6c', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x42', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x0d', '\x0a', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x65', '\x73', '\x74', '\x69', '\x6d', '\x61', '\x74', '\x65', '\x2e', '\x68', '\x70', '\x70', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x6f', '\x75', '\x74', '\x6c', '\x69', '\x65', '\x72', '\x5f', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x69', '\x66', '\x69', '\x63', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x2e', '\x68', '\x70', '\x70', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x4f', '\x75', '\x74', '\x6c', '\x69', '\x65', '\x72', '\x20', '\x69', '\x6e', '\x66', '\x6f', '\x72', '\x6d', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x0d', '\x0a', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x42', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x4f', '\x75', '\x74', '\x6c', '\x69', '\x65', '\x72', '\x43', '\x6c', '\x61', '\x73', '\x73', '\x69', '\x66', '\x69', '\x63', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x6e', '\x74', '\x20', '\x73', '\x61', '\x6d', '\x70', '\x6c', '\x65', '\x73', '\x5f', '\x73', '\x65', '\x65', '\x6e', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x6e', '\x74', '\x20', '\x6c', '\x6f', '\x77', '\x5f', '\x73', '\x65', '\x76', '\x65', '\x72', '\x65', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x6d', '\x6f', '\x72', '\x65', '\x20', '\x74', '\x68', '\x61', '\x6e', '\x20', '\x33', '\x20', '\x74', '\x69', '\x6d', '\x65', '\x73', '\x20', '\x49', '\x51', '\x52', '\x20', '\x62', '\x65', '\x6c', '\x6f', '\x77', '\x20', '\x51', '\x31', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x6e', '\x74', '\x20', '\x6c', '\x6f', '\x77', '\x5f', '\x6d', '\x69', '\x6c', '\x64', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x31', '\x2e', '\x35', '\x20', '\x74', '\x6f', '\x20', '\x33', '\x20', '\x74', '\x69', '\x6d', '\x65', '\x73', '\x20', '\x49', '\x51', '\x52', '\x20', '\x62', '\x65', '\x6c', '\x6f', '\x77', '\x20', '\x51', '\x31', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x6e', '\x74', '\x20', '\x68', '\x69', '\x67', '\x68', '\x5f', '\x6d', '\x69', '\x6c', '\x64', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x31', '\x2e', '\x35', '\x20', '\x74', '\x6f', '\x20', '\x33', '\x20', '\x74', '\x69', '\x6d', '\x65', '\x73', '\x20', '\x49', '\x51', '\x52', '\x20', '\x61', '\x62', '\x6f', '\x76', '\x65', '\x20', '\x51', '\x33', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x6e', '\x74', '\x20', '\x68', '\x69', '\x67', '\x68', '\x5f', '\x73', '\x65', '\x76', '\x65', '\x72', '\x65', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x6d', '\x6f', '\x72', '\x65', '\x20', '\x74', '\x68', '\x61', '\x6e', '\x20', '\x33', '\x20', '\x74', '\x69', '\x6d', '\x65', '\x73', '\x20', '\x49', '\x51', '\x52', '\x20', '\x61', '\x62', '\x6f', '\x76', '\x65', '\x20', '\x51', '\x33', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x6e', '\x74', '\x20', '\x74', '\x6f', '\x74', '\x61', '\x6c', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6c', '\x6f', '\x77', '\x5f', '\x73', '\x65', '\x76', '\x65', '\x72', '\x65', '\x20', '\x2b', '\x20', '\x6c', '\x6f', '\x77', '\x5f', '\x6d', '\x69', '\x6c', '\x64', '\x20', '\x2b', '\x20', '\x68', '\x69', '\x67', '\x68', '\x5f', '\x6d', '\x69', '\x6c', '\x64', '\x20', '\x2b', '\x20', '\x68', '\x69', '\x67', '\x68', '\x5f', '\x73', '\x65', '\x76', '\x65', '\x72', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x42', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x0d', '\x0a', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x6f', '\x75', '\x74', '\x6c', '\x69', '\x65', '\x72', '\x5f', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x69', '\x66', '\x69', '\x63', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x2e', '\x68', '\x70', '\x70', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x20', '\x2f', '\x2f', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x45', '\x4e', '\x41', '\x42', '\x4c', '\x45', '\x5f', '\x42', '\x45', '\x4e', '\x43', '\x48', '\x4d', '\x41', '\x52', '\x4b', '\x49', '\x4e', '\x47', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x3e', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x69', '\x6f', '\x73', '\x66', '\x77', '\x64', '\x3e', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x6d', '\x61', '\x70', '\x3e', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x73', '\x65', '\x74', '\x3e', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x6d', '\x65', '\x6d', '\x6f', '\x72', '\x79', '\x3e', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x61', '\x6c', '\x67', '\x6f', '\x72', '\x69', '\x74', '\x68', '\x6d', '\x3e', '\x0d', '\x0a', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x78', '\x70', '\x6c', '\x69', '\x63', '\x69', '\x74', '\x20', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x28', '\x20', '\x49', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x50', '\x74', '\x72', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x5f', '\x66', '\x75', '\x6c', '\x6c', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x28', '\x20', '\x49', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x50', '\x74', '\x72', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x5f', '\x66', '\x75', '\x6c', '\x6c', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x2c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6f', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x26', '\x20', '\x5f', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6f', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x26', '\x20', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x49', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x50', '\x74', '\x72', '\x20', '\x66', '\x75', '\x6c', '\x6c', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x70', '\x72', '\x69', '\x76', '\x61', '\x74', '\x65', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6f', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x2a', '\x20', '\x6d', '\x5f', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x49', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x50', '\x74', '\x72', '\x20', '\x6d', '\x5f', '\x66', '\x75', '\x6c', '\x6c', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x50', '\x72', '\x65', '\x66', '\x65', '\x72', '\x65', '\x6e', '\x63', '\x65', '\x73', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x73', '\x68', '\x6f', '\x75', '\x6c', '\x64', '\x52', '\x65', '\x64', '\x69', '\x72', '\x65', '\x63', '\x74', '\x53', '\x74', '\x64', '\x4f', '\x75', '\x74', '\x20', '\x3d', '\x20', '\x66', '\x61', '\x6c', '\x73', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x73', '\x68', '\x6f', '\x75', '\x6c', '\x64', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x41', '\x6c', '\x6c', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x20', '\x3d', '\x20', '\x66', '\x61', '\x6c', '\x73', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x54', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x4c', '\x61', '\x7a', '\x79', '\x53', '\x74', '\x61', '\x74', '\x20', '\x3a', '\x20', '\x4f', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x3c', '\x54', '\x3e', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x4c', '\x61', '\x7a', '\x79', '\x53', '\x74', '\x61', '\x74', '\x26', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x3d', '\x28', '\x20', '\x54', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x5f', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x4f', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x3c', '\x54', '\x3e', '\x3a', '\x3a', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x3d', '\x28', '\x20', '\x5f', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x75', '\x73', '\x65', '\x64', '\x20', '\x3d', '\x20', '\x66', '\x61', '\x6c', '\x73', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x2a', '\x74', '\x68', '\x69', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x72', '\x65', '\x73', '\x65', '\x74', '\x28', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x4f', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x3c', '\x54', '\x3e', '\x3a', '\x3a', '\x72', '\x65', '\x73', '\x65', '\x74', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x75', '\x73', '\x65', '\x64', '\x20', '\x3d', '\x20', '\x66', '\x61', '\x6c', '\x73', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x75', '\x73', '\x65', '\x64', '\x20', '\x3d', '\x20', '\x66', '\x61', '\x6c', '\x73', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x54', '\x65', '\x73', '\x74', '\x52', '\x75', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x54', '\x65', '\x73', '\x74', '\x52', '\x75', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x5f', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x47', '\x72', '\x6f', '\x75', '\x70', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x47', '\x72', '\x6f', '\x75', '\x70', '\x49', '\x6e', '\x66', '\x6f', '\x28', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x5f', '\x6e', '\x61', '\x6d', '\x65', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x69', '\x7a', '\x65', '\x5f', '\x74', '\x20', '\x5f', '\x67', '\x72', '\x6f', '\x75', '\x70', '\x49', '\x6e', '\x64', '\x65', '\x78', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x69', '\x7a', '\x65', '\x5f', '\x74', '\x20', '\x5f', '\x67', '\x72', '\x6f', '\x75', '\x70', '\x73', '\x43', '\x6f', '\x75', '\x6e', '\x74', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x69', '\x7a', '\x65', '\x5f', '\x74', '\x20', '\x67', '\x72', '\x6f', '\x75', '\x70', '\x49', '\x6e', '\x64', '\x65', '\x78', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x69', '\x7a', '\x65', '\x5f', '\x74', '\x20', '\x67', '\x72', '\x6f', '\x75', '\x70', '\x73', '\x43', '\x6f', '\x75', '\x6e', '\x74', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x73', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x73', '\x28', '\x20', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x5f', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x4d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x3e', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x5f', '\x69', '\x6e', '\x66', '\x6f', '\x4d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x73', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x54', '\x6f', '\x74', '\x61', '\x6c', '\x73', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x5f', '\x74', '\x6f', '\x74', '\x61', '\x6c', '\x73', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x73', '\x28', '\x20', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x73', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x29', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x3d', '\x20', '\x64', '\x65', '\x66', '\x61', '\x75', '\x6c', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x73', '\x28', '\x20', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x73', '\x20', '\x26', '\x26', '\x20', '\x29', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x3d', '\x20', '\x64', '\x65', '\x66', '\x61', '\x75', '\x6c', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x73', '\x26', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x3d', '\x20', '\x28', '\x20', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x73', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x29', '\x20', '\x3d', '\x20', '\x64', '\x65', '\x6c', '\x65', '\x74', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x73', '\x26', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x3d', '\x20', '\x28', '\x20', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x73', '\x20', '\x26', '\x26', '\x20', '\x29', '\x20', '\x20', '\x20', '\x20', '\x20', '\x3d', '\x20', '\x64', '\x65', '\x6c', '\x65', '\x74', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x69', '\x72', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x7e', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x73', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x20', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x4d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x3e', '\x20', '\x69', '\x6e', '\x66', '\x6f', '\x4d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x54', '\x6f', '\x74', '\x61', '\x6c', '\x73', '\x20', '\x74', '\x6f', '\x74', '\x61', '\x6c', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x73', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x73', '\x28', '\x20', '\x20', '\x20', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x5f', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x6f', '\x75', '\x6e', '\x74', '\x73', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x5f', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x20', '\x5f', '\x64', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x49', '\x6e', '\x53', '\x65', '\x63', '\x6f', '\x6e', '\x64', '\x73', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x5f', '\x6d', '\x69', '\x73', '\x73', '\x69', '\x6e', '\x67', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x73', '\x28', '\x20', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x73', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x29', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x3d', '\x20', '\x64', '\x65', '\x66', '\x61', '\x75', '\x6c', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x73', '\x28', '\x20', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x73', '\x20', '\x26', '\x26', '\x20', '\x29', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x3d', '\x20', '\x64', '\x65', '\x66', '\x61', '\x75', '\x6c', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x73', '\x26', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x3d', '\x20', '\x28', '\x20', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x73', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x29', '\x20', '\x3d', '\x20', '\x64', '\x65', '\x66', '\x61', '\x75', '\x6c', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x73', '\x26', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x3d', '\x20', '\x28', '\x20', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x73', '\x20', '\x26', '\x26', '\x20', '\x29', '\x20', '\x20', '\x20', '\x20', '\x20', '\x3d', '\x20', '\x64', '\x65', '\x66', '\x61', '\x75', '\x6c', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x69', '\x72', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x7e', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x73', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x6f', '\x75', '\x6e', '\x74', '\x73', '\x20', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x20', '\x64', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x49', '\x6e', '\x53', '\x65', '\x63', '\x6f', '\x6e', '\x64', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x6d', '\x69', '\x73', '\x73', '\x69', '\x6e', '\x67', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x53', '\x74', '\x61', '\x74', '\x73', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x53', '\x74', '\x61', '\x74', '\x73', '\x28', '\x20', '\x20', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x5f', '\x74', '\x65', '\x73', '\x74', '\x49', '\x6e', '\x66', '\x6f', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x54', '\x6f', '\x74', '\x61', '\x6c', '\x73', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x5f', '\x74', '\x6f', '\x74', '\x61', '\x6c', '\x73', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x5f', '\x73', '\x74', '\x64', '\x4f', '\x75', '\x74', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x5f', '\x73', '\x74', '\x64', '\x45', '\x72', '\x72', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x5f', '\x61', '\x62', '\x6f', '\x72', '\x74', '\x69', '\x6e', '\x67', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x53', '\x74', '\x61', '\x74', '\x73', '\x28', '\x20', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x53', '\x74', '\x61', '\x74', '\x73', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x29', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x3d', '\x20', '\x64', '\x65', '\x66', '\x61', '\x75', '\x6c', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x53', '\x74', '\x61', '\x74', '\x73', '\x28', '\x20', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x53', '\x74', '\x61', '\x74', '\x73', '\x20', '\x26', '\x26', '\x20', '\x29', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x3d', '\x20', '\x64', '\x65', '\x66', '\x61', '\x75', '\x6c', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x53', '\x74', '\x61', '\x74', '\x73', '\x26', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x3d', '\x20', '\x28', '\x20', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x53', '\x74', '\x61', '\x74', '\x73', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x29', '\x20', '\x3d', '\x20', '\x64', '\x65', '\x66', '\x61', '\x75', '\x6c', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x53', '\x74', '\x61', '\x74', '\x73', '\x26', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x3d', '\x20', '\x28', '\x20', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x53', '\x74', '\x61', '\x74', '\x73', '\x20', '\x26', '\x26', '\x20', '\x29', '\x20', '\x20', '\x20', '\x20', '\x20', '\x3d', '\x20', '\x64', '\x65', '\x66', '\x61', '\x75', '\x6c', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x69', '\x72', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x7e', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x53', '\x74', '\x61', '\x74', '\x73', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x74', '\x65', '\x73', '\x74', '\x49', '\x6e', '\x66', '\x6f', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x54', '\x6f', '\x74', '\x61', '\x6c', '\x73', '\x20', '\x74', '\x6f', '\x74', '\x61', '\x6c', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x73', '\x74', '\x64', '\x4f', '\x75', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x73', '\x74', '\x64', '\x45', '\x72', '\x72', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x61', '\x62', '\x6f', '\x72', '\x74', '\x69', '\x6e', '\x67', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x54', '\x65', '\x73', '\x74', '\x47', '\x72', '\x6f', '\x75', '\x70', '\x53', '\x74', '\x61', '\x74', '\x73', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x54', '\x65', '\x73', '\x74', '\x47', '\x72', '\x6f', '\x75', '\x70', '\x53', '\x74', '\x61', '\x74', '\x73', '\x28', '\x20', '\x47', '\x72', '\x6f', '\x75', '\x70', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x5f', '\x67', '\x72', '\x6f', '\x75', '\x70', '\x49', '\x6e', '\x66', '\x6f', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x54', '\x6f', '\x74', '\x61', '\x6c', '\x73', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x5f', '\x74', '\x6f', '\x74', '\x61', '\x6c', '\x73', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x5f', '\x61', '\x62', '\x6f', '\x72', '\x74', '\x69', '\x6e', '\x67', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x54', '\x65', '\x73', '\x74', '\x47', '\x72', '\x6f', '\x75', '\x70', '\x53', '\x74', '\x61', '\x74', '\x73', '\x28', '\x20', '\x47', '\x72', '\x6f', '\x75', '\x70', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x5f', '\x67', '\x72', '\x6f', '\x75', '\x70', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x54', '\x65', '\x73', '\x74', '\x47', '\x72', '\x6f', '\x75', '\x70', '\x53', '\x74', '\x61', '\x74', '\x73', '\x28', '\x20', '\x54', '\x65', '\x73', '\x74', '\x47', '\x72', '\x6f', '\x75', '\x70', '\x53', '\x74', '\x61', '\x74', '\x73', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x29', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x3d', '\x20', '\x64', '\x65', '\x66', '\x61', '\x75', '\x6c', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x54', '\x65', '\x73', '\x74', '\x47', '\x72', '\x6f', '\x75', '\x70', '\x53', '\x74', '\x61', '\x74', '\x73', '\x28', '\x20', '\x54', '\x65', '\x73', '\x74', '\x47', '\x72', '\x6f', '\x75', '\x70', '\x53', '\x74', '\x61', '\x74', '\x73', '\x20', '\x26', '\x26', '\x20', '\x29', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x3d', '\x20', '\x64', '\x65', '\x66', '\x61', '\x75', '\x6c', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x54', '\x65', '\x73', '\x74', '\x47', '\x72', '\x6f', '\x75', '\x70', '\x53', '\x74', '\x61', '\x74', '\x73', '\x26', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x3d', '\x20', '\x28', '\x20', '\x54', '\x65', '\x73', '\x74', '\x47', '\x72', '\x6f', '\x75', '\x70', '\x53', '\x74', '\x61', '\x74', '\x73', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x29', '\x20', '\x3d', '\x20', '\x64', '\x65', '\x66', '\x61', '\x75', '\x6c', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x54', '\x65', '\x73', '\x74', '\x47', '\x72', '\x6f', '\x75', '\x70', '\x53', '\x74', '\x61', '\x74', '\x73', '\x26', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x3d', '\x20', '\x28', '\x20', '\x54', '\x65', '\x73', '\x74', '\x47', '\x72', '\x6f', '\x75', '\x70', '\x53', '\x74', '\x61', '\x74', '\x73', '\x20', '\x26', '\x26', '\x20', '\x29', '\x20', '\x20', '\x20', '\x20', '\x20', '\x3d', '\x20', '\x64', '\x65', '\x66', '\x61', '\x75', '\x6c', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x69', '\x72', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x7e', '\x54', '\x65', '\x73', '\x74', '\x47', '\x72', '\x6f', '\x75', '\x70', '\x53', '\x74', '\x61', '\x74', '\x73', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x47', '\x72', '\x6f', '\x75', '\x70', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x67', '\x72', '\x6f', '\x75', '\x70', '\x49', '\x6e', '\x66', '\x6f', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x54', '\x6f', '\x74', '\x61', '\x6c', '\x73', '\x20', '\x74', '\x6f', '\x74', '\x61', '\x6c', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x61', '\x62', '\x6f', '\x72', '\x74', '\x69', '\x6e', '\x67', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x54', '\x65', '\x73', '\x74', '\x52', '\x75', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x73', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x54', '\x65', '\x73', '\x74', '\x52', '\x75', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x73', '\x28', '\x20', '\x20', '\x20', '\x54', '\x65', '\x73', '\x74', '\x52', '\x75', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x5f', '\x72', '\x75', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x54', '\x6f', '\x74', '\x61', '\x6c', '\x73', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x5f', '\x74', '\x6f', '\x74', '\x61', '\x6c', '\x73', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x5f', '\x61', '\x62', '\x6f', '\x72', '\x74', '\x69', '\x6e', '\x67', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x54', '\x65', '\x73', '\x74', '\x52', '\x75', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x73', '\x28', '\x20', '\x54', '\x65', '\x73', '\x74', '\x52', '\x75', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x73', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x29', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x3d', '\x20', '\x64', '\x65', '\x66', '\x61', '\x75', '\x6c', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x54', '\x65', '\x73', '\x74', '\x52', '\x75', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x73', '\x28', '\x20', '\x54', '\x65', '\x73', '\x74', '\x52', '\x75', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x73', '\x20', '\x26', '\x26', '\x20', '\x29', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x3d', '\x20', '\x64', '\x65', '\x66', '\x61', '\x75', '\x6c', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x54', '\x65', '\x73', '\x74', '\x52', '\x75', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x73', '\x26', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x3d', '\x20', '\x28', '\x20', '\x54', '\x65', '\x73', '\x74', '\x52', '\x75', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x73', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x29', '\x20', '\x3d', '\x20', '\x64', '\x65', '\x66', '\x61', '\x75', '\x6c', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x54', '\x65', '\x73', '\x74', '\x52', '\x75', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x73', '\x26', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x3d', '\x20', '\x28', '\x20', '\x54', '\x65', '\x73', '\x74', '\x52', '\x75', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x73', '\x20', '\x26', '\x26', '\x20', '\x29', '\x20', '\x20', '\x20', '\x20', '\x20', '\x3d', '\x20', '\x64', '\x65', '\x66', '\x61', '\x75', '\x6c', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x69', '\x72', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x7e', '\x54', '\x65', '\x73', '\x74', '\x52', '\x75', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x73', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x54', '\x65', '\x73', '\x74', '\x52', '\x75', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x72', '\x75', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x54', '\x6f', '\x74', '\x61', '\x6c', '\x73', '\x20', '\x74', '\x6f', '\x74', '\x61', '\x6c', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x61', '\x62', '\x6f', '\x72', '\x74', '\x69', '\x6e', '\x67', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x45', '\x4e', '\x41', '\x42', '\x4c', '\x45', '\x5f', '\x42', '\x45', '\x4e', '\x43', '\x48', '\x4d', '\x41', '\x52', '\x4b', '\x49', '\x4e', '\x47', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x42', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x20', '\x65', '\x73', '\x74', '\x69', '\x6d', '\x61', '\x74', '\x65', '\x64', '\x44', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x6e', '\x74', '\x20', '\x69', '\x74', '\x65', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x6e', '\x74', '\x20', '\x73', '\x61', '\x6d', '\x70', '\x6c', '\x65', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x75', '\x6e', '\x73', '\x69', '\x67', '\x6e', '\x65', '\x64', '\x20', '\x69', '\x6e', '\x74', '\x20', '\x72', '\x65', '\x73', '\x61', '\x6d', '\x70', '\x6c', '\x65', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x20', '\x63', '\x6c', '\x6f', '\x63', '\x6b', '\x52', '\x65', '\x73', '\x6f', '\x6c', '\x75', '\x74', '\x69', '\x6f', '\x6e', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x20', '\x63', '\x6c', '\x6f', '\x63', '\x6b', '\x43', '\x6f', '\x73', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x20', '\x3c', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x20', '\x44', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x42', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x53', '\x74', '\x61', '\x74', '\x73', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x42', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x69', '\x6e', '\x66', '\x6f', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x44', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x3e', '\x20', '\x73', '\x61', '\x6d', '\x70', '\x6c', '\x65', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x42', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x3a', '\x3a', '\x45', '\x73', '\x74', '\x69', '\x6d', '\x61', '\x74', '\x65', '\x3c', '\x44', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x3e', '\x20', '\x6d', '\x65', '\x61', '\x6e', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x42', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x3a', '\x3a', '\x45', '\x73', '\x74', '\x69', '\x6d', '\x61', '\x74', '\x65', '\x3c', '\x44', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x3e', '\x20', '\x73', '\x74', '\x61', '\x6e', '\x64', '\x61', '\x72', '\x64', '\x44', '\x65', '\x76', '\x69', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x42', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x3a', '\x3a', '\x4f', '\x75', '\x74', '\x6c', '\x69', '\x65', '\x72', '\x43', '\x6c', '\x61', '\x73', '\x73', '\x69', '\x66', '\x69', '\x63', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x6f', '\x75', '\x74', '\x6c', '\x69', '\x65', '\x72', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x20', '\x6f', '\x75', '\x74', '\x6c', '\x69', '\x65', '\x72', '\x56', '\x61', '\x72', '\x69', '\x61', '\x6e', '\x63', '\x65', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x20', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x44', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x32', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x42', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x53', '\x74', '\x61', '\x74', '\x73', '\x3c', '\x44', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x32', '\x3e', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x44', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x32', '\x3e', '\x20', '\x73', '\x61', '\x6d', '\x70', '\x6c', '\x65', '\x73', '\x32', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x61', '\x6d', '\x70', '\x6c', '\x65', '\x73', '\x32', '\x2e', '\x72', '\x65', '\x73', '\x65', '\x72', '\x76', '\x65', '\x28', '\x73', '\x61', '\x6d', '\x70', '\x6c', '\x65', '\x73', '\x2e', '\x73', '\x69', '\x7a', '\x65', '\x28', '\x29', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x74', '\x72', '\x61', '\x6e', '\x73', '\x66', '\x6f', '\x72', '\x6d', '\x28', '\x73', '\x61', '\x6d', '\x70', '\x6c', '\x65', '\x73', '\x2e', '\x62', '\x65', '\x67', '\x69', '\x6e', '\x28', '\x29', '\x2c', '\x20', '\x73', '\x61', '\x6d', '\x70', '\x6c', '\x65', '\x73', '\x2e', '\x65', '\x6e', '\x64', '\x28', '\x29', '\x2c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x62', '\x61', '\x63', '\x6b', '\x5f', '\x69', '\x6e', '\x73', '\x65', '\x72', '\x74', '\x65', '\x72', '\x28', '\x73', '\x61', '\x6d', '\x70', '\x6c', '\x65', '\x73', '\x32', '\x29', '\x2c', '\x20', '\x5b', '\x5d', '\x28', '\x44', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x64', '\x29', '\x20', '\x7b', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x44', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x32', '\x28', '\x64', '\x29', '\x3b', '\x20', '\x7d', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x6e', '\x66', '\x6f', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6d', '\x6f', '\x76', '\x65', '\x28', '\x73', '\x61', '\x6d', '\x70', '\x6c', '\x65', '\x73', '\x32', '\x29', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x65', '\x61', '\x6e', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x6e', '\x64', '\x61', '\x72', '\x64', '\x44', '\x65', '\x76', '\x69', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6f', '\x75', '\x74', '\x6c', '\x69', '\x65', '\x72', '\x73', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6f', '\x75', '\x74', '\x6c', '\x69', '\x65', '\x72', '\x56', '\x61', '\x72', '\x69', '\x61', '\x6e', '\x63', '\x65', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x20', '\x2f', '\x2f', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x45', '\x4e', '\x41', '\x42', '\x4c', '\x45', '\x5f', '\x42', '\x45', '\x4e', '\x43', '\x48', '\x4d', '\x41', '\x52', '\x4b', '\x49', '\x4e', '\x47', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x49', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x69', '\x72', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x7e', '\x49', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x28', '\x29', '\x20', '\x3d', '\x20', '\x64', '\x65', '\x66', '\x61', '\x75', '\x6c', '\x74', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x49', '\x6d', '\x70', '\x6c', '\x65', '\x6d', '\x65', '\x6e', '\x74', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x20', '\x6d', '\x75', '\x73', '\x74', '\x20', '\x61', '\x6c', '\x73', '\x6f', '\x20', '\x70', '\x72', '\x6f', '\x76', '\x69', '\x64', '\x65', '\x20', '\x74', '\x68', '\x65', '\x20', '\x66', '\x6f', '\x6c', '\x6c', '\x6f', '\x77', '\x69', '\x6e', '\x67', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x20', '\x6d', '\x65', '\x74', '\x68', '\x6f', '\x64', '\x73', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x67', '\x65', '\x74', '\x44', '\x65', '\x73', '\x63', '\x72', '\x69', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x65', '\x74', '\x3c', '\x56', '\x65', '\x72', '\x62', '\x6f', '\x73', '\x69', '\x74', '\x79', '\x3e', '\x20', '\x67', '\x65', '\x74', '\x53', '\x75', '\x70', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x64', '\x56', '\x65', '\x72', '\x62', '\x6f', '\x73', '\x69', '\x74', '\x69', '\x65', '\x73', '\x28', '\x29', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x69', '\x72', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x50', '\x72', '\x65', '\x66', '\x65', '\x72', '\x65', '\x6e', '\x63', '\x65', '\x73', '\x20', '\x67', '\x65', '\x74', '\x50', '\x72', '\x65', '\x66', '\x65', '\x72', '\x65', '\x6e', '\x63', '\x65', '\x73', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x69', '\x72', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x6e', '\x6f', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x69', '\x6e', '\x67', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x73', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x73', '\x70', '\x65', '\x63', '\x20', '\x29', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x69', '\x72', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x72', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x49', '\x6e', '\x76', '\x61', '\x6c', '\x69', '\x64', '\x41', '\x72', '\x67', '\x75', '\x6d', '\x65', '\x6e', '\x74', '\x73', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x29', '\x20', '\x7b', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x69', '\x72', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x74', '\x65', '\x73', '\x74', '\x52', '\x75', '\x6e', '\x53', '\x74', '\x61', '\x72', '\x74', '\x69', '\x6e', '\x67', '\x28', '\x20', '\x54', '\x65', '\x73', '\x74', '\x52', '\x75', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x74', '\x65', '\x73', '\x74', '\x52', '\x75', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x29', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x69', '\x72', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x74', '\x65', '\x73', '\x74', '\x47', '\x72', '\x6f', '\x75', '\x70', '\x53', '\x74', '\x61', '\x72', '\x74', '\x69', '\x6e', '\x67', '\x28', '\x20', '\x47', '\x72', '\x6f', '\x75', '\x70', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x67', '\x72', '\x6f', '\x75', '\x70', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x29', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x69', '\x72', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x53', '\x74', '\x61', '\x72', '\x74', '\x69', '\x6e', '\x67', '\x28', '\x20', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x74', '\x65', '\x73', '\x74', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x29', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x69', '\x72', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x53', '\x74', '\x61', '\x72', '\x74', '\x69', '\x6e', '\x67', '\x28', '\x20', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x29', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x45', '\x4e', '\x41', '\x42', '\x4c', '\x45', '\x5f', '\x42', '\x45', '\x4e', '\x43', '\x48', '\x4d', '\x41', '\x52', '\x4b', '\x49', '\x4e', '\x47', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x69', '\x72', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x62', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x50', '\x72', '\x65', '\x70', '\x61', '\x72', '\x69', '\x6e', '\x67', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x29', '\x20', '\x7b', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x69', '\x72', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x62', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x53', '\x74', '\x61', '\x72', '\x74', '\x69', '\x6e', '\x67', '\x28', '\x20', '\x42', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x29', '\x20', '\x7b', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x69', '\x72', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x62', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x45', '\x6e', '\x64', '\x65', '\x64', '\x28', '\x20', '\x42', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x53', '\x74', '\x61', '\x74', '\x73', '\x3c', '\x3e', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x29', '\x20', '\x7b', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x69', '\x72', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x62', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x46', '\x61', '\x69', '\x6c', '\x65', '\x64', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x29', '\x20', '\x7b', '\x7d', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x20', '\x2f', '\x2f', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x45', '\x4e', '\x41', '\x42', '\x4c', '\x45', '\x5f', '\x42', '\x45', '\x4e', '\x43', '\x48', '\x4d', '\x41', '\x52', '\x4b', '\x49', '\x4e', '\x47', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x69', '\x72', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x53', '\x74', '\x61', '\x72', '\x74', '\x69', '\x6e', '\x67', '\x28', '\x20', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x29', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x54', '\x68', '\x65', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x20', '\x69', '\x6e', '\x64', '\x69', '\x63', '\x61', '\x74', '\x65', '\x73', '\x20', '\x69', '\x66', '\x20', '\x74', '\x68', '\x65', '\x20', '\x6d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x73', '\x20', '\x62', '\x75', '\x66', '\x66', '\x65', '\x72', '\x20', '\x73', '\x68', '\x6f', '\x75', '\x6c', '\x64', '\x20', '\x62', '\x65', '\x20', '\x63', '\x6c', '\x65', '\x61', '\x72', '\x65', '\x64', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x69', '\x72', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x45', '\x6e', '\x64', '\x65', '\x64', '\x28', '\x20', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x73', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x73', '\x20', '\x29', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x69', '\x72', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x45', '\x6e', '\x64', '\x65', '\x64', '\x28', '\x20', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x73', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x73', '\x20', '\x29', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x69', '\x72', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x45', '\x6e', '\x64', '\x65', '\x64', '\x28', '\x20', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x53', '\x74', '\x61', '\x74', '\x73', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x53', '\x74', '\x61', '\x74', '\x73', '\x20', '\x29', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x69', '\x72', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x74', '\x65', '\x73', '\x74', '\x47', '\x72', '\x6f', '\x75', '\x70', '\x45', '\x6e', '\x64', '\x65', '\x64', '\x28', '\x20', '\x54', '\x65', '\x73', '\x74', '\x47', '\x72', '\x6f', '\x75', '\x70', '\x53', '\x74', '\x61', '\x74', '\x73', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x74', '\x65', '\x73', '\x74', '\x47', '\x72', '\x6f', '\x75', '\x70', '\x53', '\x74', '\x61', '\x74', '\x73', '\x20', '\x29', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x69', '\x72', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x74', '\x65', '\x73', '\x74', '\x52', '\x75', '\x6e', '\x45', '\x6e', '\x64', '\x65', '\x64', '\x28', '\x20', '\x54', '\x65', '\x73', '\x74', '\x52', '\x75', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x73', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x74', '\x65', '\x73', '\x74', '\x52', '\x75', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x73', '\x20', '\x29', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x69', '\x72', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x73', '\x6b', '\x69', '\x70', '\x54', '\x65', '\x73', '\x74', '\x28', '\x20', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x74', '\x65', '\x73', '\x74', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x29', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x44', '\x65', '\x66', '\x61', '\x75', '\x6c', '\x74', '\x20', '\x65', '\x6d', '\x70', '\x74', '\x79', '\x20', '\x69', '\x6d', '\x70', '\x6c', '\x65', '\x6d', '\x65', '\x6e', '\x74', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x70', '\x72', '\x6f', '\x76', '\x69', '\x64', '\x65', '\x64', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x69', '\x72', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x66', '\x61', '\x74', '\x61', '\x6c', '\x45', '\x72', '\x72', '\x6f', '\x72', '\x45', '\x6e', '\x63', '\x6f', '\x75', '\x6e', '\x74', '\x65', '\x72', '\x65', '\x64', '\x28', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x66', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x69', '\x72', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x69', '\x73', '\x4d', '\x75', '\x6c', '\x74', '\x69', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x75', '\x73', '\x69', '\x6e', '\x67', '\x20', '\x49', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x50', '\x74', '\x72', '\x20', '\x3d', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x75', '\x6e', '\x69', '\x71', '\x75', '\x65', '\x5f', '\x70', '\x74', '\x72', '\x3c', '\x49', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x3e', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x49', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x46', '\x61', '\x63', '\x74', '\x6f', '\x72', '\x79', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x69', '\x72', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x7e', '\x49', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x46', '\x61', '\x63', '\x74', '\x6f', '\x72', '\x79', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x69', '\x72', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x49', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x50', '\x74', '\x72', '\x20', '\x63', '\x72', '\x65', '\x61', '\x74', '\x65', '\x28', '\x20', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x20', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x69', '\x72', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x67', '\x65', '\x74', '\x44', '\x65', '\x73', '\x63', '\x72', '\x69', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x75', '\x73', '\x69', '\x6e', '\x67', '\x20', '\x49', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x46', '\x61', '\x63', '\x74', '\x6f', '\x72', '\x79', '\x50', '\x74', '\x72', '\x20', '\x3d', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x68', '\x61', '\x72', '\x65', '\x64', '\x5f', '\x70', '\x74', '\x72', '\x3c', '\x49', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x46', '\x61', '\x63', '\x74', '\x6f', '\x72', '\x79', '\x3e', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x49', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x75', '\x73', '\x69', '\x6e', '\x67', '\x20', '\x46', '\x61', '\x63', '\x74', '\x6f', '\x72', '\x79', '\x4d', '\x61', '\x70', '\x20', '\x3d', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6d', '\x61', '\x70', '\x3c', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x2c', '\x20', '\x49', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x46', '\x61', '\x63', '\x74', '\x6f', '\x72', '\x79', '\x50', '\x74', '\x72', '\x3e', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x75', '\x73', '\x69', '\x6e', '\x67', '\x20', '\x4c', '\x69', '\x73', '\x74', '\x65', '\x6e', '\x65', '\x72', '\x73', '\x20', '\x3d', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x49', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x46', '\x61', '\x63', '\x74', '\x6f', '\x72', '\x79', '\x50', '\x74', '\x72', '\x3e', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x69', '\x72', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x7e', '\x49', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x69', '\x72', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x49', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x50', '\x74', '\x72', '\x20', '\x63', '\x72', '\x65', '\x61', '\x74', '\x65', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x49', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x50', '\x74', '\x72', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x20', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x69', '\x72', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x46', '\x61', '\x63', '\x74', '\x6f', '\x72', '\x79', '\x4d', '\x61', '\x70', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x67', '\x65', '\x74', '\x46', '\x61', '\x63', '\x74', '\x6f', '\x72', '\x69', '\x65', '\x73', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x69', '\x72', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x4c', '\x69', '\x73', '\x74', '\x65', '\x6e', '\x65', '\x72', '\x73', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x67', '\x65', '\x74', '\x4c', '\x69', '\x73', '\x74', '\x65', '\x6e', '\x65', '\x72', '\x73', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x69', '\x6e', '\x74', '\x65', '\x72', '\x66', '\x61', '\x63', '\x65', '\x73', '\x5f', '\x72', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x2e', '\x68', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x61', '\x6c', '\x67', '\x6f', '\x72', '\x69', '\x74', '\x68', '\x6d', '\x3e', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x63', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x3e', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x63', '\x66', '\x6c', '\x6f', '\x61', '\x74', '\x3e', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x63', '\x73', '\x74', '\x64', '\x69', '\x6f', '\x3e', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x63', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x3e', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x6d', '\x65', '\x6d', '\x6f', '\x72', '\x79', '\x3e', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x6f', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x3e', '\x0d', '\x0a', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x70', '\x72', '\x65', '\x70', '\x61', '\x72', '\x65', '\x45', '\x78', '\x70', '\x61', '\x6e', '\x64', '\x65', '\x64', '\x45', '\x78', '\x70', '\x72', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x28', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x26', '\x20', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x52', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x73', '\x20', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x20', '\x66', '\x6f', '\x72', '\x6d', '\x61', '\x74', '\x74', '\x65', '\x64', '\x20', '\x61', '\x73', '\x20', '\x25', '\x2e', '\x33', '\x66', '\x20', '\x28', '\x66', '\x6f', '\x72', '\x6d', '\x61', '\x74', '\x20', '\x65', '\x78', '\x70', '\x65', '\x63', '\x74', '\x65', '\x64', '\x20', '\x6f', '\x6e', '\x20', '\x6f', '\x75', '\x74', '\x70', '\x75', '\x74', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x67', '\x65', '\x74', '\x46', '\x6f', '\x72', '\x6d', '\x61', '\x74', '\x74', '\x65', '\x64', '\x44', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x28', '\x20', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x20', '\x64', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x73', '\x65', '\x72', '\x69', '\x61', '\x6c', '\x69', '\x7a', '\x65', '\x46', '\x69', '\x6c', '\x74', '\x65', '\x72', '\x73', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x3e', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x63', '\x6f', '\x6e', '\x74', '\x61', '\x69', '\x6e', '\x65', '\x72', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x44', '\x65', '\x72', '\x69', '\x76', '\x65', '\x64', '\x54', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x42', '\x61', '\x73', '\x65', '\x20', '\x3a', '\x20', '\x49', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x42', '\x61', '\x73', '\x65', '\x28', '\x20', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x5f', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x3a', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x28', '\x20', '\x5f', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x2e', '\x66', '\x75', '\x6c', '\x6c', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x28', '\x29', '\x20', '\x29', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x28', '\x20', '\x5f', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x2e', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x28', '\x29', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x72', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x50', '\x72', '\x65', '\x66', '\x73', '\x2e', '\x73', '\x68', '\x6f', '\x75', '\x6c', '\x64', '\x52', '\x65', '\x64', '\x69', '\x72', '\x65', '\x63', '\x74', '\x53', '\x74', '\x64', '\x4f', '\x75', '\x74', '\x20', '\x3d', '\x20', '\x66', '\x61', '\x6c', '\x73', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x21', '\x44', '\x65', '\x72', '\x69', '\x76', '\x65', '\x64', '\x54', '\x3a', '\x3a', '\x67', '\x65', '\x74', '\x53', '\x75', '\x70', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x64', '\x56', '\x65', '\x72', '\x62', '\x6f', '\x73', '\x69', '\x74', '\x69', '\x65', '\x73', '\x28', '\x29', '\x2e', '\x63', '\x6f', '\x75', '\x6e', '\x74', '\x28', '\x20', '\x6d', '\x5f', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x2d', '\x3e', '\x76', '\x65', '\x72', '\x62', '\x6f', '\x73', '\x69', '\x74', '\x79', '\x28', '\x29', '\x20', '\x29', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x45', '\x52', '\x52', '\x4f', '\x52', '\x28', '\x20', '\x22', '\x56', '\x65', '\x72', '\x62', '\x6f', '\x73', '\x69', '\x74', '\x79', '\x20', '\x6c', '\x65', '\x76', '\x65', '\x6c', '\x20', '\x6e', '\x6f', '\x74', '\x20', '\x73', '\x75', '\x70', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x64', '\x20', '\x62', '\x79', '\x20', '\x74', '\x68', '\x69', '\x73', '\x20', '\x72', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x22', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x50', '\x72', '\x65', '\x66', '\x65', '\x72', '\x65', '\x6e', '\x63', '\x65', '\x73', '\x20', '\x67', '\x65', '\x74', '\x50', '\x72', '\x65', '\x66', '\x65', '\x72', '\x65', '\x6e', '\x63', '\x65', '\x73', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6d', '\x5f', '\x72', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x50', '\x72', '\x65', '\x66', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x65', '\x74', '\x3c', '\x56', '\x65', '\x72', '\x62', '\x6f', '\x73', '\x69', '\x74', '\x79', '\x3e', '\x20', '\x67', '\x65', '\x74', '\x53', '\x75', '\x70', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x64', '\x56', '\x65', '\x72', '\x62', '\x6f', '\x73', '\x69', '\x74', '\x69', '\x65', '\x73', '\x28', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x7b', '\x20', '\x56', '\x65', '\x72', '\x62', '\x6f', '\x73', '\x69', '\x74', '\x79', '\x3a', '\x3a', '\x4e', '\x6f', '\x72', '\x6d', '\x61', '\x6c', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7e', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x42', '\x61', '\x73', '\x65', '\x28', '\x29', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x20', '\x3d', '\x20', '\x64', '\x65', '\x66', '\x61', '\x75', '\x6c', '\x74', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x6e', '\x6f', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x69', '\x6e', '\x67', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x73', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x29', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x20', '\x7b', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x72', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x49', '\x6e', '\x76', '\x61', '\x6c', '\x69', '\x64', '\x41', '\x72', '\x67', '\x75', '\x6d', '\x65', '\x6e', '\x74', '\x73', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x29', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x20', '\x7b', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x74', '\x65', '\x73', '\x74', '\x52', '\x75', '\x6e', '\x53', '\x74', '\x61', '\x72', '\x74', '\x69', '\x6e', '\x67', '\x28', '\x54', '\x65', '\x73', '\x74', '\x52', '\x75', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x5f', '\x74', '\x65', '\x73', '\x74', '\x52', '\x75', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x29', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x75', '\x72', '\x72', '\x65', '\x6e', '\x74', '\x54', '\x65', '\x73', '\x74', '\x52', '\x75', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x3d', '\x20', '\x5f', '\x74', '\x65', '\x73', '\x74', '\x52', '\x75', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x74', '\x65', '\x73', '\x74', '\x47', '\x72', '\x6f', '\x75', '\x70', '\x53', '\x74', '\x61', '\x72', '\x74', '\x69', '\x6e', '\x67', '\x28', '\x47', '\x72', '\x6f', '\x75', '\x70', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x5f', '\x67', '\x72', '\x6f', '\x75', '\x70', '\x49', '\x6e', '\x66', '\x6f', '\x29', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x75', '\x72', '\x72', '\x65', '\x6e', '\x74', '\x47', '\x72', '\x6f', '\x75', '\x70', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x3d', '\x20', '\x5f', '\x67', '\x72', '\x6f', '\x75', '\x70', '\x49', '\x6e', '\x66', '\x6f', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x53', '\x74', '\x61', '\x72', '\x74', '\x69', '\x6e', '\x67', '\x28', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x5f', '\x74', '\x65', '\x73', '\x74', '\x49', '\x6e', '\x66', '\x6f', '\x29', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x20', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x75', '\x72', '\x72', '\x65', '\x6e', '\x74', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x3d', '\x20', '\x5f', '\x74', '\x65', '\x73', '\x74', '\x49', '\x6e', '\x66', '\x6f', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x53', '\x74', '\x61', '\x72', '\x74', '\x69', '\x6e', '\x67', '\x28', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x5f', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x29', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x53', '\x74', '\x61', '\x63', '\x6b', '\x2e', '\x70', '\x75', '\x73', '\x68', '\x5f', '\x62', '\x61', '\x63', '\x6b', '\x28', '\x5f', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x45', '\x6e', '\x64', '\x65', '\x64', '\x28', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x73', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x2f', '\x2a', '\x20', '\x5f', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x73', '\x20', '\x2a', '\x2f', '\x29', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x53', '\x74', '\x61', '\x63', '\x6b', '\x2e', '\x70', '\x6f', '\x70', '\x5f', '\x62', '\x61', '\x63', '\x6b', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x45', '\x6e', '\x64', '\x65', '\x64', '\x28', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x53', '\x74', '\x61', '\x74', '\x73', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x2f', '\x2a', '\x20', '\x5f', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x53', '\x74', '\x61', '\x74', '\x73', '\x20', '\x2a', '\x2f', '\x29', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x75', '\x72', '\x72', '\x65', '\x6e', '\x74', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x2e', '\x72', '\x65', '\x73', '\x65', '\x74', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x74', '\x65', '\x73', '\x74', '\x47', '\x72', '\x6f', '\x75', '\x70', '\x45', '\x6e', '\x64', '\x65', '\x64', '\x28', '\x54', '\x65', '\x73', '\x74', '\x47', '\x72', '\x6f', '\x75', '\x70', '\x53', '\x74', '\x61', '\x74', '\x73', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x2f', '\x2a', '\x20', '\x5f', '\x74', '\x65', '\x73', '\x74', '\x47', '\x72', '\x6f', '\x75', '\x70', '\x53', '\x74', '\x61', '\x74', '\x73', '\x20', '\x2a', '\x2f', '\x29', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x75', '\x72', '\x72', '\x65', '\x6e', '\x74', '\x47', '\x72', '\x6f', '\x75', '\x70', '\x49', '\x6e', '\x66', '\x6f', '\x2e', '\x72', '\x65', '\x73', '\x65', '\x74', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x74', '\x65', '\x73', '\x74', '\x52', '\x75', '\x6e', '\x45', '\x6e', '\x64', '\x65', '\x64', '\x28', '\x54', '\x65', '\x73', '\x74', '\x52', '\x75', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x73', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x2f', '\x2a', '\x20', '\x5f', '\x74', '\x65', '\x73', '\x74', '\x52', '\x75', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x73', '\x20', '\x2a', '\x2f', '\x29', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x75', '\x72', '\x72', '\x65', '\x6e', '\x74', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x2e', '\x72', '\x65', '\x73', '\x65', '\x74', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x75', '\x72', '\x72', '\x65', '\x6e', '\x74', '\x47', '\x72', '\x6f', '\x75', '\x70', '\x49', '\x6e', '\x66', '\x6f', '\x2e', '\x72', '\x65', '\x73', '\x65', '\x74', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x75', '\x72', '\x72', '\x65', '\x6e', '\x74', '\x54', '\x65', '\x73', '\x74', '\x52', '\x75', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x2e', '\x72', '\x65', '\x73', '\x65', '\x74', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x73', '\x6b', '\x69', '\x70', '\x54', '\x65', '\x73', '\x74', '\x28', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x29', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x44', '\x6f', '\x6e', '\x27', '\x74', '\x20', '\x64', '\x6f', '\x20', '\x61', '\x6e', '\x79', '\x74', '\x68', '\x69', '\x6e', '\x67', '\x20', '\x77', '\x69', '\x74', '\x68', '\x20', '\x74', '\x68', '\x69', '\x73', '\x20', '\x62', '\x79', '\x20', '\x64', '\x65', '\x66', '\x61', '\x75', '\x6c', '\x74', '\x2e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x49', '\x74', '\x20', '\x63', '\x61', '\x6e', '\x20', '\x6f', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x61', '\x6c', '\x6c', '\x79', '\x20', '\x62', '\x65', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x64', '\x65', '\x6e', '\x20', '\x69', '\x6e', '\x20', '\x74', '\x68', '\x65', '\x20', '\x64', '\x65', '\x72', '\x69', '\x76', '\x65', '\x64', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x2e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x49', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x50', '\x74', '\x72', '\x20', '\x6d', '\x5f', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6f', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x26', '\x20', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x4c', '\x61', '\x7a', '\x79', '\x53', '\x74', '\x61', '\x74', '\x3c', '\x54', '\x65', '\x73', '\x74', '\x52', '\x75', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x3e', '\x20', '\x63', '\x75', '\x72', '\x72', '\x65', '\x6e', '\x74', '\x54', '\x65', '\x73', '\x74', '\x52', '\x75', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x4c', '\x61', '\x7a', '\x79', '\x53', '\x74', '\x61', '\x74', '\x3c', '\x47', '\x72', '\x6f', '\x75', '\x70', '\x49', '\x6e', '\x66', '\x6f', '\x3e', '\x20', '\x63', '\x75', '\x72', '\x72', '\x65', '\x6e', '\x74', '\x47', '\x72', '\x6f', '\x75', '\x70', '\x49', '\x6e', '\x66', '\x6f', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x4c', '\x61', '\x7a', '\x79', '\x53', '\x74', '\x61', '\x74', '\x3c', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x3e', '\x20', '\x63', '\x75', '\x72', '\x72', '\x65', '\x6e', '\x74', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x3e', '\x20', '\x6d', '\x5f', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x53', '\x74', '\x61', '\x63', '\x6b', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x50', '\x72', '\x65', '\x66', '\x65', '\x72', '\x65', '\x6e', '\x63', '\x65', '\x73', '\x20', '\x6d', '\x5f', '\x72', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x50', '\x72', '\x65', '\x66', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x44', '\x65', '\x72', '\x69', '\x76', '\x65', '\x64', '\x54', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x43', '\x75', '\x6d', '\x75', '\x6c', '\x61', '\x74', '\x69', '\x76', '\x65', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x42', '\x61', '\x73', '\x65', '\x20', '\x3a', '\x20', '\x49', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x54', '\x2c', '\x20', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x43', '\x68', '\x69', '\x6c', '\x64', '\x4e', '\x6f', '\x64', '\x65', '\x54', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x4e', '\x6f', '\x64', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x78', '\x70', '\x6c', '\x69', '\x63', '\x69', '\x74', '\x20', '\x4e', '\x6f', '\x64', '\x65', '\x28', '\x20', '\x54', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x5f', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x20', '\x29', '\x20', '\x3a', '\x20', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x28', '\x20', '\x5f', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x20', '\x29', '\x20', '\x7b', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x69', '\x72', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x7e', '\x4e', '\x6f', '\x64', '\x65', '\x28', '\x29', '\x20', '\x7b', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x75', '\x73', '\x69', '\x6e', '\x67', '\x20', '\x43', '\x68', '\x69', '\x6c', '\x64', '\x4e', '\x6f', '\x64', '\x65', '\x73', '\x20', '\x3d', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x68', '\x61', '\x72', '\x65', '\x64', '\x5f', '\x70', '\x74', '\x72', '\x3c', '\x43', '\x68', '\x69', '\x6c', '\x64', '\x4e', '\x6f', '\x64', '\x65', '\x54', '\x3e', '\x3e', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x54', '\x20', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x68', '\x69', '\x6c', '\x64', '\x4e', '\x6f', '\x64', '\x65', '\x73', '\x20', '\x63', '\x68', '\x69', '\x6c', '\x64', '\x72', '\x65', '\x6e', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x4e', '\x6f', '\x64', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x78', '\x70', '\x6c', '\x69', '\x63', '\x69', '\x74', '\x20', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x4e', '\x6f', '\x64', '\x65', '\x28', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x73', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x5f', '\x73', '\x74', '\x61', '\x74', '\x73', '\x29', '\x20', '\x3a', '\x20', '\x73', '\x74', '\x61', '\x74', '\x73', '\x28', '\x5f', '\x73', '\x74', '\x61', '\x74', '\x73', '\x29', '\x20', '\x7b', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x69', '\x72', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x7e', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x4e', '\x6f', '\x64', '\x65', '\x28', '\x29', '\x20', '\x3d', '\x20', '\x64', '\x65', '\x66', '\x61', '\x75', '\x6c', '\x74', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x3d', '\x3d', '\x20', '\x28', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x4e', '\x6f', '\x64', '\x65', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6f', '\x74', '\x68', '\x65', '\x72', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x73', '\x74', '\x61', '\x74', '\x73', '\x2e', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x2e', '\x6c', '\x69', '\x6e', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x3d', '\x3d', '\x20', '\x6f', '\x74', '\x68', '\x65', '\x72', '\x2e', '\x73', '\x74', '\x61', '\x74', '\x73', '\x2e', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x2e', '\x6c', '\x69', '\x6e', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x3d', '\x3d', '\x20', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x68', '\x61', '\x72', '\x65', '\x64', '\x5f', '\x70', '\x74', '\x72', '\x3c', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x4e', '\x6f', '\x64', '\x65', '\x3e', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6f', '\x74', '\x68', '\x65', '\x72', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x3d', '\x3d', '\x28', '\x2a', '\x6f', '\x74', '\x68', '\x65', '\x72', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x73', '\x20', '\x73', '\x74', '\x61', '\x74', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x75', '\x73', '\x69', '\x6e', '\x67', '\x20', '\x43', '\x68', '\x69', '\x6c', '\x64', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x20', '\x3d', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x68', '\x61', '\x72', '\x65', '\x64', '\x5f', '\x70', '\x74', '\x72', '\x3c', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x4e', '\x6f', '\x64', '\x65', '\x3e', '\x3e', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x75', '\x73', '\x69', '\x6e', '\x67', '\x20', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x20', '\x3d', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x73', '\x3e', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x68', '\x69', '\x6c', '\x64', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x20', '\x63', '\x68', '\x69', '\x6c', '\x64', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x20', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x73', '\x74', '\x64', '\x4f', '\x75', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x73', '\x74', '\x64', '\x45', '\x72', '\x72', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x42', '\x79', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x42', '\x79', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x28', '\x20', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6f', '\x74', '\x68', '\x65', '\x72', '\x20', '\x29', '\x20', '\x3a', '\x20', '\x6d', '\x5f', '\x6f', '\x74', '\x68', '\x65', '\x72', '\x28', '\x20', '\x6f', '\x74', '\x68', '\x65', '\x72', '\x20', '\x29', '\x20', '\x7b', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x42', '\x79', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x28', '\x20', '\x42', '\x79', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6f', '\x74', '\x68', '\x65', '\x72', '\x20', '\x29', '\x20', '\x3a', '\x20', '\x6d', '\x5f', '\x6f', '\x74', '\x68', '\x65', '\x72', '\x28', '\x20', '\x6f', '\x74', '\x68', '\x65', '\x72', '\x2e', '\x6d', '\x5f', '\x6f', '\x74', '\x68', '\x65', '\x72', '\x20', '\x29', '\x20', '\x7b', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x28', '\x29', '\x20', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x68', '\x61', '\x72', '\x65', '\x64', '\x5f', '\x70', '\x74', '\x72', '\x3c', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x4e', '\x6f', '\x64', '\x65', '\x3e', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6e', '\x6f', '\x64', '\x65', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x28', '\x28', '\x6e', '\x6f', '\x64', '\x65', '\x2d', '\x3e', '\x73', '\x74', '\x61', '\x74', '\x73', '\x2e', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x2e', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x3d', '\x3d', '\x20', '\x6d', '\x5f', '\x6f', '\x74', '\x68', '\x65', '\x72', '\x2e', '\x6e', '\x61', '\x6d', '\x65', '\x29', '\x20', '\x26', '\x26', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x28', '\x6e', '\x6f', '\x64', '\x65', '\x2d', '\x3e', '\x73', '\x74', '\x61', '\x74', '\x73', '\x2e', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x2e', '\x6c', '\x69', '\x6e', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x3d', '\x3d', '\x20', '\x6d', '\x5f', '\x6f', '\x74', '\x68', '\x65', '\x72', '\x2e', '\x6c', '\x69', '\x6e', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x29', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x3d', '\x28', '\x42', '\x79', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x29', '\x20', '\x3d', '\x20', '\x64', '\x65', '\x6c', '\x65', '\x74', '\x65', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x72', '\x69', '\x76', '\x61', '\x74', '\x65', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6d', '\x5f', '\x6f', '\x74', '\x68', '\x65', '\x72', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x75', '\x73', '\x69', '\x6e', '\x67', '\x20', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x4e', '\x6f', '\x64', '\x65', '\x20', '\x3d', '\x20', '\x4e', '\x6f', '\x64', '\x65', '\x3c', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x53', '\x74', '\x61', '\x74', '\x73', '\x2c', '\x20', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x4e', '\x6f', '\x64', '\x65', '\x3e', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x75', '\x73', '\x69', '\x6e', '\x67', '\x20', '\x54', '\x65', '\x73', '\x74', '\x47', '\x72', '\x6f', '\x75', '\x70', '\x4e', '\x6f', '\x64', '\x65', '\x20', '\x3d', '\x20', '\x4e', '\x6f', '\x64', '\x65', '\x3c', '\x54', '\x65', '\x73', '\x74', '\x47', '\x72', '\x6f', '\x75', '\x70', '\x53', '\x74', '\x61', '\x74', '\x73', '\x2c', '\x20', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x4e', '\x6f', '\x64', '\x65', '\x3e', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x75', '\x73', '\x69', '\x6e', '\x67', '\x20', '\x54', '\x65', '\x73', '\x74', '\x52', '\x75', '\x6e', '\x4e', '\x6f', '\x64', '\x65', '\x20', '\x3d', '\x20', '\x4e', '\x6f', '\x64', '\x65', '\x3c', '\x54', '\x65', '\x73', '\x74', '\x52', '\x75', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x73', '\x2c', '\x20', '\x54', '\x65', '\x73', '\x74', '\x47', '\x72', '\x6f', '\x75', '\x70', '\x4e', '\x6f', '\x64', '\x65', '\x3e', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x75', '\x6d', '\x75', '\x6c', '\x61', '\x74', '\x69', '\x76', '\x65', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x42', '\x61', '\x73', '\x65', '\x28', '\x20', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x5f', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x3a', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x28', '\x20', '\x5f', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x2e', '\x66', '\x75', '\x6c', '\x6c', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x28', '\x29', '\x20', '\x29', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x28', '\x20', '\x5f', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x2e', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x28', '\x29', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x72', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x50', '\x72', '\x65', '\x66', '\x73', '\x2e', '\x73', '\x68', '\x6f', '\x75', '\x6c', '\x64', '\x52', '\x65', '\x64', '\x69', '\x72', '\x65', '\x63', '\x74', '\x53', '\x74', '\x64', '\x4f', '\x75', '\x74', '\x20', '\x3d', '\x20', '\x66', '\x61', '\x6c', '\x73', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x21', '\x44', '\x65', '\x72', '\x69', '\x76', '\x65', '\x64', '\x54', '\x3a', '\x3a', '\x67', '\x65', '\x74', '\x53', '\x75', '\x70', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x64', '\x56', '\x65', '\x72', '\x62', '\x6f', '\x73', '\x69', '\x74', '\x69', '\x65', '\x73', '\x28', '\x29', '\x2e', '\x63', '\x6f', '\x75', '\x6e', '\x74', '\x28', '\x20', '\x6d', '\x5f', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x2d', '\x3e', '\x76', '\x65', '\x72', '\x62', '\x6f', '\x73', '\x69', '\x74', '\x79', '\x28', '\x29', '\x20', '\x29', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x45', '\x52', '\x52', '\x4f', '\x52', '\x28', '\x20', '\x22', '\x56', '\x65', '\x72', '\x62', '\x6f', '\x73', '\x69', '\x74', '\x79', '\x20', '\x6c', '\x65', '\x76', '\x65', '\x6c', '\x20', '\x6e', '\x6f', '\x74', '\x20', '\x73', '\x75', '\x70', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x64', '\x20', '\x62', '\x79', '\x20', '\x74', '\x68', '\x69', '\x73', '\x20', '\x72', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x22', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7e', '\x43', '\x75', '\x6d', '\x75', '\x6c', '\x61', '\x74', '\x69', '\x76', '\x65', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x42', '\x61', '\x73', '\x65', '\x28', '\x29', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x20', '\x3d', '\x20', '\x64', '\x65', '\x66', '\x61', '\x75', '\x6c', '\x74', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x50', '\x72', '\x65', '\x66', '\x65', '\x72', '\x65', '\x6e', '\x63', '\x65', '\x73', '\x20', '\x67', '\x65', '\x74', '\x50', '\x72', '\x65', '\x66', '\x65', '\x72', '\x65', '\x6e', '\x63', '\x65', '\x73', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6d', '\x5f', '\x72', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x50', '\x72', '\x65', '\x66', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x65', '\x74', '\x3c', '\x56', '\x65', '\x72', '\x62', '\x6f', '\x73', '\x69', '\x74', '\x79', '\x3e', '\x20', '\x67', '\x65', '\x74', '\x53', '\x75', '\x70', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x64', '\x56', '\x65', '\x72', '\x62', '\x6f', '\x73', '\x69', '\x74', '\x69', '\x65', '\x73', '\x28', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x7b', '\x20', '\x56', '\x65', '\x72', '\x62', '\x6f', '\x73', '\x69', '\x74', '\x79', '\x3a', '\x3a', '\x4e', '\x6f', '\x72', '\x6d', '\x61', '\x6c', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x74', '\x65', '\x73', '\x74', '\x52', '\x75', '\x6e', '\x53', '\x74', '\x61', '\x72', '\x74', '\x69', '\x6e', '\x67', '\x28', '\x20', '\x54', '\x65', '\x73', '\x74', '\x52', '\x75', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x29', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x20', '\x7b', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x74', '\x65', '\x73', '\x74', '\x47', '\x72', '\x6f', '\x75', '\x70', '\x53', '\x74', '\x61', '\x72', '\x74', '\x69', '\x6e', '\x67', '\x28', '\x20', '\x47', '\x72', '\x6f', '\x75', '\x70', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x29', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x20', '\x7b', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x53', '\x74', '\x61', '\x72', '\x74', '\x69', '\x6e', '\x67', '\x28', '\x20', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x29', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x20', '\x7b', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x53', '\x74', '\x61', '\x72', '\x74', '\x69', '\x6e', '\x67', '\x28', '\x20', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x29', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x73', '\x20', '\x69', '\x6e', '\x63', '\x6f', '\x6d', '\x70', '\x6c', '\x65', '\x74', '\x65', '\x53', '\x74', '\x61', '\x74', '\x73', '\x28', '\x20', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x2c', '\x20', '\x43', '\x6f', '\x75', '\x6e', '\x74', '\x73', '\x28', '\x29', '\x2c', '\x20', '\x30', '\x2c', '\x20', '\x66', '\x61', '\x6c', '\x73', '\x65', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x68', '\x61', '\x72', '\x65', '\x64', '\x5f', '\x70', '\x74', '\x72', '\x3c', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x4e', '\x6f', '\x64', '\x65', '\x3e', '\x20', '\x6e', '\x6f', '\x64', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x6d', '\x5f', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x53', '\x74', '\x61', '\x63', '\x6b', '\x2e', '\x65', '\x6d', '\x70', '\x74', '\x79', '\x28', '\x29', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x21', '\x6d', '\x5f', '\x72', '\x6f', '\x6f', '\x74', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x72', '\x6f', '\x6f', '\x74', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x3d', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6d', '\x61', '\x6b', '\x65', '\x5f', '\x73', '\x68', '\x61', '\x72', '\x65', '\x64', '\x3c', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x4e', '\x6f', '\x64', '\x65', '\x3e', '\x28', '\x20', '\x69', '\x6e', '\x63', '\x6f', '\x6d', '\x70', '\x6c', '\x65', '\x74', '\x65', '\x53', '\x74', '\x61', '\x74', '\x73', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6e', '\x6f', '\x64', '\x65', '\x20', '\x3d', '\x20', '\x6d', '\x5f', '\x72', '\x6f', '\x6f', '\x74', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x6c', '\x73', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x4e', '\x6f', '\x64', '\x65', '\x26', '\x20', '\x70', '\x61', '\x72', '\x65', '\x6e', '\x74', '\x4e', '\x6f', '\x64', '\x65', '\x20', '\x3d', '\x20', '\x2a', '\x6d', '\x5f', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x53', '\x74', '\x61', '\x63', '\x6b', '\x2e', '\x62', '\x61', '\x63', '\x6b', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x69', '\x74', '\x20', '\x3d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x66', '\x69', '\x6e', '\x64', '\x5f', '\x69', '\x66', '\x28', '\x20', '\x20', '\x20', '\x70', '\x61', '\x72', '\x65', '\x6e', '\x74', '\x4e', '\x6f', '\x64', '\x65', '\x2e', '\x63', '\x68', '\x69', '\x6c', '\x64', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x2e', '\x62', '\x65', '\x67', '\x69', '\x6e', '\x28', '\x29', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x61', '\x72', '\x65', '\x6e', '\x74', '\x4e', '\x6f', '\x64', '\x65', '\x2e', '\x63', '\x68', '\x69', '\x6c', '\x64', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x2e', '\x65', '\x6e', '\x64', '\x28', '\x29', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x42', '\x79', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x28', '\x20', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x29', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x69', '\x74', '\x20', '\x3d', '\x3d', '\x20', '\x70', '\x61', '\x72', '\x65', '\x6e', '\x74', '\x4e', '\x6f', '\x64', '\x65', '\x2e', '\x63', '\x68', '\x69', '\x6c', '\x64', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x2e', '\x65', '\x6e', '\x64', '\x28', '\x29', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6e', '\x6f', '\x64', '\x65', '\x20', '\x3d', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6d', '\x61', '\x6b', '\x65', '\x5f', '\x73', '\x68', '\x61', '\x72', '\x65', '\x64', '\x3c', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x4e', '\x6f', '\x64', '\x65', '\x3e', '\x28', '\x20', '\x69', '\x6e', '\x63', '\x6f', '\x6d', '\x70', '\x6c', '\x65', '\x74', '\x65', '\x53', '\x74', '\x61', '\x74', '\x73', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x61', '\x72', '\x65', '\x6e', '\x74', '\x4e', '\x6f', '\x64', '\x65', '\x2e', '\x63', '\x68', '\x69', '\x6c', '\x64', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x2e', '\x70', '\x75', '\x73', '\x68', '\x5f', '\x62', '\x61', '\x63', '\x6b', '\x28', '\x20', '\x6e', '\x6f', '\x64', '\x65', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x6c', '\x73', '\x65', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6e', '\x6f', '\x64', '\x65', '\x20', '\x3d', '\x20', '\x2a', '\x69', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x53', '\x74', '\x61', '\x63', '\x6b', '\x2e', '\x70', '\x75', '\x73', '\x68', '\x5f', '\x62', '\x61', '\x63', '\x6b', '\x28', '\x20', '\x6e', '\x6f', '\x64', '\x65', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x64', '\x65', '\x65', '\x70', '\x65', '\x73', '\x74', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x3d', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6d', '\x6f', '\x76', '\x65', '\x28', '\x6e', '\x6f', '\x64', '\x65', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x53', '\x74', '\x61', '\x72', '\x74', '\x69', '\x6e', '\x67', '\x28', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x29', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x20', '\x7b', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x45', '\x6e', '\x64', '\x65', '\x64', '\x28', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x73', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x73', '\x29', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x28', '\x21', '\x6d', '\x5f', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x53', '\x74', '\x61', '\x63', '\x6b', '\x2e', '\x65', '\x6d', '\x70', '\x74', '\x79', '\x28', '\x29', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x20', '\x68', '\x6f', '\x6c', '\x64', '\x73', '\x20', '\x61', '\x20', '\x70', '\x6f', '\x69', '\x6e', '\x74', '\x65', '\x72', '\x20', '\x74', '\x6f', '\x20', '\x61', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6f', '\x72', '\x61', '\x72', '\x79', '\x20', '\x44', '\x65', '\x63', '\x6f', '\x6d', '\x70', '\x6f', '\x73', '\x65', '\x64', '\x45', '\x78', '\x70', '\x72', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x77', '\x68', '\x69', '\x63', '\x68', '\x20', '\x67', '\x65', '\x74', '\x45', '\x78', '\x70', '\x61', '\x6e', '\x64', '\x65', '\x64', '\x45', '\x78', '\x70', '\x72', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x28', '\x29', '\x20', '\x63', '\x61', '\x6c', '\x6c', '\x73', '\x20', '\x74', '\x6f', '\x20', '\x62', '\x75', '\x69', '\x6c', '\x64', '\x20', '\x74', '\x68', '\x65', '\x20', '\x65', '\x78', '\x70', '\x72', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x20', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x2e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x4f', '\x75', '\x72', '\x20', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x73', '\x74', '\x61', '\x63', '\x6b', '\x20', '\x63', '\x6f', '\x70', '\x79', '\x20', '\x6f', '\x66', '\x20', '\x74', '\x68', '\x65', '\x20', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x20', '\x77', '\x69', '\x6c', '\x6c', '\x20', '\x6c', '\x69', '\x6b', '\x65', '\x6c', '\x79', '\x20', '\x6f', '\x75', '\x74', '\x6c', '\x69', '\x76', '\x65', '\x20', '\x74', '\x68', '\x65', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6f', '\x72', '\x61', '\x72', '\x79', '\x2c', '\x20', '\x73', '\x6f', '\x20', '\x69', '\x74', '\x20', '\x6d', '\x75', '\x73', '\x74', '\x20', '\x62', '\x65', '\x20', '\x65', '\x78', '\x70', '\x61', '\x6e', '\x64', '\x65', '\x64', '\x20', '\x6f', '\x72', '\x20', '\x64', '\x69', '\x73', '\x63', '\x61', '\x72', '\x64', '\x65', '\x64', '\x20', '\x6e', '\x6f', '\x77', '\x20', '\x74', '\x6f', '\x20', '\x61', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x63', '\x61', '\x6c', '\x6c', '\x69', '\x6e', '\x67', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x61', '\x20', '\x64', '\x65', '\x73', '\x74', '\x72', '\x6f', '\x79', '\x65', '\x64', '\x20', '\x6f', '\x62', '\x6a', '\x65', '\x63', '\x74', '\x20', '\x6c', '\x61', '\x74', '\x65', '\x72', '\x2e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x72', '\x65', '\x70', '\x61', '\x72', '\x65', '\x45', '\x78', '\x70', '\x61', '\x6e', '\x64', '\x65', '\x64', '\x45', '\x78', '\x70', '\x72', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x28', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x5f', '\x63', '\x61', '\x73', '\x74', '\x3c', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x26', '\x3e', '\x28', '\x20', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x73', '\x2e', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x20', '\x29', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x4e', '\x6f', '\x64', '\x65', '\x26', '\x20', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x4e', '\x6f', '\x64', '\x65', '\x20', '\x3d', '\x20', '\x2a', '\x6d', '\x5f', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x53', '\x74', '\x61', '\x63', '\x6b', '\x2e', '\x62', '\x61', '\x63', '\x6b', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x4e', '\x6f', '\x64', '\x65', '\x2e', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x2e', '\x70', '\x75', '\x73', '\x68', '\x5f', '\x62', '\x61', '\x63', '\x6b', '\x28', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x73', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x74', '\x72', '\x75', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x45', '\x6e', '\x64', '\x65', '\x64', '\x28', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x73', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x73', '\x29', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x28', '\x21', '\x6d', '\x5f', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x53', '\x74', '\x61', '\x63', '\x6b', '\x2e', '\x65', '\x6d', '\x70', '\x74', '\x79', '\x28', '\x29', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x4e', '\x6f', '\x64', '\x65', '\x26', '\x20', '\x6e', '\x6f', '\x64', '\x65', '\x20', '\x3d', '\x20', '\x2a', '\x6d', '\x5f', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x53', '\x74', '\x61', '\x63', '\x6b', '\x2e', '\x62', '\x61', '\x63', '\x6b', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6e', '\x6f', '\x64', '\x65', '\x2e', '\x73', '\x74', '\x61', '\x74', '\x73', '\x20', '\x3d', '\x20', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x53', '\x74', '\x61', '\x63', '\x6b', '\x2e', '\x70', '\x6f', '\x70', '\x5f', '\x62', '\x61', '\x63', '\x6b', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x45', '\x6e', '\x64', '\x65', '\x64', '\x28', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x53', '\x74', '\x61', '\x74', '\x73', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x53', '\x74', '\x61', '\x74', '\x73', '\x29', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x6e', '\x6f', '\x64', '\x65', '\x20', '\x3d', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6d', '\x61', '\x6b', '\x65', '\x5f', '\x73', '\x68', '\x61', '\x72', '\x65', '\x64', '\x3c', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x4e', '\x6f', '\x64', '\x65', '\x3e', '\x28', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x53', '\x74', '\x61', '\x74', '\x73', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x28', '\x6d', '\x5f', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x53', '\x74', '\x61', '\x63', '\x6b', '\x2e', '\x73', '\x69', '\x7a', '\x65', '\x28', '\x29', '\x20', '\x3d', '\x3d', '\x20', '\x30', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6e', '\x6f', '\x64', '\x65', '\x2d', '\x3e', '\x63', '\x68', '\x69', '\x6c', '\x64', '\x72', '\x65', '\x6e', '\x2e', '\x70', '\x75', '\x73', '\x68', '\x5f', '\x62', '\x61', '\x63', '\x6b', '\x28', '\x6d', '\x5f', '\x72', '\x6f', '\x6f', '\x74', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x73', '\x2e', '\x70', '\x75', '\x73', '\x68', '\x5f', '\x62', '\x61', '\x63', '\x6b', '\x28', '\x6e', '\x6f', '\x64', '\x65', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x72', '\x6f', '\x6f', '\x74', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x2e', '\x72', '\x65', '\x73', '\x65', '\x74', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x28', '\x6d', '\x5f', '\x64', '\x65', '\x65', '\x70', '\x65', '\x73', '\x74', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x64', '\x65', '\x65', '\x70', '\x65', '\x73', '\x74', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x2d', '\x3e', '\x73', '\x74', '\x64', '\x4f', '\x75', '\x74', '\x20', '\x3d', '\x20', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x53', '\x74', '\x61', '\x74', '\x73', '\x2e', '\x73', '\x74', '\x64', '\x4f', '\x75', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x64', '\x65', '\x65', '\x70', '\x65', '\x73', '\x74', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x2d', '\x3e', '\x73', '\x74', '\x64', '\x45', '\x72', '\x72', '\x20', '\x3d', '\x20', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x53', '\x74', '\x61', '\x74', '\x73', '\x2e', '\x73', '\x74', '\x64', '\x45', '\x72', '\x72', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x74', '\x65', '\x73', '\x74', '\x47', '\x72', '\x6f', '\x75', '\x70', '\x45', '\x6e', '\x64', '\x65', '\x64', '\x28', '\x54', '\x65', '\x73', '\x74', '\x47', '\x72', '\x6f', '\x75', '\x70', '\x53', '\x74', '\x61', '\x74', '\x73', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x74', '\x65', '\x73', '\x74', '\x47', '\x72', '\x6f', '\x75', '\x70', '\x53', '\x74', '\x61', '\x74', '\x73', '\x29', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x6e', '\x6f', '\x64', '\x65', '\x20', '\x3d', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6d', '\x61', '\x6b', '\x65', '\x5f', '\x73', '\x68', '\x61', '\x72', '\x65', '\x64', '\x3c', '\x54', '\x65', '\x73', '\x74', '\x47', '\x72', '\x6f', '\x75', '\x70', '\x4e', '\x6f', '\x64', '\x65', '\x3e', '\x28', '\x74', '\x65', '\x73', '\x74', '\x47', '\x72', '\x6f', '\x75', '\x70', '\x53', '\x74', '\x61', '\x74', '\x73', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6e', '\x6f', '\x64', '\x65', '\x2d', '\x3e', '\x63', '\x68', '\x69', '\x6c', '\x64', '\x72', '\x65', '\x6e', '\x2e', '\x73', '\x77', '\x61', '\x70', '\x28', '\x6d', '\x5f', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x73', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x74', '\x65', '\x73', '\x74', '\x47', '\x72', '\x6f', '\x75', '\x70', '\x73', '\x2e', '\x70', '\x75', '\x73', '\x68', '\x5f', '\x62', '\x61', '\x63', '\x6b', '\x28', '\x6e', '\x6f', '\x64', '\x65', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x74', '\x65', '\x73', '\x74', '\x52', '\x75', '\x6e', '\x45', '\x6e', '\x64', '\x65', '\x64', '\x28', '\x54', '\x65', '\x73', '\x74', '\x52', '\x75', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x73', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x74', '\x65', '\x73', '\x74', '\x52', '\x75', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x73', '\x29', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x6e', '\x6f', '\x64', '\x65', '\x20', '\x3d', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6d', '\x61', '\x6b', '\x65', '\x5f', '\x73', '\x68', '\x61', '\x72', '\x65', '\x64', '\x3c', '\x54', '\x65', '\x73', '\x74', '\x52', '\x75', '\x6e', '\x4e', '\x6f', '\x64', '\x65', '\x3e', '\x28', '\x74', '\x65', '\x73', '\x74', '\x52', '\x75', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x73', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6e', '\x6f', '\x64', '\x65', '\x2d', '\x3e', '\x63', '\x68', '\x69', '\x6c', '\x64', '\x72', '\x65', '\x6e', '\x2e', '\x73', '\x77', '\x61', '\x70', '\x28', '\x6d', '\x5f', '\x74', '\x65', '\x73', '\x74', '\x47', '\x72', '\x6f', '\x75', '\x70', '\x73', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x74', '\x65', '\x73', '\x74', '\x52', '\x75', '\x6e', '\x73', '\x2e', '\x70', '\x75', '\x73', '\x68', '\x5f', '\x62', '\x61', '\x63', '\x6b', '\x28', '\x6e', '\x6f', '\x64', '\x65', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x73', '\x74', '\x52', '\x75', '\x6e', '\x45', '\x6e', '\x64', '\x65', '\x64', '\x43', '\x75', '\x6d', '\x75', '\x6c', '\x61', '\x74', '\x69', '\x76', '\x65', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x69', '\x72', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x74', '\x65', '\x73', '\x74', '\x52', '\x75', '\x6e', '\x45', '\x6e', '\x64', '\x65', '\x64', '\x43', '\x75', '\x6d', '\x75', '\x6c', '\x61', '\x74', '\x69', '\x76', '\x65', '\x28', '\x29', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x73', '\x6b', '\x69', '\x70', '\x54', '\x65', '\x73', '\x74', '\x28', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x29', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x20', '\x7b', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x49', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x50', '\x74', '\x72', '\x20', '\x6d', '\x5f', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6f', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x26', '\x20', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x73', '\x3e', '\x20', '\x6d', '\x5f', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x68', '\x61', '\x72', '\x65', '\x64', '\x5f', '\x70', '\x74', '\x72', '\x3c', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x4e', '\x6f', '\x64', '\x65', '\x3e', '\x3e', '\x3e', '\x20', '\x6d', '\x5f', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x68', '\x61', '\x72', '\x65', '\x64', '\x5f', '\x70', '\x74', '\x72', '\x3c', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x4e', '\x6f', '\x64', '\x65', '\x3e', '\x3e', '\x20', '\x6d', '\x5f', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x68', '\x61', '\x72', '\x65', '\x64', '\x5f', '\x70', '\x74', '\x72', '\x3c', '\x54', '\x65', '\x73', '\x74', '\x47', '\x72', '\x6f', '\x75', '\x70', '\x4e', '\x6f', '\x64', '\x65', '\x3e', '\x3e', '\x20', '\x6d', '\x5f', '\x74', '\x65', '\x73', '\x74', '\x47', '\x72', '\x6f', '\x75', '\x70', '\x73', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x68', '\x61', '\x72', '\x65', '\x64', '\x5f', '\x70', '\x74', '\x72', '\x3c', '\x54', '\x65', '\x73', '\x74', '\x52', '\x75', '\x6e', '\x4e', '\x6f', '\x64', '\x65', '\x3e', '\x3e', '\x20', '\x6d', '\x5f', '\x74', '\x65', '\x73', '\x74', '\x52', '\x75', '\x6e', '\x73', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x68', '\x61', '\x72', '\x65', '\x64', '\x5f', '\x70', '\x74', '\x72', '\x3c', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x4e', '\x6f', '\x64', '\x65', '\x3e', '\x20', '\x6d', '\x5f', '\x72', '\x6f', '\x6f', '\x74', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x68', '\x61', '\x72', '\x65', '\x64', '\x5f', '\x70', '\x74', '\x72', '\x3c', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x4e', '\x6f', '\x64', '\x65', '\x3e', '\x20', '\x6d', '\x5f', '\x64', '\x65', '\x65', '\x70', '\x65', '\x73', '\x74', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x68', '\x61', '\x72', '\x65', '\x64', '\x5f', '\x70', '\x74', '\x72', '\x3c', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x4e', '\x6f', '\x64', '\x65', '\x3e', '\x3e', '\x20', '\x6d', '\x5f', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x53', '\x74', '\x61', '\x63', '\x6b', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x50', '\x72', '\x65', '\x66', '\x65', '\x72', '\x65', '\x6e', '\x63', '\x65', '\x73', '\x20', '\x6d', '\x5f', '\x72', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x50', '\x72', '\x65', '\x66', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x63', '\x68', '\x61', '\x72', '\x20', '\x43', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x63', '\x68', '\x61', '\x72', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x2a', '\x20', '\x67', '\x65', '\x74', '\x4c', '\x69', '\x6e', '\x65', '\x4f', '\x66', '\x43', '\x68', '\x61', '\x72', '\x73', '\x28', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x20', '\x63', '\x68', '\x61', '\x72', '\x20', '\x6c', '\x69', '\x6e', '\x65', '\x5b', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x43', '\x4f', '\x4e', '\x53', '\x4f', '\x4c', '\x45', '\x5f', '\x57', '\x49', '\x44', '\x54', '\x48', '\x5d', '\x20', '\x3d', '\x20', '\x7b', '\x30', '\x7d', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x21', '\x2a', '\x6c', '\x69', '\x6e', '\x65', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6d', '\x65', '\x6d', '\x73', '\x65', '\x74', '\x28', '\x20', '\x6c', '\x69', '\x6e', '\x65', '\x2c', '\x20', '\x43', '\x2c', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x43', '\x4f', '\x4e', '\x53', '\x4f', '\x4c', '\x45', '\x5f', '\x57', '\x49', '\x44', '\x54', '\x48', '\x2d', '\x31', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6c', '\x69', '\x6e', '\x65', '\x5b', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x43', '\x4f', '\x4e', '\x53', '\x4f', '\x4c', '\x45', '\x5f', '\x57', '\x49', '\x44', '\x54', '\x48', '\x2d', '\x31', '\x5d', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6c', '\x69', '\x6e', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x54', '\x65', '\x73', '\x74', '\x45', '\x76', '\x65', '\x6e', '\x74', '\x4c', '\x69', '\x73', '\x74', '\x65', '\x6e', '\x65', '\x72', '\x42', '\x61', '\x73', '\x65', '\x20', '\x3a', '\x20', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x42', '\x61', '\x73', '\x65', '\x3c', '\x54', '\x65', '\x73', '\x74', '\x45', '\x76', '\x65', '\x6e', '\x74', '\x4c', '\x69', '\x73', '\x74', '\x65', '\x6e', '\x65', '\x72', '\x42', '\x61', '\x73', '\x65', '\x3e', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x54', '\x65', '\x73', '\x74', '\x45', '\x76', '\x65', '\x6e', '\x74', '\x4c', '\x69', '\x73', '\x74', '\x65', '\x6e', '\x65', '\x72', '\x42', '\x61', '\x73', '\x65', '\x28', '\x20', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x5f', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x65', '\x74', '\x3c', '\x56', '\x65', '\x72', '\x62', '\x6f', '\x73', '\x69', '\x74', '\x79', '\x3e', '\x20', '\x67', '\x65', '\x74', '\x53', '\x75', '\x70', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x64', '\x56', '\x65', '\x72', '\x62', '\x6f', '\x73', '\x69', '\x74', '\x69', '\x65', '\x73', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x53', '\x74', '\x61', '\x72', '\x74', '\x69', '\x6e', '\x67', '\x28', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x29', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x45', '\x6e', '\x64', '\x65', '\x64', '\x28', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x73', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x29', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x72', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x5f', '\x62', '\x61', '\x73', '\x65', '\x73', '\x2e', '\x68', '\x70', '\x70', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x63', '\x6f', '\x6e', '\x73', '\x6f', '\x6c', '\x65', '\x5f', '\x63', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x2e', '\x68', '\x0d', '\x0a', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x6e', '\x75', '\x6d', '\x20', '\x43', '\x6f', '\x64', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x4e', '\x6f', '\x6e', '\x65', '\x20', '\x3d', '\x20', '\x30', '\x2c', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x57', '\x68', '\x69', '\x74', '\x65', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x52', '\x65', '\x64', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x47', '\x72', '\x65', '\x65', '\x6e', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x42', '\x6c', '\x75', '\x65', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x79', '\x61', '\x6e', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x59', '\x65', '\x6c', '\x6c', '\x6f', '\x77', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x47', '\x72', '\x65', '\x79', '\x2c', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x42', '\x72', '\x69', '\x67', '\x68', '\x74', '\x20', '\x3d', '\x20', '\x30', '\x78', '\x31', '\x30', '\x2c', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x42', '\x72', '\x69', '\x67', '\x68', '\x74', '\x52', '\x65', '\x64', '\x20', '\x3d', '\x20', '\x42', '\x72', '\x69', '\x67', '\x68', '\x74', '\x20', '\x7c', '\x20', '\x52', '\x65', '\x64', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x42', '\x72', '\x69', '\x67', '\x68', '\x74', '\x47', '\x72', '\x65', '\x65', '\x6e', '\x20', '\x3d', '\x20', '\x42', '\x72', '\x69', '\x67', '\x68', '\x74', '\x20', '\x7c', '\x20', '\x47', '\x72', '\x65', '\x65', '\x6e', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x4c', '\x69', '\x67', '\x68', '\x74', '\x47', '\x72', '\x65', '\x79', '\x20', '\x3d', '\x20', '\x42', '\x72', '\x69', '\x67', '\x68', '\x74', '\x20', '\x7c', '\x20', '\x47', '\x72', '\x65', '\x79', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x42', '\x72', '\x69', '\x67', '\x68', '\x74', '\x57', '\x68', '\x69', '\x74', '\x65', '\x20', '\x3d', '\x20', '\x42', '\x72', '\x69', '\x67', '\x68', '\x74', '\x20', '\x7c', '\x20', '\x57', '\x68', '\x69', '\x74', '\x65', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x42', '\x72', '\x69', '\x67', '\x68', '\x74', '\x59', '\x65', '\x6c', '\x6c', '\x6f', '\x77', '\x20', '\x3d', '\x20', '\x42', '\x72', '\x69', '\x67', '\x68', '\x74', '\x20', '\x7c', '\x20', '\x59', '\x65', '\x6c', '\x6c', '\x6f', '\x77', '\x2c', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x42', '\x79', '\x20', '\x69', '\x6e', '\x74', '\x65', '\x6e', '\x74', '\x69', '\x6f', '\x6e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x46', '\x69', '\x6c', '\x65', '\x4e', '\x61', '\x6d', '\x65', '\x20', '\x3d', '\x20', '\x4c', '\x69', '\x67', '\x68', '\x74', '\x47', '\x72', '\x65', '\x79', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x57', '\x61', '\x72', '\x6e', '\x69', '\x6e', '\x67', '\x20', '\x3d', '\x20', '\x42', '\x72', '\x69', '\x67', '\x68', '\x74', '\x59', '\x65', '\x6c', '\x6c', '\x6f', '\x77', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x45', '\x72', '\x72', '\x6f', '\x72', '\x20', '\x3d', '\x20', '\x42', '\x72', '\x69', '\x67', '\x68', '\x74', '\x52', '\x65', '\x64', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x53', '\x75', '\x63', '\x63', '\x65', '\x73', '\x73', '\x20', '\x3d', '\x20', '\x42', '\x72', '\x69', '\x67', '\x68', '\x74', '\x47', '\x72', '\x65', '\x65', '\x6e', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x45', '\x78', '\x70', '\x65', '\x63', '\x74', '\x65', '\x64', '\x46', '\x61', '\x69', '\x6c', '\x75', '\x72', '\x65', '\x20', '\x3d', '\x20', '\x57', '\x61', '\x72', '\x6e', '\x69', '\x6e', '\x67', '\x2c', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x45', '\x72', '\x72', '\x6f', '\x72', '\x20', '\x3d', '\x20', '\x42', '\x72', '\x69', '\x67', '\x68', '\x74', '\x52', '\x65', '\x64', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x53', '\x75', '\x63', '\x63', '\x65', '\x73', '\x73', '\x20', '\x3d', '\x20', '\x47', '\x72', '\x65', '\x65', '\x6e', '\x2c', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x4f', '\x72', '\x69', '\x67', '\x69', '\x6e', '\x61', '\x6c', '\x45', '\x78', '\x70', '\x72', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x20', '\x3d', '\x20', '\x43', '\x79', '\x61', '\x6e', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x52', '\x65', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x65', '\x64', '\x45', '\x78', '\x70', '\x72', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x20', '\x3d', '\x20', '\x42', '\x72', '\x69', '\x67', '\x68', '\x74', '\x59', '\x65', '\x6c', '\x6c', '\x6f', '\x77', '\x2c', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x53', '\x65', '\x63', '\x6f', '\x6e', '\x64', '\x61', '\x72', '\x79', '\x54', '\x65', '\x78', '\x74', '\x20', '\x3d', '\x20', '\x4c', '\x69', '\x67', '\x68', '\x74', '\x47', '\x72', '\x65', '\x79', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x48', '\x65', '\x61', '\x64', '\x65', '\x72', '\x73', '\x20', '\x3d', '\x20', '\x57', '\x68', '\x69', '\x74', '\x65', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x55', '\x73', '\x65', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x65', '\x64', '\x20', '\x6f', '\x62', '\x6a', '\x65', '\x63', '\x74', '\x20', '\x66', '\x6f', '\x72', '\x20', '\x52', '\x41', '\x49', '\x49', '\x20', '\x67', '\x75', '\x61', '\x72', '\x64', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x28', '\x20', '\x43', '\x6f', '\x64', '\x65', '\x20', '\x5f', '\x63', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x43', '\x6f', '\x64', '\x65', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x28', '\x20', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x26', '\x26', '\x20', '\x6f', '\x74', '\x68', '\x65', '\x72', '\x20', '\x29', '\x20', '\x6e', '\x6f', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x26', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x3d', '\x28', '\x20', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x26', '\x26', '\x20', '\x6f', '\x74', '\x68', '\x65', '\x72', '\x20', '\x29', '\x20', '\x6e', '\x6f', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7e', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x55', '\x73', '\x65', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x20', '\x6d', '\x65', '\x74', '\x68', '\x6f', '\x64', '\x20', '\x66', '\x6f', '\x72', '\x20', '\x6f', '\x6e', '\x65', '\x2d', '\x73', '\x68', '\x6f', '\x74', '\x20', '\x63', '\x68', '\x61', '\x6e', '\x67', '\x65', '\x73', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x75', '\x73', '\x65', '\x28', '\x20', '\x43', '\x6f', '\x64', '\x65', '\x20', '\x5f', '\x63', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x43', '\x6f', '\x64', '\x65', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x70', '\x72', '\x69', '\x76', '\x61', '\x74', '\x65', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x6d', '\x5f', '\x6d', '\x6f', '\x76', '\x65', '\x64', '\x20', '\x3d', '\x20', '\x66', '\x61', '\x6c', '\x73', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6f', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x26', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x3c', '\x3c', '\x20', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6f', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x26', '\x20', '\x6f', '\x73', '\x2c', '\x20', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x63', '\x6f', '\x6e', '\x73', '\x6f', '\x6c', '\x65', '\x5f', '\x63', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x2e', '\x68', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x72', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x5f', '\x72', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x61', '\x72', '\x73', '\x2e', '\x68', '\x70', '\x70', '\x0d', '\x0a', '\x0d', '\x0a', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x54', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x20', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x61', '\x72', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x20', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x46', '\x61', '\x63', '\x74', '\x6f', '\x72', '\x79', '\x20', '\x3a', '\x20', '\x70', '\x75', '\x62', '\x6c', '\x69', '\x63', '\x20', '\x49', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x46', '\x61', '\x63', '\x74', '\x6f', '\x72', '\x79', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x49', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x50', '\x74', '\x72', '\x20', '\x63', '\x72', '\x65', '\x61', '\x74', '\x65', '\x28', '\x20', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x20', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x75', '\x6e', '\x69', '\x71', '\x75', '\x65', '\x5f', '\x70', '\x74', '\x72', '\x3c', '\x54', '\x3e', '\x28', '\x20', '\x6e', '\x65', '\x77', '\x20', '\x54', '\x28', '\x20', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x20', '\x29', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x67', '\x65', '\x74', '\x44', '\x65', '\x73', '\x63', '\x72', '\x69', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x54', '\x3a', '\x3a', '\x67', '\x65', '\x74', '\x44', '\x65', '\x73', '\x63', '\x72', '\x69', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x70', '\x75', '\x62', '\x6c', '\x69', '\x63', '\x3a', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x78', '\x70', '\x6c', '\x69', '\x63', '\x69', '\x74', '\x20', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x61', '\x72', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x67', '\x65', '\x74', '\x4d', '\x75', '\x74', '\x61', '\x62', '\x6c', '\x65', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x48', '\x75', '\x62', '\x28', '\x29', '\x2e', '\x72', '\x65', '\x67', '\x69', '\x73', '\x74', '\x65', '\x72', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x28', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6d', '\x61', '\x6b', '\x65', '\x5f', '\x73', '\x68', '\x61', '\x72', '\x65', '\x64', '\x3c', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x46', '\x61', '\x63', '\x74', '\x6f', '\x72', '\x79', '\x3e', '\x28', '\x29', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x54', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x20', '\x4c', '\x69', '\x73', '\x74', '\x65', '\x6e', '\x65', '\x72', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x61', '\x72', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x20', '\x4c', '\x69', '\x73', '\x74', '\x65', '\x6e', '\x65', '\x72', '\x46', '\x61', '\x63', '\x74', '\x6f', '\x72', '\x79', '\x20', '\x3a', '\x20', '\x70', '\x75', '\x62', '\x6c', '\x69', '\x63', '\x20', '\x49', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x46', '\x61', '\x63', '\x74', '\x6f', '\x72', '\x79', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x49', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x50', '\x74', '\x72', '\x20', '\x63', '\x72', '\x65', '\x61', '\x74', '\x65', '\x28', '\x20', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x20', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x75', '\x6e', '\x69', '\x71', '\x75', '\x65', '\x5f', '\x70', '\x74', '\x72', '\x3c', '\x54', '\x3e', '\x28', '\x20', '\x6e', '\x65', '\x77', '\x20', '\x54', '\x28', '\x20', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x20', '\x29', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x67', '\x65', '\x74', '\x44', '\x65', '\x73', '\x63', '\x72', '\x69', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x70', '\x75', '\x62', '\x6c', '\x69', '\x63', '\x3a', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x4c', '\x69', '\x73', '\x74', '\x65', '\x6e', '\x65', '\x72', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x61', '\x72', '\x28', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x67', '\x65', '\x74', '\x4d', '\x75', '\x74', '\x61', '\x62', '\x6c', '\x65', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x48', '\x75', '\x62', '\x28', '\x29', '\x2e', '\x72', '\x65', '\x67', '\x69', '\x73', '\x74', '\x65', '\x72', '\x4c', '\x69', '\x73', '\x74', '\x65', '\x6e', '\x65', '\x72', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6d', '\x61', '\x6b', '\x65', '\x5f', '\x73', '\x68', '\x61', '\x72', '\x65', '\x64', '\x3c', '\x4c', '\x69', '\x73', '\x74', '\x65', '\x6e', '\x65', '\x72', '\x46', '\x61', '\x63', '\x74', '\x6f', '\x72', '\x79', '\x3e', '\x28', '\x29', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x20', '\x21', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x44', '\x49', '\x53', '\x41', '\x42', '\x4c', '\x45', '\x29', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x47', '\x49', '\x53', '\x54', '\x45', '\x52', '\x5f', '\x52', '\x45', '\x50', '\x4f', '\x52', '\x54', '\x45', '\x52', '\x28', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x72', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x54', '\x79', '\x70', '\x65', '\x20', '\x29', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x53', '\x55', '\x50', '\x50', '\x52', '\x45', '\x53', '\x53', '\x5f', '\x47', '\x4c', '\x4f', '\x42', '\x41', '\x4c', '\x53', '\x5f', '\x57', '\x41', '\x52', '\x4e', '\x49', '\x4e', '\x47', '\x53', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x7b', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x61', '\x72', '\x3c', '\x72', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x54', '\x79', '\x70', '\x65', '\x3e', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x69', '\x6e', '\x74', '\x65', '\x72', '\x6e', '\x61', '\x6c', '\x5f', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x61', '\x72', '\x46', '\x6f', '\x72', '\x23', '\x23', '\x72', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x54', '\x79', '\x70', '\x65', '\x28', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x29', '\x3b', '\x20', '\x7d', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x55', '\x4e', '\x53', '\x55', '\x50', '\x50', '\x52', '\x45', '\x53', '\x53', '\x5f', '\x47', '\x4c', '\x4f', '\x42', '\x41', '\x4c', '\x53', '\x5f', '\x57', '\x41', '\x52', '\x4e', '\x49', '\x4e', '\x47', '\x53', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x47', '\x49', '\x53', '\x54', '\x45', '\x52', '\x5f', '\x4c', '\x49', '\x53', '\x54', '\x45', '\x4e', '\x45', '\x52', '\x28', '\x20', '\x6c', '\x69', '\x73', '\x74', '\x65', '\x6e', '\x65', '\x72', '\x54', '\x79', '\x70', '\x65', '\x20', '\x29', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x53', '\x55', '\x50', '\x50', '\x52', '\x45', '\x53', '\x53', '\x5f', '\x47', '\x4c', '\x4f', '\x42', '\x41', '\x4c', '\x53', '\x5f', '\x57', '\x41', '\x52', '\x4e', '\x49', '\x4e', '\x47', '\x53', '\x20', '\x20', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x7b', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x4c', '\x69', '\x73', '\x74', '\x65', '\x6e', '\x65', '\x72', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x61', '\x72', '\x3c', '\x6c', '\x69', '\x73', '\x74', '\x65', '\x6e', '\x65', '\x72', '\x54', '\x79', '\x70', '\x65', '\x3e', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x69', '\x6e', '\x74', '\x65', '\x72', '\x6e', '\x61', '\x6c', '\x5f', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x61', '\x72', '\x46', '\x6f', '\x72', '\x23', '\x23', '\x6c', '\x69', '\x73', '\x74', '\x65', '\x6e', '\x65', '\x72', '\x54', '\x79', '\x70', '\x65', '\x3b', '\x20', '\x7d', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x55', '\x4e', '\x53', '\x55', '\x50', '\x50', '\x52', '\x45', '\x53', '\x53', '\x5f', '\x47', '\x4c', '\x4f', '\x42', '\x41', '\x4c', '\x53', '\x5f', '\x57', '\x41', '\x52', '\x4e', '\x49', '\x4e', '\x47', '\x53', '\x0d', '\x0a', '\x23', '\x65', '\x6c', '\x73', '\x65', '\x20', '\x2f', '\x2f', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x44', '\x49', '\x53', '\x41', '\x42', '\x4c', '\x45', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x47', '\x49', '\x53', '\x54', '\x45', '\x52', '\x5f', '\x52', '\x45', '\x50', '\x4f', '\x52', '\x54', '\x45', '\x52', '\x28', '\x6e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x72', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x54', '\x79', '\x70', '\x65', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x47', '\x49', '\x53', '\x54', '\x45', '\x52', '\x5f', '\x4c', '\x49', '\x53', '\x54', '\x45', '\x4e', '\x45', '\x52', '\x28', '\x6c', '\x69', '\x73', '\x74', '\x65', '\x6e', '\x65', '\x72', '\x54', '\x79', '\x70', '\x65', '\x29', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x20', '\x2f', '\x2f', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x44', '\x49', '\x53', '\x41', '\x42', '\x4c', '\x45', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x72', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x5f', '\x72', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x61', '\x72', '\x73', '\x2e', '\x68', '\x70', '\x70', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x41', '\x6c', '\x6c', '\x6f', '\x77', '\x20', '\x75', '\x73', '\x65', '\x72', '\x73', '\x20', '\x74', '\x6f', '\x20', '\x62', '\x61', '\x73', '\x65', '\x20', '\x74', '\x68', '\x65', '\x69', '\x72', '\x20', '\x77', '\x6f', '\x72', '\x6b', '\x20', '\x6f', '\x66', '\x66', '\x20', '\x65', '\x78', '\x69', '\x73', '\x74', '\x69', '\x6e', '\x67', '\x20', '\x72', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x73', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x72', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x5f', '\x63', '\x6f', '\x6d', '\x70', '\x61', '\x63', '\x74', '\x2e', '\x68', '\x0d', '\x0a', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x43', '\x6f', '\x6d', '\x70', '\x61', '\x63', '\x74', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x20', '\x3a', '\x20', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x42', '\x61', '\x73', '\x65', '\x3c', '\x43', '\x6f', '\x6d', '\x70', '\x61', '\x63', '\x74', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x3e', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x75', '\x73', '\x69', '\x6e', '\x67', '\x20', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x42', '\x61', '\x73', '\x65', '\x3a', '\x3a', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x42', '\x61', '\x73', '\x65', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7e', '\x43', '\x6f', '\x6d', '\x70', '\x61', '\x63', '\x74', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x28', '\x29', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x67', '\x65', '\x74', '\x44', '\x65', '\x73', '\x63', '\x72', '\x69', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x50', '\x72', '\x65', '\x66', '\x65', '\x72', '\x65', '\x6e', '\x63', '\x65', '\x73', '\x20', '\x67', '\x65', '\x74', '\x50', '\x72', '\x65', '\x66', '\x65', '\x72', '\x65', '\x6e', '\x63', '\x65', '\x73', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x6e', '\x6f', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x69', '\x6e', '\x67', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x73', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x73', '\x70', '\x65', '\x63', '\x29', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x53', '\x74', '\x61', '\x72', '\x74', '\x69', '\x6e', '\x67', '\x28', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x29', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x45', '\x6e', '\x64', '\x65', '\x64', '\x28', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x73', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x5f', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x73', '\x29', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x45', '\x6e', '\x64', '\x65', '\x64', '\x28', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x73', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x5f', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x73', '\x29', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x74', '\x65', '\x73', '\x74', '\x52', '\x75', '\x6e', '\x45', '\x6e', '\x64', '\x65', '\x64', '\x28', '\x54', '\x65', '\x73', '\x74', '\x52', '\x75', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x73', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x5f', '\x74', '\x65', '\x73', '\x74', '\x52', '\x75', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x73', '\x29', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x72', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x5f', '\x63', '\x6f', '\x6d', '\x70', '\x61', '\x63', '\x74', '\x2e', '\x68', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x72', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x5f', '\x63', '\x6f', '\x6e', '\x73', '\x6f', '\x6c', '\x65', '\x2e', '\x68', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x5f', '\x4d', '\x53', '\x43', '\x5f', '\x56', '\x45', '\x52', '\x29', '\x0d', '\x0a', '\x23', '\x70', '\x72', '\x61', '\x67', '\x6d', '\x61', '\x20', '\x77', '\x61', '\x72', '\x6e', '\x69', '\x6e', '\x67', '\x28', '\x70', '\x75', '\x73', '\x68', '\x29', '\x0d', '\x0a', '\x23', '\x70', '\x72', '\x61', '\x67', '\x6d', '\x61', '\x20', '\x77', '\x61', '\x72', '\x6e', '\x69', '\x6e', '\x67', '\x28', '\x64', '\x69', '\x73', '\x61', '\x62', '\x6c', '\x65', '\x3a', '\x34', '\x30', '\x36', '\x31', '\x29', '\x20', '\x2f', '\x2f', '\x20', '\x4e', '\x6f', '\x74', '\x20', '\x61', '\x6c', '\x6c', '\x20', '\x6c', '\x61', '\x62', '\x65', '\x6c', '\x73', '\x20', '\x61', '\x72', '\x65', '\x20', '\x45', '\x58', '\x50', '\x4c', '\x49', '\x43', '\x49', '\x54', '\x4c', '\x59', '\x20', '\x68', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x64', '\x20', '\x69', '\x6e', '\x20', '\x73', '\x77', '\x69', '\x74', '\x63', '\x68', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x4e', '\x6f', '\x74', '\x65', '\x20', '\x74', '\x68', '\x61', '\x74', '\x20', '\x34', '\x30', '\x36', '\x32', '\x20', '\x28', '\x6e', '\x6f', '\x74', '\x20', '\x61', '\x6c', '\x6c', '\x20', '\x6c', '\x61', '\x62', '\x65', '\x6c', '\x73', '\x20', '\x61', '\x72', '\x65', '\x20', '\x68', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x64', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x61', '\x6e', '\x64', '\x20', '\x64', '\x65', '\x66', '\x61', '\x75', '\x6c', '\x74', '\x20', '\x69', '\x73', '\x20', '\x6d', '\x69', '\x73', '\x73', '\x69', '\x6e', '\x67', '\x29', '\x20', '\x69', '\x73', '\x20', '\x65', '\x6e', '\x61', '\x62', '\x6c', '\x65', '\x64', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x46', '\x77', '\x64', '\x20', '\x64', '\x65', '\x63', '\x6c', '\x73', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x53', '\x75', '\x6d', '\x6d', '\x61', '\x72', '\x79', '\x43', '\x6f', '\x6c', '\x75', '\x6d', '\x6e', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x20', '\x54', '\x61', '\x62', '\x6c', '\x65', '\x50', '\x72', '\x69', '\x6e', '\x74', '\x65', '\x72', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x43', '\x6f', '\x6e', '\x73', '\x6f', '\x6c', '\x65', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x20', '\x3a', '\x20', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x42', '\x61', '\x73', '\x65', '\x3c', '\x43', '\x6f', '\x6e', '\x73', '\x6f', '\x6c', '\x65', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x3e', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x75', '\x6e', '\x69', '\x71', '\x75', '\x65', '\x5f', '\x70', '\x74', '\x72', '\x3c', '\x54', '\x61', '\x62', '\x6c', '\x65', '\x50', '\x72', '\x69', '\x6e', '\x74', '\x65', '\x72', '\x3e', '\x20', '\x6d', '\x5f', '\x74', '\x61', '\x62', '\x6c', '\x65', '\x50', '\x72', '\x69', '\x6e', '\x74', '\x65', '\x72', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x6f', '\x6e', '\x73', '\x6f', '\x6c', '\x65', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x28', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7e', '\x43', '\x6f', '\x6e', '\x73', '\x6f', '\x6c', '\x65', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x28', '\x29', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x67', '\x65', '\x74', '\x44', '\x65', '\x73', '\x63', '\x72', '\x69', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x6e', '\x6f', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x69', '\x6e', '\x67', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x73', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x73', '\x70', '\x65', '\x63', '\x29', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x72', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x49', '\x6e', '\x76', '\x61', '\x6c', '\x69', '\x64', '\x41', '\x72', '\x67', '\x75', '\x6d', '\x65', '\x6e', '\x74', '\x73', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x61', '\x72', '\x67', '\x29', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x53', '\x74', '\x61', '\x72', '\x74', '\x69', '\x6e', '\x67', '\x28', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x29', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x45', '\x6e', '\x64', '\x65', '\x64', '\x28', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x73', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x5f', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x73', '\x29', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x53', '\x74', '\x61', '\x72', '\x74', '\x69', '\x6e', '\x67', '\x28', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x5f', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x29', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x45', '\x6e', '\x64', '\x65', '\x64', '\x28', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x73', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x5f', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x73', '\x29', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x45', '\x4e', '\x41', '\x42', '\x4c', '\x45', '\x5f', '\x42', '\x45', '\x4e', '\x43', '\x48', '\x4d', '\x41', '\x52', '\x4b', '\x49', '\x4e', '\x47', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x62', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x50', '\x72', '\x65', '\x70', '\x61', '\x72', '\x69', '\x6e', '\x67', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x29', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x62', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x53', '\x74', '\x61', '\x72', '\x74', '\x69', '\x6e', '\x67', '\x28', '\x42', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x69', '\x6e', '\x66', '\x6f', '\x29', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x62', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x45', '\x6e', '\x64', '\x65', '\x64', '\x28', '\x42', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x53', '\x74', '\x61', '\x74', '\x73', '\x3c', '\x3e', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x73', '\x74', '\x61', '\x74', '\x73', '\x29', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x62', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x46', '\x61', '\x69', '\x6c', '\x65', '\x64', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x65', '\x72', '\x72', '\x6f', '\x72', '\x29', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x3b', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x20', '\x2f', '\x2f', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x45', '\x4e', '\x41', '\x42', '\x4c', '\x45', '\x5f', '\x42', '\x45', '\x4e', '\x43', '\x48', '\x4d', '\x41', '\x52', '\x4b', '\x49', '\x4e', '\x47', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x45', '\x6e', '\x64', '\x65', '\x64', '\x28', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x53', '\x74', '\x61', '\x74', '\x73', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x5f', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x53', '\x74', '\x61', '\x74', '\x73', '\x29', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x74', '\x65', '\x73', '\x74', '\x47', '\x72', '\x6f', '\x75', '\x70', '\x45', '\x6e', '\x64', '\x65', '\x64', '\x28', '\x54', '\x65', '\x73', '\x74', '\x47', '\x72', '\x6f', '\x75', '\x70', '\x53', '\x74', '\x61', '\x74', '\x73', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x5f', '\x74', '\x65', '\x73', '\x74', '\x47', '\x72', '\x6f', '\x75', '\x70', '\x53', '\x74', '\x61', '\x74', '\x73', '\x29', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x74', '\x65', '\x73', '\x74', '\x52', '\x75', '\x6e', '\x45', '\x6e', '\x64', '\x65', '\x64', '\x28', '\x54', '\x65', '\x73', '\x74', '\x52', '\x75', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x73', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x5f', '\x74', '\x65', '\x73', '\x74', '\x52', '\x75', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x73', '\x29', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x74', '\x65', '\x73', '\x74', '\x52', '\x75', '\x6e', '\x53', '\x74', '\x61', '\x72', '\x74', '\x69', '\x6e', '\x67', '\x28', '\x54', '\x65', '\x73', '\x74', '\x52', '\x75', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x5f', '\x74', '\x65', '\x73', '\x74', '\x52', '\x75', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x29', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x70', '\x72', '\x69', '\x76', '\x61', '\x74', '\x65', '\x3a', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x6c', '\x61', '\x7a', '\x79', '\x50', '\x72', '\x69', '\x6e', '\x74', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x6c', '\x61', '\x7a', '\x79', '\x50', '\x72', '\x69', '\x6e', '\x74', '\x57', '\x69', '\x74', '\x68', '\x6f', '\x75', '\x74', '\x43', '\x6c', '\x6f', '\x73', '\x69', '\x6e', '\x67', '\x42', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x54', '\x61', '\x62', '\x6c', '\x65', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x6c', '\x61', '\x7a', '\x79', '\x50', '\x72', '\x69', '\x6e', '\x74', '\x52', '\x75', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x6c', '\x61', '\x7a', '\x79', '\x50', '\x72', '\x69', '\x6e', '\x74', '\x47', '\x72', '\x6f', '\x75', '\x70', '\x49', '\x6e', '\x66', '\x6f', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x70', '\x72', '\x69', '\x6e', '\x74', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x41', '\x6e', '\x64', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x48', '\x65', '\x61', '\x64', '\x65', '\x72', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x70', '\x72', '\x69', '\x6e', '\x74', '\x43', '\x6c', '\x6f', '\x73', '\x65', '\x64', '\x48', '\x65', '\x61', '\x64', '\x65', '\x72', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x5f', '\x6e', '\x61', '\x6d', '\x65', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x70', '\x72', '\x69', '\x6e', '\x74', '\x4f', '\x70', '\x65', '\x6e', '\x48', '\x65', '\x61', '\x64', '\x65', '\x72', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x5f', '\x6e', '\x61', '\x6d', '\x65', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x69', '\x66', '\x20', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x68', '\x61', '\x73', '\x20', '\x61', '\x20', '\x3a', '\x20', '\x69', '\x6e', '\x20', '\x66', '\x69', '\x72', '\x73', '\x74', '\x20', '\x6c', '\x69', '\x6e', '\x65', '\x20', '\x77', '\x69', '\x6c', '\x6c', '\x20', '\x73', '\x65', '\x74', '\x20', '\x69', '\x6e', '\x64', '\x65', '\x6e', '\x74', '\x20', '\x74', '\x6f', '\x20', '\x66', '\x6f', '\x6c', '\x6c', '\x6f', '\x77', '\x20', '\x69', '\x74', '\x20', '\x6f', '\x6e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x73', '\x75', '\x62', '\x73', '\x65', '\x71', '\x75', '\x65', '\x6e', '\x74', '\x20', '\x6c', '\x69', '\x6e', '\x65', '\x73', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x70', '\x72', '\x69', '\x6e', '\x74', '\x48', '\x65', '\x61', '\x64', '\x65', '\x72', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x5f', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x2c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x69', '\x7a', '\x65', '\x5f', '\x74', '\x20', '\x69', '\x6e', '\x64', '\x65', '\x6e', '\x74', '\x20', '\x3d', '\x20', '\x30', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x70', '\x72', '\x69', '\x6e', '\x74', '\x54', '\x6f', '\x74', '\x61', '\x6c', '\x73', '\x28', '\x54', '\x6f', '\x74', '\x61', '\x6c', '\x73', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x74', '\x6f', '\x74', '\x61', '\x6c', '\x73', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x70', '\x72', '\x69', '\x6e', '\x74', '\x53', '\x75', '\x6d', '\x6d', '\x61', '\x72', '\x79', '\x52', '\x6f', '\x77', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6c', '\x61', '\x62', '\x65', '\x6c', '\x2c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x53', '\x75', '\x6d', '\x6d', '\x61', '\x72', '\x79', '\x43', '\x6f', '\x6c', '\x75', '\x6d', '\x6e', '\x3e', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x63', '\x6f', '\x6c', '\x73', '\x2c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x69', '\x7a', '\x65', '\x5f', '\x74', '\x20', '\x72', '\x6f', '\x77', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x70', '\x72', '\x69', '\x6e', '\x74', '\x54', '\x6f', '\x74', '\x61', '\x6c', '\x73', '\x44', '\x69', '\x76', '\x69', '\x64', '\x65', '\x72', '\x28', '\x54', '\x6f', '\x74', '\x61', '\x6c', '\x73', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x74', '\x6f', '\x74', '\x61', '\x6c', '\x73', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x70', '\x72', '\x69', '\x6e', '\x74', '\x53', '\x75', '\x6d', '\x6d', '\x61', '\x72', '\x79', '\x44', '\x69', '\x76', '\x69', '\x64', '\x65', '\x72', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x70', '\x72', '\x69', '\x6e', '\x74', '\x54', '\x65', '\x73', '\x74', '\x46', '\x69', '\x6c', '\x74', '\x65', '\x72', '\x73', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x70', '\x72', '\x69', '\x76', '\x61', '\x74', '\x65', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x6d', '\x5f', '\x68', '\x65', '\x61', '\x64', '\x65', '\x72', '\x50', '\x72', '\x69', '\x6e', '\x74', '\x65', '\x64', '\x20', '\x3d', '\x20', '\x66', '\x61', '\x6c', '\x73', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x5f', '\x4d', '\x53', '\x43', '\x5f', '\x56', '\x45', '\x52', '\x29', '\x0d', '\x0a', '\x23', '\x70', '\x72', '\x61', '\x67', '\x6d', '\x61', '\x20', '\x77', '\x61', '\x72', '\x6e', '\x69', '\x6e', '\x67', '\x28', '\x70', '\x6f', '\x70', '\x29', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x72', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x5f', '\x63', '\x6f', '\x6e', '\x73', '\x6f', '\x6c', '\x65', '\x2e', '\x68', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x72', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x5f', '\x6a', '\x75', '\x6e', '\x69', '\x74', '\x2e', '\x68', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x78', '\x6d', '\x6c', '\x77', '\x72', '\x69', '\x74', '\x65', '\x72', '\x2e', '\x68', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3e', '\x0d', '\x0a', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x20', '\x58', '\x6d', '\x6c', '\x45', '\x6e', '\x63', '\x6f', '\x64', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x70', '\x75', '\x62', '\x6c', '\x69', '\x63', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x6e', '\x75', '\x6d', '\x20', '\x46', '\x6f', '\x72', '\x57', '\x68', '\x61', '\x74', '\x20', '\x7b', '\x20', '\x46', '\x6f', '\x72', '\x54', '\x65', '\x78', '\x74', '\x4e', '\x6f', '\x64', '\x65', '\x73', '\x2c', '\x20', '\x46', '\x6f', '\x72', '\x41', '\x74', '\x74', '\x72', '\x69', '\x62', '\x75', '\x74', '\x65', '\x73', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x58', '\x6d', '\x6c', '\x45', '\x6e', '\x63', '\x6f', '\x64', '\x65', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x73', '\x74', '\x72', '\x2c', '\x20', '\x46', '\x6f', '\x72', '\x57', '\x68', '\x61', '\x74', '\x20', '\x66', '\x6f', '\x72', '\x57', '\x68', '\x61', '\x74', '\x20', '\x3d', '\x20', '\x46', '\x6f', '\x72', '\x54', '\x65', '\x78', '\x74', '\x4e', '\x6f', '\x64', '\x65', '\x73', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x65', '\x6e', '\x63', '\x6f', '\x64', '\x65', '\x54', '\x6f', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6f', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x26', '\x20', '\x6f', '\x73', '\x20', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x66', '\x72', '\x69', '\x65', '\x6e', '\x64', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6f', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x26', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x3c', '\x3c', '\x20', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6f', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x26', '\x20', '\x6f', '\x73', '\x2c', '\x20', '\x58', '\x6d', '\x6c', '\x45', '\x6e', '\x63', '\x6f', '\x64', '\x65', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x78', '\x6d', '\x6c', '\x45', '\x6e', '\x63', '\x6f', '\x64', '\x65', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x70', '\x72', '\x69', '\x76', '\x61', '\x74', '\x65', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x6d', '\x5f', '\x73', '\x74', '\x72', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x46', '\x6f', '\x72', '\x57', '\x68', '\x61', '\x74', '\x20', '\x6d', '\x5f', '\x66', '\x6f', '\x72', '\x57', '\x68', '\x61', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x20', '\x58', '\x6d', '\x6c', '\x57', '\x72', '\x69', '\x74', '\x65', '\x72', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x70', '\x75', '\x62', '\x6c', '\x69', '\x63', '\x3a', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x20', '\x53', '\x63', '\x6f', '\x70', '\x65', '\x64', '\x45', '\x6c', '\x65', '\x6d', '\x65', '\x6e', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x75', '\x62', '\x6c', '\x69', '\x63', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x53', '\x63', '\x6f', '\x70', '\x65', '\x64', '\x45', '\x6c', '\x65', '\x6d', '\x65', '\x6e', '\x74', '\x28', '\x20', '\x58', '\x6d', '\x6c', '\x57', '\x72', '\x69', '\x74', '\x65', '\x72', '\x2a', '\x20', '\x77', '\x72', '\x69', '\x74', '\x65', '\x72', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x53', '\x63', '\x6f', '\x70', '\x65', '\x64', '\x45', '\x6c', '\x65', '\x6d', '\x65', '\x6e', '\x74', '\x28', '\x20', '\x53', '\x63', '\x6f', '\x70', '\x65', '\x64', '\x45', '\x6c', '\x65', '\x6d', '\x65', '\x6e', '\x74', '\x26', '\x26', '\x20', '\x6f', '\x74', '\x68', '\x65', '\x72', '\x20', '\x29', '\x20', '\x6e', '\x6f', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x53', '\x63', '\x6f', '\x70', '\x65', '\x64', '\x45', '\x6c', '\x65', '\x6d', '\x65', '\x6e', '\x74', '\x26', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x3d', '\x28', '\x20', '\x53', '\x63', '\x6f', '\x70', '\x65', '\x64', '\x45', '\x6c', '\x65', '\x6d', '\x65', '\x6e', '\x74', '\x26', '\x26', '\x20', '\x6f', '\x74', '\x68', '\x65', '\x72', '\x20', '\x29', '\x20', '\x6e', '\x6f', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7e', '\x53', '\x63', '\x6f', '\x70', '\x65', '\x64', '\x45', '\x6c', '\x65', '\x6d', '\x65', '\x6e', '\x74', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x53', '\x63', '\x6f', '\x70', '\x65', '\x64', '\x45', '\x6c', '\x65', '\x6d', '\x65', '\x6e', '\x74', '\x26', '\x20', '\x77', '\x72', '\x69', '\x74', '\x65', '\x54', '\x65', '\x78', '\x74', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x74', '\x65', '\x78', '\x74', '\x2c', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x69', '\x6e', '\x64', '\x65', '\x6e', '\x74', '\x20', '\x3d', '\x20', '\x74', '\x72', '\x75', '\x65', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x54', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x53', '\x63', '\x6f', '\x70', '\x65', '\x64', '\x45', '\x6c', '\x65', '\x6d', '\x65', '\x6e', '\x74', '\x26', '\x20', '\x77', '\x72', '\x69', '\x74', '\x65', '\x41', '\x74', '\x74', '\x72', '\x69', '\x62', '\x75', '\x74', '\x65', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x54', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x61', '\x74', '\x74', '\x72', '\x69', '\x62', '\x75', '\x74', '\x65', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x77', '\x72', '\x69', '\x74', '\x65', '\x72', '\x2d', '\x3e', '\x77', '\x72', '\x69', '\x74', '\x65', '\x41', '\x74', '\x74', '\x72', '\x69', '\x62', '\x75', '\x74', '\x65', '\x28', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x61', '\x74', '\x74', '\x72', '\x69', '\x62', '\x75', '\x74', '\x65', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x2a', '\x74', '\x68', '\x69', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x72', '\x69', '\x76', '\x61', '\x74', '\x65', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x75', '\x74', '\x61', '\x62', '\x6c', '\x65', '\x20', '\x58', '\x6d', '\x6c', '\x57', '\x72', '\x69', '\x74', '\x65', '\x72', '\x2a', '\x20', '\x6d', '\x5f', '\x77', '\x72', '\x69', '\x74', '\x65', '\x72', '\x20', '\x3d', '\x20', '\x6e', '\x75', '\x6c', '\x6c', '\x70', '\x74', '\x72', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x58', '\x6d', '\x6c', '\x57', '\x72', '\x69', '\x74', '\x65', '\x72', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6f', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x26', '\x20', '\x6f', '\x73', '\x20', '\x3d', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x63', '\x6f', '\x75', '\x74', '\x28', '\x29', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7e', '\x58', '\x6d', '\x6c', '\x57', '\x72', '\x69', '\x74', '\x65', '\x72', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x58', '\x6d', '\x6c', '\x57', '\x72', '\x69', '\x74', '\x65', '\x72', '\x28', '\x20', '\x58', '\x6d', '\x6c', '\x57', '\x72', '\x69', '\x74', '\x65', '\x72', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x29', '\x20', '\x3d', '\x20', '\x64', '\x65', '\x6c', '\x65', '\x74', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x58', '\x6d', '\x6c', '\x57', '\x72', '\x69', '\x74', '\x65', '\x72', '\x26', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x3d', '\x28', '\x20', '\x58', '\x6d', '\x6c', '\x57', '\x72', '\x69', '\x74', '\x65', '\x72', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x29', '\x20', '\x3d', '\x20', '\x64', '\x65', '\x6c', '\x65', '\x74', '\x65', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x58', '\x6d', '\x6c', '\x57', '\x72', '\x69', '\x74', '\x65', '\x72', '\x26', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x45', '\x6c', '\x65', '\x6d', '\x65', '\x6e', '\x74', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x53', '\x63', '\x6f', '\x70', '\x65', '\x64', '\x45', '\x6c', '\x65', '\x6d', '\x65', '\x6e', '\x74', '\x20', '\x73', '\x63', '\x6f', '\x70', '\x65', '\x64', '\x45', '\x6c', '\x65', '\x6d', '\x65', '\x6e', '\x74', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x58', '\x6d', '\x6c', '\x57', '\x72', '\x69', '\x74', '\x65', '\x72', '\x26', '\x20', '\x65', '\x6e', '\x64', '\x45', '\x6c', '\x65', '\x6d', '\x65', '\x6e', '\x74', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x58', '\x6d', '\x6c', '\x57', '\x72', '\x69', '\x74', '\x65', '\x72', '\x26', '\x20', '\x77', '\x72', '\x69', '\x74', '\x65', '\x41', '\x74', '\x74', '\x72', '\x69', '\x62', '\x75', '\x74', '\x65', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x61', '\x74', '\x74', '\x72', '\x69', '\x62', '\x75', '\x74', '\x65', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x58', '\x6d', '\x6c', '\x57', '\x72', '\x69', '\x74', '\x65', '\x72', '\x26', '\x20', '\x77', '\x72', '\x69', '\x74', '\x65', '\x41', '\x74', '\x74', '\x72', '\x69', '\x62', '\x75', '\x74', '\x65', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x61', '\x74', '\x74', '\x72', '\x69', '\x62', '\x75', '\x74', '\x65', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x54', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x58', '\x6d', '\x6c', '\x57', '\x72', '\x69', '\x74', '\x65', '\x72', '\x26', '\x20', '\x77', '\x72', '\x69', '\x74', '\x65', '\x41', '\x74', '\x74', '\x72', '\x69', '\x62', '\x75', '\x74', '\x65', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x54', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x61', '\x74', '\x74', '\x72', '\x69', '\x62', '\x75', '\x74', '\x65', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x52', '\x65', '\x75', '\x73', '\x61', '\x62', '\x6c', '\x65', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x20', '\x72', '\x73', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x73', '\x73', '\x20', '\x3c', '\x3c', '\x20', '\x61', '\x74', '\x74', '\x72', '\x69', '\x62', '\x75', '\x74', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x77', '\x72', '\x69', '\x74', '\x65', '\x41', '\x74', '\x74', '\x72', '\x69', '\x62', '\x75', '\x74', '\x65', '\x28', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x72', '\x73', '\x73', '\x2e', '\x73', '\x74', '\x72', '\x28', '\x29', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x58', '\x6d', '\x6c', '\x57', '\x72', '\x69', '\x74', '\x65', '\x72', '\x26', '\x20', '\x77', '\x72', '\x69', '\x74', '\x65', '\x54', '\x65', '\x78', '\x74', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x74', '\x65', '\x78', '\x74', '\x2c', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x69', '\x6e', '\x64', '\x65', '\x6e', '\x74', '\x20', '\x3d', '\x20', '\x74', '\x72', '\x75', '\x65', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x58', '\x6d', '\x6c', '\x57', '\x72', '\x69', '\x74', '\x65', '\x72', '\x26', '\x20', '\x77', '\x72', '\x69', '\x74', '\x65', '\x43', '\x6f', '\x6d', '\x6d', '\x65', '\x6e', '\x74', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x74', '\x65', '\x78', '\x74', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x77', '\x72', '\x69', '\x74', '\x65', '\x53', '\x74', '\x79', '\x6c', '\x65', '\x73', '\x68', '\x65', '\x65', '\x74', '\x52', '\x65', '\x66', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x75', '\x72', '\x6c', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x58', '\x6d', '\x6c', '\x57', '\x72', '\x69', '\x74', '\x65', '\x72', '\x26', '\x20', '\x77', '\x72', '\x69', '\x74', '\x65', '\x42', '\x6c', '\x61', '\x6e', '\x6b', '\x4c', '\x69', '\x6e', '\x65', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x65', '\x6e', '\x73', '\x75', '\x72', '\x65', '\x54', '\x61', '\x67', '\x43', '\x6c', '\x6f', '\x73', '\x65', '\x64', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x70', '\x72', '\x69', '\x76', '\x61', '\x74', '\x65', '\x3a', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x77', '\x72', '\x69', '\x74', '\x65', '\x44', '\x65', '\x63', '\x6c', '\x61', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x6e', '\x65', '\x77', '\x6c', '\x69', '\x6e', '\x65', '\x49', '\x66', '\x4e', '\x65', '\x63', '\x65', '\x73', '\x73', '\x61', '\x72', '\x79', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x6d', '\x5f', '\x74', '\x61', '\x67', '\x49', '\x73', '\x4f', '\x70', '\x65', '\x6e', '\x20', '\x3d', '\x20', '\x66', '\x61', '\x6c', '\x73', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x6d', '\x5f', '\x6e', '\x65', '\x65', '\x64', '\x73', '\x4e', '\x65', '\x77', '\x6c', '\x69', '\x6e', '\x65', '\x20', '\x3d', '\x20', '\x66', '\x61', '\x6c', '\x73', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x3e', '\x20', '\x6d', '\x5f', '\x74', '\x61', '\x67', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x6d', '\x5f', '\x69', '\x6e', '\x64', '\x65', '\x6e', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6f', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x26', '\x20', '\x6d', '\x5f', '\x6f', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x78', '\x6d', '\x6c', '\x77', '\x72', '\x69', '\x74', '\x65', '\x72', '\x2e', '\x68', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x20', '\x4a', '\x75', '\x6e', '\x69', '\x74', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x20', '\x3a', '\x20', '\x70', '\x75', '\x62', '\x6c', '\x69', '\x63', '\x20', '\x43', '\x75', '\x6d', '\x75', '\x6c', '\x61', '\x74', '\x69', '\x76', '\x65', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x42', '\x61', '\x73', '\x65', '\x3c', '\x4a', '\x75', '\x6e', '\x69', '\x74', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x3e', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x70', '\x75', '\x62', '\x6c', '\x69', '\x63', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x4a', '\x75', '\x6e', '\x69', '\x74', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x28', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x5f', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7e', '\x4a', '\x75', '\x6e', '\x69', '\x74', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x28', '\x29', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x67', '\x65', '\x74', '\x44', '\x65', '\x73', '\x63', '\x72', '\x69', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x6e', '\x6f', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x69', '\x6e', '\x67', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x73', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x2f', '\x2a', '\x73', '\x70', '\x65', '\x63', '\x2a', '\x2f', '\x29', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x74', '\x65', '\x73', '\x74', '\x52', '\x75', '\x6e', '\x53', '\x74', '\x61', '\x72', '\x74', '\x69', '\x6e', '\x67', '\x28', '\x54', '\x65', '\x73', '\x74', '\x52', '\x75', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x72', '\x75', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x29', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x74', '\x65', '\x73', '\x74', '\x47', '\x72', '\x6f', '\x75', '\x70', '\x53', '\x74', '\x61', '\x72', '\x74', '\x69', '\x6e', '\x67', '\x28', '\x47', '\x72', '\x6f', '\x75', '\x70', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x67', '\x72', '\x6f', '\x75', '\x70', '\x49', '\x6e', '\x66', '\x6f', '\x29', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x53', '\x74', '\x61', '\x72', '\x74', '\x69', '\x6e', '\x67', '\x28', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x29', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x45', '\x6e', '\x64', '\x65', '\x64', '\x28', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x73', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x73', '\x29', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x45', '\x6e', '\x64', '\x65', '\x64', '\x28', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x53', '\x74', '\x61', '\x74', '\x73', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x53', '\x74', '\x61', '\x74', '\x73', '\x29', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x74', '\x65', '\x73', '\x74', '\x47', '\x72', '\x6f', '\x75', '\x70', '\x45', '\x6e', '\x64', '\x65', '\x64', '\x28', '\x54', '\x65', '\x73', '\x74', '\x47', '\x72', '\x6f', '\x75', '\x70', '\x53', '\x74', '\x61', '\x74', '\x73', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x74', '\x65', '\x73', '\x74', '\x47', '\x72', '\x6f', '\x75', '\x70', '\x53', '\x74', '\x61', '\x74', '\x73', '\x29', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x74', '\x65', '\x73', '\x74', '\x52', '\x75', '\x6e', '\x45', '\x6e', '\x64', '\x65', '\x64', '\x43', '\x75', '\x6d', '\x75', '\x6c', '\x61', '\x74', '\x69', '\x76', '\x65', '\x28', '\x29', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x77', '\x72', '\x69', '\x74', '\x65', '\x47', '\x72', '\x6f', '\x75', '\x70', '\x28', '\x54', '\x65', '\x73', '\x74', '\x47', '\x72', '\x6f', '\x75', '\x70', '\x4e', '\x6f', '\x64', '\x65', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x67', '\x72', '\x6f', '\x75', '\x70', '\x4e', '\x6f', '\x64', '\x65', '\x2c', '\x20', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x20', '\x73', '\x75', '\x69', '\x74', '\x65', '\x54', '\x69', '\x6d', '\x65', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x77', '\x72', '\x69', '\x74', '\x65', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x28', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x4e', '\x6f', '\x64', '\x65', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x4e', '\x6f', '\x64', '\x65', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x77', '\x72', '\x69', '\x74', '\x65', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x72', '\x6f', '\x6f', '\x74', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x4e', '\x6f', '\x64', '\x65', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x4e', '\x6f', '\x64', '\x65', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x77', '\x72', '\x69', '\x74', '\x65', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x28', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x4e', '\x6f', '\x64', '\x65', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x4e', '\x6f', '\x64', '\x65', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x77', '\x72', '\x69', '\x74', '\x65', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x28', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x73', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x73', '\x74', '\x61', '\x74', '\x73', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x58', '\x6d', '\x6c', '\x57', '\x72', '\x69', '\x74', '\x65', '\x72', '\x20', '\x78', '\x6d', '\x6c', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x54', '\x69', '\x6d', '\x65', '\x72', '\x20', '\x73', '\x75', '\x69', '\x74', '\x65', '\x54', '\x69', '\x6d', '\x65', '\x72', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x73', '\x74', '\x64', '\x4f', '\x75', '\x74', '\x46', '\x6f', '\x72', '\x53', '\x75', '\x69', '\x74', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x73', '\x74', '\x64', '\x45', '\x72', '\x72', '\x46', '\x6f', '\x72', '\x53', '\x75', '\x69', '\x74', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x75', '\x6e', '\x73', '\x69', '\x67', '\x6e', '\x65', '\x64', '\x20', '\x69', '\x6e', '\x74', '\x20', '\x75', '\x6e', '\x65', '\x78', '\x70', '\x65', '\x63', '\x74', '\x65', '\x64', '\x45', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x6d', '\x5f', '\x6f', '\x6b', '\x54', '\x6f', '\x46', '\x61', '\x69', '\x6c', '\x20', '\x3d', '\x20', '\x66', '\x61', '\x6c', '\x73', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x72', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x5f', '\x6a', '\x75', '\x6e', '\x69', '\x74', '\x2e', '\x68', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x72', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x5f', '\x78', '\x6d', '\x6c', '\x2e', '\x68', '\x0d', '\x0a', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x20', '\x58', '\x6d', '\x6c', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x20', '\x3a', '\x20', '\x70', '\x75', '\x62', '\x6c', '\x69', '\x63', '\x20', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x42', '\x61', '\x73', '\x65', '\x3c', '\x58', '\x6d', '\x6c', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x3e', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x70', '\x75', '\x62', '\x6c', '\x69', '\x63', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x58', '\x6d', '\x6c', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x28', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x5f', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7e', '\x58', '\x6d', '\x6c', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x28', '\x29', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x67', '\x65', '\x74', '\x44', '\x65', '\x73', '\x63', '\x72', '\x69', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x69', '\x72', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x67', '\x65', '\x74', '\x53', '\x74', '\x79', '\x6c', '\x65', '\x73', '\x68', '\x65', '\x65', '\x74', '\x52', '\x65', '\x66', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x77', '\x72', '\x69', '\x74', '\x65', '\x53', '\x6f', '\x75', '\x72', '\x63', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x28', '\x53', '\x6f', '\x75', '\x72', '\x63', '\x65', '\x4c', '\x69', '\x6e', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x73', '\x6f', '\x75', '\x72', '\x63', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x70', '\x75', '\x62', '\x6c', '\x69', '\x63', '\x3a', '\x20', '\x2f', '\x2f', '\x20', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x42', '\x61', '\x73', '\x65', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x6e', '\x6f', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x69', '\x6e', '\x67', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x73', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x73', '\x29', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x74', '\x65', '\x73', '\x74', '\x52', '\x75', '\x6e', '\x53', '\x74', '\x61', '\x72', '\x74', '\x69', '\x6e', '\x67', '\x28', '\x54', '\x65', '\x73', '\x74', '\x52', '\x75', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x74', '\x65', '\x73', '\x74', '\x49', '\x6e', '\x66', '\x6f', '\x29', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x74', '\x65', '\x73', '\x74', '\x47', '\x72', '\x6f', '\x75', '\x70', '\x53', '\x74', '\x61', '\x72', '\x74', '\x69', '\x6e', '\x67', '\x28', '\x47', '\x72', '\x6f', '\x75', '\x70', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x67', '\x72', '\x6f', '\x75', '\x70', '\x49', '\x6e', '\x66', '\x6f', '\x29', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x53', '\x74', '\x61', '\x72', '\x74', '\x69', '\x6e', '\x67', '\x28', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x74', '\x65', '\x73', '\x74', '\x49', '\x6e', '\x66', '\x6f', '\x29', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x53', '\x74', '\x61', '\x72', '\x74', '\x69', '\x6e', '\x67', '\x28', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x29', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x53', '\x74', '\x61', '\x72', '\x74', '\x69', '\x6e', '\x67', '\x28', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x29', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x45', '\x6e', '\x64', '\x65', '\x64', '\x28', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x73', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x73', '\x29', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x45', '\x6e', '\x64', '\x65', '\x64', '\x28', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x73', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x73', '\x29', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x45', '\x6e', '\x64', '\x65', '\x64', '\x28', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x53', '\x74', '\x61', '\x74', '\x73', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x53', '\x74', '\x61', '\x74', '\x73', '\x29', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x74', '\x65', '\x73', '\x74', '\x47', '\x72', '\x6f', '\x75', '\x70', '\x45', '\x6e', '\x64', '\x65', '\x64', '\x28', '\x54', '\x65', '\x73', '\x74', '\x47', '\x72', '\x6f', '\x75', '\x70', '\x53', '\x74', '\x61', '\x74', '\x73', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x74', '\x65', '\x73', '\x74', '\x47', '\x72', '\x6f', '\x75', '\x70', '\x53', '\x74', '\x61', '\x74', '\x73', '\x29', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x74', '\x65', '\x73', '\x74', '\x52', '\x75', '\x6e', '\x45', '\x6e', '\x64', '\x65', '\x64', '\x28', '\x54', '\x65', '\x73', '\x74', '\x52', '\x75', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x73', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x74', '\x65', '\x73', '\x74', '\x52', '\x75', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x73', '\x29', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x45', '\x4e', '\x41', '\x42', '\x4c', '\x45', '\x5f', '\x42', '\x45', '\x4e', '\x43', '\x48', '\x4d', '\x41', '\x52', '\x4b', '\x49', '\x4e', '\x47', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x62', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x50', '\x72', '\x65', '\x70', '\x61', '\x72', '\x69', '\x6e', '\x67', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x29', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x62', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x53', '\x74', '\x61', '\x72', '\x74', '\x69', '\x6e', '\x67', '\x28', '\x42', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x29', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x62', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x45', '\x6e', '\x64', '\x65', '\x64', '\x28', '\x42', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x53', '\x74', '\x61', '\x74', '\x73', '\x3c', '\x3e', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x29', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x62', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x46', '\x61', '\x69', '\x6c', '\x65', '\x64', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x29', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x3b', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x20', '\x2f', '\x2f', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x45', '\x4e', '\x41', '\x42', '\x4c', '\x45', '\x5f', '\x42', '\x45', '\x4e', '\x43', '\x48', '\x4d', '\x41', '\x52', '\x4b', '\x49', '\x4e', '\x47', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x70', '\x72', '\x69', '\x76', '\x61', '\x74', '\x65', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x54', '\x69', '\x6d', '\x65', '\x72', '\x20', '\x6d', '\x5f', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x54', '\x69', '\x6d', '\x65', '\x72', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x58', '\x6d', '\x6c', '\x57', '\x72', '\x69', '\x74', '\x65', '\x72', '\x20', '\x6d', '\x5f', '\x78', '\x6d', '\x6c', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x6e', '\x74', '\x20', '\x6d', '\x5f', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x44', '\x65', '\x70', '\x74', '\x68', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x72', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x5f', '\x78', '\x6d', '\x6c', '\x2e', '\x68', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x65', '\x78', '\x74', '\x65', '\x72', '\x6e', '\x61', '\x6c', '\x5f', '\x69', '\x6e', '\x74', '\x65', '\x72', '\x66', '\x61', '\x63', '\x65', '\x73', '\x2e', '\x68', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x45', '\x4e', '\x41', '\x42', '\x4c', '\x45', '\x5f', '\x42', '\x45', '\x4e', '\x43', '\x48', '\x4d', '\x41', '\x52', '\x4b', '\x49', '\x4e', '\x47', '\x29', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x62', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x2e', '\x68', '\x70', '\x70', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x2f', '\x2f', '\x20', '\x42', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x63', '\x68', '\x72', '\x6f', '\x6e', '\x6f', '\x6d', '\x65', '\x74', '\x65', '\x72', '\x2e', '\x68', '\x70', '\x70', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x55', '\x73', '\x65', '\x72', '\x2d', '\x66', '\x61', '\x63', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x68', '\x72', '\x6f', '\x6e', '\x6f', '\x6d', '\x65', '\x74', '\x65', '\x72', '\x0d', '\x0a', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x63', '\x6c', '\x6f', '\x63', '\x6b', '\x2e', '\x68', '\x70', '\x70', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x43', '\x6c', '\x6f', '\x63', '\x6b', '\x73', '\x0d', '\x0a', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x63', '\x68', '\x72', '\x6f', '\x6e', '\x6f', '\x3e', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x3e', '\x0d', '\x0a', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x42', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x20', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x43', '\x6c', '\x6f', '\x63', '\x6b', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x75', '\x73', '\x69', '\x6e', '\x67', '\x20', '\x43', '\x6c', '\x6f', '\x63', '\x6b', '\x44', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x3d', '\x20', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x43', '\x6c', '\x6f', '\x63', '\x6b', '\x3a', '\x3a', '\x64', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x20', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x43', '\x6c', '\x6f', '\x63', '\x6b', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x75', '\x73', '\x69', '\x6e', '\x67', '\x20', '\x46', '\x6c', '\x6f', '\x61', '\x74', '\x44', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x3d', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x63', '\x68', '\x72', '\x6f', '\x6e', '\x6f', '\x3a', '\x3a', '\x64', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x3c', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x2c', '\x20', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x43', '\x6c', '\x6f', '\x63', '\x6b', '\x3a', '\x3a', '\x70', '\x65', '\x72', '\x69', '\x6f', '\x64', '\x3e', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x20', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x43', '\x6c', '\x6f', '\x63', '\x6b', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x75', '\x73', '\x69', '\x6e', '\x67', '\x20', '\x54', '\x69', '\x6d', '\x65', '\x50', '\x6f', '\x69', '\x6e', '\x74', '\x20', '\x3d', '\x20', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x43', '\x6c', '\x6f', '\x63', '\x6b', '\x3a', '\x3a', '\x74', '\x69', '\x6d', '\x65', '\x5f', '\x70', '\x6f', '\x69', '\x6e', '\x74', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x75', '\x73', '\x69', '\x6e', '\x67', '\x20', '\x64', '\x65', '\x66', '\x61', '\x75', '\x6c', '\x74', '\x5f', '\x63', '\x6c', '\x6f', '\x63', '\x6b', '\x20', '\x3d', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x63', '\x68', '\x72', '\x6f', '\x6e', '\x6f', '\x3a', '\x3a', '\x73', '\x74', '\x65', '\x61', '\x64', '\x79', '\x5f', '\x63', '\x6c', '\x6f', '\x63', '\x6b', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x20', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x43', '\x6c', '\x6f', '\x63', '\x6b', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x6e', '\x6f', '\x77', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x54', '\x69', '\x6d', '\x65', '\x50', '\x6f', '\x69', '\x6e', '\x74', '\x3c', '\x43', '\x6c', '\x6f', '\x63', '\x6b', '\x3e', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x28', '\x29', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x43', '\x6c', '\x6f', '\x63', '\x6b', '\x3a', '\x3a', '\x6e', '\x6f', '\x77', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x75', '\x73', '\x69', '\x6e', '\x67', '\x20', '\x66', '\x70', '\x5f', '\x73', '\x65', '\x63', '\x6f', '\x6e', '\x64', '\x73', '\x20', '\x3d', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x63', '\x68', '\x72', '\x6f', '\x6e', '\x6f', '\x3a', '\x3a', '\x64', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x3c', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x2c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x3c', '\x31', '\x3e', '\x3e', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x42', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x0d', '\x0a', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x63', '\x6c', '\x6f', '\x63', '\x6b', '\x2e', '\x68', '\x70', '\x70', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x6f', '\x70', '\x74', '\x69', '\x6d', '\x69', '\x7a', '\x65', '\x72', '\x2e', '\x68', '\x70', '\x70', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x2f', '\x2f', '\x20', '\x48', '\x69', '\x6e', '\x74', '\x69', '\x6e', '\x67', '\x20', '\x74', '\x68', '\x65', '\x20', '\x6f', '\x70', '\x74', '\x69', '\x6d', '\x69', '\x7a', '\x65', '\x72', '\x0d', '\x0a', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x5f', '\x4d', '\x53', '\x43', '\x5f', '\x56', '\x45', '\x52', '\x29', '\x0d', '\x0a', '\x23', '\x20', '\x20', '\x20', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x61', '\x74', '\x6f', '\x6d', '\x69', '\x63', '\x3e', '\x20', '\x2f', '\x2f', '\x20', '\x61', '\x74', '\x6f', '\x6d', '\x69', '\x63', '\x5f', '\x74', '\x68', '\x72', '\x65', '\x61', '\x64', '\x5f', '\x66', '\x65', '\x6e', '\x63', '\x65', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x42', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x20', '\x7b', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x5f', '\x5f', '\x47', '\x4e', '\x55', '\x43', '\x5f', '\x5f', '\x29', '\x20', '\x7c', '\x7c', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x5f', '\x5f', '\x63', '\x6c', '\x61', '\x6e', '\x67', '\x5f', '\x5f', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x20', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x54', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x6e', '\x6c', '\x69', '\x6e', '\x65', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x6b', '\x65', '\x65', '\x70', '\x5f', '\x6d', '\x65', '\x6d', '\x6f', '\x72', '\x79', '\x28', '\x54', '\x2a', '\x20', '\x70', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x73', '\x6d', '\x20', '\x76', '\x6f', '\x6c', '\x61', '\x74', '\x69', '\x6c', '\x65', '\x28', '\x22', '\x22', '\x20', '\x3a', '\x20', '\x3a', '\x20', '\x22', '\x67', '\x22', '\x28', '\x70', '\x29', '\x20', '\x3a', '\x20', '\x22', '\x6d', '\x65', '\x6d', '\x6f', '\x72', '\x79', '\x22', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x6e', '\x6c', '\x69', '\x6e', '\x65', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x6b', '\x65', '\x65', '\x70', '\x5f', '\x6d', '\x65', '\x6d', '\x6f', '\x72', '\x79', '\x28', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x73', '\x6d', '\x20', '\x76', '\x6f', '\x6c', '\x61', '\x74', '\x69', '\x6c', '\x65', '\x28', '\x22', '\x22', '\x20', '\x3a', '\x20', '\x3a', '\x20', '\x3a', '\x20', '\x22', '\x6d', '\x65', '\x6d', '\x6f', '\x72', '\x79', '\x22', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x44', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x6e', '\x6c', '\x69', '\x6e', '\x65', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x6f', '\x70', '\x74', '\x69', '\x6d', '\x69', '\x7a', '\x65', '\x72', '\x5f', '\x62', '\x61', '\x72', '\x72', '\x69', '\x65', '\x72', '\x28', '\x29', '\x20', '\x7b', '\x20', '\x6b', '\x65', '\x65', '\x70', '\x5f', '\x6d', '\x65', '\x6d', '\x6f', '\x72', '\x79', '\x28', '\x29', '\x3b', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x44', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x0d', '\x0a', '\x23', '\x65', '\x6c', '\x69', '\x66', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x5f', '\x4d', '\x53', '\x43', '\x5f', '\x56', '\x45', '\x52', '\x29', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x70', '\x72', '\x61', '\x67', '\x6d', '\x61', '\x20', '\x6f', '\x70', '\x74', '\x69', '\x6d', '\x69', '\x7a', '\x65', '\x28', '\x22', '\x22', '\x2c', '\x20', '\x6f', '\x66', '\x66', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x20', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x54', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x6e', '\x6c', '\x69', '\x6e', '\x65', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x6b', '\x65', '\x65', '\x70', '\x5f', '\x6d', '\x65', '\x6d', '\x6f', '\x72', '\x79', '\x28', '\x54', '\x2a', '\x20', '\x70', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x74', '\x68', '\x61', '\x6e', '\x6b', '\x73', '\x20', '\x40', '\x6d', '\x69', '\x6c', '\x6c', '\x65', '\x6e', '\x69', '\x75', '\x6d', '\x62', '\x75', '\x67', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2a', '\x72', '\x65', '\x69', '\x6e', '\x74', '\x65', '\x72', '\x70', '\x72', '\x65', '\x74', '\x5f', '\x63', '\x61', '\x73', '\x74', '\x3c', '\x63', '\x68', '\x61', '\x72', '\x20', '\x76', '\x6f', '\x6c', '\x61', '\x74', '\x69', '\x6c', '\x65', '\x2a', '\x3e', '\x28', '\x70', '\x29', '\x20', '\x3d', '\x20', '\x2a', '\x72', '\x65', '\x69', '\x6e', '\x74', '\x65', '\x72', '\x70', '\x72', '\x65', '\x74', '\x5f', '\x63', '\x61', '\x73', '\x74', '\x3c', '\x63', '\x68', '\x61', '\x72', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x76', '\x6f', '\x6c', '\x61', '\x74', '\x69', '\x6c', '\x65', '\x2a', '\x3e', '\x28', '\x70', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x54', '\x4f', '\x44', '\x4f', '\x20', '\x65', '\x71', '\x75', '\x69', '\x76', '\x61', '\x6c', '\x65', '\x6e', '\x74', '\x20', '\x6b', '\x65', '\x65', '\x70', '\x5f', '\x6d', '\x65', '\x6d', '\x6f', '\x72', '\x79', '\x28', '\x29', '\x0d', '\x0a', '\x23', '\x70', '\x72', '\x61', '\x67', '\x6d', '\x61', '\x20', '\x6f', '\x70', '\x74', '\x69', '\x6d', '\x69', '\x7a', '\x65', '\x28', '\x22', '\x22', '\x2c', '\x20', '\x6f', '\x6e', '\x29', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x44', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x6e', '\x6c', '\x69', '\x6e', '\x65', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x6f', '\x70', '\x74', '\x69', '\x6d', '\x69', '\x7a', '\x65', '\x72', '\x5f', '\x62', '\x61', '\x72', '\x72', '\x69', '\x65', '\x72', '\x28', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x61', '\x74', '\x6f', '\x6d', '\x69', '\x63', '\x5f', '\x74', '\x68', '\x72', '\x65', '\x61', '\x64', '\x5f', '\x66', '\x65', '\x6e', '\x63', '\x65', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6d', '\x65', '\x6d', '\x6f', '\x72', '\x79', '\x5f', '\x6f', '\x72', '\x64', '\x65', '\x72', '\x5f', '\x73', '\x65', '\x71', '\x5f', '\x63', '\x73', '\x74', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x44', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x20', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x54', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x6e', '\x6c', '\x69', '\x6e', '\x65', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x64', '\x65', '\x6f', '\x70', '\x74', '\x69', '\x6d', '\x69', '\x7a', '\x65', '\x5f', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x28', '\x54', '\x26', '\x26', '\x20', '\x78', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6b', '\x65', '\x65', '\x70', '\x5f', '\x6d', '\x65', '\x6d', '\x6f', '\x72', '\x79', '\x28', '\x26', '\x78', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x20', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x46', '\x6e', '\x2c', '\x20', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x2e', '\x2e', '\x2e', '\x20', '\x41', '\x72', '\x67', '\x73', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x6e', '\x6c', '\x69', '\x6e', '\x65', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x69', '\x6e', '\x76', '\x6f', '\x6b', '\x65', '\x5f', '\x64', '\x65', '\x6f', '\x70', '\x74', '\x69', '\x6d', '\x69', '\x7a', '\x65', '\x64', '\x28', '\x46', '\x6e', '\x26', '\x26', '\x20', '\x66', '\x6e', '\x2c', '\x20', '\x41', '\x72', '\x67', '\x73', '\x26', '\x26', '\x2e', '\x2e', '\x2e', '\x20', '\x61', '\x72', '\x67', '\x73', '\x29', '\x20', '\x2d', '\x3e', '\x20', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x65', '\x6e', '\x61', '\x62', '\x6c', '\x65', '\x5f', '\x69', '\x66', '\x3c', '\x21', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x69', '\x73', '\x5f', '\x73', '\x61', '\x6d', '\x65', '\x3c', '\x76', '\x6f', '\x69', '\x64', '\x2c', '\x20', '\x64', '\x65', '\x63', '\x6c', '\x74', '\x79', '\x70', '\x65', '\x28', '\x66', '\x6e', '\x28', '\x61', '\x72', '\x67', '\x73', '\x2e', '\x2e', '\x2e', '\x29', '\x29', '\x3e', '\x3a', '\x3a', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x3e', '\x3a', '\x3a', '\x74', '\x79', '\x70', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x64', '\x65', '\x6f', '\x70', '\x74', '\x69', '\x6d', '\x69', '\x7a', '\x65', '\x5f', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x66', '\x6f', '\x72', '\x77', '\x61', '\x72', '\x64', '\x3c', '\x46', '\x6e', '\x3e', '\x28', '\x66', '\x6e', '\x29', '\x20', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x66', '\x6f', '\x72', '\x77', '\x61', '\x72', '\x64', '\x3c', '\x41', '\x72', '\x67', '\x73', '\x2e', '\x2e', '\x2e', '\x3e', '\x28', '\x61', '\x72', '\x67', '\x73', '\x2e', '\x2e', '\x2e', '\x29', '\x29', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x20', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x46', '\x6e', '\x2c', '\x20', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x2e', '\x2e', '\x2e', '\x20', '\x41', '\x72', '\x67', '\x73', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x6e', '\x6c', '\x69', '\x6e', '\x65', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x69', '\x6e', '\x76', '\x6f', '\x6b', '\x65', '\x5f', '\x64', '\x65', '\x6f', '\x70', '\x74', '\x69', '\x6d', '\x69', '\x7a', '\x65', '\x64', '\x28', '\x46', '\x6e', '\x26', '\x26', '\x20', '\x66', '\x6e', '\x2c', '\x20', '\x41', '\x72', '\x67', '\x73', '\x26', '\x26', '\x2e', '\x2e', '\x2e', '\x20', '\x61', '\x72', '\x67', '\x73', '\x29', '\x20', '\x2d', '\x3e', '\x20', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x65', '\x6e', '\x61', '\x62', '\x6c', '\x65', '\x5f', '\x69', '\x66', '\x3c', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x69', '\x73', '\x5f', '\x73', '\x61', '\x6d', '\x65', '\x3c', '\x76', '\x6f', '\x69', '\x64', '\x2c', '\x20', '\x64', '\x65', '\x63', '\x6c', '\x74', '\x79', '\x70', '\x65', '\x28', '\x66', '\x6e', '\x28', '\x61', '\x72', '\x67', '\x73', '\x2e', '\x2e', '\x2e', '\x29', '\x29', '\x3e', '\x3a', '\x3a', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x3e', '\x3a', '\x3a', '\x74', '\x79', '\x70', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x66', '\x6f', '\x72', '\x77', '\x61', '\x72', '\x64', '\x3c', '\x46', '\x6e', '\x3e', '\x28', '\x66', '\x6e', '\x29', '\x20', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x66', '\x6f', '\x72', '\x77', '\x61', '\x72', '\x64', '\x3c', '\x41', '\x72', '\x67', '\x73', '\x2e', '\x2e', '\x2e', '\x3e', '\x28', '\x61', '\x72', '\x67', '\x73', '\x2e', '\x2e', '\x2e', '\x29', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x42', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x0d', '\x0a', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x6f', '\x70', '\x74', '\x69', '\x6d', '\x69', '\x7a', '\x65', '\x72', '\x2e', '\x68', '\x70', '\x70', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x63', '\x6f', '\x6d', '\x70', '\x6c', '\x65', '\x74', '\x65', '\x5f', '\x69', '\x6e', '\x76', '\x6f', '\x6b', '\x65', '\x2e', '\x68', '\x70', '\x70', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x49', '\x6e', '\x76', '\x6f', '\x6b', '\x65', '\x20', '\x77', '\x69', '\x74', '\x68', '\x20', '\x61', '\x20', '\x73', '\x70', '\x65', '\x63', '\x69', '\x61', '\x6c', '\x20', '\x63', '\x61', '\x73', '\x65', '\x20', '\x66', '\x6f', '\x72', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x0d', '\x0a', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x5f', '\x74', '\x72', '\x61', '\x69', '\x74', '\x73', '\x3e', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x75', '\x74', '\x69', '\x6c', '\x69', '\x74', '\x79', '\x3e', '\x0d', '\x0a', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x42', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x44', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x20', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x54', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x43', '\x6f', '\x6d', '\x70', '\x6c', '\x65', '\x74', '\x65', '\x54', '\x79', '\x70', '\x65', '\x20', '\x7b', '\x20', '\x75', '\x73', '\x69', '\x6e', '\x67', '\x20', '\x74', '\x79', '\x70', '\x65', '\x20', '\x3d', '\x20', '\x54', '\x3b', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x20', '\x3c', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x43', '\x6f', '\x6d', '\x70', '\x6c', '\x65', '\x74', '\x65', '\x54', '\x79', '\x70', '\x65', '\x3c', '\x76', '\x6f', '\x69', '\x64', '\x3e', '\x20', '\x7b', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x74', '\x79', '\x70', '\x65', '\x20', '\x7b', '\x7d', '\x3b', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x20', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x54', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x75', '\x73', '\x69', '\x6e', '\x67', '\x20', '\x43', '\x6f', '\x6d', '\x70', '\x6c', '\x65', '\x74', '\x65', '\x54', '\x79', '\x70', '\x65', '\x5f', '\x74', '\x20', '\x3d', '\x20', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x43', '\x6f', '\x6d', '\x70', '\x6c', '\x65', '\x74', '\x65', '\x54', '\x79', '\x70', '\x65', '\x3c', '\x54', '\x3e', '\x3a', '\x3a', '\x74', '\x79', '\x70', '\x65', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x20', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x43', '\x6f', '\x6d', '\x70', '\x6c', '\x65', '\x74', '\x65', '\x49', '\x6e', '\x76', '\x6f', '\x6b', '\x65', '\x72', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x20', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x46', '\x75', '\x6e', '\x2c', '\x20', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x2e', '\x2e', '\x2e', '\x20', '\x41', '\x72', '\x67', '\x73', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x20', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x20', '\x69', '\x6e', '\x76', '\x6f', '\x6b', '\x65', '\x28', '\x46', '\x75', '\x6e', '\x26', '\x26', '\x20', '\x66', '\x75', '\x6e', '\x2c', '\x20', '\x41', '\x72', '\x67', '\x73', '\x26', '\x26', '\x2e', '\x2e', '\x2e', '\x20', '\x61', '\x72', '\x67', '\x73', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x66', '\x6f', '\x72', '\x77', '\x61', '\x72', '\x64', '\x3c', '\x46', '\x75', '\x6e', '\x3e', '\x28', '\x66', '\x75', '\x6e', '\x29', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x66', '\x6f', '\x72', '\x77', '\x61', '\x72', '\x64', '\x3c', '\x41', '\x72', '\x67', '\x73', '\x3e', '\x28', '\x61', '\x72', '\x67', '\x73', '\x29', '\x2e', '\x2e', '\x2e', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x20', '\x3c', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x43', '\x6f', '\x6d', '\x70', '\x6c', '\x65', '\x74', '\x65', '\x49', '\x6e', '\x76', '\x6f', '\x6b', '\x65', '\x72', '\x3c', '\x76', '\x6f', '\x69', '\x64', '\x3e', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x20', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x46', '\x75', '\x6e', '\x2c', '\x20', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x2e', '\x2e', '\x2e', '\x20', '\x41', '\x72', '\x67', '\x73', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x20', '\x43', '\x6f', '\x6d', '\x70', '\x6c', '\x65', '\x74', '\x65', '\x54', '\x79', '\x70', '\x65', '\x5f', '\x74', '\x3c', '\x76', '\x6f', '\x69', '\x64', '\x3e', '\x20', '\x69', '\x6e', '\x76', '\x6f', '\x6b', '\x65', '\x28', '\x46', '\x75', '\x6e', '\x26', '\x26', '\x20', '\x66', '\x75', '\x6e', '\x2c', '\x20', '\x41', '\x72', '\x67', '\x73', '\x26', '\x26', '\x2e', '\x2e', '\x2e', '\x20', '\x61', '\x72', '\x67', '\x73', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x66', '\x6f', '\x72', '\x77', '\x61', '\x72', '\x64', '\x3c', '\x46', '\x75', '\x6e', '\x3e', '\x28', '\x66', '\x75', '\x6e', '\x29', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x66', '\x6f', '\x72', '\x77', '\x61', '\x72', '\x64', '\x3c', '\x41', '\x72', '\x67', '\x73', '\x3e', '\x28', '\x61', '\x72', '\x67', '\x73', '\x29', '\x2e', '\x2e', '\x2e', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x7b', '\x7d', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x20', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x53', '\x69', '\x67', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x75', '\x73', '\x69', '\x6e', '\x67', '\x20', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x4f', '\x66', '\x5f', '\x74', '\x20', '\x3d', '\x20', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x5f', '\x6f', '\x66', '\x3c', '\x53', '\x69', '\x67', '\x3e', '\x3a', '\x3a', '\x74', '\x79', '\x70', '\x65', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x69', '\x6e', '\x76', '\x6f', '\x6b', '\x65', '\x20', '\x61', '\x6e', '\x64', '\x20', '\x6e', '\x6f', '\x74', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x3a', '\x28', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x20', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x46', '\x75', '\x6e', '\x2c', '\x20', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x2e', '\x2e', '\x2e', '\x20', '\x41', '\x72', '\x67', '\x73', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x6f', '\x6d', '\x70', '\x6c', '\x65', '\x74', '\x65', '\x54', '\x79', '\x70', '\x65', '\x5f', '\x74', '\x3c', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x4f', '\x66', '\x5f', '\x74', '\x3c', '\x46', '\x75', '\x6e', '\x28', '\x41', '\x72', '\x67', '\x73', '\x2e', '\x2e', '\x2e', '\x29', '\x3e', '\x3e', '\x20', '\x63', '\x6f', '\x6d', '\x70', '\x6c', '\x65', '\x74', '\x65', '\x5f', '\x69', '\x6e', '\x76', '\x6f', '\x6b', '\x65', '\x28', '\x46', '\x75', '\x6e', '\x26', '\x26', '\x20', '\x66', '\x75', '\x6e', '\x2c', '\x20', '\x41', '\x72', '\x67', '\x73', '\x26', '\x26', '\x2e', '\x2e', '\x2e', '\x20', '\x61', '\x72', '\x67', '\x73', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x43', '\x6f', '\x6d', '\x70', '\x6c', '\x65', '\x74', '\x65', '\x49', '\x6e', '\x76', '\x6f', '\x6b', '\x65', '\x72', '\x3c', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x4f', '\x66', '\x5f', '\x74', '\x3c', '\x46', '\x75', '\x6e', '\x28', '\x41', '\x72', '\x67', '\x73', '\x2e', '\x2e', '\x2e', '\x29', '\x3e', '\x3e', '\x3a', '\x3a', '\x69', '\x6e', '\x76', '\x6f', '\x6b', '\x65', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x66', '\x6f', '\x72', '\x77', '\x61', '\x72', '\x64', '\x3c', '\x46', '\x75', '\x6e', '\x3e', '\x28', '\x66', '\x75', '\x6e', '\x29', '\x2c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x66', '\x6f', '\x72', '\x77', '\x61', '\x72', '\x64', '\x3c', '\x41', '\x72', '\x67', '\x73', '\x3e', '\x28', '\x61', '\x72', '\x67', '\x73', '\x29', '\x2e', '\x2e', '\x2e', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x62', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x45', '\x72', '\x72', '\x6f', '\x72', '\x4d', '\x73', '\x67', '\x20', '\x3d', '\x20', '\x22', '\x61', '\x20', '\x62', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x20', '\x66', '\x61', '\x69', '\x6c', '\x65', '\x64', '\x20', '\x74', '\x6f', '\x20', '\x72', '\x75', '\x6e', '\x20', '\x73', '\x75', '\x63', '\x63', '\x65', '\x73', '\x73', '\x66', '\x75', '\x6c', '\x6c', '\x79', '\x22', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x44', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x20', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x46', '\x75', '\x6e', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x44', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x3a', '\x3a', '\x43', '\x6f', '\x6d', '\x70', '\x6c', '\x65', '\x74', '\x65', '\x54', '\x79', '\x70', '\x65', '\x5f', '\x74', '\x3c', '\x44', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x3a', '\x3a', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x4f', '\x66', '\x5f', '\x74', '\x3c', '\x46', '\x75', '\x6e', '\x28', '\x29', '\x3e', '\x3e', '\x20', '\x75', '\x73', '\x65', '\x72', '\x5f', '\x63', '\x6f', '\x64', '\x65', '\x28', '\x46', '\x75', '\x6e', '\x26', '\x26', '\x20', '\x66', '\x75', '\x6e', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x52', '\x59', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x44', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x3a', '\x3a', '\x63', '\x6f', '\x6d', '\x70', '\x6c', '\x65', '\x74', '\x65', '\x5f', '\x69', '\x6e', '\x76', '\x6f', '\x6b', '\x65', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x66', '\x6f', '\x72', '\x77', '\x61', '\x72', '\x64', '\x3c', '\x46', '\x75', '\x6e', '\x3e', '\x28', '\x66', '\x75', '\x6e', '\x29', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x41', '\x4c', '\x4c', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x67', '\x65', '\x74', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x43', '\x61', '\x70', '\x74', '\x75', '\x72', '\x65', '\x28', '\x29', '\x2e', '\x62', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x46', '\x61', '\x69', '\x6c', '\x65', '\x64', '\x28', '\x74', '\x72', '\x61', '\x6e', '\x73', '\x6c', '\x61', '\x74', '\x65', '\x41', '\x63', '\x74', '\x69', '\x76', '\x65', '\x45', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x28', '\x29', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x55', '\x4e', '\x54', '\x49', '\x4d', '\x45', '\x5f', '\x45', '\x52', '\x52', '\x4f', '\x52', '\x28', '\x44', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x3a', '\x3a', '\x62', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x45', '\x72', '\x72', '\x6f', '\x72', '\x4d', '\x73', '\x67', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x42', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x0d', '\x0a', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x63', '\x6f', '\x6d', '\x70', '\x6c', '\x65', '\x74', '\x65', '\x5f', '\x69', '\x6e', '\x76', '\x6f', '\x6b', '\x65', '\x2e', '\x68', '\x70', '\x70', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x42', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x44', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x43', '\x68', '\x72', '\x6f', '\x6e', '\x6f', '\x6d', '\x65', '\x74', '\x65', '\x72', '\x43', '\x6f', '\x6e', '\x63', '\x65', '\x70', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x69', '\x72', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x28', '\x29', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x69', '\x72', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x66', '\x69', '\x6e', '\x69', '\x73', '\x68', '\x28', '\x29', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x69', '\x72', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x7e', '\x43', '\x68', '\x72', '\x6f', '\x6e', '\x6f', '\x6d', '\x65', '\x74', '\x65', '\x72', '\x43', '\x6f', '\x6e', '\x63', '\x65', '\x70', '\x74', '\x28', '\x29', '\x20', '\x3d', '\x20', '\x64', '\x65', '\x66', '\x61', '\x75', '\x6c', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x20', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x43', '\x6c', '\x6f', '\x63', '\x6b', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x43', '\x68', '\x72', '\x6f', '\x6e', '\x6f', '\x6d', '\x65', '\x74', '\x65', '\x72', '\x4d', '\x6f', '\x64', '\x65', '\x6c', '\x20', '\x66', '\x69', '\x6e', '\x61', '\x6c', '\x20', '\x3a', '\x20', '\x70', '\x75', '\x62', '\x6c', '\x69', '\x63', '\x20', '\x43', '\x68', '\x72', '\x6f', '\x6e', '\x6f', '\x6d', '\x65', '\x74', '\x65', '\x72', '\x43', '\x6f', '\x6e', '\x63', '\x65', '\x70', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x28', '\x29', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x20', '\x7b', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x65', '\x64', '\x20', '\x3d', '\x20', '\x43', '\x6c', '\x6f', '\x63', '\x6b', '\x3a', '\x3a', '\x6e', '\x6f', '\x77', '\x28', '\x29', '\x3b', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x66', '\x69', '\x6e', '\x69', '\x73', '\x68', '\x28', '\x29', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x20', '\x7b', '\x20', '\x66', '\x69', '\x6e', '\x69', '\x73', '\x68', '\x65', '\x64', '\x20', '\x3d', '\x20', '\x43', '\x6c', '\x6f', '\x63', '\x6b', '\x3a', '\x3a', '\x6e', '\x6f', '\x77', '\x28', '\x29', '\x3b', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x6c', '\x6f', '\x63', '\x6b', '\x44', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x3c', '\x43', '\x6c', '\x6f', '\x63', '\x6b', '\x3e', '\x20', '\x65', '\x6c', '\x61', '\x70', '\x73', '\x65', '\x64', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x7b', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x66', '\x69', '\x6e', '\x69', '\x73', '\x68', '\x65', '\x64', '\x20', '\x2d', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x65', '\x64', '\x3b', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x54', '\x69', '\x6d', '\x65', '\x50', '\x6f', '\x69', '\x6e', '\x74', '\x3c', '\x43', '\x6c', '\x6f', '\x63', '\x6b', '\x3e', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x65', '\x64', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x54', '\x69', '\x6d', '\x65', '\x50', '\x6f', '\x69', '\x6e', '\x74', '\x3c', '\x43', '\x6c', '\x6f', '\x63', '\x6b', '\x3e', '\x20', '\x66', '\x69', '\x6e', '\x69', '\x73', '\x68', '\x65', '\x64', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x44', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x43', '\x68', '\x72', '\x6f', '\x6e', '\x6f', '\x6d', '\x65', '\x74', '\x65', '\x72', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x75', '\x62', '\x6c', '\x69', '\x63', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x20', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x46', '\x75', '\x6e', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x6d', '\x65', '\x61', '\x73', '\x75', '\x72', '\x65', '\x28', '\x46', '\x75', '\x6e', '\x26', '\x26', '\x20', '\x66', '\x75', '\x6e', '\x29', '\x20', '\x7b', '\x20', '\x6d', '\x65', '\x61', '\x73', '\x75', '\x72', '\x65', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x66', '\x6f', '\x72', '\x77', '\x61', '\x72', '\x64', '\x3c', '\x46', '\x75', '\x6e', '\x3e', '\x28', '\x66', '\x75', '\x6e', '\x29', '\x2c', '\x20', '\x69', '\x73', '\x5f', '\x63', '\x61', '\x6c', '\x6c', '\x61', '\x62', '\x6c', '\x65', '\x3c', '\x46', '\x75', '\x6e', '\x28', '\x69', '\x6e', '\x74', '\x29', '\x3e', '\x28', '\x29', '\x29', '\x3b', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x6e', '\x74', '\x20', '\x72', '\x75', '\x6e', '\x73', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x7b', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6b', '\x3b', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x68', '\x72', '\x6f', '\x6e', '\x6f', '\x6d', '\x65', '\x74', '\x65', '\x72', '\x28', '\x44', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x3a', '\x3a', '\x43', '\x68', '\x72', '\x6f', '\x6e', '\x6f', '\x6d', '\x65', '\x74', '\x65', '\x72', '\x43', '\x6f', '\x6e', '\x63', '\x65', '\x70', '\x74', '\x26', '\x20', '\x6d', '\x65', '\x74', '\x65', '\x72', '\x2c', '\x20', '\x69', '\x6e', '\x74', '\x20', '\x6b', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x3a', '\x20', '\x69', '\x6d', '\x70', '\x6c', '\x28', '\x26', '\x6d', '\x65', '\x74', '\x65', '\x72', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2c', '\x20', '\x6b', '\x28', '\x6b', '\x29', '\x20', '\x7b', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x72', '\x69', '\x76', '\x61', '\x74', '\x65', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x20', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x46', '\x75', '\x6e', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x6d', '\x65', '\x61', '\x73', '\x75', '\x72', '\x65', '\x28', '\x46', '\x75', '\x6e', '\x26', '\x26', '\x20', '\x66', '\x75', '\x6e', '\x2c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x66', '\x61', '\x6c', '\x73', '\x65', '\x5f', '\x74', '\x79', '\x70', '\x65', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x65', '\x61', '\x73', '\x75', '\x72', '\x65', '\x28', '\x5b', '\x26', '\x66', '\x75', '\x6e', '\x5d', '\x28', '\x69', '\x6e', '\x74', '\x29', '\x20', '\x7b', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x66', '\x75', '\x6e', '\x28', '\x29', '\x3b', '\x20', '\x7d', '\x2c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x74', '\x72', '\x75', '\x65', '\x5f', '\x74', '\x79', '\x70', '\x65', '\x28', '\x29', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x20', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x46', '\x75', '\x6e', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x6d', '\x65', '\x61', '\x73', '\x75', '\x72', '\x65', '\x28', '\x46', '\x75', '\x6e', '\x26', '\x26', '\x20', '\x66', '\x75', '\x6e', '\x2c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x74', '\x72', '\x75', '\x65', '\x5f', '\x74', '\x79', '\x70', '\x65', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x44', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x3a', '\x3a', '\x6f', '\x70', '\x74', '\x69', '\x6d', '\x69', '\x7a', '\x65', '\x72', '\x5f', '\x62', '\x61', '\x72', '\x72', '\x69', '\x65', '\x72', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x6d', '\x70', '\x6c', '\x2d', '\x3e', '\x73', '\x74', '\x61', '\x72', '\x74', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x66', '\x6f', '\x72', '\x20', '\x28', '\x69', '\x6e', '\x74', '\x20', '\x69', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x20', '\x69', '\x20', '\x3c', '\x20', '\x6b', '\x3b', '\x20', '\x2b', '\x2b', '\x69', '\x29', '\x20', '\x69', '\x6e', '\x76', '\x6f', '\x6b', '\x65', '\x5f', '\x64', '\x65', '\x6f', '\x70', '\x74', '\x69', '\x6d', '\x69', '\x7a', '\x65', '\x64', '\x28', '\x66', '\x75', '\x6e', '\x2c', '\x20', '\x69', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x6d', '\x70', '\x6c', '\x2d', '\x3e', '\x66', '\x69', '\x6e', '\x69', '\x73', '\x68', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x44', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x3a', '\x3a', '\x6f', '\x70', '\x74', '\x69', '\x6d', '\x69', '\x7a', '\x65', '\x72', '\x5f', '\x62', '\x61', '\x72', '\x72', '\x69', '\x65', '\x72', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x44', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x3a', '\x3a', '\x43', '\x68', '\x72', '\x6f', '\x6e', '\x6f', '\x6d', '\x65', '\x74', '\x65', '\x72', '\x43', '\x6f', '\x6e', '\x63', '\x65', '\x70', '\x74', '\x2a', '\x20', '\x69', '\x6d', '\x70', '\x6c', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x6e', '\x74', '\x20', '\x6b', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x42', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x0d', '\x0a', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x63', '\x68', '\x72', '\x6f', '\x6e', '\x6f', '\x6d', '\x65', '\x74', '\x65', '\x72', '\x2e', '\x68', '\x70', '\x70', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x65', '\x6e', '\x76', '\x69', '\x72', '\x6f', '\x6e', '\x6d', '\x65', '\x6e', '\x74', '\x2e', '\x68', '\x70', '\x70', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x45', '\x6e', '\x76', '\x69', '\x72', '\x6f', '\x6e', '\x6d', '\x65', '\x6e', '\x74', '\x20', '\x69', '\x6e', '\x66', '\x6f', '\x72', '\x6d', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x0d', '\x0a', '\x0d', '\x0a', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x42', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x20', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x44', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x45', '\x6e', '\x76', '\x69', '\x72', '\x6f', '\x6e', '\x6d', '\x65', '\x6e', '\x74', '\x45', '\x73', '\x74', '\x69', '\x6d', '\x61', '\x74', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x44', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x6d', '\x65', '\x61', '\x6e', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x4f', '\x75', '\x74', '\x6c', '\x69', '\x65', '\x72', '\x43', '\x6c', '\x61', '\x73', '\x73', '\x69', '\x66', '\x69', '\x63', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x6f', '\x75', '\x74', '\x6c', '\x69', '\x65', '\x72', '\x73', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x20', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x44', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x32', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x45', '\x6e', '\x76', '\x69', '\x72', '\x6f', '\x6e', '\x6d', '\x65', '\x6e', '\x74', '\x45', '\x73', '\x74', '\x69', '\x6d', '\x61', '\x74', '\x65', '\x3c', '\x44', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x32', '\x3e', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x7b', '\x20', '\x6d', '\x65', '\x61', '\x6e', '\x2c', '\x20', '\x6f', '\x75', '\x74', '\x6c', '\x69', '\x65', '\x72', '\x73', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x20', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x43', '\x6c', '\x6f', '\x63', '\x6b', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x45', '\x6e', '\x76', '\x69', '\x72', '\x6f', '\x6e', '\x6d', '\x65', '\x6e', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x75', '\x73', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6c', '\x6f', '\x63', '\x6b', '\x5f', '\x74', '\x79', '\x70', '\x65', '\x20', '\x3d', '\x20', '\x43', '\x6c', '\x6f', '\x63', '\x6b', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x45', '\x6e', '\x76', '\x69', '\x72', '\x6f', '\x6e', '\x6d', '\x65', '\x6e', '\x74', '\x45', '\x73', '\x74', '\x69', '\x6d', '\x61', '\x74', '\x65', '\x3c', '\x46', '\x6c', '\x6f', '\x61', '\x74', '\x44', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x3c', '\x43', '\x6c', '\x6f', '\x63', '\x6b', '\x3e', '\x3e', '\x20', '\x63', '\x6c', '\x6f', '\x63', '\x6b', '\x5f', '\x72', '\x65', '\x73', '\x6f', '\x6c', '\x75', '\x74', '\x69', '\x6f', '\x6e', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x45', '\x6e', '\x76', '\x69', '\x72', '\x6f', '\x6e', '\x6d', '\x65', '\x6e', '\x74', '\x45', '\x73', '\x74', '\x69', '\x6d', '\x61', '\x74', '\x65', '\x3c', '\x46', '\x6c', '\x6f', '\x61', '\x74', '\x44', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x3c', '\x43', '\x6c', '\x6f', '\x63', '\x6b', '\x3e', '\x3e', '\x20', '\x63', '\x6c', '\x6f', '\x63', '\x6b', '\x5f', '\x63', '\x6f', '\x73', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x42', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x0d', '\x0a', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x65', '\x6e', '\x76', '\x69', '\x72', '\x6f', '\x6e', '\x6d', '\x65', '\x6e', '\x74', '\x2e', '\x68', '\x70', '\x70', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x65', '\x78', '\x65', '\x63', '\x75', '\x74', '\x69', '\x6f', '\x6e', '\x5f', '\x70', '\x6c', '\x61', '\x6e', '\x2e', '\x68', '\x70', '\x70', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x2f', '\x2f', '\x20', '\x45', '\x78', '\x65', '\x63', '\x75', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x70', '\x6c', '\x61', '\x6e', '\x0d', '\x0a', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x62', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x5f', '\x66', '\x75', '\x6e', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x2e', '\x68', '\x70', '\x70', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x2f', '\x2f', '\x20', '\x44', '\x75', '\x6d', '\x62', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x66', '\x75', '\x6e', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x69', '\x6d', '\x70', '\x6c', '\x65', '\x6d', '\x65', '\x6e', '\x74', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x66', '\x6f', '\x72', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x69', '\x73', '\x74', '\x65', '\x6e', '\x74', '\x20', '\x63', '\x61', '\x6c', '\x6c', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x68', '\x65', '\x61', '\x64', '\x0d', '\x0a', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x63', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x3e', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x5f', '\x74', '\x72', '\x61', '\x69', '\x74', '\x73', '\x3e', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x75', '\x74', '\x69', '\x6c', '\x69', '\x74', '\x79', '\x3e', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x6d', '\x65', '\x6d', '\x6f', '\x72', '\x79', '\x3e', '\x0d', '\x0a', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x42', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x44', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x20', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x54', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x75', '\x73', '\x69', '\x6e', '\x67', '\x20', '\x44', '\x65', '\x63', '\x61', '\x79', '\x20', '\x3d', '\x20', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x64', '\x65', '\x63', '\x61', '\x79', '\x3c', '\x54', '\x3e', '\x3a', '\x3a', '\x74', '\x79', '\x70', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x20', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x54', '\x2c', '\x20', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x55', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x69', '\x73', '\x5f', '\x72', '\x65', '\x6c', '\x61', '\x74', '\x65', '\x64', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x3a', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x69', '\x73', '\x5f', '\x73', '\x61', '\x6d', '\x65', '\x3c', '\x44', '\x65', '\x63', '\x61', '\x79', '\x3c', '\x54', '\x3e', '\x2c', '\x20', '\x44', '\x65', '\x63', '\x61', '\x79', '\x3c', '\x55', '\x3e', '\x3e', '\x20', '\x7b', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x2f', '\x20', '\x57', '\x65', '\x20', '\x6e', '\x65', '\x65', '\x64', '\x20', '\x74', '\x6f', '\x20', '\x72', '\x65', '\x69', '\x6e', '\x76', '\x65', '\x6e', '\x74', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x66', '\x75', '\x6e', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x62', '\x65', '\x63', '\x61', '\x75', '\x73', '\x65', '\x20', '\x65', '\x76', '\x65', '\x72', '\x79', '\x20', '\x70', '\x69', '\x65', '\x63', '\x65', '\x20', '\x6f', '\x66', '\x20', '\x63', '\x6f', '\x64', '\x65', '\x20', '\x74', '\x68', '\x61', '\x74', '\x20', '\x6d', '\x69', '\x67', '\x68', '\x74', '\x20', '\x61', '\x64', '\x64', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x68', '\x65', '\x61', '\x64', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x2f', '\x20', '\x69', '\x6e', '\x20', '\x61', '\x20', '\x6d', '\x65', '\x61', '\x73', '\x75', '\x72', '\x65', '\x6d', '\x65', '\x6e', '\x74', '\x20', '\x63', '\x6f', '\x6e', '\x74', '\x65', '\x78', '\x74', '\x20', '\x6e', '\x65', '\x65', '\x64', '\x73', '\x20', '\x74', '\x6f', '\x20', '\x68', '\x61', '\x76', '\x65', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x69', '\x73', '\x74', '\x65', '\x6e', '\x74', '\x20', '\x70', '\x65', '\x72', '\x66', '\x6f', '\x72', '\x6d', '\x61', '\x6e', '\x63', '\x65', '\x20', '\x63', '\x68', '\x61', '\x72', '\x61', '\x63', '\x74', '\x65', '\x72', '\x69', '\x73', '\x74', '\x69', '\x63', '\x73', '\x20', '\x73', '\x6f', '\x20', '\x74', '\x68', '\x61', '\x74', '\x20', '\x77', '\x65', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x2f', '\x20', '\x63', '\x61', '\x6e', '\x20', '\x61', '\x63', '\x63', '\x6f', '\x75', '\x6e', '\x74', '\x20', '\x66', '\x6f', '\x72', '\x20', '\x69', '\x74', '\x20', '\x69', '\x6e', '\x20', '\x74', '\x68', '\x65', '\x20', '\x6d', '\x65', '\x61', '\x73', '\x75', '\x72', '\x65', '\x6d', '\x65', '\x6e', '\x74', '\x2e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x2f', '\x20', '\x49', '\x6d', '\x70', '\x6c', '\x65', '\x6d', '\x65', '\x6e', '\x74', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x20', '\x6f', '\x66', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x66', '\x75', '\x6e', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x77', '\x69', '\x74', '\x68', '\x20', '\x6f', '\x70', '\x74', '\x69', '\x6d', '\x69', '\x7a', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x20', '\x74', '\x68', '\x61', '\x74', '\x20', '\x61', '\x72', '\x65', '\x6e', '\x27', '\x74', '\x20', '\x61', '\x6c', '\x77', '\x61', '\x79', '\x73', '\x20', '\x61', '\x70', '\x70', '\x6c', '\x69', '\x63', '\x61', '\x62', '\x6c', '\x65', '\x2c', '\x20', '\x6c', '\x69', '\x6b', '\x65', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x2f', '\x20', '\x73', '\x6d', '\x61', '\x6c', '\x6c', '\x20', '\x62', '\x75', '\x66', '\x66', '\x65', '\x72', '\x20', '\x6f', '\x70', '\x74', '\x69', '\x6d', '\x69', '\x7a', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x2c', '\x20', '\x61', '\x72', '\x65', '\x20', '\x6e', '\x6f', '\x74', '\x20', '\x75', '\x6e', '\x63', '\x6f', '\x6d', '\x6d', '\x6f', '\x6e', '\x2e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x2f', '\x20', '\x54', '\x68', '\x69', '\x73', '\x20', '\x69', '\x73', '\x20', '\x65', '\x66', '\x66', '\x65', '\x63', '\x74', '\x69', '\x76', '\x65', '\x6c', '\x79', '\x20', '\x61', '\x6e', '\x20', '\x69', '\x6d', '\x70', '\x6c', '\x65', '\x6d', '\x65', '\x6e', '\x74', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x6f', '\x66', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x66', '\x75', '\x6e', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x77', '\x69', '\x74', '\x68', '\x6f', '\x75', '\x74', '\x20', '\x61', '\x6e', '\x79', '\x20', '\x73', '\x75', '\x63', '\x68', '\x20', '\x6f', '\x70', '\x74', '\x69', '\x6d', '\x69', '\x7a', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x2f', '\x20', '\x69', '\x74', '\x20', '\x6d', '\x61', '\x79', '\x20', '\x62', '\x65', '\x20', '\x73', '\x6c', '\x6f', '\x77', '\x2c', '\x20', '\x62', '\x75', '\x74', '\x20', '\x69', '\x74', '\x20', '\x69', '\x73', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x69', '\x73', '\x74', '\x65', '\x6e', '\x74', '\x6c', '\x79', '\x20', '\x73', '\x6c', '\x6f', '\x77', '\x2e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x42', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x46', '\x75', '\x6e', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x72', '\x69', '\x76', '\x61', '\x74', '\x65', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x63', '\x61', '\x6c', '\x6c', '\x61', '\x62', '\x6c', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x69', '\x72', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x63', '\x61', '\x6c', '\x6c', '\x28', '\x43', '\x68', '\x72', '\x6f', '\x6e', '\x6f', '\x6d', '\x65', '\x74', '\x65', '\x72', '\x20', '\x6d', '\x65', '\x74', '\x65', '\x72', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x69', '\x72', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x63', '\x61', '\x6c', '\x6c', '\x61', '\x62', '\x6c', '\x65', '\x2a', '\x20', '\x63', '\x6c', '\x6f', '\x6e', '\x65', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x69', '\x72', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x7e', '\x63', '\x61', '\x6c', '\x6c', '\x61', '\x62', '\x6c', '\x65', '\x28', '\x29', '\x20', '\x3d', '\x20', '\x64', '\x65', '\x66', '\x61', '\x75', '\x6c', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x20', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x46', '\x75', '\x6e', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x6d', '\x6f', '\x64', '\x65', '\x6c', '\x20', '\x3a', '\x20', '\x70', '\x75', '\x62', '\x6c', '\x69', '\x63', '\x20', '\x63', '\x61', '\x6c', '\x6c', '\x61', '\x62', '\x6c', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x6f', '\x64', '\x65', '\x6c', '\x28', '\x46', '\x75', '\x6e', '\x26', '\x26', '\x20', '\x66', '\x75', '\x6e', '\x29', '\x20', '\x3a', '\x20', '\x66', '\x75', '\x6e', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6d', '\x6f', '\x76', '\x65', '\x28', '\x66', '\x75', '\x6e', '\x29', '\x29', '\x20', '\x7b', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x6f', '\x64', '\x65', '\x6c', '\x28', '\x46', '\x75', '\x6e', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x66', '\x75', '\x6e', '\x29', '\x20', '\x3a', '\x20', '\x66', '\x75', '\x6e', '\x28', '\x66', '\x75', '\x6e', '\x29', '\x20', '\x7b', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x6f', '\x64', '\x65', '\x6c', '\x3c', '\x46', '\x75', '\x6e', '\x3e', '\x2a', '\x20', '\x63', '\x6c', '\x6f', '\x6e', '\x65', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x20', '\x7b', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6e', '\x65', '\x77', '\x20', '\x6d', '\x6f', '\x64', '\x65', '\x6c', '\x3c', '\x46', '\x75', '\x6e', '\x3e', '\x28', '\x2a', '\x74', '\x68', '\x69', '\x73', '\x29', '\x3b', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x63', '\x61', '\x6c', '\x6c', '\x28', '\x43', '\x68', '\x72', '\x6f', '\x6e', '\x6f', '\x6d', '\x65', '\x74', '\x65', '\x72', '\x20', '\x6d', '\x65', '\x74', '\x65', '\x72', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x61', '\x6c', '\x6c', '\x28', '\x6d', '\x65', '\x74', '\x65', '\x72', '\x2c', '\x20', '\x69', '\x73', '\x5f', '\x63', '\x61', '\x6c', '\x6c', '\x61', '\x62', '\x6c', '\x65', '\x3c', '\x46', '\x75', '\x6e', '\x28', '\x43', '\x68', '\x72', '\x6f', '\x6e', '\x6f', '\x6d', '\x65', '\x74', '\x65', '\x72', '\x29', '\x3e', '\x28', '\x29', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x63', '\x61', '\x6c', '\x6c', '\x28', '\x43', '\x68', '\x72', '\x6f', '\x6e', '\x6f', '\x6d', '\x65', '\x74', '\x65', '\x72', '\x20', '\x6d', '\x65', '\x74', '\x65', '\x72', '\x2c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x74', '\x72', '\x75', '\x65', '\x5f', '\x74', '\x79', '\x70', '\x65', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x66', '\x75', '\x6e', '\x28', '\x6d', '\x65', '\x74', '\x65', '\x72', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x63', '\x61', '\x6c', '\x6c', '\x28', '\x43', '\x68', '\x72', '\x6f', '\x6e', '\x6f', '\x6d', '\x65', '\x74', '\x65', '\x72', '\x20', '\x6d', '\x65', '\x74', '\x65', '\x72', '\x2c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x66', '\x61', '\x6c', '\x73', '\x65', '\x5f', '\x74', '\x79', '\x70', '\x65', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x65', '\x74', '\x65', '\x72', '\x2e', '\x6d', '\x65', '\x61', '\x73', '\x75', '\x72', '\x65', '\x28', '\x66', '\x75', '\x6e', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x46', '\x75', '\x6e', '\x20', '\x66', '\x75', '\x6e', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x64', '\x6f', '\x5f', '\x6e', '\x6f', '\x74', '\x68', '\x69', '\x6e', '\x67', '\x20', '\x7b', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x28', '\x29', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x7b', '\x7d', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x20', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x54', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x42', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x46', '\x75', '\x6e', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x28', '\x6d', '\x6f', '\x64', '\x65', '\x6c', '\x3c', '\x54', '\x3e', '\x2a', '\x20', '\x63', '\x29', '\x20', '\x3a', '\x20', '\x66', '\x28', '\x63', '\x29', '\x20', '\x7b', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x75', '\x62', '\x6c', '\x69', '\x63', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x42', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x46', '\x75', '\x6e', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x28', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x3a', '\x20', '\x66', '\x28', '\x6e', '\x65', '\x77', '\x20', '\x6d', '\x6f', '\x64', '\x65', '\x6c', '\x3c', '\x64', '\x6f', '\x5f', '\x6e', '\x6f', '\x74', '\x68', '\x69', '\x6e', '\x67', '\x3e', '\x7b', '\x20', '\x7b', '\x7d', '\x20', '\x7d', '\x29', '\x20', '\x7b', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x20', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x46', '\x75', '\x6e', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x65', '\x6e', '\x61', '\x62', '\x6c', '\x65', '\x5f', '\x69', '\x66', '\x3c', '\x21', '\x69', '\x73', '\x5f', '\x72', '\x65', '\x6c', '\x61', '\x74', '\x65', '\x64', '\x3c', '\x46', '\x75', '\x6e', '\x2c', '\x20', '\x42', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x46', '\x75', '\x6e', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x3e', '\x3a', '\x3a', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x2c', '\x20', '\x69', '\x6e', '\x74', '\x3e', '\x3a', '\x3a', '\x74', '\x79', '\x70', '\x65', '\x20', '\x3d', '\x20', '\x30', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x42', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x46', '\x75', '\x6e', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x28', '\x46', '\x75', '\x6e', '\x26', '\x26', '\x20', '\x66', '\x75', '\x6e', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x3a', '\x20', '\x66', '\x28', '\x6e', '\x65', '\x77', '\x20', '\x6d', '\x6f', '\x64', '\x65', '\x6c', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x64', '\x65', '\x63', '\x61', '\x79', '\x3c', '\x46', '\x75', '\x6e', '\x3e', '\x3a', '\x3a', '\x74', '\x79', '\x70', '\x65', '\x3e', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x66', '\x6f', '\x72', '\x77', '\x61', '\x72', '\x64', '\x3c', '\x46', '\x75', '\x6e', '\x3e', '\x28', '\x66', '\x75', '\x6e', '\x29', '\x29', '\x29', '\x20', '\x7b', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x42', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x46', '\x75', '\x6e', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x28', '\x42', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x46', '\x75', '\x6e', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x26', '\x26', '\x20', '\x74', '\x68', '\x61', '\x74', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x3a', '\x20', '\x66', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6d', '\x6f', '\x76', '\x65', '\x28', '\x74', '\x68', '\x61', '\x74', '\x2e', '\x66', '\x29', '\x29', '\x20', '\x7b', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x42', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x46', '\x75', '\x6e', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x28', '\x42', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x46', '\x75', '\x6e', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x74', '\x68', '\x61', '\x74', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x3a', '\x20', '\x66', '\x28', '\x74', '\x68', '\x61', '\x74', '\x2e', '\x66', '\x2d', '\x3e', '\x63', '\x6c', '\x6f', '\x6e', '\x65', '\x28', '\x29', '\x29', '\x20', '\x7b', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x42', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x46', '\x75', '\x6e', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x26', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x3d', '\x28', '\x42', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x46', '\x75', '\x6e', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x26', '\x26', '\x20', '\x74', '\x68', '\x61', '\x74', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x66', '\x20', '\x3d', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6d', '\x6f', '\x76', '\x65', '\x28', '\x74', '\x68', '\x61', '\x74', '\x2e', '\x66', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x2a', '\x74', '\x68', '\x69', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x42', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x46', '\x75', '\x6e', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x26', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x3d', '\x28', '\x42', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x46', '\x75', '\x6e', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x74', '\x68', '\x61', '\x74', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x66', '\x2e', '\x72', '\x65', '\x73', '\x65', '\x74', '\x28', '\x74', '\x68', '\x61', '\x74', '\x2e', '\x66', '\x2d', '\x3e', '\x63', '\x6c', '\x6f', '\x6e', '\x65', '\x28', '\x29', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x2a', '\x74', '\x68', '\x69', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x28', '\x29', '\x28', '\x43', '\x68', '\x72', '\x6f', '\x6e', '\x6f', '\x6d', '\x65', '\x74', '\x65', '\x72', '\x20', '\x6d', '\x65', '\x74', '\x65', '\x72', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x7b', '\x20', '\x66', '\x2d', '\x3e', '\x63', '\x61', '\x6c', '\x6c', '\x28', '\x6d', '\x65', '\x74', '\x65', '\x72', '\x29', '\x3b', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x72', '\x69', '\x76', '\x61', '\x74', '\x65', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x75', '\x6e', '\x69', '\x71', '\x75', '\x65', '\x5f', '\x70', '\x74', '\x72', '\x3c', '\x63', '\x61', '\x6c', '\x6c', '\x61', '\x62', '\x6c', '\x65', '\x3e', '\x20', '\x66', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x44', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x42', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x0d', '\x0a', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x62', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x5f', '\x66', '\x75', '\x6e', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x2e', '\x68', '\x70', '\x70', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x72', '\x65', '\x70', '\x65', '\x61', '\x74', '\x2e', '\x68', '\x70', '\x70', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x72', '\x65', '\x70', '\x65', '\x61', '\x74', '\x20', '\x61', '\x6c', '\x67', '\x6f', '\x72', '\x69', '\x74', '\x68', '\x6d', '\x0d', '\x0a', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x5f', '\x74', '\x72', '\x61', '\x69', '\x74', '\x73', '\x3e', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x75', '\x74', '\x69', '\x6c', '\x69', '\x74', '\x79', '\x3e', '\x0d', '\x0a', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x42', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x44', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x20', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x46', '\x75', '\x6e', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x72', '\x65', '\x70', '\x65', '\x61', '\x74', '\x65', '\x72', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x28', '\x29', '\x28', '\x69', '\x6e', '\x74', '\x20', '\x6b', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x66', '\x6f', '\x72', '\x20', '\x28', '\x69', '\x6e', '\x74', '\x20', '\x69', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x20', '\x69', '\x20', '\x3c', '\x20', '\x6b', '\x3b', '\x20', '\x2b', '\x2b', '\x69', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x66', '\x75', '\x6e', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x46', '\x75', '\x6e', '\x20', '\x66', '\x75', '\x6e', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x20', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x46', '\x75', '\x6e', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x70', '\x65', '\x61', '\x74', '\x65', '\x72', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x64', '\x65', '\x63', '\x61', '\x79', '\x3c', '\x46', '\x75', '\x6e', '\x3e', '\x3a', '\x3a', '\x74', '\x79', '\x70', '\x65', '\x3e', '\x20', '\x72', '\x65', '\x70', '\x65', '\x61', '\x74', '\x28', '\x46', '\x75', '\x6e', '\x26', '\x26', '\x20', '\x66', '\x75', '\x6e', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x7b', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x66', '\x6f', '\x72', '\x77', '\x61', '\x72', '\x64', '\x3c', '\x46', '\x75', '\x6e', '\x3e', '\x28', '\x66', '\x75', '\x6e', '\x29', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x44', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x42', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x0d', '\x0a', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x72', '\x65', '\x70', '\x65', '\x61', '\x74', '\x2e', '\x68', '\x70', '\x70', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x72', '\x75', '\x6e', '\x5f', '\x66', '\x6f', '\x72', '\x5f', '\x61', '\x74', '\x5f', '\x6c', '\x65', '\x61', '\x73', '\x74', '\x2e', '\x68', '\x70', '\x70', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x52', '\x75', '\x6e', '\x20', '\x61', '\x20', '\x66', '\x75', '\x6e', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x66', '\x6f', '\x72', '\x20', '\x61', '\x20', '\x6d', '\x69', '\x6e', '\x69', '\x6d', '\x75', '\x6d', '\x20', '\x61', '\x6d', '\x6f', '\x75', '\x6e', '\x74', '\x20', '\x6f', '\x66', '\x20', '\x74', '\x69', '\x6d', '\x65', '\x0d', '\x0a', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x6d', '\x65', '\x61', '\x73', '\x75', '\x72', '\x65', '\x2e', '\x68', '\x70', '\x70', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x4d', '\x65', '\x61', '\x73', '\x75', '\x72', '\x65', '\x0d', '\x0a', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x74', '\x69', '\x6d', '\x69', '\x6e', '\x67', '\x2e', '\x68', '\x70', '\x70', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x54', '\x69', '\x6d', '\x69', '\x6e', '\x67', '\x0d', '\x0a', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x74', '\x75', '\x70', '\x6c', '\x65', '\x3e', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x5f', '\x74', '\x72', '\x61', '\x69', '\x74', '\x73', '\x3e', '\x0d', '\x0a', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x42', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x20', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x44', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x2c', '\x20', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x54', '\x69', '\x6d', '\x69', '\x6e', '\x67', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x44', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x65', '\x6c', '\x61', '\x70', '\x73', '\x65', '\x64', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x20', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x6e', '\x74', '\x20', '\x69', '\x74', '\x65', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x20', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x43', '\x6c', '\x6f', '\x63', '\x6b', '\x2c', '\x20', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x53', '\x69', '\x67', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x75', '\x73', '\x69', '\x6e', '\x67', '\x20', '\x54', '\x69', '\x6d', '\x69', '\x6e', '\x67', '\x4f', '\x66', '\x20', '\x3d', '\x20', '\x54', '\x69', '\x6d', '\x69', '\x6e', '\x67', '\x3c', '\x43', '\x6c', '\x6f', '\x63', '\x6b', '\x44', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x3c', '\x43', '\x6c', '\x6f', '\x63', '\x6b', '\x3e', '\x2c', '\x20', '\x44', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x3a', '\x3a', '\x43', '\x6f', '\x6d', '\x70', '\x6c', '\x65', '\x74', '\x65', '\x54', '\x79', '\x70', '\x65', '\x5f', '\x74', '\x3c', '\x44', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x3a', '\x3a', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x4f', '\x66', '\x5f', '\x74', '\x3c', '\x53', '\x69', '\x67', '\x3e', '\x3e', '\x3e', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x42', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x0d', '\x0a', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x74', '\x69', '\x6d', '\x69', '\x6e', '\x67', '\x2e', '\x68', '\x70', '\x70', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x75', '\x74', '\x69', '\x6c', '\x69', '\x74', '\x79', '\x3e', '\x0d', '\x0a', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x42', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x44', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x20', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x43', '\x6c', '\x6f', '\x63', '\x6b', '\x2c', '\x20', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x46', '\x75', '\x6e', '\x2c', '\x20', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x2e', '\x2e', '\x2e', '\x20', '\x41', '\x72', '\x67', '\x73', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x54', '\x69', '\x6d', '\x69', '\x6e', '\x67', '\x4f', '\x66', '\x3c', '\x43', '\x6c', '\x6f', '\x63', '\x6b', '\x2c', '\x20', '\x46', '\x75', '\x6e', '\x28', '\x41', '\x72', '\x67', '\x73', '\x2e', '\x2e', '\x2e', '\x29', '\x3e', '\x20', '\x6d', '\x65', '\x61', '\x73', '\x75', '\x72', '\x65', '\x28', '\x46', '\x75', '\x6e', '\x26', '\x26', '\x20', '\x66', '\x75', '\x6e', '\x2c', '\x20', '\x41', '\x72', '\x67', '\x73', '\x26', '\x26', '\x2e', '\x2e', '\x2e', '\x20', '\x61', '\x72', '\x67', '\x73', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x3d', '\x20', '\x43', '\x6c', '\x6f', '\x63', '\x6b', '\x3a', '\x3a', '\x6e', '\x6f', '\x77', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x26', '\x26', '\x20', '\x72', '\x20', '\x3d', '\x20', '\x44', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x3a', '\x3a', '\x63', '\x6f', '\x6d', '\x70', '\x6c', '\x65', '\x74', '\x65', '\x5f', '\x69', '\x6e', '\x76', '\x6f', '\x6b', '\x65', '\x28', '\x66', '\x75', '\x6e', '\x2c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x66', '\x6f', '\x72', '\x77', '\x61', '\x72', '\x64', '\x3c', '\x41', '\x72', '\x67', '\x73', '\x3e', '\x28', '\x61', '\x72', '\x67', '\x73', '\x29', '\x2e', '\x2e', '\x2e', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x3d', '\x20', '\x43', '\x6c', '\x6f', '\x63', '\x6b', '\x3a', '\x3a', '\x6e', '\x6f', '\x77', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x64', '\x65', '\x6c', '\x74', '\x61', '\x20', '\x3d', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x2d', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x7b', '\x20', '\x64', '\x65', '\x6c', '\x74', '\x61', '\x2c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x66', '\x6f', '\x72', '\x77', '\x61', '\x72', '\x64', '\x3c', '\x64', '\x65', '\x63', '\x6c', '\x74', '\x79', '\x70', '\x65', '\x28', '\x72', '\x29', '\x3e', '\x28', '\x72', '\x29', '\x2c', '\x20', '\x31', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x44', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x42', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x0d', '\x0a', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x6d', '\x65', '\x61', '\x73', '\x75', '\x72', '\x65', '\x2e', '\x68', '\x70', '\x70', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x75', '\x74', '\x69', '\x6c', '\x69', '\x74', '\x79', '\x3e', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x5f', '\x74', '\x72', '\x61', '\x69', '\x74', '\x73', '\x3e', '\x0d', '\x0a', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x42', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x44', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x20', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x43', '\x6c', '\x6f', '\x63', '\x6b', '\x2c', '\x20', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x46', '\x75', '\x6e', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x54', '\x69', '\x6d', '\x69', '\x6e', '\x67', '\x4f', '\x66', '\x3c', '\x43', '\x6c', '\x6f', '\x63', '\x6b', '\x2c', '\x20', '\x46', '\x75', '\x6e', '\x28', '\x69', '\x6e', '\x74', '\x29', '\x3e', '\x20', '\x6d', '\x65', '\x61', '\x73', '\x75', '\x72', '\x65', '\x5f', '\x6f', '\x6e', '\x65', '\x28', '\x46', '\x75', '\x6e', '\x26', '\x26', '\x20', '\x66', '\x75', '\x6e', '\x2c', '\x20', '\x69', '\x6e', '\x74', '\x20', '\x69', '\x74', '\x65', '\x72', '\x73', '\x2c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x66', '\x61', '\x6c', '\x73', '\x65', '\x5f', '\x74', '\x79', '\x70', '\x65', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x44', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x3a', '\x3a', '\x6d', '\x65', '\x61', '\x73', '\x75', '\x72', '\x65', '\x3c', '\x43', '\x6c', '\x6f', '\x63', '\x6b', '\x3e', '\x28', '\x66', '\x75', '\x6e', '\x2c', '\x20', '\x69', '\x74', '\x65', '\x72', '\x73', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x20', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x43', '\x6c', '\x6f', '\x63', '\x6b', '\x2c', '\x20', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x46', '\x75', '\x6e', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x54', '\x69', '\x6d', '\x69', '\x6e', '\x67', '\x4f', '\x66', '\x3c', '\x43', '\x6c', '\x6f', '\x63', '\x6b', '\x2c', '\x20', '\x46', '\x75', '\x6e', '\x28', '\x43', '\x68', '\x72', '\x6f', '\x6e', '\x6f', '\x6d', '\x65', '\x74', '\x65', '\x72', '\x29', '\x3e', '\x20', '\x6d', '\x65', '\x61', '\x73', '\x75', '\x72', '\x65', '\x5f', '\x6f', '\x6e', '\x65', '\x28', '\x46', '\x75', '\x6e', '\x26', '\x26', '\x20', '\x66', '\x75', '\x6e', '\x2c', '\x20', '\x69', '\x6e', '\x74', '\x20', '\x69', '\x74', '\x65', '\x72', '\x73', '\x2c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x74', '\x72', '\x75', '\x65', '\x5f', '\x74', '\x79', '\x70', '\x65', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x44', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x3a', '\x3a', '\x43', '\x68', '\x72', '\x6f', '\x6e', '\x6f', '\x6d', '\x65', '\x74', '\x65', '\x72', '\x4d', '\x6f', '\x64', '\x65', '\x6c', '\x3c', '\x43', '\x6c', '\x6f', '\x63', '\x6b', '\x3e', '\x20', '\x6d', '\x65', '\x74', '\x65', '\x72', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x26', '\x26', '\x20', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x20', '\x3d', '\x20', '\x44', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x3a', '\x3a', '\x63', '\x6f', '\x6d', '\x70', '\x6c', '\x65', '\x74', '\x65', '\x5f', '\x69', '\x6e', '\x76', '\x6f', '\x6b', '\x65', '\x28', '\x66', '\x75', '\x6e', '\x2c', '\x20', '\x43', '\x68', '\x72', '\x6f', '\x6e', '\x6f', '\x6d', '\x65', '\x74', '\x65', '\x72', '\x28', '\x6d', '\x65', '\x74', '\x65', '\x72', '\x2c', '\x20', '\x69', '\x74', '\x65', '\x72', '\x73', '\x29', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x7b', '\x20', '\x6d', '\x65', '\x74', '\x65', '\x72', '\x2e', '\x65', '\x6c', '\x61', '\x70', '\x73', '\x65', '\x64', '\x28', '\x29', '\x2c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6d', '\x6f', '\x76', '\x65', '\x28', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x29', '\x2c', '\x20', '\x69', '\x74', '\x65', '\x72', '\x73', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x20', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x43', '\x6c', '\x6f', '\x63', '\x6b', '\x2c', '\x20', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x46', '\x75', '\x6e', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x75', '\x73', '\x69', '\x6e', '\x67', '\x20', '\x72', '\x75', '\x6e', '\x5f', '\x66', '\x6f', '\x72', '\x5f', '\x61', '\x74', '\x5f', '\x6c', '\x65', '\x61', '\x73', '\x74', '\x5f', '\x61', '\x72', '\x67', '\x75', '\x6d', '\x65', '\x6e', '\x74', '\x5f', '\x74', '\x20', '\x3d', '\x20', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x63', '\x6f', '\x6e', '\x64', '\x69', '\x74', '\x69', '\x6f', '\x6e', '\x61', '\x6c', '\x3c', '\x69', '\x73', '\x5f', '\x63', '\x61', '\x6c', '\x6c', '\x61', '\x62', '\x6c', '\x65', '\x3c', '\x46', '\x75', '\x6e', '\x28', '\x43', '\x68', '\x72', '\x6f', '\x6e', '\x6f', '\x6d', '\x65', '\x74', '\x65', '\x72', '\x29', '\x3e', '\x3a', '\x3a', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x2c', '\x20', '\x43', '\x68', '\x72', '\x6f', '\x6e', '\x6f', '\x6d', '\x65', '\x74', '\x65', '\x72', '\x2c', '\x20', '\x69', '\x6e', '\x74', '\x3e', '\x3a', '\x3a', '\x74', '\x79', '\x70', '\x65', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x6f', '\x70', '\x74', '\x69', '\x6d', '\x69', '\x7a', '\x65', '\x64', '\x5f', '\x61', '\x77', '\x61', '\x79', '\x5f', '\x65', '\x72', '\x72', '\x6f', '\x72', '\x20', '\x3a', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x63', '\x68', '\x61', '\x72', '\x2a', '\x20', '\x77', '\x68', '\x61', '\x74', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x6e', '\x6f', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x22', '\x63', '\x6f', '\x75', '\x6c', '\x64', '\x20', '\x6e', '\x6f', '\x74', '\x20', '\x6d', '\x65', '\x61', '\x73', '\x75', '\x72', '\x65', '\x20', '\x62', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x2c', '\x20', '\x6d', '\x61', '\x79', '\x62', '\x65', '\x20', '\x69', '\x74', '\x20', '\x77', '\x61', '\x73', '\x20', '\x6f', '\x70', '\x74', '\x69', '\x6d', '\x69', '\x7a', '\x65', '\x64', '\x20', '\x61', '\x77', '\x61', '\x79', '\x22', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x20', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x43', '\x6c', '\x6f', '\x63', '\x6b', '\x2c', '\x20', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x46', '\x75', '\x6e', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x54', '\x69', '\x6d', '\x69', '\x6e', '\x67', '\x4f', '\x66', '\x3c', '\x43', '\x6c', '\x6f', '\x63', '\x6b', '\x2c', '\x20', '\x46', '\x75', '\x6e', '\x28', '\x72', '\x75', '\x6e', '\x5f', '\x66', '\x6f', '\x72', '\x5f', '\x61', '\x74', '\x5f', '\x6c', '\x65', '\x61', '\x73', '\x74', '\x5f', '\x61', '\x72', '\x67', '\x75', '\x6d', '\x65', '\x6e', '\x74', '\x5f', '\x74', '\x3c', '\x43', '\x6c', '\x6f', '\x63', '\x6b', '\x2c', '\x20', '\x46', '\x75', '\x6e', '\x3e', '\x29', '\x3e', '\x20', '\x72', '\x75', '\x6e', '\x5f', '\x66', '\x6f', '\x72', '\x5f', '\x61', '\x74', '\x5f', '\x6c', '\x65', '\x61', '\x73', '\x74', '\x28', '\x43', '\x6c', '\x6f', '\x63', '\x6b', '\x44', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x3c', '\x43', '\x6c', '\x6f', '\x63', '\x6b', '\x3e', '\x20', '\x68', '\x6f', '\x77', '\x5f', '\x6c', '\x6f', '\x6e', '\x67', '\x2c', '\x20', '\x69', '\x6e', '\x74', '\x20', '\x73', '\x65', '\x65', '\x64', '\x2c', '\x20', '\x46', '\x75', '\x6e', '\x26', '\x26', '\x20', '\x66', '\x75', '\x6e', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x69', '\x74', '\x65', '\x72', '\x73', '\x20', '\x3d', '\x20', '\x73', '\x65', '\x65', '\x64', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x77', '\x68', '\x69', '\x6c', '\x65', '\x20', '\x28', '\x69', '\x74', '\x65', '\x72', '\x73', '\x20', '\x3c', '\x20', '\x28', '\x31', '\x20', '\x3c', '\x3c', '\x20', '\x33', '\x30', '\x29', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x26', '\x26', '\x20', '\x54', '\x69', '\x6d', '\x69', '\x6e', '\x67', '\x20', '\x3d', '\x20', '\x6d', '\x65', '\x61', '\x73', '\x75', '\x72', '\x65', '\x5f', '\x6f', '\x6e', '\x65', '\x3c', '\x43', '\x6c', '\x6f', '\x63', '\x6b', '\x3e', '\x28', '\x66', '\x75', '\x6e', '\x2c', '\x20', '\x69', '\x74', '\x65', '\x72', '\x73', '\x2c', '\x20', '\x69', '\x73', '\x5f', '\x63', '\x61', '\x6c', '\x6c', '\x61', '\x62', '\x6c', '\x65', '\x3c', '\x46', '\x75', '\x6e', '\x28', '\x43', '\x68', '\x72', '\x6f', '\x6e', '\x6f', '\x6d', '\x65', '\x74', '\x65', '\x72', '\x29', '\x3e', '\x28', '\x29', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x54', '\x69', '\x6d', '\x69', '\x6e', '\x67', '\x2e', '\x65', '\x6c', '\x61', '\x70', '\x73', '\x65', '\x64', '\x20', '\x3e', '\x3d', '\x20', '\x68', '\x6f', '\x77', '\x5f', '\x6c', '\x6f', '\x6e', '\x67', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x7b', '\x20', '\x54', '\x69', '\x6d', '\x69', '\x6e', '\x67', '\x2e', '\x65', '\x6c', '\x61', '\x70', '\x73', '\x65', '\x64', '\x2c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6d', '\x6f', '\x76', '\x65', '\x28', '\x54', '\x69', '\x6d', '\x69', '\x6e', '\x67', '\x2e', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x29', '\x2c', '\x20', '\x69', '\x74', '\x65', '\x72', '\x73', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x74', '\x65', '\x72', '\x73', '\x20', '\x2a', '\x3d', '\x20', '\x32', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x68', '\x72', '\x6f', '\x77', '\x20', '\x6f', '\x70', '\x74', '\x69', '\x6d', '\x69', '\x7a', '\x65', '\x64', '\x5f', '\x61', '\x77', '\x61', '\x79', '\x5f', '\x65', '\x72', '\x72', '\x6f', '\x72', '\x7b', '\x7d', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x44', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x42', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x0d', '\x0a', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x72', '\x75', '\x6e', '\x5f', '\x66', '\x6f', '\x72', '\x5f', '\x61', '\x74', '\x5f', '\x6c', '\x65', '\x61', '\x73', '\x74', '\x2e', '\x68', '\x70', '\x70', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x61', '\x6c', '\x67', '\x6f', '\x72', '\x69', '\x74', '\x68', '\x6d', '\x3e', '\x0d', '\x0a', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x42', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x20', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x44', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x45', '\x78', '\x65', '\x63', '\x75', '\x74', '\x69', '\x6f', '\x6e', '\x50', '\x6c', '\x61', '\x6e', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x6e', '\x74', '\x20', '\x69', '\x74', '\x65', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x5f', '\x70', '\x65', '\x72', '\x5f', '\x73', '\x61', '\x6d', '\x70', '\x6c', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x44', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x65', '\x73', '\x74', '\x69', '\x6d', '\x61', '\x74', '\x65', '\x64', '\x5f', '\x64', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x44', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x3a', '\x3a', '\x42', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x46', '\x75', '\x6e', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x62', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x44', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x77', '\x61', '\x72', '\x6d', '\x75', '\x70', '\x5f', '\x74', '\x69', '\x6d', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x6e', '\x74', '\x20', '\x77', '\x61', '\x72', '\x6d', '\x75', '\x70', '\x5f', '\x69', '\x74', '\x65', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x20', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x44', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x32', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x45', '\x78', '\x65', '\x63', '\x75', '\x74', '\x69', '\x6f', '\x6e', '\x50', '\x6c', '\x61', '\x6e', '\x3c', '\x44', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x32', '\x3e', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x7b', '\x20', '\x69', '\x74', '\x65', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x5f', '\x70', '\x65', '\x72', '\x5f', '\x73', '\x61', '\x6d', '\x70', '\x6c', '\x65', '\x2c', '\x20', '\x65', '\x73', '\x74', '\x69', '\x6d', '\x61', '\x74', '\x65', '\x64', '\x5f', '\x64', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x2c', '\x20', '\x62', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x2c', '\x20', '\x77', '\x61', '\x72', '\x6d', '\x75', '\x70', '\x5f', '\x74', '\x69', '\x6d', '\x65', '\x2c', '\x20', '\x77', '\x61', '\x72', '\x6d', '\x75', '\x70', '\x5f', '\x69', '\x74', '\x65', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x20', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x43', '\x6c', '\x6f', '\x63', '\x6b', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x46', '\x6c', '\x6f', '\x61', '\x74', '\x44', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x3c', '\x43', '\x6c', '\x6f', '\x63', '\x6b', '\x3e', '\x3e', '\x20', '\x72', '\x75', '\x6e', '\x28', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x49', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x20', '\x26', '\x63', '\x66', '\x67', '\x2c', '\x20', '\x45', '\x6e', '\x76', '\x69', '\x72', '\x6f', '\x6e', '\x6d', '\x65', '\x6e', '\x74', '\x3c', '\x46', '\x6c', '\x6f', '\x61', '\x74', '\x44', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x3c', '\x43', '\x6c', '\x6f', '\x63', '\x6b', '\x3e', '\x3e', '\x20', '\x65', '\x6e', '\x76', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x77', '\x61', '\x72', '\x6d', '\x75', '\x70', '\x20', '\x61', '\x20', '\x62', '\x69', '\x74', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x44', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x3a', '\x3a', '\x72', '\x75', '\x6e', '\x5f', '\x66', '\x6f', '\x72', '\x5f', '\x61', '\x74', '\x5f', '\x6c', '\x65', '\x61', '\x73', '\x74', '\x3c', '\x43', '\x6c', '\x6f', '\x63', '\x6b', '\x3e', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x63', '\x68', '\x72', '\x6f', '\x6e', '\x6f', '\x3a', '\x3a', '\x64', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x5f', '\x63', '\x61', '\x73', '\x74', '\x3c', '\x43', '\x6c', '\x6f', '\x63', '\x6b', '\x44', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x3c', '\x43', '\x6c', '\x6f', '\x63', '\x6b', '\x3e', '\x3e', '\x28', '\x77', '\x61', '\x72', '\x6d', '\x75', '\x70', '\x5f', '\x74', '\x69', '\x6d', '\x65', '\x29', '\x2c', '\x20', '\x77', '\x61', '\x72', '\x6d', '\x75', '\x70', '\x5f', '\x69', '\x74', '\x65', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x2c', '\x20', '\x44', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x3a', '\x3a', '\x72', '\x65', '\x70', '\x65', '\x61', '\x74', '\x28', '\x6e', '\x6f', '\x77', '\x3c', '\x43', '\x6c', '\x6f', '\x63', '\x6b', '\x3e', '\x7b', '\x7d', '\x29', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x46', '\x6c', '\x6f', '\x61', '\x74', '\x44', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x3c', '\x43', '\x6c', '\x6f', '\x63', '\x6b', '\x3e', '\x3e', '\x20', '\x74', '\x69', '\x6d', '\x65', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x69', '\x6d', '\x65', '\x73', '\x2e', '\x72', '\x65', '\x73', '\x65', '\x72', '\x76', '\x65', '\x28', '\x63', '\x66', '\x67', '\x2e', '\x62', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x53', '\x61', '\x6d', '\x70', '\x6c', '\x65', '\x73', '\x28', '\x29', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x67', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x65', '\x5f', '\x6e', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x62', '\x61', '\x63', '\x6b', '\x5f', '\x69', '\x6e', '\x73', '\x65', '\x72', '\x74', '\x65', '\x72', '\x28', '\x74', '\x69', '\x6d', '\x65', '\x73', '\x29', '\x2c', '\x20', '\x63', '\x66', '\x67', '\x2e', '\x62', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x53', '\x61', '\x6d', '\x70', '\x6c', '\x65', '\x73', '\x28', '\x29', '\x2c', '\x20', '\x5b', '\x74', '\x68', '\x69', '\x73', '\x2c', '\x20', '\x65', '\x6e', '\x76', '\x5d', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x44', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x3a', '\x3a', '\x43', '\x68', '\x72', '\x6f', '\x6e', '\x6f', '\x6d', '\x65', '\x74', '\x65', '\x72', '\x4d', '\x6f', '\x64', '\x65', '\x6c', '\x3c', '\x43', '\x6c', '\x6f', '\x63', '\x6b', '\x3e', '\x20', '\x6d', '\x6f', '\x64', '\x65', '\x6c', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x68', '\x69', '\x73', '\x2d', '\x3e', '\x62', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x28', '\x43', '\x68', '\x72', '\x6f', '\x6e', '\x6f', '\x6d', '\x65', '\x74', '\x65', '\x72', '\x28', '\x6d', '\x6f', '\x64', '\x65', '\x6c', '\x2c', '\x20', '\x69', '\x74', '\x65', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x5f', '\x70', '\x65', '\x72', '\x5f', '\x73', '\x61', '\x6d', '\x70', '\x6c', '\x65', '\x29', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x73', '\x61', '\x6d', '\x70', '\x6c', '\x65', '\x5f', '\x74', '\x69', '\x6d', '\x65', '\x20', '\x3d', '\x20', '\x6d', '\x6f', '\x64', '\x65', '\x6c', '\x2e', '\x65', '\x6c', '\x61', '\x70', '\x73', '\x65', '\x64', '\x28', '\x29', '\x20', '\x2d', '\x20', '\x65', '\x6e', '\x76', '\x2e', '\x63', '\x6c', '\x6f', '\x63', '\x6b', '\x5f', '\x63', '\x6f', '\x73', '\x74', '\x2e', '\x6d', '\x65', '\x61', '\x6e', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x73', '\x61', '\x6d', '\x70', '\x6c', '\x65', '\x5f', '\x74', '\x69', '\x6d', '\x65', '\x20', '\x3c', '\x20', '\x46', '\x6c', '\x6f', '\x61', '\x74', '\x44', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x3c', '\x43', '\x6c', '\x6f', '\x63', '\x6b', '\x3e', '\x3a', '\x3a', '\x7a', '\x65', '\x72', '\x6f', '\x28', '\x29', '\x29', '\x20', '\x73', '\x61', '\x6d', '\x70', '\x6c', '\x65', '\x5f', '\x74', '\x69', '\x6d', '\x65', '\x20', '\x3d', '\x20', '\x46', '\x6c', '\x6f', '\x61', '\x74', '\x44', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x3c', '\x43', '\x6c', '\x6f', '\x63', '\x6b', '\x3e', '\x3a', '\x3a', '\x7a', '\x65', '\x72', '\x6f', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x73', '\x61', '\x6d', '\x70', '\x6c', '\x65', '\x5f', '\x74', '\x69', '\x6d', '\x65', '\x20', '\x2f', '\x20', '\x69', '\x74', '\x65', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x5f', '\x70', '\x65', '\x72', '\x5f', '\x73', '\x61', '\x6d', '\x70', '\x6c', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x74', '\x69', '\x6d', '\x65', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x42', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x0d', '\x0a', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x65', '\x78', '\x65', '\x63', '\x75', '\x74', '\x69', '\x6f', '\x6e', '\x5f', '\x70', '\x6c', '\x61', '\x6e', '\x2e', '\x68', '\x70', '\x70', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x65', '\x73', '\x74', '\x69', '\x6d', '\x61', '\x74', '\x65', '\x5f', '\x63', '\x6c', '\x6f', '\x63', '\x6b', '\x2e', '\x68', '\x70', '\x70', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x2f', '\x2f', '\x20', '\x45', '\x6e', '\x76', '\x69', '\x72', '\x6f', '\x6e', '\x6d', '\x65', '\x6e', '\x74', '\x20', '\x6d', '\x65', '\x61', '\x73', '\x75', '\x72', '\x65', '\x6d', '\x65', '\x6e', '\x74', '\x0d', '\x0a', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x73', '\x74', '\x61', '\x74', '\x73', '\x2e', '\x68', '\x70', '\x70', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x53', '\x74', '\x61', '\x74', '\x69', '\x73', '\x74', '\x69', '\x63', '\x61', '\x6c', '\x20', '\x61', '\x6e', '\x61', '\x6c', '\x79', '\x73', '\x69', '\x73', '\x20', '\x74', '\x6f', '\x6f', '\x6c', '\x73', '\x0d', '\x0a', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x61', '\x6c', '\x67', '\x6f', '\x72', '\x69', '\x74', '\x68', '\x6d', '\x3e', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x66', '\x75', '\x6e', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x61', '\x6c', '\x3e', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3e', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x6e', '\x75', '\x6d', '\x65', '\x72', '\x69', '\x63', '\x3e', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x74', '\x75', '\x70', '\x6c', '\x65', '\x3e', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x63', '\x6d', '\x61', '\x74', '\x68', '\x3e', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x75', '\x74', '\x69', '\x6c', '\x69', '\x74', '\x79', '\x3e', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x63', '\x73', '\x74', '\x64', '\x64', '\x65', '\x66', '\x3e', '\x0d', '\x0a', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x42', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x44', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x75', '\x73', '\x69', '\x6e', '\x67', '\x20', '\x73', '\x61', '\x6d', '\x70', '\x6c', '\x65', '\x20', '\x3d', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x3e', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x20', '\x77', '\x65', '\x69', '\x67', '\x68', '\x74', '\x65', '\x64', '\x5f', '\x61', '\x76', '\x65', '\x72', '\x61', '\x67', '\x65', '\x5f', '\x71', '\x75', '\x61', '\x6e', '\x74', '\x69', '\x6c', '\x65', '\x28', '\x69', '\x6e', '\x74', '\x20', '\x6b', '\x2c', '\x20', '\x69', '\x6e', '\x74', '\x20', '\x71', '\x2c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x3e', '\x3a', '\x3a', '\x69', '\x74', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x66', '\x69', '\x72', '\x73', '\x74', '\x2c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x3e', '\x3a', '\x3a', '\x69', '\x74', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x6c', '\x61', '\x73', '\x74', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x20', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x49', '\x74', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x4f', '\x75', '\x74', '\x6c', '\x69', '\x65', '\x72', '\x43', '\x6c', '\x61', '\x73', '\x73', '\x69', '\x66', '\x69', '\x63', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x69', '\x66', '\x79', '\x5f', '\x6f', '\x75', '\x74', '\x6c', '\x69', '\x65', '\x72', '\x73', '\x28', '\x49', '\x74', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x66', '\x69', '\x72', '\x73', '\x74', '\x2c', '\x20', '\x49', '\x74', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x6c', '\x61', '\x73', '\x74', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x3e', '\x20', '\x63', '\x6f', '\x70', '\x79', '\x28', '\x66', '\x69', '\x72', '\x73', '\x74', '\x2c', '\x20', '\x6c', '\x61', '\x73', '\x74', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x71', '\x31', '\x20', '\x3d', '\x20', '\x77', '\x65', '\x69', '\x67', '\x68', '\x74', '\x65', '\x64', '\x5f', '\x61', '\x76', '\x65', '\x72', '\x61', '\x67', '\x65', '\x5f', '\x71', '\x75', '\x61', '\x6e', '\x74', '\x69', '\x6c', '\x65', '\x28', '\x31', '\x2c', '\x20', '\x34', '\x2c', '\x20', '\x63', '\x6f', '\x70', '\x79', '\x2e', '\x62', '\x65', '\x67', '\x69', '\x6e', '\x28', '\x29', '\x2c', '\x20', '\x63', '\x6f', '\x70', '\x79', '\x2e', '\x65', '\x6e', '\x64', '\x28', '\x29', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x71', '\x33', '\x20', '\x3d', '\x20', '\x77', '\x65', '\x69', '\x67', '\x68', '\x74', '\x65', '\x64', '\x5f', '\x61', '\x76', '\x65', '\x72', '\x61', '\x67', '\x65', '\x5f', '\x71', '\x75', '\x61', '\x6e', '\x74', '\x69', '\x6c', '\x65', '\x28', '\x33', '\x2c', '\x20', '\x34', '\x2c', '\x20', '\x63', '\x6f', '\x70', '\x79', '\x2e', '\x62', '\x65', '\x67', '\x69', '\x6e', '\x28', '\x29', '\x2c', '\x20', '\x63', '\x6f', '\x70', '\x79', '\x2e', '\x65', '\x6e', '\x64', '\x28', '\x29', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x69', '\x71', '\x72', '\x20', '\x3d', '\x20', '\x71', '\x33', '\x20', '\x2d', '\x20', '\x71', '\x31', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x6c', '\x6f', '\x73', '\x20', '\x3d', '\x20', '\x71', '\x31', '\x20', '\x2d', '\x20', '\x28', '\x69', '\x71', '\x72', '\x20', '\x2a', '\x20', '\x33', '\x2e', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x6c', '\x6f', '\x6d', '\x20', '\x3d', '\x20', '\x71', '\x31', '\x20', '\x2d', '\x20', '\x28', '\x69', '\x71', '\x72', '\x20', '\x2a', '\x20', '\x31', '\x2e', '\x35', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x68', '\x69', '\x6d', '\x20', '\x3d', '\x20', '\x71', '\x33', '\x20', '\x2b', '\x20', '\x28', '\x69', '\x71', '\x72', '\x20', '\x2a', '\x20', '\x31', '\x2e', '\x35', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x68', '\x69', '\x73', '\x20', '\x3d', '\x20', '\x71', '\x33', '\x20', '\x2b', '\x20', '\x28', '\x69', '\x71', '\x72', '\x20', '\x2a', '\x20', '\x33', '\x2e', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x4f', '\x75', '\x74', '\x6c', '\x69', '\x65', '\x72', '\x43', '\x6c', '\x61', '\x73', '\x73', '\x69', '\x66', '\x69', '\x63', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x6f', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x66', '\x6f', '\x72', '\x20', '\x28', '\x3b', '\x20', '\x66', '\x69', '\x72', '\x73', '\x74', '\x20', '\x21', '\x3d', '\x20', '\x6c', '\x61', '\x73', '\x74', '\x3b', '\x20', '\x2b', '\x2b', '\x66', '\x69', '\x72', '\x73', '\x74', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x26', '\x26', '\x20', '\x74', '\x20', '\x3d', '\x20', '\x2a', '\x66', '\x69', '\x72', '\x73', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x74', '\x20', '\x3c', '\x20', '\x6c', '\x6f', '\x73', '\x29', '\x20', '\x2b', '\x2b', '\x6f', '\x2e', '\x6c', '\x6f', '\x77', '\x5f', '\x73', '\x65', '\x76', '\x65', '\x72', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x6c', '\x73', '\x65', '\x20', '\x69', '\x66', '\x20', '\x28', '\x74', '\x20', '\x3c', '\x20', '\x6c', '\x6f', '\x6d', '\x29', '\x20', '\x2b', '\x2b', '\x6f', '\x2e', '\x6c', '\x6f', '\x77', '\x5f', '\x6d', '\x69', '\x6c', '\x64', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x6c', '\x73', '\x65', '\x20', '\x69', '\x66', '\x20', '\x28', '\x74', '\x20', '\x3e', '\x20', '\x68', '\x69', '\x73', '\x29', '\x20', '\x2b', '\x2b', '\x6f', '\x2e', '\x68', '\x69', '\x67', '\x68', '\x5f', '\x73', '\x65', '\x76', '\x65', '\x72', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x6c', '\x73', '\x65', '\x20', '\x69', '\x66', '\x20', '\x28', '\x74', '\x20', '\x3e', '\x20', '\x68', '\x69', '\x6d', '\x29', '\x20', '\x2b', '\x2b', '\x6f', '\x2e', '\x68', '\x69', '\x67', '\x68', '\x5f', '\x6d', '\x69', '\x6c', '\x64', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2b', '\x2b', '\x6f', '\x2e', '\x73', '\x61', '\x6d', '\x70', '\x6c', '\x65', '\x73', '\x5f', '\x73', '\x65', '\x65', '\x6e', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6f', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x20', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x49', '\x74', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x20', '\x6d', '\x65', '\x61', '\x6e', '\x28', '\x49', '\x74', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x66', '\x69', '\x72', '\x73', '\x74', '\x2c', '\x20', '\x49', '\x74', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x6c', '\x61', '\x73', '\x74', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x63', '\x6f', '\x75', '\x6e', '\x74', '\x20', '\x3d', '\x20', '\x6c', '\x61', '\x73', '\x74', '\x20', '\x2d', '\x20', '\x66', '\x69', '\x72', '\x73', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x20', '\x73', '\x75', '\x6d', '\x20', '\x3d', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x61', '\x63', '\x63', '\x75', '\x6d', '\x75', '\x6c', '\x61', '\x74', '\x65', '\x28', '\x66', '\x69', '\x72', '\x73', '\x74', '\x2c', '\x20', '\x6c', '\x61', '\x73', '\x74', '\x2c', '\x20', '\x30', '\x2e', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x73', '\x75', '\x6d', '\x20', '\x2f', '\x20', '\x63', '\x6f', '\x75', '\x6e', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x20', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x55', '\x52', '\x6e', '\x67', '\x2c', '\x20', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x49', '\x74', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x2c', '\x20', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x45', '\x73', '\x74', '\x69', '\x6d', '\x61', '\x74', '\x6f', '\x72', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x61', '\x6d', '\x70', '\x6c', '\x65', '\x20', '\x72', '\x65', '\x73', '\x61', '\x6d', '\x70', '\x6c', '\x65', '\x28', '\x55', '\x52', '\x6e', '\x67', '\x26', '\x20', '\x72', '\x6e', '\x67', '\x2c', '\x20', '\x69', '\x6e', '\x74', '\x20', '\x72', '\x65', '\x73', '\x61', '\x6d', '\x70', '\x6c', '\x65', '\x73', '\x2c', '\x20', '\x49', '\x74', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x66', '\x69', '\x72', '\x73', '\x74', '\x2c', '\x20', '\x49', '\x74', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x6c', '\x61', '\x73', '\x74', '\x2c', '\x20', '\x45', '\x73', '\x74', '\x69', '\x6d', '\x61', '\x74', '\x6f', '\x72', '\x26', '\x20', '\x65', '\x73', '\x74', '\x69', '\x6d', '\x61', '\x74', '\x6f', '\x72', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x6e', '\x20', '\x3d', '\x20', '\x6c', '\x61', '\x73', '\x74', '\x20', '\x2d', '\x20', '\x66', '\x69', '\x72', '\x73', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x75', '\x6e', '\x69', '\x66', '\x6f', '\x72', '\x6d', '\x5f', '\x69', '\x6e', '\x74', '\x5f', '\x64', '\x69', '\x73', '\x74', '\x72', '\x69', '\x62', '\x75', '\x74', '\x69', '\x6f', '\x6e', '\x3c', '\x64', '\x65', '\x63', '\x6c', '\x74', '\x79', '\x70', '\x65', '\x28', '\x6e', '\x29', '\x3e', '\x20', '\x64', '\x69', '\x73', '\x74', '\x28', '\x30', '\x2c', '\x20', '\x6e', '\x20', '\x2d', '\x20', '\x31', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x61', '\x6d', '\x70', '\x6c', '\x65', '\x20', '\x6f', '\x75', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6f', '\x75', '\x74', '\x2e', '\x72', '\x65', '\x73', '\x65', '\x72', '\x76', '\x65', '\x28', '\x72', '\x65', '\x73', '\x61', '\x6d', '\x70', '\x6c', '\x65', '\x73', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x67', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x65', '\x5f', '\x6e', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x62', '\x61', '\x63', '\x6b', '\x5f', '\x69', '\x6e', '\x73', '\x65', '\x72', '\x74', '\x65', '\x72', '\x28', '\x6f', '\x75', '\x74', '\x29', '\x2c', '\x20', '\x72', '\x65', '\x73', '\x61', '\x6d', '\x70', '\x6c', '\x65', '\x73', '\x2c', '\x20', '\x5b', '\x6e', '\x2c', '\x20', '\x66', '\x69', '\x72', '\x73', '\x74', '\x2c', '\x20', '\x26', '\x65', '\x73', '\x74', '\x69', '\x6d', '\x61', '\x74', '\x6f', '\x72', '\x2c', '\x20', '\x26', '\x64', '\x69', '\x73', '\x74', '\x2c', '\x20', '\x26', '\x72', '\x6e', '\x67', '\x5d', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x3e', '\x20', '\x72', '\x65', '\x73', '\x61', '\x6d', '\x70', '\x6c', '\x65', '\x64', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x73', '\x61', '\x6d', '\x70', '\x6c', '\x65', '\x64', '\x2e', '\x72', '\x65', '\x73', '\x65', '\x72', '\x76', '\x65', '\x28', '\x6e', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x67', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x65', '\x5f', '\x6e', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x62', '\x61', '\x63', '\x6b', '\x5f', '\x69', '\x6e', '\x73', '\x65', '\x72', '\x74', '\x65', '\x72', '\x28', '\x72', '\x65', '\x73', '\x61', '\x6d', '\x70', '\x6c', '\x65', '\x64', '\x29', '\x2c', '\x20', '\x6e', '\x2c', '\x20', '\x5b', '\x66', '\x69', '\x72', '\x73', '\x74', '\x2c', '\x20', '\x26', '\x64', '\x69', '\x73', '\x74', '\x2c', '\x20', '\x26', '\x72', '\x6e', '\x67', '\x5d', '\x20', '\x7b', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x66', '\x69', '\x72', '\x73', '\x74', '\x5b', '\x64', '\x69', '\x73', '\x74', '\x28', '\x72', '\x6e', '\x67', '\x29', '\x5d', '\x3b', '\x20', '\x7d', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x65', '\x73', '\x74', '\x69', '\x6d', '\x61', '\x74', '\x6f', '\x72', '\x28', '\x72', '\x65', '\x73', '\x61', '\x6d', '\x70', '\x6c', '\x65', '\x64', '\x2e', '\x62', '\x65', '\x67', '\x69', '\x6e', '\x28', '\x29', '\x2c', '\x20', '\x72', '\x65', '\x73', '\x61', '\x6d', '\x70', '\x6c', '\x65', '\x64', '\x2e', '\x65', '\x6e', '\x64', '\x28', '\x29', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x6f', '\x72', '\x74', '\x28', '\x6f', '\x75', '\x74', '\x2e', '\x62', '\x65', '\x67', '\x69', '\x6e', '\x28', '\x29', '\x2c', '\x20', '\x6f', '\x75', '\x74', '\x2e', '\x65', '\x6e', '\x64', '\x28', '\x29', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6f', '\x75', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x20', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x45', '\x73', '\x74', '\x69', '\x6d', '\x61', '\x74', '\x6f', '\x72', '\x2c', '\x20', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x49', '\x74', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x61', '\x6d', '\x70', '\x6c', '\x65', '\x20', '\x6a', '\x61', '\x63', '\x6b', '\x6b', '\x6e', '\x69', '\x66', '\x65', '\x28', '\x45', '\x73', '\x74', '\x69', '\x6d', '\x61', '\x74', '\x6f', '\x72', '\x26', '\x26', '\x20', '\x65', '\x73', '\x74', '\x69', '\x6d', '\x61', '\x74', '\x6f', '\x72', '\x2c', '\x20', '\x49', '\x74', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x66', '\x69', '\x72', '\x73', '\x74', '\x2c', '\x20', '\x49', '\x74', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x6c', '\x61', '\x73', '\x74', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x6e', '\x20', '\x3d', '\x20', '\x6c', '\x61', '\x73', '\x74', '\x20', '\x2d', '\x20', '\x66', '\x69', '\x72', '\x73', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x73', '\x65', '\x63', '\x6f', '\x6e', '\x64', '\x20', '\x3d', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6e', '\x65', '\x78', '\x74', '\x28', '\x66', '\x69', '\x72', '\x73', '\x74', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x61', '\x6d', '\x70', '\x6c', '\x65', '\x20', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x73', '\x2e', '\x72', '\x65', '\x73', '\x65', '\x72', '\x76', '\x65', '\x28', '\x6e', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x66', '\x6f', '\x72', '\x20', '\x28', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x69', '\x74', '\x20', '\x3d', '\x20', '\x66', '\x69', '\x72', '\x73', '\x74', '\x3b', '\x20', '\x69', '\x74', '\x20', '\x21', '\x3d', '\x20', '\x6c', '\x61', '\x73', '\x74', '\x3b', '\x20', '\x2b', '\x2b', '\x69', '\x74', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x69', '\x74', '\x65', '\x72', '\x5f', '\x73', '\x77', '\x61', '\x70', '\x28', '\x69', '\x74', '\x2c', '\x20', '\x66', '\x69', '\x72', '\x73', '\x74', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x73', '\x2e', '\x70', '\x75', '\x73', '\x68', '\x5f', '\x62', '\x61', '\x63', '\x6b', '\x28', '\x65', '\x73', '\x74', '\x69', '\x6d', '\x61', '\x74', '\x6f', '\x72', '\x28', '\x73', '\x65', '\x63', '\x6f', '\x6e', '\x64', '\x2c', '\x20', '\x6c', '\x61', '\x73', '\x74', '\x29', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x6e', '\x6c', '\x69', '\x6e', '\x65', '\x20', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x20', '\x6e', '\x6f', '\x72', '\x6d', '\x61', '\x6c', '\x5f', '\x63', '\x64', '\x66', '\x28', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x20', '\x78', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x65', '\x72', '\x66', '\x63', '\x28', '\x2d', '\x78', '\x20', '\x2f', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x71', '\x72', '\x74', '\x28', '\x32', '\x2e', '\x30', '\x29', '\x29', '\x20', '\x2f', '\x20', '\x32', '\x2e', '\x30', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x20', '\x65', '\x72', '\x66', '\x63', '\x5f', '\x69', '\x6e', '\x76', '\x28', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x20', '\x78', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x20', '\x6e', '\x6f', '\x72', '\x6d', '\x61', '\x6c', '\x5f', '\x71', '\x75', '\x61', '\x6e', '\x74', '\x69', '\x6c', '\x65', '\x28', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x20', '\x70', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x20', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x49', '\x74', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x2c', '\x20', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x45', '\x73', '\x74', '\x69', '\x6d', '\x61', '\x74', '\x6f', '\x72', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x45', '\x73', '\x74', '\x69', '\x6d', '\x61', '\x74', '\x65', '\x3c', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x3e', '\x20', '\x62', '\x6f', '\x6f', '\x74', '\x73', '\x74', '\x72', '\x61', '\x70', '\x28', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x20', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x64', '\x65', '\x6e', '\x63', '\x65', '\x5f', '\x6c', '\x65', '\x76', '\x65', '\x6c', '\x2c', '\x20', '\x49', '\x74', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x66', '\x69', '\x72', '\x73', '\x74', '\x2c', '\x20', '\x49', '\x74', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x6c', '\x61', '\x73', '\x74', '\x2c', '\x20', '\x73', '\x61', '\x6d', '\x70', '\x6c', '\x65', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x72', '\x65', '\x73', '\x61', '\x6d', '\x70', '\x6c', '\x65', '\x2c', '\x20', '\x45', '\x73', '\x74', '\x69', '\x6d', '\x61', '\x74', '\x6f', '\x72', '\x26', '\x26', '\x20', '\x65', '\x73', '\x74', '\x69', '\x6d', '\x61', '\x74', '\x6f', '\x72', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x6e', '\x5f', '\x73', '\x61', '\x6d', '\x70', '\x6c', '\x65', '\x73', '\x20', '\x3d', '\x20', '\x6c', '\x61', '\x73', '\x74', '\x20', '\x2d', '\x20', '\x66', '\x69', '\x72', '\x73', '\x74', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x20', '\x70', '\x6f', '\x69', '\x6e', '\x74', '\x20', '\x3d', '\x20', '\x65', '\x73', '\x74', '\x69', '\x6d', '\x61', '\x74', '\x6f', '\x72', '\x28', '\x66', '\x69', '\x72', '\x73', '\x74', '\x2c', '\x20', '\x6c', '\x61', '\x73', '\x74', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x44', '\x65', '\x67', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x65', '\x20', '\x63', '\x61', '\x73', '\x65', '\x20', '\x77', '\x69', '\x74', '\x68', '\x20', '\x61', '\x20', '\x73', '\x69', '\x6e', '\x67', '\x6c', '\x65', '\x20', '\x73', '\x61', '\x6d', '\x70', '\x6c', '\x65', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x6e', '\x5f', '\x73', '\x61', '\x6d', '\x70', '\x6c', '\x65', '\x73', '\x20', '\x3d', '\x3d', '\x20', '\x31', '\x29', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x7b', '\x20', '\x70', '\x6f', '\x69', '\x6e', '\x74', '\x2c', '\x20', '\x70', '\x6f', '\x69', '\x6e', '\x74', '\x2c', '\x20', '\x70', '\x6f', '\x69', '\x6e', '\x74', '\x2c', '\x20', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x64', '\x65', '\x6e', '\x63', '\x65', '\x5f', '\x6c', '\x65', '\x76', '\x65', '\x6c', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x61', '\x6d', '\x70', '\x6c', '\x65', '\x20', '\x6a', '\x61', '\x63', '\x6b', '\x20', '\x3d', '\x20', '\x6a', '\x61', '\x63', '\x6b', '\x6b', '\x6e', '\x69', '\x66', '\x65', '\x28', '\x65', '\x73', '\x74', '\x69', '\x6d', '\x61', '\x74', '\x6f', '\x72', '\x2c', '\x20', '\x66', '\x69', '\x72', '\x73', '\x74', '\x2c', '\x20', '\x6c', '\x61', '\x73', '\x74', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x20', '\x6a', '\x61', '\x63', '\x6b', '\x5f', '\x6d', '\x65', '\x61', '\x6e', '\x20', '\x3d', '\x20', '\x6d', '\x65', '\x61', '\x6e', '\x28', '\x6a', '\x61', '\x63', '\x6b', '\x2e', '\x62', '\x65', '\x67', '\x69', '\x6e', '\x28', '\x29', '\x2c', '\x20', '\x6a', '\x61', '\x63', '\x6b', '\x2e', '\x65', '\x6e', '\x64', '\x28', '\x29', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x20', '\x73', '\x75', '\x6d', '\x5f', '\x73', '\x71', '\x75', '\x61', '\x72', '\x65', '\x73', '\x2c', '\x20', '\x73', '\x75', '\x6d', '\x5f', '\x63', '\x75', '\x62', '\x65', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x74', '\x69', '\x65', '\x28', '\x73', '\x75', '\x6d', '\x5f', '\x73', '\x71', '\x75', '\x61', '\x72', '\x65', '\x73', '\x2c', '\x20', '\x73', '\x75', '\x6d', '\x5f', '\x63', '\x75', '\x62', '\x65', '\x73', '\x29', '\x20', '\x3d', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x61', '\x63', '\x63', '\x75', '\x6d', '\x75', '\x6c', '\x61', '\x74', '\x65', '\x28', '\x6a', '\x61', '\x63', '\x6b', '\x2e', '\x62', '\x65', '\x67', '\x69', '\x6e', '\x28', '\x29', '\x2c', '\x20', '\x6a', '\x61', '\x63', '\x6b', '\x2e', '\x65', '\x6e', '\x64', '\x28', '\x29', '\x2c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6d', '\x61', '\x6b', '\x65', '\x5f', '\x70', '\x61', '\x69', '\x72', '\x28', '\x30', '\x2e', '\x2c', '\x20', '\x30', '\x2e', '\x29', '\x2c', '\x20', '\x5b', '\x6a', '\x61', '\x63', '\x6b', '\x5f', '\x6d', '\x65', '\x61', '\x6e', '\x5d', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x70', '\x61', '\x69', '\x72', '\x3c', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x2c', '\x20', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x3e', '\x20', '\x73', '\x71', '\x63', '\x62', '\x2c', '\x20', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x20', '\x78', '\x29', '\x20', '\x2d', '\x3e', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x70', '\x61', '\x69', '\x72', '\x3c', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x2c', '\x20', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x3e', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x64', '\x20', '\x3d', '\x20', '\x6a', '\x61', '\x63', '\x6b', '\x5f', '\x6d', '\x65', '\x61', '\x6e', '\x20', '\x2d', '\x20', '\x78', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x64', '\x32', '\x20', '\x3d', '\x20', '\x64', '\x20', '\x2a', '\x20', '\x64', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x64', '\x33', '\x20', '\x3d', '\x20', '\x64', '\x32', '\x20', '\x2a', '\x20', '\x64', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x7b', '\x20', '\x73', '\x71', '\x63', '\x62', '\x2e', '\x66', '\x69', '\x72', '\x73', '\x74', '\x20', '\x2b', '\x20', '\x64', '\x32', '\x2c', '\x20', '\x73', '\x71', '\x63', '\x62', '\x2e', '\x73', '\x65', '\x63', '\x6f', '\x6e', '\x64', '\x20', '\x2b', '\x20', '\x64', '\x33', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x20', '\x61', '\x63', '\x63', '\x65', '\x6c', '\x20', '\x3d', '\x20', '\x73', '\x75', '\x6d', '\x5f', '\x63', '\x75', '\x62', '\x65', '\x73', '\x20', '\x2f', '\x20', '\x28', '\x36', '\x20', '\x2a', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x70', '\x6f', '\x77', '\x28', '\x73', '\x75', '\x6d', '\x5f', '\x73', '\x71', '\x75', '\x61', '\x72', '\x65', '\x73', '\x2c', '\x20', '\x31', '\x2e', '\x35', '\x29', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x6e', '\x74', '\x20', '\x6e', '\x20', '\x3d', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x5f', '\x63', '\x61', '\x73', '\x74', '\x3c', '\x69', '\x6e', '\x74', '\x3e', '\x28', '\x72', '\x65', '\x73', '\x61', '\x6d', '\x70', '\x6c', '\x65', '\x2e', '\x73', '\x69', '\x7a', '\x65', '\x28', '\x29', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x20', '\x70', '\x72', '\x6f', '\x62', '\x5f', '\x6e', '\x20', '\x3d', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x63', '\x6f', '\x75', '\x6e', '\x74', '\x5f', '\x69', '\x66', '\x28', '\x72', '\x65', '\x73', '\x61', '\x6d', '\x70', '\x6c', '\x65', '\x2e', '\x62', '\x65', '\x67', '\x69', '\x6e', '\x28', '\x29', '\x2c', '\x20', '\x72', '\x65', '\x73', '\x61', '\x6d', '\x70', '\x6c', '\x65', '\x2e', '\x65', '\x6e', '\x64', '\x28', '\x29', '\x2c', '\x20', '\x5b', '\x70', '\x6f', '\x69', '\x6e', '\x74', '\x5d', '\x28', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x20', '\x78', '\x29', '\x20', '\x7b', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x78', '\x20', '\x3c', '\x20', '\x70', '\x6f', '\x69', '\x6e', '\x74', '\x3b', '\x20', '\x7d', '\x29', '\x20', '\x2f', '\x20', '\x28', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x29', '\x6e', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x64', '\x65', '\x67', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x65', '\x20', '\x63', '\x61', '\x73', '\x65', '\x20', '\x77', '\x69', '\x74', '\x68', '\x20', '\x75', '\x6e', '\x69', '\x66', '\x6f', '\x72', '\x6d', '\x20', '\x73', '\x61', '\x6d', '\x70', '\x6c', '\x65', '\x73', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x70', '\x72', '\x6f', '\x62', '\x5f', '\x6e', '\x20', '\x3d', '\x3d', '\x20', '\x30', '\x29', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x7b', '\x20', '\x70', '\x6f', '\x69', '\x6e', '\x74', '\x2c', '\x20', '\x70', '\x6f', '\x69', '\x6e', '\x74', '\x2c', '\x20', '\x70', '\x6f', '\x69', '\x6e', '\x74', '\x2c', '\x20', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x64', '\x65', '\x6e', '\x63', '\x65', '\x5f', '\x6c', '\x65', '\x76', '\x65', '\x6c', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x20', '\x62', '\x69', '\x61', '\x73', '\x20', '\x3d', '\x20', '\x6e', '\x6f', '\x72', '\x6d', '\x61', '\x6c', '\x5f', '\x71', '\x75', '\x61', '\x6e', '\x74', '\x69', '\x6c', '\x65', '\x28', '\x70', '\x72', '\x6f', '\x62', '\x5f', '\x6e', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x20', '\x7a', '\x31', '\x20', '\x3d', '\x20', '\x6e', '\x6f', '\x72', '\x6d', '\x61', '\x6c', '\x5f', '\x71', '\x75', '\x61', '\x6e', '\x74', '\x69', '\x6c', '\x65', '\x28', '\x28', '\x31', '\x2e', '\x20', '\x2d', '\x20', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x64', '\x65', '\x6e', '\x63', '\x65', '\x5f', '\x6c', '\x65', '\x76', '\x65', '\x6c', '\x29', '\x20', '\x2f', '\x20', '\x32', '\x2e', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x63', '\x75', '\x6d', '\x6e', '\x20', '\x3d', '\x20', '\x5b', '\x6e', '\x5d', '\x28', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x20', '\x78', '\x29', '\x20', '\x2d', '\x3e', '\x20', '\x69', '\x6e', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6c', '\x72', '\x6f', '\x75', '\x6e', '\x64', '\x28', '\x6e', '\x6f', '\x72', '\x6d', '\x61', '\x6c', '\x5f', '\x63', '\x64', '\x66', '\x28', '\x78', '\x29', '\x20', '\x2a', '\x20', '\x6e', '\x29', '\x3b', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x61', '\x20', '\x3d', '\x20', '\x5b', '\x62', '\x69', '\x61', '\x73', '\x2c', '\x20', '\x61', '\x63', '\x63', '\x65', '\x6c', '\x5d', '\x28', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x20', '\x62', '\x29', '\x20', '\x7b', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x62', '\x69', '\x61', '\x73', '\x20', '\x2b', '\x20', '\x62', '\x20', '\x2f', '\x20', '\x28', '\x31', '\x2e', '\x20', '\x2d', '\x20', '\x61', '\x63', '\x63', '\x65', '\x6c', '\x20', '\x2a', '\x20', '\x62', '\x29', '\x3b', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x20', '\x62', '\x31', '\x20', '\x3d', '\x20', '\x62', '\x69', '\x61', '\x73', '\x20', '\x2b', '\x20', '\x7a', '\x31', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x20', '\x62', '\x32', '\x20', '\x3d', '\x20', '\x62', '\x69', '\x61', '\x73', '\x20', '\x2d', '\x20', '\x7a', '\x31', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x20', '\x61', '\x31', '\x20', '\x3d', '\x20', '\x61', '\x28', '\x62', '\x31', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x20', '\x61', '\x32', '\x20', '\x3d', '\x20', '\x61', '\x28', '\x62', '\x32', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x6c', '\x6f', '\x20', '\x3d', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6d', '\x61', '\x78', '\x28', '\x63', '\x75', '\x6d', '\x6e', '\x28', '\x61', '\x31', '\x29', '\x2c', '\x20', '\x30', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x68', '\x69', '\x20', '\x3d', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6d', '\x69', '\x6e', '\x28', '\x63', '\x75', '\x6d', '\x6e', '\x28', '\x61', '\x32', '\x29', '\x2c', '\x20', '\x6e', '\x20', '\x2d', '\x20', '\x31', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x7b', '\x20', '\x70', '\x6f', '\x69', '\x6e', '\x74', '\x2c', '\x20', '\x72', '\x65', '\x73', '\x61', '\x6d', '\x70', '\x6c', '\x65', '\x5b', '\x6c', '\x6f', '\x5d', '\x2c', '\x20', '\x72', '\x65', '\x73', '\x61', '\x6d', '\x70', '\x6c', '\x65', '\x5b', '\x68', '\x69', '\x5d', '\x2c', '\x20', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x64', '\x65', '\x6e', '\x63', '\x65', '\x5f', '\x6c', '\x65', '\x76', '\x65', '\x6c', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x20', '\x6f', '\x75', '\x74', '\x6c', '\x69', '\x65', '\x72', '\x5f', '\x76', '\x61', '\x72', '\x69', '\x61', '\x6e', '\x63', '\x65', '\x28', '\x45', '\x73', '\x74', '\x69', '\x6d', '\x61', '\x74', '\x65', '\x3c', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x3e', '\x20', '\x6d', '\x65', '\x61', '\x6e', '\x2c', '\x20', '\x45', '\x73', '\x74', '\x69', '\x6d', '\x61', '\x74', '\x65', '\x3c', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x3e', '\x20', '\x73', '\x74', '\x64', '\x64', '\x65', '\x76', '\x2c', '\x20', '\x69', '\x6e', '\x74', '\x20', '\x6e', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x62', '\x6f', '\x6f', '\x74', '\x73', '\x74', '\x72', '\x61', '\x70', '\x5f', '\x61', '\x6e', '\x61', '\x6c', '\x79', '\x73', '\x69', '\x73', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x45', '\x73', '\x74', '\x69', '\x6d', '\x61', '\x74', '\x65', '\x3c', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x3e', '\x20', '\x6d', '\x65', '\x61', '\x6e', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x45', '\x73', '\x74', '\x69', '\x6d', '\x61', '\x74', '\x65', '\x3c', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x3e', '\x20', '\x73', '\x74', '\x61', '\x6e', '\x64', '\x61', '\x72', '\x64', '\x5f', '\x64', '\x65', '\x76', '\x69', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x20', '\x6f', '\x75', '\x74', '\x6c', '\x69', '\x65', '\x72', '\x5f', '\x76', '\x61', '\x72', '\x69', '\x61', '\x6e', '\x63', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x74', '\x73', '\x74', '\x72', '\x61', '\x70', '\x5f', '\x61', '\x6e', '\x61', '\x6c', '\x79', '\x73', '\x69', '\x73', '\x20', '\x61', '\x6e', '\x61', '\x6c', '\x79', '\x73', '\x65', '\x5f', '\x73', '\x61', '\x6d', '\x70', '\x6c', '\x65', '\x73', '\x28', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x20', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x64', '\x65', '\x6e', '\x63', '\x65', '\x5f', '\x6c', '\x65', '\x76', '\x65', '\x6c', '\x2c', '\x20', '\x69', '\x6e', '\x74', '\x20', '\x6e', '\x5f', '\x72', '\x65', '\x73', '\x61', '\x6d', '\x70', '\x6c', '\x65', '\x73', '\x2c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x3e', '\x3a', '\x3a', '\x69', '\x74', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x66', '\x69', '\x72', '\x73', '\x74', '\x2c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x3e', '\x3a', '\x3a', '\x69', '\x74', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x6c', '\x61', '\x73', '\x74', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x44', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x42', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x0d', '\x0a', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x73', '\x74', '\x61', '\x74', '\x73', '\x2e', '\x68', '\x70', '\x70', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x61', '\x6c', '\x67', '\x6f', '\x72', '\x69', '\x74', '\x68', '\x6d', '\x3e', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x69', '\x74', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x3e', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x74', '\x75', '\x70', '\x6c', '\x65', '\x3e', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3e', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x63', '\x6d', '\x61', '\x74', '\x68', '\x3e', '\x0d', '\x0a', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x42', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x44', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x20', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x43', '\x6c', '\x6f', '\x63', '\x6b', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x3e', '\x20', '\x72', '\x65', '\x73', '\x6f', '\x6c', '\x75', '\x74', '\x69', '\x6f', '\x6e', '\x28', '\x69', '\x6e', '\x74', '\x20', '\x6b', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x54', '\x69', '\x6d', '\x65', '\x50', '\x6f', '\x69', '\x6e', '\x74', '\x3c', '\x43', '\x6c', '\x6f', '\x63', '\x6b', '\x3e', '\x3e', '\x20', '\x74', '\x69', '\x6d', '\x65', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x69', '\x6d', '\x65', '\x73', '\x2e', '\x72', '\x65', '\x73', '\x65', '\x72', '\x76', '\x65', '\x28', '\x6b', '\x20', '\x2b', '\x20', '\x31', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x67', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x65', '\x5f', '\x6e', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x62', '\x61', '\x63', '\x6b', '\x5f', '\x69', '\x6e', '\x73', '\x65', '\x72', '\x74', '\x65', '\x72', '\x28', '\x74', '\x69', '\x6d', '\x65', '\x73', '\x29', '\x2c', '\x20', '\x6b', '\x20', '\x2b', '\x20', '\x31', '\x2c', '\x20', '\x6e', '\x6f', '\x77', '\x3c', '\x43', '\x6c', '\x6f', '\x63', '\x6b', '\x3e', '\x7b', '\x7d', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x3e', '\x20', '\x64', '\x65', '\x6c', '\x74', '\x61', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x64', '\x65', '\x6c', '\x74', '\x61', '\x73', '\x2e', '\x72', '\x65', '\x73', '\x65', '\x72', '\x76', '\x65', '\x28', '\x6b', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x74', '\x72', '\x61', '\x6e', '\x73', '\x66', '\x6f', '\x72', '\x6d', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6e', '\x65', '\x78', '\x74', '\x28', '\x74', '\x69', '\x6d', '\x65', '\x73', '\x2e', '\x62', '\x65', '\x67', '\x69', '\x6e', '\x28', '\x29', '\x29', '\x2c', '\x20', '\x74', '\x69', '\x6d', '\x65', '\x73', '\x2e', '\x65', '\x6e', '\x64', '\x28', '\x29', '\x2c', '\x20', '\x74', '\x69', '\x6d', '\x65', '\x73', '\x2e', '\x62', '\x65', '\x67', '\x69', '\x6e', '\x28', '\x29', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x62', '\x61', '\x63', '\x6b', '\x5f', '\x69', '\x6e', '\x73', '\x65', '\x72', '\x74', '\x65', '\x72', '\x28', '\x64', '\x65', '\x6c', '\x74', '\x61', '\x73', '\x29', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x5b', '\x5d', '\x28', '\x54', '\x69', '\x6d', '\x65', '\x50', '\x6f', '\x69', '\x6e', '\x74', '\x3c', '\x43', '\x6c', '\x6f', '\x63', '\x6b', '\x3e', '\x20', '\x61', '\x2c', '\x20', '\x54', '\x69', '\x6d', '\x65', '\x50', '\x6f', '\x69', '\x6e', '\x74', '\x3c', '\x43', '\x6c', '\x6f', '\x63', '\x6b', '\x3e', '\x20', '\x62', '\x29', '\x20', '\x7b', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x5f', '\x63', '\x61', '\x73', '\x74', '\x3c', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x3e', '\x28', '\x28', '\x61', '\x20', '\x2d', '\x20', '\x62', '\x29', '\x2e', '\x63', '\x6f', '\x75', '\x6e', '\x74', '\x28', '\x29', '\x29', '\x3b', '\x20', '\x7d', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x64', '\x65', '\x6c', '\x74', '\x61', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x77', '\x61', '\x72', '\x6d', '\x75', '\x70', '\x5f', '\x69', '\x74', '\x65', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x20', '\x3d', '\x20', '\x31', '\x30', '\x30', '\x30', '\x30', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x77', '\x61', '\x72', '\x6d', '\x75', '\x70', '\x5f', '\x74', '\x69', '\x6d', '\x65', '\x20', '\x3d', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x63', '\x68', '\x72', '\x6f', '\x6e', '\x6f', '\x3a', '\x3a', '\x6d', '\x69', '\x6c', '\x6c', '\x69', '\x73', '\x65', '\x63', '\x6f', '\x6e', '\x64', '\x73', '\x28', '\x31', '\x30', '\x30', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x6d', '\x69', '\x6e', '\x69', '\x6d', '\x75', '\x6d', '\x5f', '\x74', '\x69', '\x63', '\x6b', '\x73', '\x20', '\x3d', '\x20', '\x31', '\x30', '\x30', '\x30', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x77', '\x61', '\x72', '\x6d', '\x75', '\x70', '\x5f', '\x73', '\x65', '\x65', '\x64', '\x20', '\x3d', '\x20', '\x31', '\x30', '\x30', '\x30', '\x30', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x63', '\x6c', '\x6f', '\x63', '\x6b', '\x5f', '\x72', '\x65', '\x73', '\x6f', '\x6c', '\x75', '\x74', '\x69', '\x6f', '\x6e', '\x5f', '\x65', '\x73', '\x74', '\x69', '\x6d', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x5f', '\x74', '\x69', '\x6d', '\x65', '\x20', '\x3d', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x63', '\x68', '\x72', '\x6f', '\x6e', '\x6f', '\x3a', '\x3a', '\x6d', '\x69', '\x6c', '\x6c', '\x69', '\x73', '\x65', '\x63', '\x6f', '\x6e', '\x64', '\x73', '\x28', '\x35', '\x30', '\x30', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x63', '\x6c', '\x6f', '\x63', '\x6b', '\x5f', '\x63', '\x6f', '\x73', '\x74', '\x5f', '\x65', '\x73', '\x74', '\x69', '\x6d', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x5f', '\x74', '\x69', '\x6d', '\x65', '\x5f', '\x6c', '\x69', '\x6d', '\x69', '\x74', '\x20', '\x3d', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x63', '\x68', '\x72', '\x6f', '\x6e', '\x6f', '\x3a', '\x3a', '\x73', '\x65', '\x63', '\x6f', '\x6e', '\x64', '\x73', '\x28', '\x31', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x63', '\x6c', '\x6f', '\x63', '\x6b', '\x5f', '\x63', '\x6f', '\x73', '\x74', '\x5f', '\x65', '\x73', '\x74', '\x69', '\x6d', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x5f', '\x74', '\x69', '\x63', '\x6b', '\x5f', '\x6c', '\x69', '\x6d', '\x69', '\x74', '\x20', '\x3d', '\x20', '\x31', '\x30', '\x30', '\x30', '\x30', '\x30', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x63', '\x6c', '\x6f', '\x63', '\x6b', '\x5f', '\x63', '\x6f', '\x73', '\x74', '\x5f', '\x65', '\x73', '\x74', '\x69', '\x6d', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x5f', '\x74', '\x69', '\x6d', '\x65', '\x20', '\x3d', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x63', '\x68', '\x72', '\x6f', '\x6e', '\x6f', '\x3a', '\x3a', '\x6d', '\x69', '\x6c', '\x6c', '\x69', '\x73', '\x65', '\x63', '\x6f', '\x6e', '\x64', '\x73', '\x28', '\x31', '\x30', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x63', '\x6c', '\x6f', '\x63', '\x6b', '\x5f', '\x63', '\x6f', '\x73', '\x74', '\x5f', '\x65', '\x73', '\x74', '\x69', '\x6d', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x5f', '\x69', '\x74', '\x65', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x20', '\x3d', '\x20', '\x31', '\x30', '\x30', '\x30', '\x30', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x20', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x43', '\x6c', '\x6f', '\x63', '\x6b', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x6e', '\x74', '\x20', '\x77', '\x61', '\x72', '\x6d', '\x75', '\x70', '\x28', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x72', '\x75', '\x6e', '\x5f', '\x66', '\x6f', '\x72', '\x5f', '\x61', '\x74', '\x5f', '\x6c', '\x65', '\x61', '\x73', '\x74', '\x3c', '\x43', '\x6c', '\x6f', '\x63', '\x6b', '\x3e', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x63', '\x68', '\x72', '\x6f', '\x6e', '\x6f', '\x3a', '\x3a', '\x64', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x5f', '\x63', '\x61', '\x73', '\x74', '\x3c', '\x43', '\x6c', '\x6f', '\x63', '\x6b', '\x44', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x3c', '\x43', '\x6c', '\x6f', '\x63', '\x6b', '\x3e', '\x3e', '\x28', '\x77', '\x61', '\x72', '\x6d', '\x75', '\x70', '\x5f', '\x74', '\x69', '\x6d', '\x65', '\x29', '\x2c', '\x20', '\x77', '\x61', '\x72', '\x6d', '\x75', '\x70', '\x5f', '\x73', '\x65', '\x65', '\x64', '\x2c', '\x20', '\x26', '\x72', '\x65', '\x73', '\x6f', '\x6c', '\x75', '\x74', '\x69', '\x6f', '\x6e', '\x3c', '\x43', '\x6c', '\x6f', '\x63', '\x6b', '\x3e', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2e', '\x69', '\x74', '\x65', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x20', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x43', '\x6c', '\x6f', '\x63', '\x6b', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x45', '\x6e', '\x76', '\x69', '\x72', '\x6f', '\x6e', '\x6d', '\x65', '\x6e', '\x74', '\x45', '\x73', '\x74', '\x69', '\x6d', '\x61', '\x74', '\x65', '\x3c', '\x46', '\x6c', '\x6f', '\x61', '\x74', '\x44', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x3c', '\x43', '\x6c', '\x6f', '\x63', '\x6b', '\x3e', '\x3e', '\x20', '\x65', '\x73', '\x74', '\x69', '\x6d', '\x61', '\x74', '\x65', '\x5f', '\x63', '\x6c', '\x6f', '\x63', '\x6b', '\x5f', '\x72', '\x65', '\x73', '\x6f', '\x6c', '\x75', '\x74', '\x69', '\x6f', '\x6e', '\x28', '\x69', '\x6e', '\x74', '\x20', '\x69', '\x74', '\x65', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x72', '\x20', '\x3d', '\x20', '\x72', '\x75', '\x6e', '\x5f', '\x66', '\x6f', '\x72', '\x5f', '\x61', '\x74', '\x5f', '\x6c', '\x65', '\x61', '\x73', '\x74', '\x3c', '\x43', '\x6c', '\x6f', '\x63', '\x6b', '\x3e', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x63', '\x68', '\x72', '\x6f', '\x6e', '\x6f', '\x3a', '\x3a', '\x64', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x5f', '\x63', '\x61', '\x73', '\x74', '\x3c', '\x43', '\x6c', '\x6f', '\x63', '\x6b', '\x44', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x3c', '\x43', '\x6c', '\x6f', '\x63', '\x6b', '\x3e', '\x3e', '\x28', '\x63', '\x6c', '\x6f', '\x63', '\x6b', '\x5f', '\x72', '\x65', '\x73', '\x6f', '\x6c', '\x75', '\x74', '\x69', '\x6f', '\x6e', '\x5f', '\x65', '\x73', '\x74', '\x69', '\x6d', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x5f', '\x74', '\x69', '\x6d', '\x65', '\x29', '\x2c', '\x20', '\x69', '\x74', '\x65', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x2c', '\x20', '\x26', '\x72', '\x65', '\x73', '\x6f', '\x6c', '\x75', '\x74', '\x69', '\x6f', '\x6e', '\x3c', '\x43', '\x6c', '\x6f', '\x63', '\x6b', '\x3e', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2e', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x46', '\x6c', '\x6f', '\x61', '\x74', '\x44', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x3c', '\x43', '\x6c', '\x6f', '\x63', '\x6b', '\x3e', '\x28', '\x6d', '\x65', '\x61', '\x6e', '\x28', '\x72', '\x2e', '\x62', '\x65', '\x67', '\x69', '\x6e', '\x28', '\x29', '\x2c', '\x20', '\x72', '\x2e', '\x65', '\x6e', '\x64', '\x28', '\x29', '\x29', '\x29', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x69', '\x66', '\x79', '\x5f', '\x6f', '\x75', '\x74', '\x6c', '\x69', '\x65', '\x72', '\x73', '\x28', '\x72', '\x2e', '\x62', '\x65', '\x67', '\x69', '\x6e', '\x28', '\x29', '\x2c', '\x20', '\x72', '\x2e', '\x65', '\x6e', '\x64', '\x28', '\x29', '\x29', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x20', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x43', '\x6c', '\x6f', '\x63', '\x6b', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x45', '\x6e', '\x76', '\x69', '\x72', '\x6f', '\x6e', '\x6d', '\x65', '\x6e', '\x74', '\x45', '\x73', '\x74', '\x69', '\x6d', '\x61', '\x74', '\x65', '\x3c', '\x46', '\x6c', '\x6f', '\x61', '\x74', '\x44', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x3c', '\x43', '\x6c', '\x6f', '\x63', '\x6b', '\x3e', '\x3e', '\x20', '\x65', '\x73', '\x74', '\x69', '\x6d', '\x61', '\x74', '\x65', '\x5f', '\x63', '\x6c', '\x6f', '\x63', '\x6b', '\x5f', '\x63', '\x6f', '\x73', '\x74', '\x28', '\x46', '\x6c', '\x6f', '\x61', '\x74', '\x44', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x3c', '\x43', '\x6c', '\x6f', '\x63', '\x6b', '\x3e', '\x20', '\x72', '\x65', '\x73', '\x6f', '\x6c', '\x75', '\x74', '\x69', '\x6f', '\x6e', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x74', '\x69', '\x6d', '\x65', '\x5f', '\x6c', '\x69', '\x6d', '\x69', '\x74', '\x20', '\x3d', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6d', '\x69', '\x6e', '\x28', '\x72', '\x65', '\x73', '\x6f', '\x6c', '\x75', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x2a', '\x20', '\x63', '\x6c', '\x6f', '\x63', '\x6b', '\x5f', '\x63', '\x6f', '\x73', '\x74', '\x5f', '\x65', '\x73', '\x74', '\x69', '\x6d', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x5f', '\x74', '\x69', '\x63', '\x6b', '\x5f', '\x6c', '\x69', '\x6d', '\x69', '\x74', '\x2c', '\x20', '\x46', '\x6c', '\x6f', '\x61', '\x74', '\x44', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x3c', '\x43', '\x6c', '\x6f', '\x63', '\x6b', '\x3e', '\x28', '\x63', '\x6c', '\x6f', '\x63', '\x6b', '\x5f', '\x63', '\x6f', '\x73', '\x74', '\x5f', '\x65', '\x73', '\x74', '\x69', '\x6d', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x5f', '\x74', '\x69', '\x6d', '\x65', '\x5f', '\x6c', '\x69', '\x6d', '\x69', '\x74', '\x29', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x74', '\x69', '\x6d', '\x65', '\x5f', '\x63', '\x6c', '\x6f', '\x63', '\x6b', '\x20', '\x3d', '\x20', '\x5b', '\x5d', '\x28', '\x69', '\x6e', '\x74', '\x20', '\x6b', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x44', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x3a', '\x3a', '\x6d', '\x65', '\x61', '\x73', '\x75', '\x72', '\x65', '\x3c', '\x43', '\x6c', '\x6f', '\x63', '\x6b', '\x3e', '\x28', '\x5b', '\x6b', '\x5d', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x66', '\x6f', '\x72', '\x20', '\x28', '\x69', '\x6e', '\x74', '\x20', '\x69', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x20', '\x69', '\x20', '\x3c', '\x20', '\x6b', '\x3b', '\x20', '\x2b', '\x2b', '\x69', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x6c', '\x61', '\x74', '\x69', '\x6c', '\x65', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x69', '\x67', '\x6e', '\x6f', '\x72', '\x65', '\x64', '\x20', '\x3d', '\x20', '\x43', '\x6c', '\x6f', '\x63', '\x6b', '\x3a', '\x3a', '\x6e', '\x6f', '\x77', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x28', '\x76', '\x6f', '\x69', '\x64', '\x29', '\x69', '\x67', '\x6e', '\x6f', '\x72', '\x65', '\x64', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x29', '\x2e', '\x65', '\x6c', '\x61', '\x70', '\x73', '\x65', '\x64', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x69', '\x6d', '\x65', '\x5f', '\x63', '\x6c', '\x6f', '\x63', '\x6b', '\x28', '\x31', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x6e', '\x74', '\x20', '\x69', '\x74', '\x65', '\x72', '\x73', '\x20', '\x3d', '\x20', '\x63', '\x6c', '\x6f', '\x63', '\x6b', '\x5f', '\x63', '\x6f', '\x73', '\x74', '\x5f', '\x65', '\x73', '\x74', '\x69', '\x6d', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x5f', '\x69', '\x74', '\x65', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x26', '\x26', '\x20', '\x72', '\x20', '\x3d', '\x20', '\x72', '\x75', '\x6e', '\x5f', '\x66', '\x6f', '\x72', '\x5f', '\x61', '\x74', '\x5f', '\x6c', '\x65', '\x61', '\x73', '\x74', '\x3c', '\x43', '\x6c', '\x6f', '\x63', '\x6b', '\x3e', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x63', '\x68', '\x72', '\x6f', '\x6e', '\x6f', '\x3a', '\x3a', '\x64', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x5f', '\x63', '\x61', '\x73', '\x74', '\x3c', '\x43', '\x6c', '\x6f', '\x63', '\x6b', '\x44', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x3c', '\x43', '\x6c', '\x6f', '\x63', '\x6b', '\x3e', '\x3e', '\x28', '\x63', '\x6c', '\x6f', '\x63', '\x6b', '\x5f', '\x63', '\x6f', '\x73', '\x74', '\x5f', '\x65', '\x73', '\x74', '\x69', '\x6d', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x5f', '\x74', '\x69', '\x6d', '\x65', '\x29', '\x2c', '\x20', '\x69', '\x74', '\x65', '\x72', '\x73', '\x2c', '\x20', '\x74', '\x69', '\x6d', '\x65', '\x5f', '\x63', '\x6c', '\x6f', '\x63', '\x6b', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x3e', '\x20', '\x74', '\x69', '\x6d', '\x65', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x6e', '\x74', '\x20', '\x6e', '\x73', '\x61', '\x6d', '\x70', '\x6c', '\x65', '\x73', '\x20', '\x3d', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x5f', '\x63', '\x61', '\x73', '\x74', '\x3c', '\x69', '\x6e', '\x74', '\x3e', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x63', '\x65', '\x69', '\x6c', '\x28', '\x74', '\x69', '\x6d', '\x65', '\x5f', '\x6c', '\x69', '\x6d', '\x69', '\x74', '\x20', '\x2f', '\x20', '\x72', '\x2e', '\x65', '\x6c', '\x61', '\x70', '\x73', '\x65', '\x64', '\x29', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x69', '\x6d', '\x65', '\x73', '\x2e', '\x72', '\x65', '\x73', '\x65', '\x72', '\x76', '\x65', '\x28', '\x6e', '\x73', '\x61', '\x6d', '\x70', '\x6c', '\x65', '\x73', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x67', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x65', '\x5f', '\x6e', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x62', '\x61', '\x63', '\x6b', '\x5f', '\x69', '\x6e', '\x73', '\x65', '\x72', '\x74', '\x65', '\x72', '\x28', '\x74', '\x69', '\x6d', '\x65', '\x73', '\x29', '\x2c', '\x20', '\x6e', '\x73', '\x61', '\x6d', '\x70', '\x6c', '\x65', '\x73', '\x2c', '\x20', '\x5b', '\x74', '\x69', '\x6d', '\x65', '\x5f', '\x63', '\x6c', '\x6f', '\x63', '\x6b', '\x2c', '\x20', '\x26', '\x72', '\x5d', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x5f', '\x63', '\x61', '\x73', '\x74', '\x3c', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x3e', '\x28', '\x28', '\x74', '\x69', '\x6d', '\x65', '\x5f', '\x63', '\x6c', '\x6f', '\x63', '\x6b', '\x28', '\x72', '\x2e', '\x69', '\x74', '\x65', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x29', '\x20', '\x2f', '\x20', '\x72', '\x2e', '\x69', '\x74', '\x65', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x29', '\x2e', '\x63', '\x6f', '\x75', '\x6e', '\x74', '\x28', '\x29', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x46', '\x6c', '\x6f', '\x61', '\x74', '\x44', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x3c', '\x43', '\x6c', '\x6f', '\x63', '\x6b', '\x3e', '\x28', '\x6d', '\x65', '\x61', '\x6e', '\x28', '\x74', '\x69', '\x6d', '\x65', '\x73', '\x2e', '\x62', '\x65', '\x67', '\x69', '\x6e', '\x28', '\x29', '\x2c', '\x20', '\x74', '\x69', '\x6d', '\x65', '\x73', '\x2e', '\x65', '\x6e', '\x64', '\x28', '\x29', '\x29', '\x29', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x69', '\x66', '\x79', '\x5f', '\x6f', '\x75', '\x74', '\x6c', '\x69', '\x65', '\x72', '\x73', '\x28', '\x74', '\x69', '\x6d', '\x65', '\x73', '\x2e', '\x62', '\x65', '\x67', '\x69', '\x6e', '\x28', '\x29', '\x2c', '\x20', '\x74', '\x69', '\x6d', '\x65', '\x73', '\x2e', '\x65', '\x6e', '\x64', '\x28', '\x29', '\x29', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x20', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x43', '\x6c', '\x6f', '\x63', '\x6b', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x45', '\x6e', '\x76', '\x69', '\x72', '\x6f', '\x6e', '\x6d', '\x65', '\x6e', '\x74', '\x3c', '\x46', '\x6c', '\x6f', '\x61', '\x74', '\x44', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x3c', '\x43', '\x6c', '\x6f', '\x63', '\x6b', '\x3e', '\x3e', '\x20', '\x6d', '\x65', '\x61', '\x73', '\x75', '\x72', '\x65', '\x5f', '\x65', '\x6e', '\x76', '\x69', '\x72', '\x6f', '\x6e', '\x6d', '\x65', '\x6e', '\x74', '\x28', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x20', '\x45', '\x6e', '\x76', '\x69', '\x72', '\x6f', '\x6e', '\x6d', '\x65', '\x6e', '\x74', '\x3c', '\x46', '\x6c', '\x6f', '\x61', '\x74', '\x44', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x3c', '\x43', '\x6c', '\x6f', '\x63', '\x6b', '\x3e', '\x3e', '\x2a', '\x20', '\x65', '\x6e', '\x76', '\x20', '\x3d', '\x20', '\x6e', '\x75', '\x6c', '\x6c', '\x70', '\x74', '\x72', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x65', '\x6e', '\x76', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x2a', '\x65', '\x6e', '\x76', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x69', '\x74', '\x65', '\x72', '\x73', '\x20', '\x3d', '\x20', '\x44', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x3a', '\x3a', '\x77', '\x61', '\x72', '\x6d', '\x75', '\x70', '\x3c', '\x43', '\x6c', '\x6f', '\x63', '\x6b', '\x3e', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x72', '\x65', '\x73', '\x6f', '\x6c', '\x75', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x3d', '\x20', '\x44', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x3a', '\x3a', '\x65', '\x73', '\x74', '\x69', '\x6d', '\x61', '\x74', '\x65', '\x5f', '\x63', '\x6c', '\x6f', '\x63', '\x6b', '\x5f', '\x72', '\x65', '\x73', '\x6f', '\x6c', '\x75', '\x74', '\x69', '\x6f', '\x6e', '\x3c', '\x43', '\x6c', '\x6f', '\x63', '\x6b', '\x3e', '\x28', '\x69', '\x74', '\x65', '\x72', '\x73', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x63', '\x6f', '\x73', '\x74', '\x20', '\x3d', '\x20', '\x44', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x3a', '\x3a', '\x65', '\x73', '\x74', '\x69', '\x6d', '\x61', '\x74', '\x65', '\x5f', '\x63', '\x6c', '\x6f', '\x63', '\x6b', '\x5f', '\x63', '\x6f', '\x73', '\x74', '\x3c', '\x43', '\x6c', '\x6f', '\x63', '\x6b', '\x3e', '\x28', '\x72', '\x65', '\x73', '\x6f', '\x6c', '\x75', '\x74', '\x69', '\x6f', '\x6e', '\x2e', '\x6d', '\x65', '\x61', '\x6e', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x6e', '\x76', '\x20', '\x3d', '\x20', '\x6e', '\x65', '\x77', '\x20', '\x45', '\x6e', '\x76', '\x69', '\x72', '\x6f', '\x6e', '\x6d', '\x65', '\x6e', '\x74', '\x3c', '\x46', '\x6c', '\x6f', '\x61', '\x74', '\x44', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x3c', '\x43', '\x6c', '\x6f', '\x63', '\x6b', '\x3e', '\x3e', '\x7b', '\x20', '\x72', '\x65', '\x73', '\x6f', '\x6c', '\x75', '\x74', '\x69', '\x6f', '\x6e', '\x2c', '\x20', '\x63', '\x6f', '\x73', '\x74', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x2a', '\x65', '\x6e', '\x76', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x44', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x42', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x0d', '\x0a', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x65', '\x73', '\x74', '\x69', '\x6d', '\x61', '\x74', '\x65', '\x5f', '\x63', '\x6c', '\x6f', '\x63', '\x6b', '\x2e', '\x68', '\x70', '\x70', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x61', '\x6e', '\x61', '\x6c', '\x79', '\x73', '\x65', '\x2e', '\x68', '\x70', '\x70', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x2f', '\x2f', '\x20', '\x52', '\x75', '\x6e', '\x20', '\x61', '\x6e', '\x64', '\x20', '\x61', '\x6e', '\x61', '\x6c', '\x79', '\x73', '\x65', '\x20', '\x6f', '\x6e', '\x65', '\x20', '\x62', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x0d', '\x0a', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x73', '\x61', '\x6d', '\x70', '\x6c', '\x65', '\x5f', '\x61', '\x6e', '\x61', '\x6c', '\x79', '\x73', '\x69', '\x73', '\x2e', '\x68', '\x70', '\x70', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x42', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x20', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x73', '\x0d', '\x0a', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x61', '\x6c', '\x67', '\x6f', '\x72', '\x69', '\x74', '\x68', '\x6d', '\x3e', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3e', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x3e', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x69', '\x74', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x3e', '\x0d', '\x0a', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x42', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x20', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x44', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x53', '\x61', '\x6d', '\x70', '\x6c', '\x65', '\x41', '\x6e', '\x61', '\x6c', '\x79', '\x73', '\x69', '\x73', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x44', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x3e', '\x20', '\x73', '\x61', '\x6d', '\x70', '\x6c', '\x65', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x45', '\x73', '\x74', '\x69', '\x6d', '\x61', '\x74', '\x65', '\x3c', '\x44', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x3e', '\x20', '\x6d', '\x65', '\x61', '\x6e', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x45', '\x73', '\x74', '\x69', '\x6d', '\x61', '\x74', '\x65', '\x3c', '\x44', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x3e', '\x20', '\x73', '\x74', '\x61', '\x6e', '\x64', '\x61', '\x72', '\x64', '\x5f', '\x64', '\x65', '\x76', '\x69', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x4f', '\x75', '\x74', '\x6c', '\x69', '\x65', '\x72', '\x43', '\x6c', '\x61', '\x73', '\x73', '\x69', '\x66', '\x69', '\x63', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x6f', '\x75', '\x74', '\x6c', '\x69', '\x65', '\x72', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x20', '\x6f', '\x75', '\x74', '\x6c', '\x69', '\x65', '\x72', '\x5f', '\x76', '\x61', '\x72', '\x69', '\x61', '\x6e', '\x63', '\x65', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x20', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x44', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x32', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x53', '\x61', '\x6d', '\x70', '\x6c', '\x65', '\x41', '\x6e', '\x61', '\x6c', '\x79', '\x73', '\x69', '\x73', '\x3c', '\x44', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x32', '\x3e', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x44', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x32', '\x3e', '\x20', '\x73', '\x61', '\x6d', '\x70', '\x6c', '\x65', '\x73', '\x32', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x61', '\x6d', '\x70', '\x6c', '\x65', '\x73', '\x32', '\x2e', '\x72', '\x65', '\x73', '\x65', '\x72', '\x76', '\x65', '\x28', '\x73', '\x61', '\x6d', '\x70', '\x6c', '\x65', '\x73', '\x2e', '\x73', '\x69', '\x7a', '\x65', '\x28', '\x29', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x74', '\x72', '\x61', '\x6e', '\x73', '\x66', '\x6f', '\x72', '\x6d', '\x28', '\x73', '\x61', '\x6d', '\x70', '\x6c', '\x65', '\x73', '\x2e', '\x62', '\x65', '\x67', '\x69', '\x6e', '\x28', '\x29', '\x2c', '\x20', '\x73', '\x61', '\x6d', '\x70', '\x6c', '\x65', '\x73', '\x2e', '\x65', '\x6e', '\x64', '\x28', '\x29', '\x2c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x62', '\x61', '\x63', '\x6b', '\x5f', '\x69', '\x6e', '\x73', '\x65', '\x72', '\x74', '\x65', '\x72', '\x28', '\x73', '\x61', '\x6d', '\x70', '\x6c', '\x65', '\x73', '\x32', '\x29', '\x2c', '\x20', '\x5b', '\x5d', '\x28', '\x44', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x64', '\x29', '\x20', '\x7b', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x44', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x32', '\x28', '\x64', '\x29', '\x3b', '\x20', '\x7d', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6d', '\x6f', '\x76', '\x65', '\x28', '\x73', '\x61', '\x6d', '\x70', '\x6c', '\x65', '\x73', '\x32', '\x29', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x65', '\x61', '\x6e', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x6e', '\x64', '\x61', '\x72', '\x64', '\x5f', '\x64', '\x65', '\x76', '\x69', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6f', '\x75', '\x74', '\x6c', '\x69', '\x65', '\x72', '\x73', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6f', '\x75', '\x74', '\x6c', '\x69', '\x65', '\x72', '\x5f', '\x76', '\x61', '\x72', '\x69', '\x61', '\x6e', '\x63', '\x65', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x42', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x0d', '\x0a', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x73', '\x61', '\x6d', '\x70', '\x6c', '\x65', '\x5f', '\x61', '\x6e', '\x61', '\x6c', '\x79', '\x73', '\x69', '\x73', '\x2e', '\x68', '\x70', '\x70', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x61', '\x6c', '\x67', '\x6f', '\x72', '\x69', '\x74', '\x68', '\x6d', '\x3e', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x69', '\x74', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x3e', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3e', '\x0d', '\x0a', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x42', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x44', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x20', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x44', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x2c', '\x20', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x49', '\x74', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x53', '\x61', '\x6d', '\x70', '\x6c', '\x65', '\x41', '\x6e', '\x61', '\x6c', '\x79', '\x73', '\x69', '\x73', '\x3c', '\x44', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x3e', '\x20', '\x61', '\x6e', '\x61', '\x6c', '\x79', '\x73', '\x65', '\x28', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x49', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x20', '\x26', '\x63', '\x66', '\x67', '\x2c', '\x20', '\x45', '\x6e', '\x76', '\x69', '\x72', '\x6f', '\x6e', '\x6d', '\x65', '\x6e', '\x74', '\x3c', '\x44', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x3e', '\x2c', '\x20', '\x49', '\x74', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x66', '\x69', '\x72', '\x73', '\x74', '\x2c', '\x20', '\x49', '\x74', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x6c', '\x61', '\x73', '\x74', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x21', '\x63', '\x66', '\x67', '\x2e', '\x62', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x4e', '\x6f', '\x41', '\x6e', '\x61', '\x6c', '\x79', '\x73', '\x69', '\x73', '\x28', '\x29', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x3e', '\x20', '\x73', '\x61', '\x6d', '\x70', '\x6c', '\x65', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x61', '\x6d', '\x70', '\x6c', '\x65', '\x73', '\x2e', '\x72', '\x65', '\x73', '\x65', '\x72', '\x76', '\x65', '\x28', '\x6c', '\x61', '\x73', '\x74', '\x20', '\x2d', '\x20', '\x66', '\x69', '\x72', '\x73', '\x74', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x74', '\x72', '\x61', '\x6e', '\x73', '\x66', '\x6f', '\x72', '\x6d', '\x28', '\x66', '\x69', '\x72', '\x73', '\x74', '\x2c', '\x20', '\x6c', '\x61', '\x73', '\x74', '\x2c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x62', '\x61', '\x63', '\x6b', '\x5f', '\x69', '\x6e', '\x73', '\x65', '\x72', '\x74', '\x65', '\x72', '\x28', '\x73', '\x61', '\x6d', '\x70', '\x6c', '\x65', '\x73', '\x29', '\x2c', '\x20', '\x5b', '\x5d', '\x28', '\x44', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x64', '\x29', '\x20', '\x7b', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x64', '\x2e', '\x63', '\x6f', '\x75', '\x6e', '\x74', '\x28', '\x29', '\x3b', '\x20', '\x7d', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x61', '\x6e', '\x61', '\x6c', '\x79', '\x73', '\x69', '\x73', '\x20', '\x3d', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x42', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x3a', '\x3a', '\x44', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x3a', '\x3a', '\x61', '\x6e', '\x61', '\x6c', '\x79', '\x73', '\x65', '\x5f', '\x73', '\x61', '\x6d', '\x70', '\x6c', '\x65', '\x73', '\x28', '\x63', '\x66', '\x67', '\x2e', '\x62', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x64', '\x65', '\x6e', '\x63', '\x65', '\x49', '\x6e', '\x74', '\x65', '\x72', '\x76', '\x61', '\x6c', '\x28', '\x29', '\x2c', '\x20', '\x63', '\x66', '\x67', '\x2e', '\x62', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x52', '\x65', '\x73', '\x61', '\x6d', '\x70', '\x6c', '\x65', '\x73', '\x28', '\x29', '\x2c', '\x20', '\x73', '\x61', '\x6d', '\x70', '\x6c', '\x65', '\x73', '\x2e', '\x62', '\x65', '\x67', '\x69', '\x6e', '\x28', '\x29', '\x2c', '\x20', '\x73', '\x61', '\x6d', '\x70', '\x6c', '\x65', '\x73', '\x2e', '\x65', '\x6e', '\x64', '\x28', '\x29', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x6f', '\x75', '\x74', '\x6c', '\x69', '\x65', '\x72', '\x73', '\x20', '\x3d', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x42', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x3a', '\x3a', '\x44', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x3a', '\x3a', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x69', '\x66', '\x79', '\x5f', '\x6f', '\x75', '\x74', '\x6c', '\x69', '\x65', '\x72', '\x73', '\x28', '\x73', '\x61', '\x6d', '\x70', '\x6c', '\x65', '\x73', '\x2e', '\x62', '\x65', '\x67', '\x69', '\x6e', '\x28', '\x29', '\x2c', '\x20', '\x73', '\x61', '\x6d', '\x70', '\x6c', '\x65', '\x73', '\x2e', '\x65', '\x6e', '\x64', '\x28', '\x29', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x77', '\x72', '\x61', '\x70', '\x5f', '\x65', '\x73', '\x74', '\x69', '\x6d', '\x61', '\x74', '\x65', '\x20', '\x3d', '\x20', '\x5b', '\x5d', '\x28', '\x45', '\x73', '\x74', '\x69', '\x6d', '\x61', '\x74', '\x65', '\x3c', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x3e', '\x20', '\x65', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x45', '\x73', '\x74', '\x69', '\x6d', '\x61', '\x74', '\x65', '\x3c', '\x44', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x3e', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x44', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x28', '\x65', '\x2e', '\x70', '\x6f', '\x69', '\x6e', '\x74', '\x29', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x44', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x28', '\x65', '\x2e', '\x6c', '\x6f', '\x77', '\x65', '\x72', '\x5f', '\x62', '\x6f', '\x75', '\x6e', '\x64', '\x29', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x44', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x28', '\x65', '\x2e', '\x75', '\x70', '\x70', '\x65', '\x72', '\x5f', '\x62', '\x6f', '\x75', '\x6e', '\x64', '\x29', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x2e', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x64', '\x65', '\x6e', '\x63', '\x65', '\x5f', '\x69', '\x6e', '\x74', '\x65', '\x72', '\x76', '\x61', '\x6c', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x44', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x3e', '\x20', '\x73', '\x61', '\x6d', '\x70', '\x6c', '\x65', '\x73', '\x32', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x61', '\x6d', '\x70', '\x6c', '\x65', '\x73', '\x32', '\x2e', '\x72', '\x65', '\x73', '\x65', '\x72', '\x76', '\x65', '\x28', '\x73', '\x61', '\x6d', '\x70', '\x6c', '\x65', '\x73', '\x2e', '\x73', '\x69', '\x7a', '\x65', '\x28', '\x29', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x74', '\x72', '\x61', '\x6e', '\x73', '\x66', '\x6f', '\x72', '\x6d', '\x28', '\x73', '\x61', '\x6d', '\x70', '\x6c', '\x65', '\x73', '\x2e', '\x62', '\x65', '\x67', '\x69', '\x6e', '\x28', '\x29', '\x2c', '\x20', '\x73', '\x61', '\x6d', '\x70', '\x6c', '\x65', '\x73', '\x2e', '\x65', '\x6e', '\x64', '\x28', '\x29', '\x2c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x62', '\x61', '\x63', '\x6b', '\x5f', '\x69', '\x6e', '\x73', '\x65', '\x72', '\x74', '\x65', '\x72', '\x28', '\x73', '\x61', '\x6d', '\x70', '\x6c', '\x65', '\x73', '\x32', '\x29', '\x2c', '\x20', '\x5b', '\x5d', '\x28', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x20', '\x64', '\x29', '\x20', '\x7b', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x44', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x28', '\x64', '\x29', '\x3b', '\x20', '\x7d', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6d', '\x6f', '\x76', '\x65', '\x28', '\x73', '\x61', '\x6d', '\x70', '\x6c', '\x65', '\x73', '\x32', '\x29', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x77', '\x72', '\x61', '\x70', '\x5f', '\x65', '\x73', '\x74', '\x69', '\x6d', '\x61', '\x74', '\x65', '\x28', '\x61', '\x6e', '\x61', '\x6c', '\x79', '\x73', '\x69', '\x73', '\x2e', '\x6d', '\x65', '\x61', '\x6e', '\x29', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x77', '\x72', '\x61', '\x70', '\x5f', '\x65', '\x73', '\x74', '\x69', '\x6d', '\x61', '\x74', '\x65', '\x28', '\x61', '\x6e', '\x61', '\x6c', '\x79', '\x73', '\x69', '\x73', '\x2e', '\x73', '\x74', '\x61', '\x6e', '\x64', '\x61', '\x72', '\x64', '\x5f', '\x64', '\x65', '\x76', '\x69', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x29', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6f', '\x75', '\x74', '\x6c', '\x69', '\x65', '\x72', '\x73', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x6e', '\x61', '\x6c', '\x79', '\x73', '\x69', '\x73', '\x2e', '\x6f', '\x75', '\x74', '\x6c', '\x69', '\x65', '\x72', '\x5f', '\x76', '\x61', '\x72', '\x69', '\x61', '\x6e', '\x63', '\x65', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x20', '\x65', '\x6c', '\x73', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x44', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x3e', '\x20', '\x73', '\x61', '\x6d', '\x70', '\x6c', '\x65', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x61', '\x6d', '\x70', '\x6c', '\x65', '\x73', '\x2e', '\x72', '\x65', '\x73', '\x65', '\x72', '\x76', '\x65', '\x28', '\x6c', '\x61', '\x73', '\x74', '\x20', '\x2d', '\x20', '\x66', '\x69', '\x72', '\x73', '\x74', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x44', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x6d', '\x65', '\x61', '\x6e', '\x20', '\x3d', '\x20', '\x44', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x28', '\x30', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x6e', '\x74', '\x20', '\x69', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x66', '\x6f', '\x72', '\x20', '\x28', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x69', '\x74', '\x20', '\x3d', '\x20', '\x66', '\x69', '\x72', '\x73', '\x74', '\x3b', '\x20', '\x69', '\x74', '\x20', '\x3c', '\x20', '\x6c', '\x61', '\x73', '\x74', '\x3b', '\x20', '\x2b', '\x2b', '\x69', '\x74', '\x2c', '\x20', '\x2b', '\x2b', '\x69', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x61', '\x6d', '\x70', '\x6c', '\x65', '\x73', '\x2e', '\x70', '\x75', '\x73', '\x68', '\x5f', '\x62', '\x61', '\x63', '\x6b', '\x28', '\x44', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x28', '\x2a', '\x69', '\x74', '\x29', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x65', '\x61', '\x6e', '\x20', '\x2b', '\x3d', '\x20', '\x44', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x28', '\x2a', '\x69', '\x74', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x65', '\x61', '\x6e', '\x20', '\x2f', '\x3d', '\x20', '\x69', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6d', '\x6f', '\x76', '\x65', '\x28', '\x73', '\x61', '\x6d', '\x70', '\x6c', '\x65', '\x73', '\x29', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x45', '\x73', '\x74', '\x69', '\x6d', '\x61', '\x74', '\x65', '\x3c', '\x44', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x3e', '\x7b', '\x6d', '\x65', '\x61', '\x6e', '\x2c', '\x20', '\x6d', '\x65', '\x61', '\x6e', '\x2c', '\x20', '\x6d', '\x65', '\x61', '\x6e', '\x2c', '\x20', '\x30', '\x2e', '\x30', '\x7d', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x45', '\x73', '\x74', '\x69', '\x6d', '\x61', '\x74', '\x65', '\x3c', '\x44', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x3e', '\x7b', '\x44', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x28', '\x30', '\x29', '\x2c', '\x20', '\x44', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x28', '\x30', '\x29', '\x2c', '\x20', '\x44', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x28', '\x30', '\x29', '\x2c', '\x20', '\x30', '\x2e', '\x30', '\x7d', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x4f', '\x75', '\x74', '\x6c', '\x69', '\x65', '\x72', '\x43', '\x6c', '\x61', '\x73', '\x73', '\x69', '\x66', '\x69', '\x63', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x7b', '\x7d', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x30', '\x2e', '\x30', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x44', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x42', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x0d', '\x0a', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x61', '\x6e', '\x61', '\x6c', '\x79', '\x73', '\x65', '\x2e', '\x68', '\x70', '\x70', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x61', '\x6c', '\x67', '\x6f', '\x72', '\x69', '\x74', '\x68', '\x6d', '\x3e', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x66', '\x75', '\x6e', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x61', '\x6c', '\x3e', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x3e', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3e', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x63', '\x6d', '\x61', '\x74', '\x68', '\x3e', '\x0d', '\x0a', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x42', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x42', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x42', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x26', '\x26', '\x6e', '\x61', '\x6d', '\x65', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x3a', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6d', '\x6f', '\x76', '\x65', '\x28', '\x6e', '\x61', '\x6d', '\x65', '\x29', '\x29', '\x20', '\x7b', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x20', '\x3c', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x20', '\x46', '\x55', '\x4e', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x42', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x26', '\x26', '\x6e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x46', '\x55', '\x4e', '\x20', '\x26', '\x26', '\x66', '\x75', '\x6e', '\x63', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x3a', '\x20', '\x66', '\x75', '\x6e', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6d', '\x6f', '\x76', '\x65', '\x28', '\x66', '\x75', '\x6e', '\x63', '\x29', '\x29', '\x2c', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6d', '\x6f', '\x76', '\x65', '\x28', '\x6e', '\x61', '\x6d', '\x65', '\x29', '\x29', '\x20', '\x7b', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x20', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x43', '\x6c', '\x6f', '\x63', '\x6b', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x45', '\x78', '\x65', '\x63', '\x75', '\x74', '\x69', '\x6f', '\x6e', '\x50', '\x6c', '\x61', '\x6e', '\x3c', '\x46', '\x6c', '\x6f', '\x61', '\x74', '\x44', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x3c', '\x43', '\x6c', '\x6f', '\x63', '\x6b', '\x3e', '\x3e', '\x20', '\x70', '\x72', '\x65', '\x70', '\x61', '\x72', '\x65', '\x28', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x49', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x20', '\x26', '\x63', '\x66', '\x67', '\x2c', '\x20', '\x45', '\x6e', '\x76', '\x69', '\x72', '\x6f', '\x6e', '\x6d', '\x65', '\x6e', '\x74', '\x3c', '\x46', '\x6c', '\x6f', '\x61', '\x74', '\x44', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x3c', '\x43', '\x6c', '\x6f', '\x63', '\x6b', '\x3e', '\x3e', '\x20', '\x65', '\x6e', '\x76', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x6d', '\x69', '\x6e', '\x5f', '\x74', '\x69', '\x6d', '\x65', '\x20', '\x3d', '\x20', '\x65', '\x6e', '\x76', '\x2e', '\x63', '\x6c', '\x6f', '\x63', '\x6b', '\x5f', '\x72', '\x65', '\x73', '\x6f', '\x6c', '\x75', '\x74', '\x69', '\x6f', '\x6e', '\x2e', '\x6d', '\x65', '\x61', '\x6e', '\x20', '\x2a', '\x20', '\x44', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x3a', '\x3a', '\x6d', '\x69', '\x6e', '\x69', '\x6d', '\x75', '\x6d', '\x5f', '\x74', '\x69', '\x63', '\x6b', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x72', '\x75', '\x6e', '\x5f', '\x74', '\x69', '\x6d', '\x65', '\x20', '\x3d', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6d', '\x61', '\x78', '\x28', '\x6d', '\x69', '\x6e', '\x5f', '\x74', '\x69', '\x6d', '\x65', '\x2c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x63', '\x68', '\x72', '\x6f', '\x6e', '\x6f', '\x3a', '\x3a', '\x64', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x5f', '\x63', '\x61', '\x73', '\x74', '\x3c', '\x64', '\x65', '\x63', '\x6c', '\x74', '\x79', '\x70', '\x65', '\x28', '\x6d', '\x69', '\x6e', '\x5f', '\x74', '\x69', '\x6d', '\x65', '\x29', '\x3e', '\x28', '\x44', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x3a', '\x3a', '\x77', '\x61', '\x72', '\x6d', '\x75', '\x70', '\x5f', '\x74', '\x69', '\x6d', '\x65', '\x29', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x26', '\x26', '\x20', '\x74', '\x65', '\x73', '\x74', '\x20', '\x3d', '\x20', '\x44', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x3a', '\x3a', '\x72', '\x75', '\x6e', '\x5f', '\x66', '\x6f', '\x72', '\x5f', '\x61', '\x74', '\x5f', '\x6c', '\x65', '\x61', '\x73', '\x74', '\x3c', '\x43', '\x6c', '\x6f', '\x63', '\x6b', '\x3e', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x63', '\x68', '\x72', '\x6f', '\x6e', '\x6f', '\x3a', '\x3a', '\x64', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x5f', '\x63', '\x61', '\x73', '\x74', '\x3c', '\x43', '\x6c', '\x6f', '\x63', '\x6b', '\x44', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x3c', '\x43', '\x6c', '\x6f', '\x63', '\x6b', '\x3e', '\x3e', '\x28', '\x72', '\x75', '\x6e', '\x5f', '\x74', '\x69', '\x6d', '\x65', '\x29', '\x2c', '\x20', '\x31', '\x2c', '\x20', '\x66', '\x75', '\x6e', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x6e', '\x74', '\x20', '\x6e', '\x65', '\x77', '\x5f', '\x69', '\x74', '\x65', '\x72', '\x73', '\x20', '\x3d', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x5f', '\x63', '\x61', '\x73', '\x74', '\x3c', '\x69', '\x6e', '\x74', '\x3e', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x63', '\x65', '\x69', '\x6c', '\x28', '\x6d', '\x69', '\x6e', '\x5f', '\x74', '\x69', '\x6d', '\x65', '\x20', '\x2a', '\x20', '\x74', '\x65', '\x73', '\x74', '\x2e', '\x69', '\x74', '\x65', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x20', '\x2f', '\x20', '\x74', '\x65', '\x73', '\x74', '\x2e', '\x65', '\x6c', '\x61', '\x70', '\x73', '\x65', '\x64', '\x29', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x7b', '\x20', '\x6e', '\x65', '\x77', '\x5f', '\x69', '\x74', '\x65', '\x72', '\x73', '\x2c', '\x20', '\x74', '\x65', '\x73', '\x74', '\x2e', '\x65', '\x6c', '\x61', '\x70', '\x73', '\x65', '\x64', '\x20', '\x2f', '\x20', '\x74', '\x65', '\x73', '\x74', '\x2e', '\x69', '\x74', '\x65', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x20', '\x2a', '\x20', '\x6e', '\x65', '\x77', '\x5f', '\x69', '\x74', '\x65', '\x72', '\x73', '\x20', '\x2a', '\x20', '\x63', '\x66', '\x67', '\x2e', '\x62', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x53', '\x61', '\x6d', '\x70', '\x6c', '\x65', '\x73', '\x28', '\x29', '\x2c', '\x20', '\x66', '\x75', '\x6e', '\x2c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x63', '\x68', '\x72', '\x6f', '\x6e', '\x6f', '\x3a', '\x3a', '\x64', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x5f', '\x63', '\x61', '\x73', '\x74', '\x3c', '\x46', '\x6c', '\x6f', '\x61', '\x74', '\x44', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x3c', '\x43', '\x6c', '\x6f', '\x63', '\x6b', '\x3e', '\x3e', '\x28', '\x44', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x3a', '\x3a', '\x77', '\x61', '\x72', '\x6d', '\x75', '\x70', '\x5f', '\x74', '\x69', '\x6d', '\x65', '\x29', '\x2c', '\x20', '\x44', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x3a', '\x3a', '\x77', '\x61', '\x72', '\x6d', '\x75', '\x70', '\x5f', '\x69', '\x74', '\x65', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x20', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x43', '\x6c', '\x6f', '\x63', '\x6b', '\x20', '\x3d', '\x20', '\x64', '\x65', '\x66', '\x61', '\x75', '\x6c', '\x74', '\x5f', '\x63', '\x6c', '\x6f', '\x63', '\x6b', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x72', '\x75', '\x6e', '\x28', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x49', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x50', '\x74', '\x72', '\x20', '\x63', '\x66', '\x67', '\x20', '\x3d', '\x20', '\x67', '\x65', '\x74', '\x43', '\x75', '\x72', '\x72', '\x65', '\x6e', '\x74', '\x43', '\x6f', '\x6e', '\x74', '\x65', '\x78', '\x74', '\x28', '\x29', '\x2e', '\x67', '\x65', '\x74', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x65', '\x6e', '\x76', '\x20', '\x3d', '\x20', '\x44', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x3a', '\x3a', '\x6d', '\x65', '\x61', '\x73', '\x75', '\x72', '\x65', '\x5f', '\x65', '\x6e', '\x76', '\x69', '\x72', '\x6f', '\x6e', '\x6d', '\x65', '\x6e', '\x74', '\x3c', '\x43', '\x6c', '\x6f', '\x63', '\x6b', '\x3e', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x67', '\x65', '\x74', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x43', '\x61', '\x70', '\x74', '\x75', '\x72', '\x65', '\x28', '\x29', '\x2e', '\x62', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x50', '\x72', '\x65', '\x70', '\x61', '\x72', '\x69', '\x6e', '\x67', '\x28', '\x6e', '\x61', '\x6d', '\x65', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x52', '\x59', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x70', '\x6c', '\x61', '\x6e', '\x20', '\x3d', '\x20', '\x75', '\x73', '\x65', '\x72', '\x5f', '\x63', '\x6f', '\x64', '\x65', '\x28', '\x5b', '\x26', '\x5d', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x70', '\x72', '\x65', '\x70', '\x61', '\x72', '\x65', '\x3c', '\x43', '\x6c', '\x6f', '\x63', '\x6b', '\x3e', '\x28', '\x2a', '\x63', '\x66', '\x67', '\x2c', '\x20', '\x65', '\x6e', '\x76', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x42', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x69', '\x6e', '\x66', '\x6f', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x6c', '\x61', '\x6e', '\x2e', '\x65', '\x73', '\x74', '\x69', '\x6d', '\x61', '\x74', '\x65', '\x64', '\x5f', '\x64', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x2e', '\x63', '\x6f', '\x75', '\x6e', '\x74', '\x28', '\x29', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x6c', '\x61', '\x6e', '\x2e', '\x69', '\x74', '\x65', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x5f', '\x70', '\x65', '\x72', '\x5f', '\x73', '\x61', '\x6d', '\x70', '\x6c', '\x65', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x66', '\x67', '\x2d', '\x3e', '\x62', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x53', '\x61', '\x6d', '\x70', '\x6c', '\x65', '\x73', '\x28', '\x29', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x66', '\x67', '\x2d', '\x3e', '\x62', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x52', '\x65', '\x73', '\x61', '\x6d', '\x70', '\x6c', '\x65', '\x73', '\x28', '\x29', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x6e', '\x76', '\x2e', '\x63', '\x6c', '\x6f', '\x63', '\x6b', '\x5f', '\x72', '\x65', '\x73', '\x6f', '\x6c', '\x75', '\x74', '\x69', '\x6f', '\x6e', '\x2e', '\x6d', '\x65', '\x61', '\x6e', '\x2e', '\x63', '\x6f', '\x75', '\x6e', '\x74', '\x28', '\x29', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x6e', '\x76', '\x2e', '\x63', '\x6c', '\x6f', '\x63', '\x6b', '\x5f', '\x63', '\x6f', '\x73', '\x74', '\x2e', '\x6d', '\x65', '\x61', '\x6e', '\x2e', '\x63', '\x6f', '\x75', '\x6e', '\x74', '\x28', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x67', '\x65', '\x74', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x43', '\x61', '\x70', '\x74', '\x75', '\x72', '\x65', '\x28', '\x29', '\x2e', '\x62', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x53', '\x74', '\x61', '\x72', '\x74', '\x69', '\x6e', '\x67', '\x28', '\x69', '\x6e', '\x66', '\x6f', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x73', '\x61', '\x6d', '\x70', '\x6c', '\x65', '\x73', '\x20', '\x3d', '\x20', '\x75', '\x73', '\x65', '\x72', '\x5f', '\x63', '\x6f', '\x64', '\x65', '\x28', '\x5b', '\x26', '\x5d', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x70', '\x6c', '\x61', '\x6e', '\x2e', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x20', '\x72', '\x75', '\x6e', '\x3c', '\x43', '\x6c', '\x6f', '\x63', '\x6b', '\x3e', '\x28', '\x2a', '\x63', '\x66', '\x67', '\x2c', '\x20', '\x65', '\x6e', '\x76', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x61', '\x6e', '\x61', '\x6c', '\x79', '\x73', '\x69', '\x73', '\x20', '\x3d', '\x20', '\x44', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x3a', '\x3a', '\x61', '\x6e', '\x61', '\x6c', '\x79', '\x73', '\x65', '\x28', '\x2a', '\x63', '\x66', '\x67', '\x2c', '\x20', '\x65', '\x6e', '\x76', '\x2c', '\x20', '\x73', '\x61', '\x6d', '\x70', '\x6c', '\x65', '\x73', '\x2e', '\x62', '\x65', '\x67', '\x69', '\x6e', '\x28', '\x29', '\x2c', '\x20', '\x73', '\x61', '\x6d', '\x70', '\x6c', '\x65', '\x73', '\x2e', '\x65', '\x6e', '\x64', '\x28', '\x29', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x42', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x53', '\x74', '\x61', '\x74', '\x73', '\x3c', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x63', '\x68', '\x72', '\x6f', '\x6e', '\x6f', '\x3a', '\x3a', '\x64', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x3c', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x2c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6e', '\x61', '\x6e', '\x6f', '\x3e', '\x3e', '\x20', '\x73', '\x74', '\x61', '\x74', '\x73', '\x7b', '\x20', '\x69', '\x6e', '\x66', '\x6f', '\x2c', '\x20', '\x61', '\x6e', '\x61', '\x6c', '\x79', '\x73', '\x69', '\x73', '\x2e', '\x73', '\x61', '\x6d', '\x70', '\x6c', '\x65', '\x73', '\x2c', '\x20', '\x61', '\x6e', '\x61', '\x6c', '\x79', '\x73', '\x69', '\x73', '\x2e', '\x6d', '\x65', '\x61', '\x6e', '\x2c', '\x20', '\x61', '\x6e', '\x61', '\x6c', '\x79', '\x73', '\x69', '\x73', '\x2e', '\x73', '\x74', '\x61', '\x6e', '\x64', '\x61', '\x72', '\x64', '\x5f', '\x64', '\x65', '\x76', '\x69', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x2c', '\x20', '\x61', '\x6e', '\x61', '\x6c', '\x79', '\x73', '\x69', '\x73', '\x2e', '\x6f', '\x75', '\x74', '\x6c', '\x69', '\x65', '\x72', '\x73', '\x2c', '\x20', '\x61', '\x6e', '\x61', '\x6c', '\x79', '\x73', '\x69', '\x73', '\x2e', '\x6f', '\x75', '\x74', '\x6c', '\x69', '\x65', '\x72', '\x5f', '\x76', '\x61', '\x72', '\x69', '\x61', '\x6e', '\x63', '\x65', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x67', '\x65', '\x74', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x43', '\x61', '\x70', '\x74', '\x75', '\x72', '\x65', '\x28', '\x29', '\x2e', '\x62', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x45', '\x6e', '\x64', '\x65', '\x64', '\x28', '\x73', '\x74', '\x61', '\x74', '\x73', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x41', '\x4c', '\x4c', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x74', '\x72', '\x61', '\x6e', '\x73', '\x6c', '\x61', '\x74', '\x65', '\x41', '\x63', '\x74', '\x69', '\x76', '\x65', '\x45', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x28', '\x29', '\x20', '\x21', '\x3d', '\x20', '\x44', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x3a', '\x3a', '\x62', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x45', '\x72', '\x72', '\x6f', '\x72', '\x4d', '\x73', '\x67', '\x29', '\x20', '\x2f', '\x2f', '\x20', '\x62', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x20', '\x65', '\x72', '\x72', '\x6f', '\x72', '\x73', '\x20', '\x68', '\x61', '\x76', '\x65', '\x20', '\x62', '\x65', '\x65', '\x6e', '\x20', '\x72', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x64', '\x2c', '\x20', '\x6f', '\x74', '\x68', '\x65', '\x72', '\x77', '\x69', '\x73', '\x65', '\x20', '\x72', '\x65', '\x74', '\x68', '\x72', '\x6f', '\x77', '\x2e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x72', '\x65', '\x74', '\x68', '\x72', '\x6f', '\x77', '\x5f', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x63', '\x75', '\x72', '\x72', '\x65', '\x6e', '\x74', '\x5f', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x28', '\x29', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x73', '\x65', '\x74', '\x73', '\x20', '\x6c', '\x61', '\x6d', '\x62', '\x64', '\x61', '\x20', '\x74', '\x6f', '\x20', '\x62', '\x65', '\x20', '\x75', '\x73', '\x65', '\x64', '\x20', '\x69', '\x6e', '\x20', '\x66', '\x75', '\x6e', '\x20', '\x2a', '\x61', '\x6e', '\x64', '\x2a', '\x20', '\x65', '\x78', '\x65', '\x63', '\x75', '\x74', '\x65', '\x73', '\x20', '\x62', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x21', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x20', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x46', '\x75', '\x6e', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x65', '\x6e', '\x61', '\x62', '\x6c', '\x65', '\x5f', '\x69', '\x66', '\x3c', '\x21', '\x44', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x3a', '\x3a', '\x69', '\x73', '\x5f', '\x72', '\x65', '\x6c', '\x61', '\x74', '\x65', '\x64', '\x3c', '\x46', '\x75', '\x6e', '\x2c', '\x20', '\x42', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x3e', '\x3a', '\x3a', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x2c', '\x20', '\x69', '\x6e', '\x74', '\x3e', '\x3a', '\x3a', '\x74', '\x79', '\x70', '\x65', '\x20', '\x3d', '\x20', '\x30', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x42', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x20', '\x26', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x3d', '\x28', '\x46', '\x75', '\x6e', '\x20', '\x66', '\x75', '\x6e', '\x63', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x66', '\x75', '\x6e', '\x20', '\x3d', '\x20', '\x44', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x3a', '\x3a', '\x42', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x46', '\x75', '\x6e', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x28', '\x66', '\x75', '\x6e', '\x63', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x75', '\x6e', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x2a', '\x74', '\x68', '\x69', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x78', '\x70', '\x6c', '\x69', '\x63', '\x69', '\x74', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x28', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x74', '\x72', '\x75', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x72', '\x69', '\x76', '\x61', '\x74', '\x65', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x44', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x3a', '\x3a', '\x42', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x46', '\x75', '\x6e', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x66', '\x75', '\x6e', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x47', '\x45', '\x54', '\x5f', '\x31', '\x5f', '\x41', '\x52', '\x47', '\x28', '\x61', '\x72', '\x67', '\x31', '\x2c', '\x20', '\x61', '\x72', '\x67', '\x32', '\x2c', '\x20', '\x2e', '\x2e', '\x2e', '\x29', '\x20', '\x61', '\x72', '\x67', '\x31', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x47', '\x45', '\x54', '\x5f', '\x32', '\x5f', '\x41', '\x52', '\x47', '\x28', '\x61', '\x72', '\x67', '\x31', '\x2c', '\x20', '\x61', '\x72', '\x67', '\x32', '\x2c', '\x20', '\x2e', '\x2e', '\x2e', '\x29', '\x20', '\x61', '\x72', '\x67', '\x32', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x42', '\x45', '\x4e', '\x43', '\x48', '\x4d', '\x41', '\x52', '\x4b', '\x28', '\x42', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x62', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x49', '\x6e', '\x64', '\x65', '\x78', '\x29', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x42', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x3a', '\x3a', '\x42', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x20', '\x42', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x4e', '\x61', '\x6d', '\x65', '\x7b', '\x6e', '\x61', '\x6d', '\x65', '\x7d', '\x20', '\x29', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x42', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x4e', '\x61', '\x6d', '\x65', '\x20', '\x3d', '\x20', '\x5b', '\x26', '\x5d', '\x28', '\x69', '\x6e', '\x74', '\x20', '\x62', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x49', '\x6e', '\x64', '\x65', '\x78', '\x29', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x42', '\x45', '\x4e', '\x43', '\x48', '\x4d', '\x41', '\x52', '\x4b', '\x5f', '\x41', '\x44', '\x56', '\x41', '\x4e', '\x43', '\x45', '\x44', '\x28', '\x42', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x29', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x42', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x3a', '\x3a', '\x42', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x20', '\x42', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x4e', '\x61', '\x6d', '\x65', '\x7b', '\x6e', '\x61', '\x6d', '\x65', '\x7d', '\x20', '\x29', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x42', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x4e', '\x61', '\x6d', '\x65', '\x20', '\x3d', '\x20', '\x5b', '\x26', '\x5d', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x62', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x2e', '\x68', '\x70', '\x70', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x20', '\x2f', '\x2f', '\x20', '\x21', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x49', '\x4d', '\x50', '\x4c', '\x5f', '\x4f', '\x4e', '\x4c', '\x59', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x64', '\x65', '\x66', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4d', '\x50', '\x4c', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x69', '\x6d', '\x70', '\x6c', '\x2e', '\x68', '\x70', '\x70', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x64', '\x65', '\x66', '\x20', '\x5f', '\x5f', '\x63', '\x6c', '\x61', '\x6e', '\x67', '\x5f', '\x5f', '\x0d', '\x0a', '\x23', '\x70', '\x72', '\x61', '\x67', '\x6d', '\x61', '\x20', '\x63', '\x6c', '\x61', '\x6e', '\x67', '\x20', '\x64', '\x69', '\x61', '\x67', '\x6e', '\x6f', '\x73', '\x74', '\x69', '\x63', '\x20', '\x70', '\x75', '\x73', '\x68', '\x0d', '\x0a', '\x23', '\x70', '\x72', '\x61', '\x67', '\x6d', '\x61', '\x20', '\x63', '\x6c', '\x61', '\x6e', '\x67', '\x20', '\x64', '\x69', '\x61', '\x67', '\x6e', '\x6f', '\x73', '\x74', '\x69', '\x63', '\x20', '\x69', '\x67', '\x6e', '\x6f', '\x72', '\x65', '\x64', '\x20', '\x22', '\x2d', '\x57', '\x77', '\x65', '\x61', '\x6b', '\x2d', '\x76', '\x74', '\x61', '\x62', '\x6c', '\x65', '\x73', '\x22', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x4b', '\x65', '\x65', '\x70', '\x20', '\x74', '\x68', '\x65', '\x73', '\x65', '\x20', '\x68', '\x65', '\x72', '\x65', '\x20', '\x66', '\x6f', '\x72', '\x20', '\x65', '\x78', '\x74', '\x65', '\x72', '\x6e', '\x61', '\x6c', '\x20', '\x72', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x73', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x74', '\x65', '\x73', '\x74', '\x5f', '\x63', '\x61', '\x73', '\x65', '\x5f', '\x74', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x2e', '\x68', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x3e', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3e', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x6d', '\x65', '\x6d', '\x6f', '\x72', '\x79', '\x3e', '\x0d', '\x0a', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x69', '\x6e', '\x67', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x4e', '\x61', '\x6d', '\x65', '\x41', '\x6e', '\x64', '\x4c', '\x6f', '\x63', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x53', '\x6f', '\x75', '\x72', '\x63', '\x65', '\x4c', '\x69', '\x6e', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x6c', '\x6f', '\x63', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x4e', '\x61', '\x6d', '\x65', '\x41', '\x6e', '\x64', '\x4c', '\x6f', '\x63', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x5f', '\x6e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x53', '\x6f', '\x75', '\x72', '\x63', '\x65', '\x4c', '\x69', '\x6e', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x5f', '\x6c', '\x6f', '\x63', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x49', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x75', '\x73', '\x69', '\x6e', '\x67', '\x20', '\x49', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x50', '\x74', '\x72', '\x20', '\x3d', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x68', '\x61', '\x72', '\x65', '\x64', '\x5f', '\x70', '\x74', '\x72', '\x3c', '\x49', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x3e', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x49', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x69', '\x72', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x7e', '\x49', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x20', '\x71', '\x75', '\x65', '\x72', '\x69', '\x65', '\x73', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x69', '\x72', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x4e', '\x61', '\x6d', '\x65', '\x41', '\x6e', '\x64', '\x4c', '\x6f', '\x63', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x41', '\x6e', '\x64', '\x4c', '\x6f', '\x63', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x64', '\x79', '\x6e', '\x61', '\x6d', '\x69', '\x63', '\x20', '\x71', '\x75', '\x65', '\x72', '\x69', '\x65', '\x73', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x69', '\x72', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x69', '\x73', '\x43', '\x6f', '\x6d', '\x70', '\x6c', '\x65', '\x74', '\x65', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x20', '\x2f', '\x2f', '\x20', '\x53', '\x75', '\x63', '\x63', '\x65', '\x73', '\x73', '\x66', '\x75', '\x6c', '\x6c', '\x79', '\x20', '\x63', '\x6f', '\x6d', '\x70', '\x6c', '\x65', '\x74', '\x65', '\x64', '\x20', '\x6f', '\x72', '\x20', '\x66', '\x61', '\x69', '\x6c', '\x65', '\x64', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x69', '\x72', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x69', '\x73', '\x53', '\x75', '\x63', '\x63', '\x65', '\x73', '\x73', '\x66', '\x75', '\x6c', '\x6c', '\x79', '\x43', '\x6f', '\x6d', '\x70', '\x6c', '\x65', '\x74', '\x65', '\x64', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x69', '\x72', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x69', '\x73', '\x4f', '\x70', '\x65', '\x6e', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x20', '\x2f', '\x2f', '\x20', '\x53', '\x74', '\x61', '\x72', '\x74', '\x65', '\x64', '\x20', '\x62', '\x75', '\x74', '\x20', '\x6e', '\x6f', '\x74', '\x20', '\x63', '\x6f', '\x6d', '\x70', '\x6c', '\x65', '\x74', '\x65', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x69', '\x72', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x68', '\x61', '\x73', '\x43', '\x68', '\x69', '\x6c', '\x64', '\x72', '\x65', '\x6e', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x69', '\x72', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x49', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x26', '\x20', '\x70', '\x61', '\x72', '\x65', '\x6e', '\x74', '\x28', '\x29', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x61', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x69', '\x72', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x63', '\x6c', '\x6f', '\x73', '\x65', '\x28', '\x29', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x20', '\x2f', '\x2f', '\x20', '\x53', '\x75', '\x63', '\x63', '\x65', '\x73', '\x73', '\x66', '\x75', '\x6c', '\x6c', '\x79', '\x20', '\x63', '\x6f', '\x6d', '\x70', '\x6c', '\x65', '\x74', '\x65', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x69', '\x72', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x66', '\x61', '\x69', '\x6c', '\x28', '\x29', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x69', '\x72', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x6d', '\x61', '\x72', '\x6b', '\x41', '\x73', '\x4e', '\x65', '\x65', '\x64', '\x69', '\x6e', '\x67', '\x41', '\x6e', '\x6f', '\x74', '\x68', '\x65', '\x72', '\x52', '\x75', '\x6e', '\x28', '\x29', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x69', '\x72', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x61', '\x64', '\x64', '\x43', '\x68', '\x69', '\x6c', '\x64', '\x28', '\x20', '\x49', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x50', '\x74', '\x72', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x63', '\x68', '\x69', '\x6c', '\x64', '\x20', '\x29', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x69', '\x72', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x49', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x50', '\x74', '\x72', '\x20', '\x66', '\x69', '\x6e', '\x64', '\x43', '\x68', '\x69', '\x6c', '\x64', '\x28', '\x20', '\x4e', '\x61', '\x6d', '\x65', '\x41', '\x6e', '\x64', '\x4c', '\x6f', '\x63', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x41', '\x6e', '\x64', '\x4c', '\x6f', '\x63', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x29', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x69', '\x72', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x6f', '\x70', '\x65', '\x6e', '\x43', '\x68', '\x69', '\x6c', '\x64', '\x28', '\x29', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x44', '\x65', '\x62', '\x75', '\x67', '\x2f', '\x20', '\x63', '\x68', '\x65', '\x63', '\x6b', '\x69', '\x6e', '\x67', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x69', '\x72', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x69', '\x73', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x69', '\x72', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x69', '\x73', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x20', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x43', '\x6f', '\x6e', '\x74', '\x65', '\x78', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x6e', '\x75', '\x6d', '\x20', '\x52', '\x75', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x4e', '\x6f', '\x74', '\x53', '\x74', '\x61', '\x72', '\x74', '\x65', '\x64', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x45', '\x78', '\x65', '\x63', '\x75', '\x74', '\x69', '\x6e', '\x67', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x6f', '\x6d', '\x70', '\x6c', '\x65', '\x74', '\x65', '\x64', '\x43', '\x79', '\x63', '\x6c', '\x65', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x49', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x50', '\x74', '\x72', '\x20', '\x6d', '\x5f', '\x72', '\x6f', '\x6f', '\x74', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x49', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x2a', '\x20', '\x6d', '\x5f', '\x63', '\x75', '\x72', '\x72', '\x65', '\x6e', '\x74', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x20', '\x3d', '\x20', '\x6e', '\x75', '\x6c', '\x6c', '\x70', '\x74', '\x72', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x52', '\x75', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x65', '\x20', '\x6d', '\x5f', '\x72', '\x75', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x65', '\x20', '\x3d', '\x20', '\x4e', '\x6f', '\x74', '\x53', '\x74', '\x61', '\x72', '\x74', '\x65', '\x64', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x70', '\x75', '\x62', '\x6c', '\x69', '\x63', '\x3a', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x49', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x26', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x52', '\x75', '\x6e', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x65', '\x6e', '\x64', '\x52', '\x75', '\x6e', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x43', '\x79', '\x63', '\x6c', '\x65', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x63', '\x6f', '\x6d', '\x70', '\x6c', '\x65', '\x74', '\x65', '\x43', '\x79', '\x63', '\x6c', '\x65', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x63', '\x6f', '\x6d', '\x70', '\x6c', '\x65', '\x74', '\x65', '\x64', '\x43', '\x79', '\x63', '\x6c', '\x65', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x49', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x26', '\x20', '\x63', '\x75', '\x72', '\x72', '\x65', '\x6e', '\x74', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x73', '\x65', '\x74', '\x43', '\x75', '\x72', '\x72', '\x65', '\x6e', '\x74', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x28', '\x20', '\x49', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x2a', '\x20', '\x74', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x20', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x42', '\x61', '\x73', '\x65', '\x20', '\x3a', '\x20', '\x70', '\x75', '\x62', '\x6c', '\x69', '\x63', '\x20', '\x49', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x70', '\x72', '\x6f', '\x74', '\x65', '\x63', '\x74', '\x65', '\x64', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x6e', '\x75', '\x6d', '\x20', '\x43', '\x79', '\x63', '\x6c', '\x65', '\x53', '\x74', '\x61', '\x74', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x4e', '\x6f', '\x74', '\x53', '\x74', '\x61', '\x72', '\x74', '\x65', '\x64', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x45', '\x78', '\x65', '\x63', '\x75', '\x74', '\x69', '\x6e', '\x67', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x45', '\x78', '\x65', '\x63', '\x75', '\x74', '\x69', '\x6e', '\x67', '\x43', '\x68', '\x69', '\x6c', '\x64', '\x72', '\x65', '\x6e', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x4e', '\x65', '\x65', '\x64', '\x73', '\x41', '\x6e', '\x6f', '\x74', '\x68', '\x65', '\x72', '\x52', '\x75', '\x6e', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x6f', '\x6d', '\x70', '\x6c', '\x65', '\x74', '\x65', '\x64', '\x53', '\x75', '\x63', '\x63', '\x65', '\x73', '\x73', '\x66', '\x75', '\x6c', '\x6c', '\x79', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x46', '\x61', '\x69', '\x6c', '\x65', '\x64', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x75', '\x73', '\x69', '\x6e', '\x67', '\x20', '\x43', '\x68', '\x69', '\x6c', '\x64', '\x72', '\x65', '\x6e', '\x20', '\x3d', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x49', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x50', '\x74', '\x72', '\x3e', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x4e', '\x61', '\x6d', '\x65', '\x41', '\x6e', '\x64', '\x4c', '\x6f', '\x63', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x6d', '\x5f', '\x6e', '\x61', '\x6d', '\x65', '\x41', '\x6e', '\x64', '\x4c', '\x6f', '\x63', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x43', '\x6f', '\x6e', '\x74', '\x65', '\x78', '\x74', '\x26', '\x20', '\x6d', '\x5f', '\x63', '\x74', '\x78', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x49', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x2a', '\x20', '\x6d', '\x5f', '\x70', '\x61', '\x72', '\x65', '\x6e', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x68', '\x69', '\x6c', '\x64', '\x72', '\x65', '\x6e', '\x20', '\x6d', '\x5f', '\x63', '\x68', '\x69', '\x6c', '\x64', '\x72', '\x65', '\x6e', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x79', '\x63', '\x6c', '\x65', '\x53', '\x74', '\x61', '\x74', '\x65', '\x20', '\x6d', '\x5f', '\x72', '\x75', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x65', '\x20', '\x3d', '\x20', '\x4e', '\x6f', '\x74', '\x53', '\x74', '\x61', '\x72', '\x74', '\x65', '\x64', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x70', '\x75', '\x62', '\x6c', '\x69', '\x63', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x42', '\x61', '\x73', '\x65', '\x28', '\x20', '\x4e', '\x61', '\x6d', '\x65', '\x41', '\x6e', '\x64', '\x4c', '\x6f', '\x63', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x41', '\x6e', '\x64', '\x4c', '\x6f', '\x63', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x2c', '\x20', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x43', '\x6f', '\x6e', '\x74', '\x65', '\x78', '\x74', '\x26', '\x20', '\x63', '\x74', '\x78', '\x2c', '\x20', '\x49', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x2a', '\x20', '\x70', '\x61', '\x72', '\x65', '\x6e', '\x74', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x4e', '\x61', '\x6d', '\x65', '\x41', '\x6e', '\x64', '\x4c', '\x6f', '\x63', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x41', '\x6e', '\x64', '\x4c', '\x6f', '\x63', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x69', '\x73', '\x43', '\x6f', '\x6d', '\x70', '\x6c', '\x65', '\x74', '\x65', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x69', '\x73', '\x53', '\x75', '\x63', '\x63', '\x65', '\x73', '\x73', '\x66', '\x75', '\x6c', '\x6c', '\x79', '\x43', '\x6f', '\x6d', '\x70', '\x6c', '\x65', '\x74', '\x65', '\x64', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x69', '\x73', '\x4f', '\x70', '\x65', '\x6e', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x68', '\x61', '\x73', '\x43', '\x68', '\x69', '\x6c', '\x64', '\x72', '\x65', '\x6e', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x61', '\x64', '\x64', '\x43', '\x68', '\x69', '\x6c', '\x64', '\x28', '\x20', '\x49', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x50', '\x74', '\x72', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x63', '\x68', '\x69', '\x6c', '\x64', '\x20', '\x29', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x49', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x50', '\x74', '\x72', '\x20', '\x66', '\x69', '\x6e', '\x64', '\x43', '\x68', '\x69', '\x6c', '\x64', '\x28', '\x20', '\x4e', '\x61', '\x6d', '\x65', '\x41', '\x6e', '\x64', '\x4c', '\x6f', '\x63', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x41', '\x6e', '\x64', '\x4c', '\x6f', '\x63', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x29', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x49', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x26', '\x20', '\x70', '\x61', '\x72', '\x65', '\x6e', '\x74', '\x28', '\x29', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x6f', '\x70', '\x65', '\x6e', '\x43', '\x68', '\x69', '\x6c', '\x64', '\x28', '\x29', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x69', '\x73', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x69', '\x73', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x6f', '\x70', '\x65', '\x6e', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x63', '\x6c', '\x6f', '\x73', '\x65', '\x28', '\x29', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x66', '\x61', '\x69', '\x6c', '\x28', '\x29', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x6d', '\x61', '\x72', '\x6b', '\x41', '\x73', '\x4e', '\x65', '\x65', '\x64', '\x69', '\x6e', '\x67', '\x41', '\x6e', '\x6f', '\x74', '\x68', '\x65', '\x72', '\x52', '\x75', '\x6e', '\x28', '\x29', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x70', '\x72', '\x69', '\x76', '\x61', '\x74', '\x65', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x6d', '\x6f', '\x76', '\x65', '\x54', '\x6f', '\x50', '\x61', '\x72', '\x65', '\x6e', '\x74', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x6d', '\x6f', '\x76', '\x65', '\x54', '\x6f', '\x54', '\x68', '\x69', '\x73', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x20', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x20', '\x3a', '\x20', '\x70', '\x75', '\x62', '\x6c', '\x69', '\x63', '\x20', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x42', '\x61', '\x73', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x3e', '\x20', '\x6d', '\x5f', '\x66', '\x69', '\x6c', '\x74', '\x65', '\x72', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x6d', '\x5f', '\x74', '\x72', '\x69', '\x6d', '\x6d', '\x65', '\x64', '\x5f', '\x6e', '\x61', '\x6d', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x70', '\x75', '\x62', '\x6c', '\x69', '\x63', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x28', '\x20', '\x4e', '\x61', '\x6d', '\x65', '\x41', '\x6e', '\x64', '\x4c', '\x6f', '\x63', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x41', '\x6e', '\x64', '\x4c', '\x6f', '\x63', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x2c', '\x20', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x43', '\x6f', '\x6e', '\x74', '\x65', '\x78', '\x74', '\x26', '\x20', '\x63', '\x74', '\x78', '\x2c', '\x20', '\x49', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x2a', '\x20', '\x70', '\x61', '\x72', '\x65', '\x6e', '\x74', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x69', '\x73', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x69', '\x73', '\x43', '\x6f', '\x6d', '\x70', '\x6c', '\x65', '\x74', '\x65', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x20', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x26', '\x20', '\x61', '\x63', '\x71', '\x75', '\x69', '\x72', '\x65', '\x28', '\x20', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x43', '\x6f', '\x6e', '\x74', '\x65', '\x78', '\x74', '\x26', '\x20', '\x63', '\x74', '\x78', '\x2c', '\x20', '\x4e', '\x61', '\x6d', '\x65', '\x41', '\x6e', '\x64', '\x4c', '\x6f', '\x63', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x41', '\x6e', '\x64', '\x4c', '\x6f', '\x63', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x74', '\x72', '\x79', '\x4f', '\x70', '\x65', '\x6e', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x61', '\x64', '\x64', '\x49', '\x6e', '\x69', '\x74', '\x69', '\x61', '\x6c', '\x46', '\x69', '\x6c', '\x74', '\x65', '\x72', '\x73', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x3e', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x66', '\x69', '\x6c', '\x74', '\x65', '\x72', '\x73', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x61', '\x64', '\x64', '\x4e', '\x65', '\x78', '\x74', '\x46', '\x69', '\x6c', '\x74', '\x65', '\x72', '\x73', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x3e', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x66', '\x69', '\x6c', '\x74', '\x65', '\x72', '\x73', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x69', '\x6e', '\x67', '\x0d', '\x0a', '\x0d', '\x0a', '\x75', '\x73', '\x69', '\x6e', '\x67', '\x20', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x69', '\x6e', '\x67', '\x3a', '\x3a', '\x49', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x3b', '\x0d', '\x0a', '\x75', '\x73', '\x69', '\x6e', '\x67', '\x20', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x69', '\x6e', '\x67', '\x3a', '\x3a', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x43', '\x6f', '\x6e', '\x74', '\x65', '\x78', '\x74', '\x3b', '\x0d', '\x0a', '\x75', '\x73', '\x69', '\x6e', '\x67', '\x20', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x69', '\x6e', '\x67', '\x3a', '\x3a', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x74', '\x65', '\x73', '\x74', '\x5f', '\x63', '\x61', '\x73', '\x65', '\x5f', '\x74', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x2e', '\x68', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x6c', '\x65', '\x61', '\x6b', '\x5f', '\x64', '\x65', '\x74', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x2e', '\x68', '\x0d', '\x0a', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x4c', '\x65', '\x61', '\x6b', '\x44', '\x65', '\x74', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x4c', '\x65', '\x61', '\x6b', '\x44', '\x65', '\x74', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7e', '\x4c', '\x65', '\x61', '\x6b', '\x44', '\x65', '\x74', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x7d', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x6c', '\x65', '\x61', '\x6b', '\x5f', '\x64', '\x65', '\x74', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x2e', '\x68', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x43', '\x70', '\x70', '\x20', '\x66', '\x69', '\x6c', '\x65', '\x73', '\x20', '\x77', '\x69', '\x6c', '\x6c', '\x20', '\x62', '\x65', '\x20', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x64', '\x20', '\x69', '\x6e', '\x20', '\x74', '\x68', '\x65', '\x20', '\x73', '\x69', '\x6e', '\x67', '\x6c', '\x65', '\x2d', '\x68', '\x65', '\x61', '\x64', '\x65', '\x72', '\x20', '\x66', '\x69', '\x6c', '\x65', '\x20', '\x68', '\x65', '\x72', '\x65', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x73', '\x74', '\x61', '\x74', '\x73', '\x2e', '\x63', '\x70', '\x70', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x53', '\x74', '\x61', '\x74', '\x69', '\x73', '\x74', '\x69', '\x63', '\x61', '\x6c', '\x20', '\x61', '\x6e', '\x61', '\x6c', '\x79', '\x73', '\x69', '\x73', '\x20', '\x74', '\x6f', '\x6f', '\x6c', '\x73', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x45', '\x4e', '\x41', '\x42', '\x4c', '\x45', '\x5f', '\x42', '\x45', '\x4e', '\x43', '\x48', '\x4d', '\x41', '\x52', '\x4b', '\x49', '\x4e', '\x47', '\x29', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x63', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x3e', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x72', '\x61', '\x6e', '\x64', '\x6f', '\x6d', '\x3e', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x55', '\x53', '\x45', '\x5f', '\x41', '\x53', '\x59', '\x4e', '\x43', '\x29', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x66', '\x75', '\x74', '\x75', '\x72', '\x65', '\x3e', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x20', '\x65', '\x72', '\x66', '\x5f', '\x69', '\x6e', '\x76', '\x28', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x20', '\x78', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x43', '\x6f', '\x64', '\x65', '\x20', '\x61', '\x63', '\x63', '\x6f', '\x6d', '\x70', '\x61', '\x6e', '\x79', '\x69', '\x6e', '\x67', '\x20', '\x74', '\x68', '\x65', '\x20', '\x61', '\x72', '\x74', '\x69', '\x63', '\x6c', '\x65', '\x20', '\x22', '\x41', '\x70', '\x70', '\x72', '\x6f', '\x78', '\x69', '\x6d', '\x61', '\x74', '\x69', '\x6e', '\x67', '\x20', '\x74', '\x68', '\x65', '\x20', '\x65', '\x72', '\x66', '\x69', '\x6e', '\x76', '\x20', '\x66', '\x75', '\x6e', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x22', '\x20', '\x69', '\x6e', '\x20', '\x47', '\x50', '\x55', '\x20', '\x43', '\x6f', '\x6d', '\x70', '\x75', '\x74', '\x69', '\x6e', '\x67', '\x20', '\x47', '\x65', '\x6d', '\x73', '\x2c', '\x20', '\x56', '\x6f', '\x6c', '\x75', '\x6d', '\x65', '\x20', '\x32', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x20', '\x77', '\x2c', '\x20', '\x70', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x77', '\x20', '\x3d', '\x20', '\x2d', '\x6c', '\x6f', '\x67', '\x28', '\x28', '\x31', '\x2e', '\x30', '\x20', '\x2d', '\x20', '\x78', '\x29', '\x20', '\x2a', '\x20', '\x28', '\x31', '\x2e', '\x30', '\x20', '\x2b', '\x20', '\x78', '\x29', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x77', '\x20', '\x3c', '\x20', '\x36', '\x2e', '\x32', '\x35', '\x30', '\x30', '\x30', '\x30', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x77', '\x20', '\x3d', '\x20', '\x77', '\x20', '\x2d', '\x20', '\x33', '\x2e', '\x31', '\x32', '\x35', '\x30', '\x30', '\x30', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x20', '\x3d', '\x20', '\x2d', '\x33', '\x2e', '\x36', '\x34', '\x34', '\x34', '\x31', '\x32', '\x30', '\x36', '\x34', '\x30', '\x31', '\x37', '\x38', '\x31', '\x39', '\x36', '\x39', '\x39', '\x36', '\x65', '\x2d', '\x32', '\x31', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x20', '\x3d', '\x20', '\x2d', '\x31', '\x2e', '\x36', '\x38', '\x35', '\x30', '\x35', '\x39', '\x31', '\x33', '\x38', '\x31', '\x38', '\x32', '\x30', '\x31', '\x36', '\x35', '\x38', '\x39', '\x65', '\x2d', '\x31', '\x39', '\x20', '\x2b', '\x20', '\x70', '\x20', '\x2a', '\x20', '\x77', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x20', '\x3d', '\x20', '\x31', '\x2e', '\x32', '\x38', '\x35', '\x38', '\x34', '\x38', '\x30', '\x37', '\x31', '\x35', '\x32', '\x35', '\x36', '\x34', '\x30', '\x30', '\x31', '\x36', '\x37', '\x65', '\x2d', '\x31', '\x38', '\x20', '\x2b', '\x20', '\x70', '\x20', '\x2a', '\x20', '\x77', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x20', '\x3d', '\x20', '\x31', '\x2e', '\x31', '\x31', '\x35', '\x37', '\x38', '\x37', '\x37', '\x36', '\x37', '\x38', '\x30', '\x32', '\x35', '\x31', '\x38', '\x30', '\x39', '\x36', '\x65', '\x2d', '\x31', '\x37', '\x20', '\x2b', '\x20', '\x70', '\x20', '\x2a', '\x20', '\x77', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x20', '\x3d', '\x20', '\x2d', '\x31', '\x2e', '\x33', '\x33', '\x33', '\x31', '\x37', '\x31', '\x36', '\x36', '\x32', '\x38', '\x35', '\x34', '\x36', '\x32', '\x30', '\x39', '\x30', '\x36', '\x65', '\x2d', '\x31', '\x36', '\x20', '\x2b', '\x20', '\x70', '\x20', '\x2a', '\x20', '\x77', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x20', '\x3d', '\x20', '\x32', '\x2e', '\x30', '\x39', '\x37', '\x32', '\x37', '\x36', '\x37', '\x38', '\x37', '\x35', '\x39', '\x36', '\x38', '\x35', '\x36', '\x31', '\x36', '\x33', '\x37', '\x65', '\x2d', '\x31', '\x37', '\x20', '\x2b', '\x20', '\x70', '\x20', '\x2a', '\x20', '\x77', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x20', '\x3d', '\x20', '\x36', '\x2e', '\x36', '\x33', '\x37', '\x36', '\x33', '\x38', '\x31', '\x33', '\x34', '\x33', '\x35', '\x38', '\x33', '\x32', '\x33', '\x38', '\x33', '\x32', '\x35', '\x65', '\x2d', '\x31', '\x35', '\x20', '\x2b', '\x20', '\x70', '\x20', '\x2a', '\x20', '\x77', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x20', '\x3d', '\x20', '\x2d', '\x34', '\x2e', '\x30', '\x35', '\x34', '\x35', '\x36', '\x36', '\x32', '\x37', '\x32', '\x39', '\x37', '\x35', '\x32', '\x30', '\x36', '\x38', '\x36', '\x33', '\x39', '\x65', '\x2d', '\x31', '\x34', '\x20', '\x2b', '\x20', '\x70', '\x20', '\x2a', '\x20', '\x77', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x20', '\x3d', '\x20', '\x2d', '\x38', '\x2e', '\x31', '\x35', '\x31', '\x39', '\x33', '\x34', '\x31', '\x39', '\x37', '\x36', '\x30', '\x35', '\x34', '\x37', '\x32', '\x31', '\x35', '\x32', '\x32', '\x65', '\x2d', '\x31', '\x34', '\x20', '\x2b', '\x20', '\x70', '\x20', '\x2a', '\x20', '\x77', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x20', '\x3d', '\x20', '\x32', '\x2e', '\x36', '\x33', '\x33', '\x35', '\x30', '\x39', '\x33', '\x31', '\x35', '\x33', '\x30', '\x38', '\x32', '\x33', '\x32', '\x32', '\x39', '\x37', '\x37', '\x65', '\x2d', '\x31', '\x32', '\x20', '\x2b', '\x20', '\x70', '\x20', '\x2a', '\x20', '\x77', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x20', '\x3d', '\x20', '\x2d', '\x31', '\x2e', '\x32', '\x39', '\x37', '\x35', '\x31', '\x33', '\x33', '\x32', '\x35', '\x33', '\x34', '\x35', '\x33', '\x35', '\x33', '\x32', '\x34', '\x39', '\x38', '\x65', '\x2d', '\x31', '\x31', '\x20', '\x2b', '\x20', '\x70', '\x20', '\x2a', '\x20', '\x77', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x20', '\x3d', '\x20', '\x2d', '\x35', '\x2e', '\x34', '\x31', '\x35', '\x34', '\x31', '\x32', '\x30', '\x35', '\x34', '\x32', '\x39', '\x34', '\x36', '\x32', '\x37', '\x39', '\x33', '\x31', '\x37', '\x65', '\x2d', '\x31', '\x31', '\x20', '\x2b', '\x20', '\x70', '\x20', '\x2a', '\x20', '\x77', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x20', '\x3d', '\x20', '\x31', '\x2e', '\x30', '\x35', '\x31', '\x32', '\x31', '\x32', '\x32', '\x37', '\x33', '\x33', '\x32', '\x31', '\x35', '\x33', '\x32', '\x32', '\x38', '\x35', '\x65', '\x2d', '\x30', '\x39', '\x20', '\x2b', '\x20', '\x70', '\x20', '\x2a', '\x20', '\x77', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x20', '\x3d', '\x20', '\x2d', '\x34', '\x2e', '\x31', '\x31', '\x32', '\x36', '\x33', '\x33', '\x39', '\x38', '\x30', '\x33', '\x34', '\x36', '\x39', '\x38', '\x33', '\x36', '\x39', '\x37', '\x36', '\x65', '\x2d', '\x30', '\x39', '\x20', '\x2b', '\x20', '\x70', '\x20', '\x2a', '\x20', '\x77', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x20', '\x3d', '\x20', '\x2d', '\x32', '\x2e', '\x39', '\x30', '\x37', '\x30', '\x33', '\x36', '\x39', '\x39', '\x35', '\x37', '\x38', '\x38', '\x32', '\x30', '\x30', '\x35', '\x30', '\x38', '\x36', '\x65', '\x2d', '\x30', '\x38', '\x20', '\x2b', '\x20', '\x70', '\x20', '\x2a', '\x20', '\x77', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x20', '\x3d', '\x20', '\x34', '\x2e', '\x32', '\x33', '\x34', '\x37', '\x38', '\x37', '\x37', '\x38', '\x32', '\x37', '\x39', '\x33', '\x32', '\x34', '\x30', '\x33', '\x35', '\x31', '\x38', '\x65', '\x2d', '\x30', '\x37', '\x20', '\x2b', '\x20', '\x70', '\x20', '\x2a', '\x20', '\x77', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x20', '\x3d', '\x20', '\x2d', '\x31', '\x2e', '\x33', '\x36', '\x35', '\x34', '\x36', '\x39', '\x32', '\x30', '\x30', '\x30', '\x38', '\x33', '\x34', '\x36', '\x37', '\x38', '\x36', '\x34', '\x35', '\x65', '\x2d', '\x30', '\x36', '\x20', '\x2b', '\x20', '\x70', '\x20', '\x2a', '\x20', '\x77', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x20', '\x3d', '\x20', '\x2d', '\x31', '\x2e', '\x33', '\x38', '\x38', '\x32', '\x35', '\x32', '\x33', '\x33', '\x36', '\x32', '\x37', '\x38', '\x36', '\x34', '\x36', '\x38', '\x37', '\x31', '\x39', '\x65', '\x2d', '\x30', '\x35', '\x20', '\x2b', '\x20', '\x70', '\x20', '\x2a', '\x20', '\x77', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x20', '\x3d', '\x20', '\x30', '\x2e', '\x30', '\x30', '\x30', '\x31', '\x38', '\x36', '\x37', '\x33', '\x34', '\x32', '\x30', '\x38', '\x30', '\x33', '\x34', '\x30', '\x35', '\x37', '\x31', '\x33', '\x35', '\x32', '\x20', '\x2b', '\x20', '\x70', '\x20', '\x2a', '\x20', '\x77', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x20', '\x3d', '\x20', '\x2d', '\x30', '\x2e', '\x30', '\x30', '\x30', '\x37', '\x34', '\x30', '\x37', '\x30', '\x32', '\x35', '\x33', '\x34', '\x31', '\x36', '\x36', '\x32', '\x36', '\x36', '\x39', '\x37', '\x35', '\x31', '\x32', '\x20', '\x2b', '\x20', '\x70', '\x20', '\x2a', '\x20', '\x77', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x20', '\x3d', '\x20', '\x2d', '\x30', '\x2e', '\x30', '\x30', '\x36', '\x30', '\x33', '\x33', '\x36', '\x37', '\x30', '\x38', '\x37', '\x31', '\x34', '\x33', '\x30', '\x31', '\x34', '\x39', '\x30', '\x35', '\x33', '\x33', '\x20', '\x2b', '\x20', '\x70', '\x20', '\x2a', '\x20', '\x77', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x20', '\x3d', '\x20', '\x30', '\x2e', '\x32', '\x34', '\x30', '\x31', '\x35', '\x38', '\x31', '\x38', '\x32', '\x34', '\x32', '\x35', '\x35', '\x38', '\x39', '\x36', '\x31', '\x36', '\x39', '\x33', '\x20', '\x2b', '\x20', '\x70', '\x20', '\x2a', '\x20', '\x77', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x20', '\x3d', '\x20', '\x31', '\x2e', '\x36', '\x35', '\x33', '\x36', '\x35', '\x34', '\x35', '\x36', '\x32', '\x36', '\x38', '\x33', '\x31', '\x30', '\x32', '\x37', '\x33', '\x35', '\x36', '\x20', '\x2b', '\x20', '\x70', '\x20', '\x2a', '\x20', '\x77', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x20', '\x65', '\x6c', '\x73', '\x65', '\x20', '\x69', '\x66', '\x20', '\x28', '\x77', '\x20', '\x3c', '\x20', '\x31', '\x36', '\x2e', '\x30', '\x30', '\x30', '\x30', '\x30', '\x30', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x77', '\x20', '\x3d', '\x20', '\x73', '\x71', '\x72', '\x74', '\x28', '\x77', '\x29', '\x20', '\x2d', '\x20', '\x33', '\x2e', '\x32', '\x35', '\x30', '\x30', '\x30', '\x30', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x20', '\x3d', '\x20', '\x32', '\x2e', '\x32', '\x31', '\x33', '\x37', '\x33', '\x37', '\x36', '\x39', '\x32', '\x31', '\x37', '\x37', '\x35', '\x37', '\x38', '\x37', '\x30', '\x34', '\x39', '\x65', '\x2d', '\x30', '\x39', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x20', '\x3d', '\x20', '\x39', '\x2e', '\x30', '\x37', '\x35', '\x36', '\x35', '\x36', '\x31', '\x39', '\x33', '\x38', '\x38', '\x38', '\x35', '\x33', '\x39', '\x30', '\x39', '\x37', '\x39', '\x65', '\x2d', '\x30', '\x38', '\x20', '\x2b', '\x20', '\x70', '\x20', '\x2a', '\x20', '\x77', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x20', '\x3d', '\x20', '\x2d', '\x32', '\x2e', '\x37', '\x35', '\x31', '\x37', '\x34', '\x30', '\x36', '\x32', '\x39', '\x37', '\x30', '\x36', '\x34', '\x35', '\x34', '\x35', '\x34', '\x32', '\x38', '\x65', '\x2d', '\x30', '\x37', '\x20', '\x2b', '\x20', '\x70', '\x20', '\x2a', '\x20', '\x77', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x20', '\x3d', '\x20', '\x31', '\x2e', '\x38', '\x32', '\x33', '\x39', '\x36', '\x32', '\x39', '\x32', '\x31', '\x34', '\x33', '\x38', '\x39', '\x32', '\x32', '\x37', '\x37', '\x35', '\x35', '\x65', '\x2d', '\x30', '\x38', '\x20', '\x2b', '\x20', '\x70', '\x20', '\x2a', '\x20', '\x77', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x20', '\x3d', '\x20', '\x31', '\x2e', '\x35', '\x30', '\x32', '\x37', '\x34', '\x30', '\x33', '\x39', '\x36', '\x38', '\x39', '\x30', '\x39', '\x38', '\x32', '\x37', '\x36', '\x32', '\x37', '\x65', '\x2d', '\x30', '\x36', '\x20', '\x2b', '\x20', '\x70', '\x20', '\x2a', '\x20', '\x77', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x20', '\x3d', '\x20', '\x2d', '\x34', '\x2e', '\x30', '\x31', '\x33', '\x38', '\x36', '\x37', '\x35', '\x32', '\x36', '\x39', '\x38', '\x31', '\x35', '\x34', '\x35', '\x39', '\x36', '\x39', '\x65', '\x2d', '\x30', '\x36', '\x20', '\x2b', '\x20', '\x70', '\x20', '\x2a', '\x20', '\x77', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x20', '\x3d', '\x20', '\x32', '\x2e', '\x39', '\x32', '\x33', '\x34', '\x34', '\x34', '\x39', '\x30', '\x38', '\x39', '\x39', '\x35', '\x35', '\x34', '\x34', '\x36', '\x30', '\x34', '\x34', '\x65', '\x2d', '\x30', '\x36', '\x20', '\x2b', '\x20', '\x70', '\x20', '\x2a', '\x20', '\x77', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x20', '\x3d', '\x20', '\x31', '\x2e', '\x32', '\x34', '\x37', '\x35', '\x33', '\x30', '\x34', '\x34', '\x38', '\x31', '\x36', '\x37', '\x31', '\x37', '\x37', '\x38', '\x37', '\x32', '\x33', '\x65', '\x2d', '\x30', '\x35', '\x20', '\x2b', '\x20', '\x70', '\x20', '\x2a', '\x20', '\x77', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x20', '\x3d', '\x20', '\x2d', '\x34', '\x2e', '\x37', '\x33', '\x31', '\x38', '\x32', '\x32', '\x39', '\x30', '\x30', '\x39', '\x30', '\x35', '\x35', '\x37', '\x33', '\x33', '\x39', '\x38', '\x31', '\x65', '\x2d', '\x30', '\x35', '\x20', '\x2b', '\x20', '\x70', '\x20', '\x2a', '\x20', '\x77', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x20', '\x3d', '\x20', '\x36', '\x2e', '\x38', '\x32', '\x38', '\x34', '\x38', '\x35', '\x31', '\x34', '\x35', '\x39', '\x35', '\x37', '\x33', '\x31', '\x37', '\x35', '\x34', '\x34', '\x38', '\x65', '\x2d', '\x30', '\x35', '\x20', '\x2b', '\x20', '\x70', '\x20', '\x2a', '\x20', '\x77', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x20', '\x3d', '\x20', '\x32', '\x2e', '\x34', '\x30', '\x33', '\x31', '\x31', '\x31', '\x30', '\x33', '\x38', '\x37', '\x30', '\x39', '\x37', '\x38', '\x39', '\x33', '\x39', '\x39', '\x39', '\x65', '\x2d', '\x30', '\x35', '\x20', '\x2b', '\x20', '\x70', '\x20', '\x2a', '\x20', '\x77', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x20', '\x3d', '\x20', '\x2d', '\x30', '\x2e', '\x30', '\x30', '\x30', '\x33', '\x35', '\x35', '\x30', '\x33', '\x37', '\x35', '\x32', '\x30', '\x33', '\x36', '\x32', '\x38', '\x34', '\x37', '\x34', '\x37', '\x39', '\x36', '\x20', '\x2b', '\x20', '\x70', '\x20', '\x2a', '\x20', '\x77', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x20', '\x3d', '\x20', '\x30', '\x2e', '\x30', '\x30', '\x30', '\x39', '\x35', '\x33', '\x32', '\x38', '\x39', '\x33', '\x37', '\x39', '\x37', '\x33', '\x37', '\x33', '\x38', '\x30', '\x34', '\x39', '\x37', '\x30', '\x33', '\x20', '\x2b', '\x20', '\x70', '\x20', '\x2a', '\x20', '\x77', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x20', '\x3d', '\x20', '\x2d', '\x30', '\x2e', '\x30', '\x30', '\x31', '\x36', '\x38', '\x38', '\x32', '\x37', '\x35', '\x35', '\x35', '\x36', '\x30', '\x32', '\x33', '\x35', '\x30', '\x34', '\x37', '\x33', '\x31', '\x33', '\x20', '\x2b', '\x20', '\x70', '\x20', '\x2a', '\x20', '\x77', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x20', '\x3d', '\x20', '\x30', '\x2e', '\x30', '\x30', '\x32', '\x34', '\x39', '\x31', '\x34', '\x34', '\x32', '\x30', '\x39', '\x36', '\x31', '\x30', '\x37', '\x38', '\x35', '\x30', '\x38', '\x30', '\x36', '\x36', '\x20', '\x2b', '\x20', '\x70', '\x20', '\x2a', '\x20', '\x77', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x20', '\x3d', '\x20', '\x2d', '\x30', '\x2e', '\x30', '\x30', '\x33', '\x37', '\x35', '\x31', '\x32', '\x30', '\x38', '\x35', '\x30', '\x37', '\x35', '\x36', '\x39', '\x32', '\x34', '\x31', '\x32', '\x31', '\x30', '\x37', '\x20', '\x2b', '\x20', '\x70', '\x20', '\x2a', '\x20', '\x77', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x20', '\x3d', '\x20', '\x30', '\x2e', '\x30', '\x30', '\x35', '\x33', '\x37', '\x30', '\x39', '\x31', '\x34', '\x35', '\x35', '\x33', '\x35', '\x39', '\x30', '\x30', '\x36', '\x33', '\x36', '\x31', '\x37', '\x20', '\x2b', '\x20', '\x70', '\x20', '\x2a', '\x20', '\x77', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x20', '\x3d', '\x20', '\x31', '\x2e', '\x30', '\x30', '\x35', '\x32', '\x35', '\x38', '\x39', '\x36', '\x37', '\x36', '\x39', '\x34', '\x31', '\x35', '\x39', '\x32', '\x33', '\x33', '\x34', '\x20', '\x2b', '\x20', '\x70', '\x20', '\x2a', '\x20', '\x77', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x20', '\x3d', '\x20', '\x33', '\x2e', '\x30', '\x38', '\x33', '\x38', '\x38', '\x35', '\x36', '\x31', '\x30', '\x34', '\x39', '\x32', '\x32', '\x32', '\x30', '\x37', '\x36', '\x33', '\x35', '\x20', '\x2b', '\x20', '\x70', '\x20', '\x2a', '\x20', '\x77', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x20', '\x65', '\x6c', '\x73', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x77', '\x20', '\x3d', '\x20', '\x73', '\x71', '\x72', '\x74', '\x28', '\x77', '\x29', '\x20', '\x2d', '\x20', '\x35', '\x2e', '\x30', '\x30', '\x30', '\x30', '\x30', '\x30', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x20', '\x3d', '\x20', '\x2d', '\x32', '\x2e', '\x37', '\x31', '\x30', '\x39', '\x39', '\x32', '\x30', '\x36', '\x31', '\x36', '\x34', '\x33', '\x38', '\x35', '\x37', '\x33', '\x32', '\x34', '\x33', '\x65', '\x2d', '\x31', '\x31', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x20', '\x3d', '\x20', '\x2d', '\x32', '\x2e', '\x35', '\x35', '\x35', '\x36', '\x34', '\x31', '\x38', '\x31', '\x36', '\x39', '\x39', '\x36', '\x35', '\x32', '\x35', '\x32', '\x30', '\x35', '\x35', '\x65', '\x2d', '\x31', '\x30', '\x20', '\x2b', '\x20', '\x70', '\x20', '\x2a', '\x20', '\x77', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x20', '\x3d', '\x20', '\x31', '\x2e', '\x35', '\x30', '\x37', '\x36', '\x35', '\x37', '\x32', '\x36', '\x39', '\x33', '\x35', '\x30', '\x30', '\x35', '\x34', '\x38', '\x30', '\x38', '\x33', '\x65', '\x2d', '\x30', '\x39', '\x20', '\x2b', '\x20', '\x70', '\x20', '\x2a', '\x20', '\x77', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x20', '\x3d', '\x20', '\x2d', '\x33', '\x2e', '\x37', '\x38', '\x39', '\x34', '\x36', '\x35', '\x34', '\x34', '\x30', '\x31', '\x32', '\x36', '\x37', '\x33', '\x36', '\x39', '\x39', '\x33', '\x37', '\x65', '\x2d', '\x30', '\x39', '\x20', '\x2b', '\x20', '\x70', '\x20', '\x2a', '\x20', '\x77', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x20', '\x3d', '\x20', '\x37', '\x2e', '\x36', '\x31', '\x35', '\x37', '\x30', '\x31', '\x32', '\x30', '\x38', '\x30', '\x37', '\x38', '\x33', '\x33', '\x39', '\x33', '\x38', '\x30', '\x34', '\x65', '\x2d', '\x30', '\x39', '\x20', '\x2b', '\x20', '\x70', '\x20', '\x2a', '\x20', '\x77', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x20', '\x3d', '\x20', '\x2d', '\x31', '\x2e', '\x34', '\x39', '\x36', '\x30', '\x30', '\x32', '\x36', '\x36', '\x32', '\x37', '\x31', '\x34', '\x39', '\x32', '\x34', '\x30', '\x34', '\x37', '\x38', '\x65', '\x2d', '\x30', '\x38', '\x20', '\x2b', '\x20', '\x70', '\x20', '\x2a', '\x20', '\x77', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x20', '\x3d', '\x20', '\x32', '\x2e', '\x39', '\x31', '\x34', '\x37', '\x39', '\x35', '\x33', '\x34', '\x35', '\x30', '\x39', '\x30', '\x31', '\x30', '\x38', '\x30', '\x38', '\x32', '\x36', '\x65', '\x2d', '\x30', '\x38', '\x20', '\x2b', '\x20', '\x70', '\x20', '\x2a', '\x20', '\x77', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x20', '\x3d', '\x20', '\x2d', '\x36', '\x2e', '\x37', '\x37', '\x31', '\x31', '\x39', '\x39', '\x37', '\x37', '\x35', '\x38', '\x34', '\x35', '\x32', '\x33', '\x33', '\x39', '\x34', '\x39', '\x38', '\x65', '\x2d', '\x30', '\x38', '\x20', '\x2b', '\x20', '\x70', '\x20', '\x2a', '\x20', '\x77', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x20', '\x3d', '\x20', '\x32', '\x2e', '\x32', '\x39', '\x30', '\x30', '\x34', '\x38', '\x32', '\x32', '\x32', '\x38', '\x30', '\x32', '\x36', '\x36', '\x35', '\x34', '\x37', '\x31', '\x37', '\x65', '\x2d', '\x30', '\x37', '\x20', '\x2b', '\x20', '\x70', '\x20', '\x2a', '\x20', '\x77', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x20', '\x3d', '\x20', '\x2d', '\x39', '\x2e', '\x39', '\x32', '\x39', '\x38', '\x32', '\x37', '\x32', '\x39', '\x34', '\x32', '\x33', '\x31', '\x37', '\x30', '\x30', '\x32', '\x35', '\x33', '\x39', '\x65', '\x2d', '\x30', '\x37', '\x20', '\x2b', '\x20', '\x70', '\x20', '\x2a', '\x20', '\x77', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x20', '\x3d', '\x20', '\x34', '\x2e', '\x35', '\x32', '\x36', '\x30', '\x36', '\x32', '\x35', '\x39', '\x37', '\x32', '\x32', '\x33', '\x31', '\x35', '\x33', '\x37', '\x30', '\x33', '\x39', '\x65', '\x2d', '\x30', '\x36', '\x20', '\x2b', '\x20', '\x70', '\x20', '\x2a', '\x20', '\x77', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x20', '\x3d', '\x20', '\x2d', '\x31', '\x2e', '\x39', '\x36', '\x38', '\x31', '\x37', '\x37', '\x38', '\x31', '\x30', '\x35', '\x35', '\x33', '\x31', '\x36', '\x37', '\x30', '\x35', '\x36', '\x37', '\x65', '\x2d', '\x30', '\x35', '\x20', '\x2b', '\x20', '\x70', '\x20', '\x2a', '\x20', '\x77', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x20', '\x3d', '\x20', '\x37', '\x2e', '\x35', '\x39', '\x39', '\x35', '\x32', '\x37', '\x37', '\x30', '\x33', '\x30', '\x30', '\x31', '\x37', '\x37', '\x36', '\x31', '\x31', '\x33', '\x39', '\x65', '\x2d', '\x30', '\x35', '\x20', '\x2b', '\x20', '\x70', '\x20', '\x2a', '\x20', '\x77', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x20', '\x3d', '\x20', '\x2d', '\x30', '\x2e', '\x30', '\x30', '\x30', '\x32', '\x31', '\x35', '\x30', '\x33', '\x30', '\x31', '\x31', '\x39', '\x33', '\x30', '\x30', '\x34', '\x34', '\x34', '\x37', '\x37', '\x33', '\x34', '\x37', '\x20', '\x2b', '\x20', '\x70', '\x20', '\x2a', '\x20', '\x77', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x20', '\x3d', '\x20', '\x2d', '\x30', '\x2e', '\x30', '\x30', '\x30', '\x31', '\x33', '\x38', '\x37', '\x31', '\x39', '\x33', '\x31', '\x38', '\x33', '\x33', '\x36', '\x32', '\x33', '\x31', '\x32', '\x32', '\x30', '\x32', '\x36', '\x20', '\x2b', '\x20', '\x70', '\x20', '\x2a', '\x20', '\x77', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x20', '\x3d', '\x20', '\x31', '\x2e', '\x30', '\x31', '\x30', '\x33', '\x30', '\x30', '\x34', '\x36', '\x34', '\x38', '\x36', '\x34', '\x35', '\x33', '\x34', '\x33', '\x39', '\x37', '\x37', '\x20', '\x2b', '\x20', '\x70', '\x20', '\x2a', '\x20', '\x77', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x20', '\x3d', '\x20', '\x34', '\x2e', '\x38', '\x34', '\x39', '\x39', '\x30', '\x36', '\x34', '\x30', '\x31', '\x34', '\x30', '\x38', '\x35', '\x38', '\x34', '\x34', '\x32', '\x32', '\x31', '\x20', '\x2b', '\x20', '\x70', '\x20', '\x2a', '\x20', '\x77', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x70', '\x20', '\x2a', '\x20', '\x78', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x20', '\x73', '\x74', '\x61', '\x6e', '\x64', '\x61', '\x72', '\x64', '\x5f', '\x64', '\x65', '\x76', '\x69', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x3e', '\x3a', '\x3a', '\x69', '\x74', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x66', '\x69', '\x72', '\x73', '\x74', '\x2c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x3e', '\x3a', '\x3a', '\x69', '\x74', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x6c', '\x61', '\x73', '\x74', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x6d', '\x20', '\x3d', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x42', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x3a', '\x3a', '\x44', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x3a', '\x3a', '\x6d', '\x65', '\x61', '\x6e', '\x28', '\x66', '\x69', '\x72', '\x73', '\x74', '\x2c', '\x20', '\x6c', '\x61', '\x73', '\x74', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x20', '\x76', '\x61', '\x72', '\x69', '\x61', '\x6e', '\x63', '\x65', '\x20', '\x3d', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x61', '\x63', '\x63', '\x75', '\x6d', '\x75', '\x6c', '\x61', '\x74', '\x65', '\x28', '\x66', '\x69', '\x72', '\x73', '\x74', '\x2c', '\x20', '\x6c', '\x61', '\x73', '\x74', '\x2c', '\x20', '\x30', '\x2e', '\x2c', '\x20', '\x5b', '\x6d', '\x5d', '\x28', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x20', '\x61', '\x2c', '\x20', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x20', '\x62', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x20', '\x64', '\x69', '\x66', '\x66', '\x20', '\x3d', '\x20', '\x62', '\x20', '\x2d', '\x20', '\x6d', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x61', '\x20', '\x2b', '\x20', '\x64', '\x69', '\x66', '\x66', '\x20', '\x2a', '\x20', '\x64', '\x69', '\x66', '\x66', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x29', '\x20', '\x2f', '\x20', '\x28', '\x6c', '\x61', '\x73', '\x74', '\x20', '\x2d', '\x20', '\x66', '\x69', '\x72', '\x73', '\x74', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x71', '\x72', '\x74', '\x28', '\x76', '\x61', '\x72', '\x69', '\x61', '\x6e', '\x63', '\x65', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x42', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x44', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x20', '\x77', '\x65', '\x69', '\x67', '\x68', '\x74', '\x65', '\x64', '\x5f', '\x61', '\x76', '\x65', '\x72', '\x61', '\x67', '\x65', '\x5f', '\x71', '\x75', '\x61', '\x6e', '\x74', '\x69', '\x6c', '\x65', '\x28', '\x69', '\x6e', '\x74', '\x20', '\x6b', '\x2c', '\x20', '\x69', '\x6e', '\x74', '\x20', '\x71', '\x2c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x3e', '\x3a', '\x3a', '\x69', '\x74', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x66', '\x69', '\x72', '\x73', '\x74', '\x2c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x3e', '\x3a', '\x3a', '\x69', '\x74', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x6c', '\x61', '\x73', '\x74', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x63', '\x6f', '\x75', '\x6e', '\x74', '\x20', '\x3d', '\x20', '\x6c', '\x61', '\x73', '\x74', '\x20', '\x2d', '\x20', '\x66', '\x69', '\x72', '\x73', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x20', '\x69', '\x64', '\x78', '\x20', '\x3d', '\x20', '\x28', '\x63', '\x6f', '\x75', '\x6e', '\x74', '\x20', '\x2d', '\x20', '\x31', '\x29', '\x20', '\x2a', '\x20', '\x6b', '\x20', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x5f', '\x63', '\x61', '\x73', '\x74', '\x3c', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x3e', '\x28', '\x71', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x6e', '\x74', '\x20', '\x6a', '\x20', '\x3d', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x5f', '\x63', '\x61', '\x73', '\x74', '\x3c', '\x69', '\x6e', '\x74', '\x3e', '\x28', '\x69', '\x64', '\x78', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x20', '\x67', '\x20', '\x3d', '\x20', '\x69', '\x64', '\x78', '\x20', '\x2d', '\x20', '\x6a', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6e', '\x74', '\x68', '\x5f', '\x65', '\x6c', '\x65', '\x6d', '\x65', '\x6e', '\x74', '\x28', '\x66', '\x69', '\x72', '\x73', '\x74', '\x2c', '\x20', '\x66', '\x69', '\x72', '\x73', '\x74', '\x20', '\x2b', '\x20', '\x6a', '\x2c', '\x20', '\x6c', '\x61', '\x73', '\x74', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x78', '\x6a', '\x20', '\x3d', '\x20', '\x66', '\x69', '\x72', '\x73', '\x74', '\x5b', '\x6a', '\x5d', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x67', '\x20', '\x3d', '\x3d', '\x20', '\x30', '\x29', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x78', '\x6a', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x78', '\x6a', '\x31', '\x20', '\x3d', '\x20', '\x2a', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6d', '\x69', '\x6e', '\x5f', '\x65', '\x6c', '\x65', '\x6d', '\x65', '\x6e', '\x74', '\x28', '\x66', '\x69', '\x72', '\x73', '\x74', '\x20', '\x2b', '\x20', '\x28', '\x6a', '\x20', '\x2b', '\x20', '\x31', '\x29', '\x2c', '\x20', '\x6c', '\x61', '\x73', '\x74', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x78', '\x6a', '\x20', '\x2b', '\x20', '\x67', '\x20', '\x2a', '\x20', '\x28', '\x78', '\x6a', '\x31', '\x20', '\x2d', '\x20', '\x78', '\x6a', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x20', '\x65', '\x72', '\x66', '\x63', '\x5f', '\x69', '\x6e', '\x76', '\x28', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x20', '\x78', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x65', '\x72', '\x66', '\x5f', '\x69', '\x6e', '\x76', '\x28', '\x31', '\x2e', '\x30', '\x20', '\x2d', '\x20', '\x78', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x20', '\x6e', '\x6f', '\x72', '\x6d', '\x61', '\x6c', '\x5f', '\x71', '\x75', '\x61', '\x6e', '\x74', '\x69', '\x6c', '\x65', '\x28', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x20', '\x70', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x20', '\x52', '\x4f', '\x4f', '\x54', '\x5f', '\x54', '\x57', '\x4f', '\x20', '\x3d', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x71', '\x72', '\x74', '\x28', '\x32', '\x2e', '\x30', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x20', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x20', '\x3d', '\x20', '\x30', '\x2e', '\x30', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x28', '\x70', '\x20', '\x3e', '\x3d', '\x20', '\x30', '\x20', '\x26', '\x26', '\x20', '\x70', '\x20', '\x3c', '\x3d', '\x20', '\x31', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x70', '\x20', '\x3c', '\x20', '\x30', '\x20', '\x7c', '\x7c', '\x20', '\x70', '\x20', '\x3e', '\x20', '\x31', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x20', '\x3d', '\x20', '\x2d', '\x65', '\x72', '\x66', '\x63', '\x5f', '\x69', '\x6e', '\x76', '\x28', '\x32', '\x2e', '\x30', '\x20', '\x2a', '\x20', '\x70', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x20', '\x2a', '\x3d', '\x20', '\x6e', '\x6f', '\x72', '\x6d', '\x61', '\x6c', '\x20', '\x64', '\x69', '\x73', '\x74', '\x72', '\x69', '\x62', '\x75', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x73', '\x74', '\x61', '\x6e', '\x64', '\x61', '\x72', '\x64', '\x20', '\x64', '\x65', '\x76', '\x69', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x28', '\x31', '\x2e', '\x30', '\x29', '\x20', '\x2a', '\x20', '\x73', '\x71', '\x72', '\x74', '\x28', '\x32', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x20', '\x2a', '\x3d', '\x20', '\x2f', '\x2a', '\x73', '\x64', '\x20', '\x2a', '\x20', '\x2a', '\x2f', '\x20', '\x52', '\x4f', '\x4f', '\x54', '\x5f', '\x54', '\x57', '\x4f', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x20', '\x2b', '\x3d', '\x20', '\x6e', '\x6f', '\x72', '\x6d', '\x61', '\x6c', '\x20', '\x64', '\x69', '\x73', '\x74', '\x74', '\x72', '\x69', '\x62', '\x75', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x6d', '\x65', '\x61', '\x6e', '\x20', '\x28', '\x30', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x20', '\x6f', '\x75', '\x74', '\x6c', '\x69', '\x65', '\x72', '\x5f', '\x76', '\x61', '\x72', '\x69', '\x61', '\x6e', '\x63', '\x65', '\x28', '\x45', '\x73', '\x74', '\x69', '\x6d', '\x61', '\x74', '\x65', '\x3c', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x3e', '\x20', '\x6d', '\x65', '\x61', '\x6e', '\x2c', '\x20', '\x45', '\x73', '\x74', '\x69', '\x6d', '\x61', '\x74', '\x65', '\x3c', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x3e', '\x20', '\x73', '\x74', '\x64', '\x64', '\x65', '\x76', '\x2c', '\x20', '\x69', '\x6e', '\x74', '\x20', '\x6e', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x20', '\x73', '\x62', '\x20', '\x3d', '\x20', '\x73', '\x74', '\x64', '\x64', '\x65', '\x76', '\x2e', '\x70', '\x6f', '\x69', '\x6e', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x20', '\x6d', '\x6e', '\x20', '\x3d', '\x20', '\x6d', '\x65', '\x61', '\x6e', '\x2e', '\x70', '\x6f', '\x69', '\x6e', '\x74', '\x20', '\x2f', '\x20', '\x6e', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x20', '\x6d', '\x67', '\x5f', '\x6d', '\x69', '\x6e', '\x20', '\x3d', '\x20', '\x6d', '\x6e', '\x20', '\x2f', '\x20', '\x32', '\x2e', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x20', '\x73', '\x67', '\x20', '\x3d', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6d', '\x69', '\x6e', '\x28', '\x6d', '\x67', '\x5f', '\x6d', '\x69', '\x6e', '\x20', '\x2f', '\x20', '\x34', '\x2e', '\x2c', '\x20', '\x73', '\x62', '\x20', '\x2f', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x71', '\x72', '\x74', '\x28', '\x6e', '\x29', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x20', '\x73', '\x67', '\x32', '\x20', '\x3d', '\x20', '\x73', '\x67', '\x20', '\x2a', '\x20', '\x73', '\x67', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x20', '\x73', '\x62', '\x32', '\x20', '\x3d', '\x20', '\x73', '\x62', '\x20', '\x2a', '\x20', '\x73', '\x62', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x63', '\x5f', '\x6d', '\x61', '\x78', '\x20', '\x3d', '\x20', '\x5b', '\x6e', '\x2c', '\x20', '\x6d', '\x6e', '\x2c', '\x20', '\x73', '\x62', '\x32', '\x2c', '\x20', '\x73', '\x67', '\x32', '\x5d', '\x28', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x20', '\x78', '\x29', '\x20', '\x2d', '\x3e', '\x20', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x20', '\x6b', '\x20', '\x3d', '\x20', '\x6d', '\x6e', '\x20', '\x2d', '\x20', '\x78', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x20', '\x64', '\x20', '\x3d', '\x20', '\x6b', '\x20', '\x2a', '\x20', '\x6b', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x20', '\x6e', '\x64', '\x20', '\x3d', '\x20', '\x6e', '\x20', '\x2a', '\x20', '\x64', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x20', '\x6b', '\x30', '\x20', '\x3d', '\x20', '\x2d', '\x6e', '\x20', '\x2a', '\x20', '\x6e', '\x64', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x20', '\x6b', '\x31', '\x20', '\x3d', '\x20', '\x73', '\x62', '\x32', '\x20', '\x2d', '\x20', '\x6e', '\x20', '\x2a', '\x20', '\x73', '\x67', '\x32', '\x20', '\x2b', '\x20', '\x6e', '\x64', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x20', '\x64', '\x65', '\x74', '\x20', '\x3d', '\x20', '\x6b', '\x31', '\x20', '\x2a', '\x20', '\x6b', '\x31', '\x20', '\x2d', '\x20', '\x34', '\x20', '\x2a', '\x20', '\x73', '\x67', '\x32', '\x20', '\x2a', '\x20', '\x6b', '\x30', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x28', '\x69', '\x6e', '\x74', '\x29', '\x28', '\x2d', '\x32', '\x2e', '\x20', '\x2a', '\x20', '\x6b', '\x30', '\x20', '\x2f', '\x20', '\x28', '\x6b', '\x31', '\x20', '\x2b', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x71', '\x72', '\x74', '\x28', '\x64', '\x65', '\x74', '\x29', '\x29', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x76', '\x61', '\x72', '\x5f', '\x6f', '\x75', '\x74', '\x20', '\x3d', '\x20', '\x5b', '\x6e', '\x2c', '\x20', '\x73', '\x62', '\x32', '\x2c', '\x20', '\x73', '\x67', '\x32', '\x5d', '\x28', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x20', '\x63', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x20', '\x6e', '\x63', '\x20', '\x3d', '\x20', '\x6e', '\x20', '\x2d', '\x20', '\x63', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x28', '\x6e', '\x63', '\x20', '\x2f', '\x20', '\x6e', '\x29', '\x20', '\x2a', '\x20', '\x28', '\x73', '\x62', '\x32', '\x20', '\x2d', '\x20', '\x6e', '\x63', '\x20', '\x2a', '\x20', '\x73', '\x67', '\x32', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6d', '\x69', '\x6e', '\x28', '\x76', '\x61', '\x72', '\x5f', '\x6f', '\x75', '\x74', '\x28', '\x31', '\x29', '\x2c', '\x20', '\x76', '\x61', '\x72', '\x5f', '\x6f', '\x75', '\x74', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6d', '\x69', '\x6e', '\x28', '\x63', '\x5f', '\x6d', '\x61', '\x78', '\x28', '\x30', '\x2e', '\x29', '\x2c', '\x20', '\x63', '\x5f', '\x6d', '\x61', '\x78', '\x28', '\x6d', '\x67', '\x5f', '\x6d', '\x69', '\x6e', '\x29', '\x29', '\x29', '\x29', '\x20', '\x2f', '\x20', '\x73', '\x62', '\x32', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x74', '\x73', '\x74', '\x72', '\x61', '\x70', '\x5f', '\x61', '\x6e', '\x61', '\x6c', '\x79', '\x73', '\x69', '\x73', '\x20', '\x61', '\x6e', '\x61', '\x6c', '\x79', '\x73', '\x65', '\x5f', '\x73', '\x61', '\x6d', '\x70', '\x6c', '\x65', '\x73', '\x28', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x20', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x64', '\x65', '\x6e', '\x63', '\x65', '\x5f', '\x6c', '\x65', '\x76', '\x65', '\x6c', '\x2c', '\x20', '\x69', '\x6e', '\x74', '\x20', '\x6e', '\x5f', '\x72', '\x65', '\x73', '\x61', '\x6d', '\x70', '\x6c', '\x65', '\x73', '\x2c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x3e', '\x3a', '\x3a', '\x69', '\x74', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x66', '\x69', '\x72', '\x73', '\x74', '\x2c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x3e', '\x3a', '\x3a', '\x69', '\x74', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x6c', '\x61', '\x73', '\x74', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x53', '\x55', '\x50', '\x50', '\x52', '\x45', '\x53', '\x53', '\x5f', '\x47', '\x4c', '\x4f', '\x42', '\x41', '\x4c', '\x53', '\x5f', '\x57', '\x41', '\x52', '\x4e', '\x49', '\x4e', '\x47', '\x53', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x72', '\x61', '\x6e', '\x64', '\x6f', '\x6d', '\x5f', '\x64', '\x65', '\x76', '\x69', '\x63', '\x65', '\x20', '\x65', '\x6e', '\x74', '\x72', '\x6f', '\x70', '\x79', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x55', '\x4e', '\x53', '\x55', '\x50', '\x50', '\x52', '\x45', '\x53', '\x53', '\x5f', '\x47', '\x4c', '\x4f', '\x42', '\x41', '\x4c', '\x53', '\x5f', '\x57', '\x41', '\x52', '\x4e', '\x49', '\x4e', '\x47', '\x53', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x6e', '\x20', '\x3d', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x5f', '\x63', '\x61', '\x73', '\x74', '\x3c', '\x69', '\x6e', '\x74', '\x3e', '\x28', '\x6c', '\x61', '\x73', '\x74', '\x20', '\x2d', '\x20', '\x66', '\x69', '\x72', '\x73', '\x74', '\x29', '\x3b', '\x20', '\x2f', '\x2f', '\x20', '\x73', '\x65', '\x72', '\x69', '\x6f', '\x75', '\x73', '\x6c', '\x79', '\x2c', '\x20', '\x6f', '\x6e', '\x65', '\x20', '\x63', '\x61', '\x6e', '\x27', '\x74', '\x20', '\x75', '\x73', '\x65', '\x20', '\x69', '\x6e', '\x74', '\x65', '\x67', '\x72', '\x61', '\x6c', '\x20', '\x74', '\x79', '\x70', '\x65', '\x73', '\x20', '\x77', '\x69', '\x74', '\x68', '\x6f', '\x75', '\x74', '\x20', '\x68', '\x65', '\x6c', '\x6c', '\x20', '\x69', '\x6e', '\x20', '\x43', '\x2b', '\x2b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x6d', '\x65', '\x61', '\x6e', '\x20', '\x3d', '\x20', '\x26', '\x44', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x3a', '\x3a', '\x6d', '\x65', '\x61', '\x6e', '\x3c', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x3e', '\x3a', '\x3a', '\x69', '\x74', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x3e', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x73', '\x74', '\x64', '\x64', '\x65', '\x76', '\x20', '\x3d', '\x20', '\x26', '\x73', '\x74', '\x61', '\x6e', '\x64', '\x61', '\x72', '\x64', '\x5f', '\x64', '\x65', '\x76', '\x69', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x55', '\x53', '\x45', '\x5f', '\x41', '\x53', '\x59', '\x4e', '\x43', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x45', '\x73', '\x74', '\x69', '\x6d', '\x61', '\x74', '\x65', '\x20', '\x3d', '\x20', '\x5b', '\x3d', '\x5d', '\x28', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x28', '\x2a', '\x66', '\x29', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x3e', '\x3a', '\x3a', '\x69', '\x74', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x2c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x3e', '\x3a', '\x3a', '\x69', '\x74', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x29', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x73', '\x65', '\x65', '\x64', '\x20', '\x3d', '\x20', '\x65', '\x6e', '\x74', '\x72', '\x6f', '\x70', '\x79', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x61', '\x73', '\x79', '\x6e', '\x63', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6c', '\x61', '\x75', '\x6e', '\x63', '\x68', '\x3a', '\x3a', '\x61', '\x73', '\x79', '\x6e', '\x63', '\x2c', '\x20', '\x5b', '\x3d', '\x5d', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6d', '\x74', '\x31', '\x39', '\x39', '\x33', '\x37', '\x20', '\x72', '\x6e', '\x67', '\x28', '\x73', '\x65', '\x65', '\x64', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x72', '\x65', '\x73', '\x61', '\x6d', '\x70', '\x6c', '\x65', '\x64', '\x20', '\x3d', '\x20', '\x72', '\x65', '\x73', '\x61', '\x6d', '\x70', '\x6c', '\x65', '\x28', '\x72', '\x6e', '\x67', '\x2c', '\x20', '\x6e', '\x5f', '\x72', '\x65', '\x73', '\x61', '\x6d', '\x70', '\x6c', '\x65', '\x73', '\x2c', '\x20', '\x66', '\x69', '\x72', '\x73', '\x74', '\x2c', '\x20', '\x6c', '\x61', '\x73', '\x74', '\x2c', '\x20', '\x66', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x62', '\x6f', '\x6f', '\x74', '\x73', '\x74', '\x72', '\x61', '\x70', '\x28', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x64', '\x65', '\x6e', '\x63', '\x65', '\x5f', '\x6c', '\x65', '\x76', '\x65', '\x6c', '\x2c', '\x20', '\x66', '\x69', '\x72', '\x73', '\x74', '\x2c', '\x20', '\x6c', '\x61', '\x73', '\x74', '\x2c', '\x20', '\x72', '\x65', '\x73', '\x61', '\x6d', '\x70', '\x6c', '\x65', '\x64', '\x2c', '\x20', '\x66', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x6d', '\x65', '\x61', '\x6e', '\x5f', '\x66', '\x75', '\x74', '\x75', '\x72', '\x65', '\x20', '\x3d', '\x20', '\x45', '\x73', '\x74', '\x69', '\x6d', '\x61', '\x74', '\x65', '\x28', '\x6d', '\x65', '\x61', '\x6e', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x73', '\x74', '\x64', '\x64', '\x65', '\x76', '\x5f', '\x66', '\x75', '\x74', '\x75', '\x72', '\x65', '\x20', '\x3d', '\x20', '\x45', '\x73', '\x74', '\x69', '\x6d', '\x61', '\x74', '\x65', '\x28', '\x73', '\x74', '\x64', '\x64', '\x65', '\x76', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x6d', '\x65', '\x61', '\x6e', '\x5f', '\x65', '\x73', '\x74', '\x69', '\x6d', '\x61', '\x74', '\x65', '\x20', '\x3d', '\x20', '\x6d', '\x65', '\x61', '\x6e', '\x5f', '\x66', '\x75', '\x74', '\x75', '\x72', '\x65', '\x2e', '\x67', '\x65', '\x74', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x73', '\x74', '\x64', '\x64', '\x65', '\x76', '\x5f', '\x65', '\x73', '\x74', '\x69', '\x6d', '\x61', '\x74', '\x65', '\x20', '\x3d', '\x20', '\x73', '\x74', '\x64', '\x64', '\x65', '\x76', '\x5f', '\x66', '\x75', '\x74', '\x75', '\x72', '\x65', '\x2e', '\x67', '\x65', '\x74', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x23', '\x65', '\x6c', '\x73', '\x65', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x45', '\x73', '\x74', '\x69', '\x6d', '\x61', '\x74', '\x65', '\x20', '\x3d', '\x20', '\x5b', '\x3d', '\x5d', '\x28', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x28', '\x2a', '\x66', '\x29', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x3e', '\x3a', '\x3a', '\x69', '\x74', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x2c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x3e', '\x3a', '\x3a', '\x69', '\x74', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x29', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x73', '\x65', '\x65', '\x64', '\x20', '\x3d', '\x20', '\x65', '\x6e', '\x74', '\x72', '\x6f', '\x70', '\x79', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6d', '\x74', '\x31', '\x39', '\x39', '\x33', '\x37', '\x20', '\x72', '\x6e', '\x67', '\x28', '\x73', '\x65', '\x65', '\x64', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x72', '\x65', '\x73', '\x61', '\x6d', '\x70', '\x6c', '\x65', '\x64', '\x20', '\x3d', '\x20', '\x72', '\x65', '\x73', '\x61', '\x6d', '\x70', '\x6c', '\x65', '\x28', '\x72', '\x6e', '\x67', '\x2c', '\x20', '\x6e', '\x5f', '\x72', '\x65', '\x73', '\x61', '\x6d', '\x70', '\x6c', '\x65', '\x73', '\x2c', '\x20', '\x66', '\x69', '\x72', '\x73', '\x74', '\x2c', '\x20', '\x6c', '\x61', '\x73', '\x74', '\x2c', '\x20', '\x66', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x62', '\x6f', '\x6f', '\x74', '\x73', '\x74', '\x72', '\x61', '\x70', '\x28', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x64', '\x65', '\x6e', '\x63', '\x65', '\x5f', '\x6c', '\x65', '\x76', '\x65', '\x6c', '\x2c', '\x20', '\x66', '\x69', '\x72', '\x73', '\x74', '\x2c', '\x20', '\x6c', '\x61', '\x73', '\x74', '\x2c', '\x20', '\x72', '\x65', '\x73', '\x61', '\x6d', '\x70', '\x6c', '\x65', '\x64', '\x2c', '\x20', '\x66', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x6d', '\x65', '\x61', '\x6e', '\x5f', '\x65', '\x73', '\x74', '\x69', '\x6d', '\x61', '\x74', '\x65', '\x20', '\x3d', '\x20', '\x45', '\x73', '\x74', '\x69', '\x6d', '\x61', '\x74', '\x65', '\x28', '\x6d', '\x65', '\x61', '\x6e', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x73', '\x74', '\x64', '\x64', '\x65', '\x76', '\x5f', '\x65', '\x73', '\x74', '\x69', '\x6d', '\x61', '\x74', '\x65', '\x20', '\x3d', '\x20', '\x45', '\x73', '\x74', '\x69', '\x6d', '\x61', '\x74', '\x65', '\x28', '\x73', '\x74', '\x64', '\x64', '\x65', '\x76', '\x29', '\x3b', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x20', '\x2f', '\x2f', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x55', '\x53', '\x45', '\x5f', '\x41', '\x53', '\x59', '\x4e', '\x43', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x20', '\x6f', '\x75', '\x74', '\x6c', '\x69', '\x65', '\x72', '\x5f', '\x76', '\x61', '\x72', '\x69', '\x61', '\x6e', '\x63', '\x65', '\x20', '\x3d', '\x20', '\x44', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x3a', '\x3a', '\x6f', '\x75', '\x74', '\x6c', '\x69', '\x65', '\x72', '\x5f', '\x76', '\x61', '\x72', '\x69', '\x61', '\x6e', '\x63', '\x65', '\x28', '\x6d', '\x65', '\x61', '\x6e', '\x5f', '\x65', '\x73', '\x74', '\x69', '\x6d', '\x61', '\x74', '\x65', '\x2c', '\x20', '\x73', '\x74', '\x64', '\x64', '\x65', '\x76', '\x5f', '\x65', '\x73', '\x74', '\x69', '\x6d', '\x61', '\x74', '\x65', '\x2c', '\x20', '\x6e', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x7b', '\x20', '\x6d', '\x65', '\x61', '\x6e', '\x5f', '\x65', '\x73', '\x74', '\x69', '\x6d', '\x61', '\x74', '\x65', '\x2c', '\x20', '\x73', '\x74', '\x64', '\x64', '\x65', '\x76', '\x5f', '\x65', '\x73', '\x74', '\x69', '\x6d', '\x61', '\x74', '\x65', '\x2c', '\x20', '\x6f', '\x75', '\x74', '\x6c', '\x69', '\x65', '\x72', '\x5f', '\x76', '\x61', '\x72', '\x69', '\x61', '\x6e', '\x63', '\x65', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x44', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x42', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x0d', '\x0a', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x20', '\x2f', '\x2f', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x45', '\x4e', '\x41', '\x42', '\x4c', '\x45', '\x5f', '\x42', '\x45', '\x4e', '\x43', '\x48', '\x4d', '\x41', '\x52', '\x4b', '\x49', '\x4e', '\x47', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x73', '\x74', '\x61', '\x74', '\x73', '\x2e', '\x63', '\x70', '\x70', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x61', '\x70', '\x70', '\x72', '\x6f', '\x78', '\x2e', '\x63', '\x70', '\x70', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x63', '\x6d', '\x61', '\x74', '\x68', '\x3e', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x6c', '\x69', '\x6d', '\x69', '\x74', '\x73', '\x3e', '\x0d', '\x0a', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x50', '\x65', '\x72', '\x66', '\x6f', '\x72', '\x6d', '\x73', '\x20', '\x65', '\x71', '\x75', '\x69', '\x76', '\x61', '\x6c', '\x65', '\x6e', '\x74', '\x20', '\x63', '\x68', '\x65', '\x63', '\x6b', '\x20', '\x6f', '\x66', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x66', '\x61', '\x62', '\x73', '\x28', '\x6c', '\x68', '\x73', '\x20', '\x2d', '\x20', '\x72', '\x68', '\x73', '\x29', '\x20', '\x3c', '\x3d', '\x20', '\x6d', '\x61', '\x72', '\x67', '\x69', '\x6e', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x42', '\x75', '\x74', '\x20', '\x77', '\x69', '\x74', '\x68', '\x6f', '\x75', '\x74', '\x20', '\x74', '\x68', '\x65', '\x20', '\x73', '\x75', '\x62', '\x74', '\x72', '\x61', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x74', '\x6f', '\x20', '\x61', '\x6c', '\x6c', '\x6f', '\x77', '\x20', '\x66', '\x6f', '\x72', '\x20', '\x49', '\x4e', '\x46', '\x49', '\x4e', '\x49', '\x54', '\x59', '\x20', '\x69', '\x6e', '\x20', '\x63', '\x6f', '\x6d', '\x70', '\x61', '\x72', '\x69', '\x73', '\x6f', '\x6e', '\x0d', '\x0a', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x6d', '\x61', '\x72', '\x67', '\x69', '\x6e', '\x43', '\x6f', '\x6d', '\x70', '\x61', '\x72', '\x69', '\x73', '\x6f', '\x6e', '\x28', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x20', '\x6c', '\x68', '\x73', '\x2c', '\x20', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x20', '\x72', '\x68', '\x73', '\x2c', '\x20', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x20', '\x6d', '\x61', '\x72', '\x67', '\x69', '\x6e', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x28', '\x6c', '\x68', '\x73', '\x20', '\x2b', '\x20', '\x6d', '\x61', '\x72', '\x67', '\x69', '\x6e', '\x20', '\x3e', '\x3d', '\x20', '\x72', '\x68', '\x73', '\x29', '\x20', '\x26', '\x26', '\x20', '\x28', '\x72', '\x68', '\x73', '\x20', '\x2b', '\x20', '\x6d', '\x61', '\x72', '\x67', '\x69', '\x6e', '\x20', '\x3e', '\x3d', '\x20', '\x6c', '\x68', '\x73', '\x29', '\x3b', '\x0d', '\x0a', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x44', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x41', '\x70', '\x70', '\x72', '\x6f', '\x78', '\x3a', '\x3a', '\x41', '\x70', '\x70', '\x72', '\x6f', '\x78', '\x20', '\x28', '\x20', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x20', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x3a', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x65', '\x70', '\x73', '\x69', '\x6c', '\x6f', '\x6e', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6e', '\x75', '\x6d', '\x65', '\x72', '\x69', '\x63', '\x5f', '\x6c', '\x69', '\x6d', '\x69', '\x74', '\x73', '\x3c', '\x66', '\x6c', '\x6f', '\x61', '\x74', '\x3e', '\x3a', '\x3a', '\x65', '\x70', '\x73', '\x69', '\x6c', '\x6f', '\x6e', '\x28', '\x29', '\x2a', '\x31', '\x30', '\x30', '\x20', '\x29', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x6d', '\x61', '\x72', '\x67', '\x69', '\x6e', '\x28', '\x20', '\x30', '\x2e', '\x30', '\x20', '\x29', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x73', '\x63', '\x61', '\x6c', '\x65', '\x28', '\x20', '\x30', '\x2e', '\x30', '\x20', '\x29', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x28', '\x20', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7b', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x41', '\x70', '\x70', '\x72', '\x6f', '\x78', '\x20', '\x41', '\x70', '\x70', '\x72', '\x6f', '\x78', '\x3a', '\x3a', '\x63', '\x75', '\x73', '\x74', '\x6f', '\x6d', '\x28', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x41', '\x70', '\x70', '\x72', '\x6f', '\x78', '\x28', '\x20', '\x30', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x41', '\x70', '\x70', '\x72', '\x6f', '\x78', '\x20', '\x41', '\x70', '\x70', '\x72', '\x6f', '\x78', '\x3a', '\x3a', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x2d', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x28', '\x2a', '\x74', '\x68', '\x69', '\x73', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x2e', '\x6d', '\x5f', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x20', '\x3d', '\x20', '\x2d', '\x74', '\x65', '\x6d', '\x70', '\x2e', '\x6d', '\x5f', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x41', '\x70', '\x70', '\x72', '\x6f', '\x78', '\x3a', '\x3a', '\x74', '\x6f', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x52', '\x65', '\x75', '\x73', '\x61', '\x62', '\x6c', '\x65', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x20', '\x72', '\x73', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x73', '\x73', '\x20', '\x3c', '\x3c', '\x20', '\x22', '\x41', '\x70', '\x70', '\x72', '\x6f', '\x78', '\x28', '\x20', '\x22', '\x20', '\x3c', '\x3c', '\x20', '\x3a', '\x3a', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x44', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x69', '\x66', '\x79', '\x28', '\x20', '\x6d', '\x5f', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x20', '\x29', '\x20', '\x3c', '\x3c', '\x20', '\x22', '\x20', '\x29', '\x22', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x72', '\x73', '\x73', '\x2e', '\x73', '\x74', '\x72', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x41', '\x70', '\x70', '\x72', '\x6f', '\x78', '\x3a', '\x3a', '\x65', '\x71', '\x75', '\x61', '\x6c', '\x69', '\x74', '\x79', '\x43', '\x6f', '\x6d', '\x70', '\x61', '\x72', '\x69', '\x73', '\x6f', '\x6e', '\x49', '\x6d', '\x70', '\x6c', '\x28', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x20', '\x6f', '\x74', '\x68', '\x65', '\x72', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x46', '\x69', '\x72', '\x73', '\x74', '\x20', '\x74', '\x72', '\x79', '\x20', '\x77', '\x69', '\x74', '\x68', '\x20', '\x66', '\x69', '\x78', '\x65', '\x64', '\x20', '\x6d', '\x61', '\x72', '\x67', '\x69', '\x6e', '\x2c', '\x20', '\x74', '\x68', '\x65', '\x6e', '\x20', '\x63', '\x6f', '\x6d', '\x70', '\x75', '\x74', '\x65', '\x20', '\x6d', '\x61', '\x72', '\x67', '\x69', '\x6e', '\x20', '\x62', '\x61', '\x73', '\x65', '\x64', '\x20', '\x6f', '\x6e', '\x20', '\x65', '\x70', '\x73', '\x69', '\x6c', '\x6f', '\x6e', '\x2c', '\x20', '\x73', '\x63', '\x61', '\x6c', '\x65', '\x20', '\x61', '\x6e', '\x64', '\x20', '\x41', '\x70', '\x70', '\x72', '\x6f', '\x78', '\x27', '\x73', '\x20', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x54', '\x68', '\x61', '\x6e', '\x6b', '\x73', '\x20', '\x74', '\x6f', '\x20', '\x52', '\x69', '\x63', '\x68', '\x61', '\x72', '\x64', '\x20', '\x48', '\x61', '\x72', '\x72', '\x69', '\x73', '\x20', '\x66', '\x6f', '\x72', '\x20', '\x68', '\x69', '\x73', '\x20', '\x68', '\x65', '\x6c', '\x70', '\x20', '\x72', '\x65', '\x66', '\x69', '\x6e', '\x69', '\x6e', '\x67', '\x20', '\x74', '\x68', '\x65', '\x20', '\x73', '\x63', '\x61', '\x6c', '\x65', '\x64', '\x20', '\x6d', '\x61', '\x72', '\x67', '\x69', '\x6e', '\x20', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6d', '\x61', '\x72', '\x67', '\x69', '\x6e', '\x43', '\x6f', '\x6d', '\x70', '\x61', '\x72', '\x69', '\x73', '\x6f', '\x6e', '\x28', '\x6d', '\x5f', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x2c', '\x20', '\x6f', '\x74', '\x68', '\x65', '\x72', '\x2c', '\x20', '\x6d', '\x5f', '\x6d', '\x61', '\x72', '\x67', '\x69', '\x6e', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7c', '\x7c', '\x20', '\x6d', '\x61', '\x72', '\x67', '\x69', '\x6e', '\x43', '\x6f', '\x6d', '\x70', '\x61', '\x72', '\x69', '\x73', '\x6f', '\x6e', '\x28', '\x6d', '\x5f', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x2c', '\x20', '\x6f', '\x74', '\x68', '\x65', '\x72', '\x2c', '\x20', '\x6d', '\x5f', '\x65', '\x70', '\x73', '\x69', '\x6c', '\x6f', '\x6e', '\x20', '\x2a', '\x20', '\x28', '\x6d', '\x5f', '\x73', '\x63', '\x61', '\x6c', '\x65', '\x20', '\x2b', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x66', '\x61', '\x62', '\x73', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x69', '\x73', '\x69', '\x6e', '\x66', '\x28', '\x6d', '\x5f', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x29', '\x3f', '\x20', '\x30', '\x20', '\x3a', '\x20', '\x6d', '\x5f', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x29', '\x29', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x41', '\x70', '\x70', '\x72', '\x6f', '\x78', '\x3a', '\x3a', '\x73', '\x65', '\x74', '\x4d', '\x61', '\x72', '\x67', '\x69', '\x6e', '\x28', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x20', '\x6e', '\x65', '\x77', '\x4d', '\x61', '\x72', '\x67', '\x69', '\x6e', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x45', '\x4e', '\x46', '\x4f', '\x52', '\x43', '\x45', '\x28', '\x6e', '\x65', '\x77', '\x4d', '\x61', '\x72', '\x67', '\x69', '\x6e', '\x20', '\x3e', '\x3d', '\x20', '\x30', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x22', '\x49', '\x6e', '\x76', '\x61', '\x6c', '\x69', '\x64', '\x20', '\x41', '\x70', '\x70', '\x72', '\x6f', '\x78', '\x3a', '\x3a', '\x6d', '\x61', '\x72', '\x67', '\x69', '\x6e', '\x3a', '\x20', '\x22', '\x20', '\x3c', '\x3c', '\x20', '\x6e', '\x65', '\x77', '\x4d', '\x61', '\x72', '\x67', '\x69', '\x6e', '\x20', '\x3c', '\x3c', '\x20', '\x27', '\x2e', '\x27', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x3c', '\x3c', '\x20', '\x22', '\x20', '\x41', '\x70', '\x70', '\x72', '\x6f', '\x78', '\x3a', '\x3a', '\x4d', '\x61', '\x72', '\x67', '\x69', '\x6e', '\x20', '\x68', '\x61', '\x73', '\x20', '\x74', '\x6f', '\x20', '\x62', '\x65', '\x20', '\x6e', '\x6f', '\x6e', '\x2d', '\x6e', '\x65', '\x67', '\x61', '\x74', '\x69', '\x76', '\x65', '\x2e', '\x22', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x6d', '\x61', '\x72', '\x67', '\x69', '\x6e', '\x20', '\x3d', '\x20', '\x6e', '\x65', '\x77', '\x4d', '\x61', '\x72', '\x67', '\x69', '\x6e', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x41', '\x70', '\x70', '\x72', '\x6f', '\x78', '\x3a', '\x3a', '\x73', '\x65', '\x74', '\x45', '\x70', '\x73', '\x69', '\x6c', '\x6f', '\x6e', '\x28', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x20', '\x6e', '\x65', '\x77', '\x45', '\x70', '\x73', '\x69', '\x6c', '\x6f', '\x6e', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x45', '\x4e', '\x46', '\x4f', '\x52', '\x43', '\x45', '\x28', '\x6e', '\x65', '\x77', '\x45', '\x70', '\x73', '\x69', '\x6c', '\x6f', '\x6e', '\x20', '\x3e', '\x3d', '\x20', '\x30', '\x20', '\x26', '\x26', '\x20', '\x6e', '\x65', '\x77', '\x45', '\x70', '\x73', '\x69', '\x6c', '\x6f', '\x6e', '\x20', '\x3c', '\x3d', '\x20', '\x31', '\x2e', '\x30', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x22', '\x49', '\x6e', '\x76', '\x61', '\x6c', '\x69', '\x64', '\x20', '\x41', '\x70', '\x70', '\x72', '\x6f', '\x78', '\x3a', '\x3a', '\x65', '\x70', '\x73', '\x69', '\x6c', '\x6f', '\x6e', '\x3a', '\x20', '\x22', '\x20', '\x3c', '\x3c', '\x20', '\x6e', '\x65', '\x77', '\x45', '\x70', '\x73', '\x69', '\x6c', '\x6f', '\x6e', '\x20', '\x3c', '\x3c', '\x20', '\x27', '\x2e', '\x27', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x3c', '\x3c', '\x20', '\x22', '\x20', '\x41', '\x70', '\x70', '\x72', '\x6f', '\x78', '\x3a', '\x3a', '\x65', '\x70', '\x73', '\x69', '\x6c', '\x6f', '\x6e', '\x20', '\x68', '\x61', '\x73', '\x20', '\x74', '\x6f', '\x20', '\x62', '\x65', '\x20', '\x69', '\x6e', '\x20', '\x5b', '\x30', '\x2c', '\x20', '\x31', '\x5d', '\x22', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x65', '\x70', '\x73', '\x69', '\x6c', '\x6f', '\x6e', '\x20', '\x3d', '\x20', '\x6e', '\x65', '\x77', '\x45', '\x70', '\x73', '\x69', '\x6c', '\x6f', '\x6e', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x44', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x0d', '\x0a', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x6c', '\x69', '\x74', '\x65', '\x72', '\x61', '\x6c', '\x73', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x44', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x3a', '\x3a', '\x41', '\x70', '\x70', '\x72', '\x6f', '\x78', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x22', '\x22', '\x20', '\x5f', '\x61', '\x28', '\x6c', '\x6f', '\x6e', '\x67', '\x20', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x20', '\x76', '\x61', '\x6c', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x44', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x3a', '\x3a', '\x41', '\x70', '\x70', '\x72', '\x6f', '\x78', '\x28', '\x76', '\x61', '\x6c', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x44', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x3a', '\x3a', '\x41', '\x70', '\x70', '\x72', '\x6f', '\x78', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x22', '\x22', '\x20', '\x5f', '\x61', '\x28', '\x75', '\x6e', '\x73', '\x69', '\x67', '\x6e', '\x65', '\x64', '\x20', '\x6c', '\x6f', '\x6e', '\x67', '\x20', '\x6c', '\x6f', '\x6e', '\x67', '\x20', '\x76', '\x61', '\x6c', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x44', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x3a', '\x3a', '\x41', '\x70', '\x70', '\x72', '\x6f', '\x78', '\x28', '\x76', '\x61', '\x6c', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x6c', '\x69', '\x74', '\x65', '\x72', '\x61', '\x6c', '\x73', '\x0d', '\x0a', '\x0d', '\x0a', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x4d', '\x61', '\x6b', '\x65', '\x72', '\x3c', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x44', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x3a', '\x3a', '\x41', '\x70', '\x70', '\x72', '\x6f', '\x78', '\x3e', '\x3a', '\x3a', '\x63', '\x6f', '\x6e', '\x76', '\x65', '\x72', '\x74', '\x28', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x44', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x3a', '\x3a', '\x41', '\x70', '\x70', '\x72', '\x6f', '\x78', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x2e', '\x74', '\x6f', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x61', '\x70', '\x70', '\x72', '\x6f', '\x78', '\x2e', '\x63', '\x70', '\x70', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x68', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x72', '\x2e', '\x63', '\x70', '\x70', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x64', '\x65', '\x62', '\x75', '\x67', '\x67', '\x65', '\x72', '\x2e', '\x68', '\x0d', '\x0a', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x69', '\x73', '\x44', '\x65', '\x62', '\x75', '\x67', '\x67', '\x65', '\x72', '\x41', '\x63', '\x74', '\x69', '\x76', '\x65', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x64', '\x65', '\x66', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x50', '\x4c', '\x41', '\x54', '\x46', '\x4f', '\x52', '\x4d', '\x5f', '\x4d', '\x41', '\x43', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x52', '\x41', '\x50', '\x28', '\x29', '\x20', '\x5f', '\x5f', '\x61', '\x73', '\x6d', '\x5f', '\x5f', '\x28', '\x22', '\x69', '\x6e', '\x74', '\x20', '\x24', '\x33', '\x5c', '\x6e', '\x22', '\x20', '\x3a', '\x20', '\x3a', '\x20', '\x29', '\x20', '\x2f', '\x2a', '\x20', '\x4e', '\x4f', '\x4c', '\x49', '\x4e', '\x54', '\x20', '\x2a', '\x2f', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x65', '\x6c', '\x69', '\x66', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x50', '\x4c', '\x41', '\x54', '\x46', '\x4f', '\x52', '\x4d', '\x5f', '\x4c', '\x49', '\x4e', '\x55', '\x58', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x49', '\x66', '\x20', '\x77', '\x65', '\x20', '\x63', '\x61', '\x6e', '\x20', '\x75', '\x73', '\x65', '\x20', '\x69', '\x6e', '\x6c', '\x69', '\x6e', '\x65', '\x20', '\x61', '\x73', '\x73', '\x65', '\x6d', '\x62', '\x6c', '\x65', '\x72', '\x2c', '\x20', '\x64', '\x6f', '\x20', '\x69', '\x74', '\x20', '\x62', '\x65', '\x63', '\x61', '\x75', '\x73', '\x65', '\x20', '\x74', '\x68', '\x69', '\x73', '\x20', '\x61', '\x6c', '\x6c', '\x6f', '\x77', '\x73', '\x20', '\x75', '\x73', '\x20', '\x74', '\x6f', '\x20', '\x62', '\x72', '\x65', '\x61', '\x6b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x64', '\x69', '\x72', '\x65', '\x63', '\x74', '\x6c', '\x79', '\x20', '\x61', '\x74', '\x20', '\x74', '\x68', '\x65', '\x20', '\x6c', '\x6f', '\x63', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x6f', '\x66', '\x20', '\x74', '\x68', '\x65', '\x20', '\x66', '\x61', '\x69', '\x6c', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x68', '\x65', '\x63', '\x6b', '\x20', '\x69', '\x6e', '\x73', '\x74', '\x65', '\x61', '\x64', '\x20', '\x6f', '\x66', '\x20', '\x62', '\x72', '\x65', '\x61', '\x6b', '\x69', '\x6e', '\x67', '\x20', '\x69', '\x6e', '\x73', '\x69', '\x64', '\x65', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x72', '\x61', '\x69', '\x73', '\x65', '\x28', '\x29', '\x20', '\x63', '\x61', '\x6c', '\x6c', '\x65', '\x64', '\x20', '\x66', '\x72', '\x6f', '\x6d', '\x20', '\x69', '\x74', '\x2c', '\x20', '\x69', '\x2e', '\x65', '\x2e', '\x20', '\x6f', '\x6e', '\x65', '\x20', '\x73', '\x74', '\x61', '\x63', '\x6b', '\x20', '\x66', '\x72', '\x61', '\x6d', '\x65', '\x20', '\x62', '\x65', '\x6c', '\x6f', '\x77', '\x2e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x23', '\x69', '\x66', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x5f', '\x5f', '\x47', '\x4e', '\x55', '\x43', '\x5f', '\x5f', '\x29', '\x20', '\x26', '\x26', '\x20', '\x28', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x5f', '\x5f', '\x69', '\x33', '\x38', '\x36', '\x29', '\x20', '\x7c', '\x7c', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x5f', '\x5f', '\x78', '\x38', '\x36', '\x5f', '\x36', '\x34', '\x29', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x52', '\x41', '\x50', '\x28', '\x29', '\x20', '\x61', '\x73', '\x6d', '\x20', '\x76', '\x6f', '\x6c', '\x61', '\x74', '\x69', '\x6c', '\x65', '\x20', '\x28', '\x22', '\x69', '\x6e', '\x74', '\x20', '\x24', '\x33', '\x22', '\x29', '\x20', '\x2f', '\x2a', '\x20', '\x4e', '\x4f', '\x4c', '\x49', '\x4e', '\x54', '\x20', '\x2a', '\x2f', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x23', '\x65', '\x6c', '\x73', '\x65', '\x20', '\x2f', '\x2f', '\x20', '\x46', '\x61', '\x6c', '\x6c', '\x20', '\x62', '\x61', '\x63', '\x6b', '\x20', '\x74', '\x6f', '\x20', '\x74', '\x68', '\x65', '\x20', '\x67', '\x65', '\x6e', '\x65', '\x72', '\x69', '\x63', '\x20', '\x77', '\x61', '\x79', '\x2e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x73', '\x69', '\x67', '\x6e', '\x61', '\x6c', '\x2e', '\x68', '\x3e', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x52', '\x41', '\x50', '\x28', '\x29', '\x20', '\x72', '\x61', '\x69', '\x73', '\x65', '\x28', '\x53', '\x49', '\x47', '\x54', '\x52', '\x41', '\x50', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x23', '\x65', '\x6c', '\x69', '\x66', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x5f', '\x4d', '\x53', '\x43', '\x5f', '\x56', '\x45', '\x52', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x52', '\x41', '\x50', '\x28', '\x29', '\x20', '\x5f', '\x5f', '\x64', '\x65', '\x62', '\x75', '\x67', '\x62', '\x72', '\x65', '\x61', '\x6b', '\x28', '\x29', '\x0d', '\x0a', '\x23', '\x65', '\x6c', '\x69', '\x66', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x5f', '\x5f', '\x4d', '\x49', '\x4e', '\x47', '\x57', '\x33', '\x32', '\x5f', '\x5f', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x65', '\x78', '\x74', '\x65', '\x72', '\x6e', '\x20', '\x22', '\x43', '\x22', '\x20', '\x5f', '\x5f', '\x64', '\x65', '\x63', '\x6c', '\x73', '\x70', '\x65', '\x63', '\x28', '\x64', '\x6c', '\x6c', '\x69', '\x6d', '\x70', '\x6f', '\x72', '\x74', '\x29', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x5f', '\x5f', '\x73', '\x74', '\x64', '\x63', '\x61', '\x6c', '\x6c', '\x20', '\x44', '\x65', '\x62', '\x75', '\x67', '\x42', '\x72', '\x65', '\x61', '\x6b', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x52', '\x41', '\x50', '\x28', '\x29', '\x20', '\x44', '\x65', '\x62', '\x75', '\x67', '\x42', '\x72', '\x65', '\x61', '\x6b', '\x28', '\x29', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x64', '\x65', '\x66', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x52', '\x41', '\x50', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x42', '\x52', '\x45', '\x41', '\x4b', '\x5f', '\x49', '\x4e', '\x54', '\x4f', '\x5f', '\x44', '\x45', '\x42', '\x55', '\x47', '\x47', '\x45', '\x52', '\x28', '\x29', '\x20', '\x5b', '\x5d', '\x7b', '\x20', '\x69', '\x66', '\x28', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x69', '\x73', '\x44', '\x65', '\x62', '\x75', '\x67', '\x67', '\x65', '\x72', '\x41', '\x63', '\x74', '\x69', '\x76', '\x65', '\x28', '\x29', '\x20', '\x29', '\x20', '\x7b', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x52', '\x41', '\x50', '\x28', '\x29', '\x3b', '\x20', '\x7d', '\x20', '\x7d', '\x28', '\x29', '\x0d', '\x0a', '\x23', '\x65', '\x6c', '\x73', '\x65', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x42', '\x52', '\x45', '\x41', '\x4b', '\x5f', '\x49', '\x4e', '\x54', '\x4f', '\x5f', '\x44', '\x45', '\x42', '\x55', '\x47', '\x47', '\x45', '\x52', '\x28', '\x29', '\x20', '\x5b', '\x5d', '\x7b', '\x7d', '\x28', '\x29', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x64', '\x65', '\x62', '\x75', '\x67', '\x67', '\x65', '\x72', '\x2e', '\x68', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x72', '\x75', '\x6e', '\x5f', '\x63', '\x6f', '\x6e', '\x74', '\x65', '\x78', '\x74', '\x2e', '\x68', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x66', '\x61', '\x74', '\x61', '\x6c', '\x5f', '\x63', '\x6f', '\x6e', '\x64', '\x69', '\x74', '\x69', '\x6f', '\x6e', '\x2e', '\x68', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x77', '\x69', '\x6e', '\x64', '\x6f', '\x77', '\x73', '\x5f', '\x68', '\x5f', '\x70', '\x72', '\x6f', '\x78', '\x79', '\x2e', '\x68', '\x0d', '\x0a', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x50', '\x4c', '\x41', '\x54', '\x46', '\x4f', '\x52', '\x4d', '\x5f', '\x57', '\x49', '\x4e', '\x44', '\x4f', '\x57', '\x53', '\x29', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x20', '\x21', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x4e', '\x4f', '\x4d', '\x49', '\x4e', '\x4d', '\x41', '\x58', '\x29', '\x20', '\x26', '\x26', '\x20', '\x21', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x4e', '\x4f', '\x5f', '\x4e', '\x4f', '\x4d', '\x49', '\x4e', '\x4d', '\x41', '\x58', '\x29', '\x0d', '\x0a', '\x23', '\x20', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x44', '\x45', '\x46', '\x49', '\x4e', '\x45', '\x44', '\x5f', '\x4e', '\x4f', '\x4d', '\x49', '\x4e', '\x4d', '\x41', '\x58', '\x0d', '\x0a', '\x23', '\x20', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x4e', '\x4f', '\x4d', '\x49', '\x4e', '\x4d', '\x41', '\x58', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x20', '\x21', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x57', '\x49', '\x4e', '\x33', '\x32', '\x5f', '\x4c', '\x45', '\x41', '\x4e', '\x5f', '\x41', '\x4e', '\x44', '\x5f', '\x4d', '\x45', '\x41', '\x4e', '\x29', '\x20', '\x26', '\x26', '\x20', '\x21', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x4e', '\x4f', '\x5f', '\x57', '\x49', '\x4e', '\x33', '\x32', '\x5f', '\x4c', '\x45', '\x41', '\x4e', '\x5f', '\x41', '\x4e', '\x44', '\x5f', '\x4d', '\x45', '\x41', '\x4e', '\x29', '\x0d', '\x0a', '\x23', '\x20', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x44', '\x45', '\x46', '\x49', '\x4e', '\x45', '\x44', '\x5f', '\x57', '\x49', '\x4e', '\x33', '\x32', '\x5f', '\x4c', '\x45', '\x41', '\x4e', '\x5f', '\x41', '\x4e', '\x44', '\x5f', '\x4d', '\x45', '\x41', '\x4e', '\x0d', '\x0a', '\x23', '\x20', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x57', '\x49', '\x4e', '\x33', '\x32', '\x5f', '\x4c', '\x45', '\x41', '\x4e', '\x5f', '\x41', '\x4e', '\x44', '\x5f', '\x4d', '\x45', '\x41', '\x4e', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x64', '\x65', '\x66', '\x20', '\x5f', '\x5f', '\x41', '\x46', '\x58', '\x44', '\x4c', '\x4c', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x41', '\x66', '\x78', '\x57', '\x69', '\x6e', '\x2e', '\x68', '\x3e', '\x0d', '\x0a', '\x23', '\x65', '\x6c', '\x73', '\x65', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x77', '\x69', '\x6e', '\x64', '\x6f', '\x77', '\x73', '\x2e', '\x68', '\x3e', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x64', '\x65', '\x66', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x44', '\x45', '\x46', '\x49', '\x4e', '\x45', '\x44', '\x5f', '\x4e', '\x4f', '\x4d', '\x49', '\x4e', '\x4d', '\x41', '\x58', '\x0d', '\x0a', '\x23', '\x20', '\x20', '\x75', '\x6e', '\x64', '\x65', '\x66', '\x20', '\x4e', '\x4f', '\x4d', '\x49', '\x4e', '\x4d', '\x41', '\x58', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x64', '\x65', '\x66', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x44', '\x45', '\x46', '\x49', '\x4e', '\x45', '\x44', '\x5f', '\x57', '\x49', '\x4e', '\x33', '\x32', '\x5f', '\x4c', '\x45', '\x41', '\x4e', '\x5f', '\x41', '\x4e', '\x44', '\x5f', '\x4d', '\x45', '\x41', '\x4e', '\x0d', '\x0a', '\x23', '\x20', '\x20', '\x75', '\x6e', '\x64', '\x65', '\x66', '\x20', '\x57', '\x49', '\x4e', '\x33', '\x32', '\x5f', '\x4c', '\x45', '\x41', '\x4e', '\x5f', '\x41', '\x4e', '\x44', '\x5f', '\x4d', '\x45', '\x41', '\x4e', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x20', '\x2f', '\x2f', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x50', '\x4c', '\x41', '\x54', '\x46', '\x4f', '\x52', '\x4d', '\x5f', '\x57', '\x49', '\x4e', '\x44', '\x4f', '\x57', '\x53', '\x29', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x77', '\x69', '\x6e', '\x64', '\x6f', '\x77', '\x73', '\x5f', '\x68', '\x5f', '\x70', '\x72', '\x6f', '\x78', '\x79', '\x2e', '\x68', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x57', '\x49', '\x4e', '\x44', '\x4f', '\x57', '\x53', '\x5f', '\x53', '\x45', '\x48', '\x20', '\x29', '\x0d', '\x0a', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x46', '\x61', '\x74', '\x61', '\x6c', '\x43', '\x6f', '\x6e', '\x64', '\x69', '\x74', '\x69', '\x6f', '\x6e', '\x48', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x72', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x20', '\x4c', '\x4f', '\x4e', '\x47', '\x20', '\x43', '\x41', '\x4c', '\x4c', '\x42', '\x41', '\x43', '\x4b', '\x20', '\x68', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x56', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x65', '\x64', '\x45', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x28', '\x50', '\x45', '\x58', '\x43', '\x45', '\x50', '\x54', '\x49', '\x4f', '\x4e', '\x5f', '\x50', '\x4f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x53', '\x20', '\x45', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x46', '\x61', '\x74', '\x61', '\x6c', '\x43', '\x6f', '\x6e', '\x64', '\x69', '\x74', '\x69', '\x6f', '\x6e', '\x48', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x72', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x72', '\x65', '\x73', '\x65', '\x74', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7e', '\x46', '\x61', '\x74', '\x61', '\x6c', '\x43', '\x6f', '\x6e', '\x64', '\x69', '\x74', '\x69', '\x6f', '\x6e', '\x48', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x72', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x70', '\x72', '\x69', '\x76', '\x61', '\x74', '\x65', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x69', '\x73', '\x53', '\x65', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x20', '\x55', '\x4c', '\x4f', '\x4e', '\x47', '\x20', '\x67', '\x75', '\x61', '\x72', '\x61', '\x6e', '\x74', '\x65', '\x65', '\x53', '\x69', '\x7a', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x20', '\x50', '\x56', '\x4f', '\x49', '\x44', '\x20', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x48', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x72', '\x48', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x65', '\x6c', '\x69', '\x66', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x20', '\x28', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x50', '\x4f', '\x53', '\x49', '\x58', '\x5f', '\x53', '\x49', '\x47', '\x4e', '\x41', '\x4c', '\x53', '\x20', '\x29', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x73', '\x69', '\x67', '\x6e', '\x61', '\x6c', '\x2e', '\x68', '\x3e', '\x0d', '\x0a', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x46', '\x61', '\x74', '\x61', '\x6c', '\x43', '\x6f', '\x6e', '\x64', '\x69', '\x74', '\x69', '\x6f', '\x6e', '\x48', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x72', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x69', '\x73', '\x53', '\x65', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x73', '\x69', '\x67', '\x61', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x6f', '\x6c', '\x64', '\x53', '\x69', '\x67', '\x41', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x5b', '\x5d', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x20', '\x73', '\x74', '\x61', '\x63', '\x6b', '\x5f', '\x74', '\x20', '\x6f', '\x6c', '\x64', '\x53', '\x69', '\x67', '\x53', '\x74', '\x61', '\x63', '\x6b', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x20', '\x63', '\x68', '\x61', '\x72', '\x20', '\x61', '\x6c', '\x74', '\x53', '\x74', '\x61', '\x63', '\x6b', '\x4d', '\x65', '\x6d', '\x5b', '\x5d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x68', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x53', '\x69', '\x67', '\x6e', '\x61', '\x6c', '\x28', '\x20', '\x69', '\x6e', '\x74', '\x20', '\x73', '\x69', '\x67', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x46', '\x61', '\x74', '\x61', '\x6c', '\x43', '\x6f', '\x6e', '\x64', '\x69', '\x74', '\x69', '\x6f', '\x6e', '\x48', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x72', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7e', '\x46', '\x61', '\x74', '\x61', '\x6c', '\x43', '\x6f', '\x6e', '\x64', '\x69', '\x74', '\x69', '\x6f', '\x6e', '\x48', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x72', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x72', '\x65', '\x73', '\x65', '\x74', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x65', '\x6c', '\x73', '\x65', '\x0d', '\x0a', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x46', '\x61', '\x74', '\x61', '\x6c', '\x43', '\x6f', '\x6e', '\x64', '\x69', '\x74', '\x69', '\x6f', '\x6e', '\x48', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x72', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x72', '\x65', '\x73', '\x65', '\x74', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x66', '\x61', '\x74', '\x61', '\x6c', '\x5f', '\x63', '\x6f', '\x6e', '\x64', '\x69', '\x74', '\x69', '\x6f', '\x6e', '\x2e', '\x68', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x3e', '\x0d', '\x0a', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x49', '\x4d', '\x75', '\x74', '\x61', '\x62', '\x6c', '\x65', '\x43', '\x6f', '\x6e', '\x74', '\x65', '\x78', '\x74', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x20', '\x52', '\x75', '\x6e', '\x43', '\x6f', '\x6e', '\x74', '\x65', '\x78', '\x74', '\x20', '\x3a', '\x20', '\x70', '\x75', '\x62', '\x6c', '\x69', '\x63', '\x20', '\x49', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x43', '\x61', '\x70', '\x74', '\x75', '\x72', '\x65', '\x2c', '\x20', '\x70', '\x75', '\x62', '\x6c', '\x69', '\x63', '\x20', '\x49', '\x52', '\x75', '\x6e', '\x6e', '\x65', '\x72', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x70', '\x75', '\x62', '\x6c', '\x69', '\x63', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x52', '\x75', '\x6e', '\x43', '\x6f', '\x6e', '\x74', '\x65', '\x78', '\x74', '\x28', '\x20', '\x52', '\x75', '\x6e', '\x43', '\x6f', '\x6e', '\x74', '\x65', '\x78', '\x74', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x29', '\x20', '\x3d', '\x20', '\x64', '\x65', '\x6c', '\x65', '\x74', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x52', '\x75', '\x6e', '\x43', '\x6f', '\x6e', '\x74', '\x65', '\x78', '\x74', '\x26', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x3d', '\x28', '\x20', '\x52', '\x75', '\x6e', '\x43', '\x6f', '\x6e', '\x74', '\x65', '\x78', '\x74', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x29', '\x20', '\x3d', '\x20', '\x64', '\x65', '\x6c', '\x65', '\x74', '\x65', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x78', '\x70', '\x6c', '\x69', '\x63', '\x69', '\x74', '\x20', '\x52', '\x75', '\x6e', '\x43', '\x6f', '\x6e', '\x74', '\x65', '\x78', '\x74', '\x28', '\x20', '\x49', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x50', '\x74', '\x72', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x5f', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x2c', '\x20', '\x49', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x50', '\x74', '\x72', '\x26', '\x26', '\x20', '\x72', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7e', '\x52', '\x75', '\x6e', '\x43', '\x6f', '\x6e', '\x74', '\x65', '\x78', '\x74', '\x28', '\x29', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x74', '\x65', '\x73', '\x74', '\x47', '\x72', '\x6f', '\x75', '\x70', '\x53', '\x74', '\x61', '\x72', '\x74', '\x69', '\x6e', '\x67', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x74', '\x65', '\x73', '\x74', '\x53', '\x70', '\x65', '\x63', '\x2c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x69', '\x7a', '\x65', '\x5f', '\x74', '\x20', '\x67', '\x72', '\x6f', '\x75', '\x70', '\x49', '\x6e', '\x64', '\x65', '\x78', '\x2c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x69', '\x7a', '\x65', '\x5f', '\x74', '\x20', '\x67', '\x72', '\x6f', '\x75', '\x70', '\x73', '\x43', '\x6f', '\x75', '\x6e', '\x74', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x74', '\x65', '\x73', '\x74', '\x47', '\x72', '\x6f', '\x75', '\x70', '\x45', '\x6e', '\x64', '\x65', '\x64', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x74', '\x65', '\x73', '\x74', '\x53', '\x70', '\x65', '\x63', '\x2c', '\x20', '\x54', '\x6f', '\x74', '\x61', '\x6c', '\x73', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x74', '\x6f', '\x74', '\x61', '\x6c', '\x73', '\x2c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x69', '\x7a', '\x65', '\x5f', '\x74', '\x20', '\x67', '\x72', '\x6f', '\x75', '\x70', '\x49', '\x6e', '\x64', '\x65', '\x78', '\x2c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x69', '\x7a', '\x65', '\x5f', '\x74', '\x20', '\x67', '\x72', '\x6f', '\x75', '\x70', '\x73', '\x43', '\x6f', '\x75', '\x6e', '\x74', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x54', '\x6f', '\x74', '\x61', '\x6c', '\x73', '\x20', '\x72', '\x75', '\x6e', '\x54', '\x65', '\x73', '\x74', '\x28', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x49', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x50', '\x74', '\x72', '\x20', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x49', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x26', '\x20', '\x72', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x70', '\x75', '\x62', '\x6c', '\x69', '\x63', '\x3a', '\x20', '\x2f', '\x2f', '\x20', '\x49', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x43', '\x61', '\x70', '\x74', '\x75', '\x72', '\x65', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x68', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x72', '\x73', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x68', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x45', '\x78', '\x70', '\x72', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x28', '\x20', '\x20', '\x20', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x69', '\x6e', '\x66', '\x6f', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x49', '\x54', '\x72', '\x61', '\x6e', '\x73', '\x69', '\x65', '\x6e', '\x74', '\x45', '\x78', '\x70', '\x72', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x65', '\x78', '\x70', '\x72', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x52', '\x65', '\x61', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x26', '\x20', '\x72', '\x65', '\x61', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x29', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x68', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x4d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x28', '\x20', '\x20', '\x20', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x69', '\x6e', '\x66', '\x6f', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x57', '\x61', '\x73', '\x3a', '\x3a', '\x4f', '\x66', '\x54', '\x79', '\x70', '\x65', '\x20', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x54', '\x79', '\x70', '\x65', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x66', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x52', '\x65', '\x61', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x26', '\x20', '\x72', '\x65', '\x61', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x29', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x68', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x55', '\x6e', '\x65', '\x78', '\x70', '\x65', '\x63', '\x74', '\x65', '\x64', '\x45', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x4e', '\x6f', '\x74', '\x54', '\x68', '\x72', '\x6f', '\x77', '\x6e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x28', '\x20', '\x20', '\x20', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x69', '\x6e', '\x66', '\x6f', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x52', '\x65', '\x61', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x26', '\x20', '\x72', '\x65', '\x61', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x29', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x68', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x55', '\x6e', '\x65', '\x78', '\x70', '\x65', '\x63', '\x74', '\x65', '\x64', '\x49', '\x6e', '\x66', '\x6c', '\x69', '\x67', '\x68', '\x74', '\x45', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x28', '\x20', '\x20', '\x20', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x69', '\x6e', '\x66', '\x6f', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x52', '\x65', '\x61', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x26', '\x20', '\x72', '\x65', '\x61', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x29', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x68', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x49', '\x6e', '\x63', '\x6f', '\x6d', '\x70', '\x6c', '\x65', '\x74', '\x65', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x28', '\x20', '\x20', '\x20', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x69', '\x6e', '\x66', '\x6f', '\x20', '\x29', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x68', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x4e', '\x6f', '\x6e', '\x45', '\x78', '\x70', '\x72', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x28', '\x20', '\x20', '\x20', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x26', '\x69', '\x6e', '\x66', '\x6f', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x57', '\x61', '\x73', '\x3a', '\x3a', '\x4f', '\x66', '\x54', '\x79', '\x70', '\x65', '\x20', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x54', '\x79', '\x70', '\x65', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x52', '\x65', '\x61', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x26', '\x72', '\x65', '\x61', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x29', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x53', '\x74', '\x61', '\x72', '\x74', '\x65', '\x64', '\x28', '\x20', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x2c', '\x20', '\x43', '\x6f', '\x75', '\x6e', '\x74', '\x73', '\x26', '\x20', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x20', '\x29', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x45', '\x6e', '\x64', '\x65', '\x64', '\x28', '\x20', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x45', '\x6e', '\x64', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x65', '\x6e', '\x64', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x29', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x45', '\x6e', '\x64', '\x65', '\x64', '\x45', '\x61', '\x72', '\x6c', '\x79', '\x28', '\x20', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x45', '\x6e', '\x64', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x65', '\x6e', '\x64', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x29', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x61', '\x63', '\x71', '\x75', '\x69', '\x72', '\x65', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x28', '\x20', '\x53', '\x6f', '\x75', '\x72', '\x63', '\x65', '\x4c', '\x69', '\x6e', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6c', '\x69', '\x6e', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x29', '\x20', '\x2d', '\x3e', '\x20', '\x49', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x26', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x45', '\x4e', '\x41', '\x42', '\x4c', '\x45', '\x5f', '\x42', '\x45', '\x4e', '\x43', '\x48', '\x4d', '\x41', '\x52', '\x4b', '\x49', '\x4e', '\x47', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x62', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x50', '\x72', '\x65', '\x70', '\x61', '\x72', '\x69', '\x6e', '\x67', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x29', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x62', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x53', '\x74', '\x61', '\x72', '\x74', '\x69', '\x6e', '\x67', '\x28', '\x20', '\x42', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x69', '\x6e', '\x66', '\x6f', '\x20', '\x29', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x62', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x45', '\x6e', '\x64', '\x65', '\x64', '\x28', '\x20', '\x42', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x53', '\x74', '\x61', '\x74', '\x73', '\x3c', '\x3e', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x73', '\x74', '\x61', '\x74', '\x73', '\x20', '\x29', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x62', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x46', '\x61', '\x69', '\x6c', '\x65', '\x64', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x65', '\x72', '\x72', '\x6f', '\x72', '\x20', '\x29', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x3b', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x20', '\x2f', '\x2f', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x45', '\x4e', '\x41', '\x42', '\x4c', '\x45', '\x5f', '\x42', '\x45', '\x4e', '\x43', '\x48', '\x4d', '\x41', '\x52', '\x4b', '\x49', '\x4e', '\x47', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x70', '\x75', '\x73', '\x68', '\x53', '\x63', '\x6f', '\x70', '\x65', '\x64', '\x4d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x28', '\x20', '\x4d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x20', '\x29', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x70', '\x6f', '\x70', '\x53', '\x63', '\x6f', '\x70', '\x65', '\x64', '\x4d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x28', '\x20', '\x4d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x20', '\x29', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x63', '\x65', '\x55', '\x6e', '\x73', '\x63', '\x6f', '\x70', '\x65', '\x64', '\x4d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x28', '\x20', '\x4d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x42', '\x75', '\x69', '\x6c', '\x64', '\x65', '\x72', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x62', '\x75', '\x69', '\x6c', '\x64', '\x65', '\x72', '\x20', '\x29', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x67', '\x65', '\x74', '\x43', '\x75', '\x72', '\x72', '\x65', '\x6e', '\x74', '\x54', '\x65', '\x73', '\x74', '\x4e', '\x61', '\x6d', '\x65', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x2a', '\x20', '\x67', '\x65', '\x74', '\x4c', '\x61', '\x73', '\x74', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x45', '\x61', '\x72', '\x6c', '\x79', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x64', '\x28', '\x29', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x68', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x46', '\x61', '\x74', '\x61', '\x6c', '\x45', '\x72', '\x72', '\x6f', '\x72', '\x43', '\x6f', '\x6e', '\x64', '\x69', '\x74', '\x69', '\x6f', '\x6e', '\x28', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x66', '\x20', '\x6d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x20', '\x29', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x6c', '\x61', '\x73', '\x74', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x50', '\x61', '\x73', '\x73', '\x65', '\x64', '\x28', '\x29', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x50', '\x61', '\x73', '\x73', '\x65', '\x64', '\x28', '\x29', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x70', '\x75', '\x62', '\x6c', '\x69', '\x63', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x21', '\x54', '\x42', '\x44', '\x20', '\x57', '\x65', '\x20', '\x6e', '\x65', '\x65', '\x64', '\x20', '\x74', '\x6f', '\x20', '\x64', '\x6f', '\x20', '\x74', '\x68', '\x69', '\x73', '\x20', '\x61', '\x6e', '\x6f', '\x74', '\x68', '\x65', '\x72', '\x20', '\x77', '\x61', '\x79', '\x21', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x61', '\x62', '\x6f', '\x72', '\x74', '\x69', '\x6e', '\x67', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x66', '\x69', '\x6e', '\x61', '\x6c', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x70', '\x72', '\x69', '\x76', '\x61', '\x74', '\x65', '\x3a', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x72', '\x75', '\x6e', '\x43', '\x75', '\x72', '\x72', '\x65', '\x6e', '\x74', '\x54', '\x65', '\x73', '\x74', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x26', '\x20', '\x72', '\x65', '\x64', '\x69', '\x72', '\x65', '\x63', '\x74', '\x65', '\x64', '\x43', '\x6f', '\x75', '\x74', '\x2c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x26', '\x20', '\x72', '\x65', '\x64', '\x69', '\x72', '\x65', '\x63', '\x74', '\x65', '\x64', '\x43', '\x65', '\x72', '\x72', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x69', '\x6e', '\x76', '\x6f', '\x6b', '\x65', '\x41', '\x63', '\x74', '\x69', '\x76', '\x65', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x72', '\x65', '\x73', '\x65', '\x74', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x74', '\x65', '\x73', '\x74', '\x46', '\x6f', '\x72', '\x4d', '\x69', '\x73', '\x73', '\x69', '\x6e', '\x67', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x28', '\x20', '\x43', '\x6f', '\x75', '\x6e', '\x74', '\x73', '\x26', '\x20', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x45', '\x6e', '\x64', '\x65', '\x64', '\x28', '\x20', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x72', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x45', '\x78', '\x70', '\x72', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x28', '\x20', '\x20', '\x20', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x26', '\x69', '\x6e', '\x66', '\x6f', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x57', '\x61', '\x73', '\x3a', '\x3a', '\x4f', '\x66', '\x54', '\x79', '\x70', '\x65', '\x20', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x54', '\x79', '\x70', '\x65', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x49', '\x54', '\x72', '\x61', '\x6e', '\x73', '\x69', '\x65', '\x6e', '\x74', '\x45', '\x78', '\x70', '\x72', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x2a', '\x65', '\x78', '\x70', '\x72', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x6e', '\x65', '\x67', '\x61', '\x74', '\x65', '\x64', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x70', '\x6f', '\x70', '\x75', '\x6c', '\x61', '\x74', '\x65', '\x52', '\x65', '\x61', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x28', '\x20', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x52', '\x65', '\x61', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x26', '\x20', '\x72', '\x65', '\x61', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x70', '\x72', '\x69', '\x76', '\x61', '\x74', '\x65', '\x3a', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x68', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x55', '\x6e', '\x66', '\x69', '\x6e', '\x69', '\x73', '\x68', '\x65', '\x64', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x54', '\x65', '\x73', '\x74', '\x52', '\x75', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x6d', '\x5f', '\x72', '\x75', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x49', '\x4d', '\x75', '\x74', '\x61', '\x62', '\x6c', '\x65', '\x43', '\x6f', '\x6e', '\x74', '\x65', '\x78', '\x74', '\x26', '\x20', '\x6d', '\x5f', '\x63', '\x6f', '\x6e', '\x74', '\x65', '\x78', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x2a', '\x20', '\x6d', '\x5f', '\x61', '\x63', '\x74', '\x69', '\x76', '\x65', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x20', '\x3d', '\x20', '\x6e', '\x75', '\x6c', '\x6c', '\x70', '\x74', '\x72', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x49', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x2a', '\x20', '\x6d', '\x5f', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x20', '\x3d', '\x20', '\x6e', '\x75', '\x6c', '\x6c', '\x70', '\x74', '\x72', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x4f', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x3c', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x3e', '\x20', '\x6d', '\x5f', '\x6c', '\x61', '\x73', '\x74', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x49', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x50', '\x74', '\x72', '\x20', '\x6d', '\x5f', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x54', '\x6f', '\x74', '\x61', '\x6c', '\x73', '\x20', '\x6d', '\x5f', '\x74', '\x6f', '\x74', '\x61', '\x6c', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x49', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x50', '\x74', '\x72', '\x20', '\x6d', '\x5f', '\x72', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x4d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x3e', '\x20', '\x6d', '\x5f', '\x6d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x53', '\x63', '\x6f', '\x70', '\x65', '\x64', '\x4d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x3e', '\x20', '\x6d', '\x5f', '\x6d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x53', '\x63', '\x6f', '\x70', '\x65', '\x73', '\x3b', '\x20', '\x2f', '\x2a', '\x20', '\x4b', '\x65', '\x65', '\x70', '\x73', '\x20', '\x6f', '\x77', '\x6e', '\x65', '\x72', '\x73', '\x20', '\x6f', '\x66', '\x20', '\x73', '\x6f', '\x2d', '\x63', '\x61', '\x6c', '\x6c', '\x65', '\x64', '\x20', '\x75', '\x6e', '\x73', '\x63', '\x6f', '\x70', '\x65', '\x64', '\x20', '\x6d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x73', '\x2e', '\x20', '\x2a', '\x2f', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x6d', '\x5f', '\x6c', '\x61', '\x73', '\x74', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x45', '\x6e', '\x64', '\x49', '\x6e', '\x66', '\x6f', '\x3e', '\x20', '\x6d', '\x5f', '\x75', '\x6e', '\x66', '\x69', '\x6e', '\x69', '\x73', '\x68', '\x65', '\x64', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x49', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x2a', '\x3e', '\x20', '\x6d', '\x5f', '\x61', '\x63', '\x74', '\x69', '\x76', '\x65', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x43', '\x6f', '\x6e', '\x74', '\x65', '\x78', '\x74', '\x20', '\x6d', '\x5f', '\x74', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x43', '\x6f', '\x6e', '\x74', '\x65', '\x78', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x6d', '\x5f', '\x6c', '\x61', '\x73', '\x74', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x50', '\x61', '\x73', '\x73', '\x65', '\x64', '\x20', '\x3d', '\x20', '\x66', '\x61', '\x6c', '\x73', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x6d', '\x5f', '\x73', '\x68', '\x6f', '\x75', '\x6c', '\x64', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x55', '\x6e', '\x65', '\x78', '\x70', '\x65', '\x63', '\x74', '\x65', '\x64', '\x20', '\x3d', '\x20', '\x74', '\x72', '\x75', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x6d', '\x5f', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x53', '\x75', '\x63', '\x63', '\x65', '\x73', '\x73', '\x66', '\x75', '\x6c', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x73', '\x65', '\x65', '\x64', '\x52', '\x6e', '\x67', '\x28', '\x49', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x75', '\x6e', '\x73', '\x69', '\x67', '\x6e', '\x65', '\x64', '\x20', '\x69', '\x6e', '\x74', '\x20', '\x72', '\x6e', '\x67', '\x53', '\x65', '\x65', '\x64', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x72', '\x75', '\x6e', '\x5f', '\x63', '\x6f', '\x6e', '\x74', '\x65', '\x78', '\x74', '\x2e', '\x68', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x3c', '\x3c', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6f', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x26', '\x20', '\x6f', '\x73', '\x2c', '\x20', '\x49', '\x54', '\x72', '\x61', '\x6e', '\x73', '\x69', '\x65', '\x6e', '\x74', '\x45', '\x78', '\x70', '\x72', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x65', '\x78', '\x70', '\x72', '\x20', '\x29', '\x20', '\x2d', '\x3e', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6f', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x26', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x78', '\x70', '\x72', '\x2e', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x52', '\x65', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x65', '\x64', '\x45', '\x78', '\x70', '\x72', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x28', '\x20', '\x6f', '\x73', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6f', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x4c', '\x61', '\x7a', '\x79', '\x45', '\x78', '\x70', '\x72', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x3a', '\x3a', '\x4c', '\x61', '\x7a', '\x79', '\x45', '\x78', '\x70', '\x72', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x28', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x69', '\x73', '\x4e', '\x65', '\x67', '\x61', '\x74', '\x65', '\x64', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x3a', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x69', '\x73', '\x4e', '\x65', '\x67', '\x61', '\x74', '\x65', '\x64', '\x28', '\x20', '\x69', '\x73', '\x4e', '\x65', '\x67', '\x61', '\x74', '\x65', '\x64', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7b', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x4c', '\x61', '\x7a', '\x79', '\x45', '\x78', '\x70', '\x72', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x3a', '\x3a', '\x4c', '\x61', '\x7a', '\x79', '\x45', '\x78', '\x70', '\x72', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x28', '\x20', '\x4c', '\x61', '\x7a', '\x79', '\x45', '\x78', '\x70', '\x72', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6f', '\x74', '\x68', '\x65', '\x72', '\x20', '\x29', '\x20', '\x3a', '\x20', '\x6d', '\x5f', '\x69', '\x73', '\x4e', '\x65', '\x67', '\x61', '\x74', '\x65', '\x64', '\x28', '\x20', '\x6f', '\x74', '\x68', '\x65', '\x72', '\x2e', '\x6d', '\x5f', '\x69', '\x73', '\x4e', '\x65', '\x67', '\x61', '\x74', '\x65', '\x64', '\x20', '\x29', '\x20', '\x7b', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x4c', '\x61', '\x7a', '\x79', '\x45', '\x78', '\x70', '\x72', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x3a', '\x3a', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6d', '\x5f', '\x74', '\x72', '\x61', '\x6e', '\x73', '\x69', '\x65', '\x6e', '\x74', '\x45', '\x78', '\x70', '\x72', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x20', '\x21', '\x3d', '\x20', '\x6e', '\x75', '\x6c', '\x6c', '\x70', '\x74', '\x72', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x3c', '\x3c', '\x20', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6f', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x26', '\x20', '\x6f', '\x73', '\x2c', '\x20', '\x4c', '\x61', '\x7a', '\x79', '\x45', '\x78', '\x70', '\x72', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6c', '\x61', '\x7a', '\x79', '\x45', '\x78', '\x70', '\x72', '\x20', '\x29', '\x20', '\x2d', '\x3e', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6f', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x26', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x6c', '\x61', '\x7a', '\x79', '\x45', '\x78', '\x70', '\x72', '\x2e', '\x6d', '\x5f', '\x69', '\x73', '\x4e', '\x65', '\x67', '\x61', '\x74', '\x65', '\x64', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6f', '\x73', '\x20', '\x3c', '\x3c', '\x20', '\x22', '\x21', '\x22', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x6c', '\x61', '\x7a', '\x79', '\x45', '\x78', '\x70', '\x72', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x6c', '\x61', '\x7a', '\x79', '\x45', '\x78', '\x70', '\x72', '\x2e', '\x6d', '\x5f', '\x69', '\x73', '\x4e', '\x65', '\x67', '\x61', '\x74', '\x65', '\x64', '\x20', '\x26', '\x26', '\x20', '\x6c', '\x61', '\x7a', '\x79', '\x45', '\x78', '\x70', '\x72', '\x2e', '\x6d', '\x5f', '\x74', '\x72', '\x61', '\x6e', '\x73', '\x69', '\x65', '\x6e', '\x74', '\x45', '\x78', '\x70', '\x72', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x2d', '\x3e', '\x69', '\x73', '\x42', '\x69', '\x6e', '\x61', '\x72', '\x79', '\x45', '\x78', '\x70', '\x72', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x28', '\x29', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6f', '\x73', '\x20', '\x3c', '\x3c', '\x20', '\x22', '\x28', '\x22', '\x20', '\x3c', '\x3c', '\x20', '\x2a', '\x6c', '\x61', '\x7a', '\x79', '\x45', '\x78', '\x70', '\x72', '\x2e', '\x6d', '\x5f', '\x74', '\x72', '\x61', '\x6e', '\x73', '\x69', '\x65', '\x6e', '\x74', '\x45', '\x78', '\x70', '\x72', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x20', '\x3c', '\x3c', '\x20', '\x22', '\x29', '\x22', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x6c', '\x73', '\x65', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6f', '\x73', '\x20', '\x3c', '\x3c', '\x20', '\x2a', '\x6c', '\x61', '\x7a', '\x79', '\x45', '\x78', '\x70', '\x72', '\x2e', '\x6d', '\x5f', '\x74', '\x72', '\x61', '\x6e', '\x73', '\x69', '\x65', '\x6e', '\x74', '\x45', '\x78', '\x70', '\x72', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x6c', '\x73', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6f', '\x73', '\x20', '\x3c', '\x3c', '\x20', '\x22', '\x7b', '\x2a', '\x2a', '\x20', '\x65', '\x72', '\x72', '\x6f', '\x72', '\x20', '\x2d', '\x20', '\x75', '\x6e', '\x63', '\x68', '\x65', '\x63', '\x6b', '\x65', '\x64', '\x20', '\x65', '\x6d', '\x70', '\x74', '\x79', '\x20', '\x65', '\x78', '\x70', '\x72', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x20', '\x72', '\x65', '\x71', '\x75', '\x65', '\x73', '\x74', '\x65', '\x64', '\x20', '\x2a', '\x2a', '\x7d', '\x22', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6f', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x48', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x72', '\x3a', '\x3a', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x48', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x72', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x28', '\x20', '\x20', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x66', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6d', '\x61', '\x63', '\x72', '\x6f', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x53', '\x6f', '\x75', '\x72', '\x63', '\x65', '\x4c', '\x69', '\x6e', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6c', '\x69', '\x6e', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x66', '\x20', '\x63', '\x61', '\x70', '\x74', '\x75', '\x72', '\x65', '\x64', '\x45', '\x78', '\x70', '\x72', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x44', '\x69', '\x73', '\x70', '\x6f', '\x73', '\x69', '\x74', '\x69', '\x6f', '\x6e', '\x3a', '\x3a', '\x46', '\x6c', '\x61', '\x67', '\x73', '\x20', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x44', '\x69', '\x73', '\x70', '\x6f', '\x73', '\x69', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x3a', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x7b', '\x20', '\x6d', '\x61', '\x63', '\x72', '\x6f', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x6c', '\x69', '\x6e', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x2c', '\x20', '\x63', '\x61', '\x70', '\x74', '\x75', '\x72', '\x65', '\x64', '\x45', '\x78', '\x70', '\x72', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x2c', '\x20', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x44', '\x69', '\x73', '\x70', '\x6f', '\x73', '\x69', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x7d', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x43', '\x61', '\x70', '\x74', '\x75', '\x72', '\x65', '\x28', '\x20', '\x67', '\x65', '\x74', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x43', '\x61', '\x70', '\x74', '\x75', '\x72', '\x65', '\x28', '\x29', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7b', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x48', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x72', '\x3a', '\x3a', '\x68', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x45', '\x78', '\x70', '\x72', '\x28', '\x20', '\x49', '\x54', '\x72', '\x61', '\x6e', '\x73', '\x69', '\x65', '\x6e', '\x74', '\x45', '\x78', '\x70', '\x72', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x65', '\x78', '\x70', '\x72', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x43', '\x61', '\x70', '\x74', '\x75', '\x72', '\x65', '\x2e', '\x68', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x45', '\x78', '\x70', '\x72', '\x28', '\x20', '\x6d', '\x5f', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x2c', '\x20', '\x65', '\x78', '\x70', '\x72', '\x2c', '\x20', '\x6d', '\x5f', '\x72', '\x65', '\x61', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x48', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x72', '\x3a', '\x3a', '\x68', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x4d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x28', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x57', '\x61', '\x73', '\x3a', '\x3a', '\x4f', '\x66', '\x54', '\x79', '\x70', '\x65', '\x20', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x54', '\x79', '\x70', '\x65', '\x2c', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x66', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x43', '\x61', '\x70', '\x74', '\x75', '\x72', '\x65', '\x2e', '\x68', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x4d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x28', '\x20', '\x6d', '\x5f', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x2c', '\x20', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x54', '\x79', '\x70', '\x65', '\x2c', '\x20', '\x6d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x2c', '\x20', '\x6d', '\x5f', '\x72', '\x65', '\x61', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x48', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x72', '\x3a', '\x3a', '\x61', '\x6c', '\x6c', '\x6f', '\x77', '\x54', '\x68', '\x72', '\x6f', '\x77', '\x73', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x2d', '\x3e', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x67', '\x65', '\x74', '\x43', '\x75', '\x72', '\x72', '\x65', '\x6e', '\x74', '\x43', '\x6f', '\x6e', '\x74', '\x65', '\x78', '\x74', '\x28', '\x29', '\x2e', '\x67', '\x65', '\x74', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x28', '\x29', '\x2d', '\x3e', '\x61', '\x6c', '\x6c', '\x6f', '\x77', '\x54', '\x68', '\x72', '\x6f', '\x77', '\x73', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x48', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x72', '\x3a', '\x3a', '\x63', '\x6f', '\x6d', '\x70', '\x6c', '\x65', '\x74', '\x65', '\x28', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x65', '\x74', '\x43', '\x6f', '\x6d', '\x70', '\x6c', '\x65', '\x74', '\x65', '\x64', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x6d', '\x5f', '\x72', '\x65', '\x61', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x2e', '\x73', '\x68', '\x6f', '\x75', '\x6c', '\x64', '\x44', '\x65', '\x62', '\x75', '\x67', '\x42', '\x72', '\x65', '\x61', '\x6b', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x49', '\x66', '\x20', '\x79', '\x6f', '\x75', '\x20', '\x66', '\x69', '\x6e', '\x64', '\x20', '\x79', '\x6f', '\x75', '\x72', '\x20', '\x64', '\x65', '\x62', '\x75', '\x67', '\x67', '\x65', '\x72', '\x20', '\x73', '\x74', '\x6f', '\x70', '\x70', '\x69', '\x6e', '\x67', '\x20', '\x79', '\x6f', '\x75', '\x20', '\x68', '\x65', '\x72', '\x65', '\x20', '\x74', '\x68', '\x65', '\x6e', '\x20', '\x67', '\x6f', '\x20', '\x6f', '\x6e', '\x65', '\x20', '\x6c', '\x65', '\x76', '\x65', '\x6c', '\x20', '\x75', '\x70', '\x20', '\x6f', '\x6e', '\x20', '\x74', '\x68', '\x65', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x63', '\x61', '\x6c', '\x6c', '\x2d', '\x73', '\x74', '\x61', '\x63', '\x6b', '\x20', '\x66', '\x6f', '\x72', '\x20', '\x74', '\x68', '\x65', '\x20', '\x63', '\x6f', '\x64', '\x65', '\x20', '\x74', '\x68', '\x61', '\x74', '\x20', '\x63', '\x61', '\x75', '\x73', '\x65', '\x64', '\x20', '\x69', '\x74', '\x20', '\x28', '\x74', '\x79', '\x70', '\x69', '\x63', '\x61', '\x6c', '\x6c', '\x79', '\x20', '\x61', '\x20', '\x66', '\x61', '\x69', '\x6c', '\x65', '\x64', '\x20', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x29', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x28', '\x54', '\x6f', '\x20', '\x67', '\x6f', '\x20', '\x62', '\x61', '\x63', '\x6b', '\x20', '\x74', '\x6f', '\x20', '\x74', '\x68', '\x65', '\x20', '\x74', '\x65', '\x73', '\x74', '\x20', '\x61', '\x6e', '\x64', '\x20', '\x63', '\x68', '\x61', '\x6e', '\x67', '\x65', '\x20', '\x65', '\x78', '\x65', '\x63', '\x75', '\x74', '\x69', '\x6f', '\x6e', '\x2c', '\x20', '\x6a', '\x75', '\x6d', '\x70', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x20', '\x74', '\x68', '\x65', '\x20', '\x74', '\x68', '\x72', '\x6f', '\x77', '\x2c', '\x20', '\x6e', '\x65', '\x78', '\x74', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x42', '\x52', '\x45', '\x41', '\x4b', '\x5f', '\x49', '\x4e', '\x54', '\x4f', '\x5f', '\x44', '\x45', '\x42', '\x55', '\x47', '\x47', '\x45', '\x52', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x6d', '\x5f', '\x72', '\x65', '\x61', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x2e', '\x73', '\x68', '\x6f', '\x75', '\x6c', '\x64', '\x54', '\x68', '\x72', '\x6f', '\x77', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x20', '\x21', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x44', '\x49', '\x53', '\x41', '\x42', '\x4c', '\x45', '\x5f', '\x45', '\x58', '\x43', '\x45', '\x50', '\x54', '\x49', '\x4f', '\x4e', '\x53', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x68', '\x72', '\x6f', '\x77', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x54', '\x65', '\x73', '\x74', '\x46', '\x61', '\x69', '\x6c', '\x75', '\x72', '\x65', '\x45', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x23', '\x65', '\x6c', '\x73', '\x65', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x45', '\x52', '\x52', '\x4f', '\x52', '\x28', '\x20', '\x22', '\x54', '\x65', '\x73', '\x74', '\x20', '\x66', '\x61', '\x69', '\x6c', '\x75', '\x72', '\x65', '\x20', '\x72', '\x65', '\x71', '\x75', '\x69', '\x72', '\x65', '\x73', '\x20', '\x61', '\x62', '\x6f', '\x72', '\x74', '\x69', '\x6e', '\x67', '\x20', '\x74', '\x65', '\x73', '\x74', '\x21', '\x22', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x48', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x72', '\x3a', '\x3a', '\x73', '\x65', '\x74', '\x43', '\x6f', '\x6d', '\x70', '\x6c', '\x65', '\x74', '\x65', '\x64', '\x28', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x63', '\x6f', '\x6d', '\x70', '\x6c', '\x65', '\x74', '\x65', '\x64', '\x20', '\x3d', '\x20', '\x74', '\x72', '\x75', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x48', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x72', '\x3a', '\x3a', '\x68', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x55', '\x6e', '\x65', '\x78', '\x70', '\x65', '\x63', '\x74', '\x65', '\x64', '\x49', '\x6e', '\x66', '\x6c', '\x69', '\x67', '\x68', '\x74', '\x45', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x28', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x43', '\x61', '\x70', '\x74', '\x75', '\x72', '\x65', '\x2e', '\x68', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x55', '\x6e', '\x65', '\x78', '\x70', '\x65', '\x63', '\x74', '\x65', '\x64', '\x49', '\x6e', '\x66', '\x6c', '\x69', '\x67', '\x68', '\x74', '\x45', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x28', '\x20', '\x6d', '\x5f', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x2c', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x74', '\x72', '\x61', '\x6e', '\x73', '\x6c', '\x61', '\x74', '\x65', '\x41', '\x63', '\x74', '\x69', '\x76', '\x65', '\x45', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x28', '\x29', '\x2c', '\x20', '\x6d', '\x5f', '\x72', '\x65', '\x61', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x48', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x72', '\x3a', '\x3a', '\x68', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x45', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x54', '\x68', '\x72', '\x6f', '\x77', '\x6e', '\x41', '\x73', '\x45', '\x78', '\x70', '\x65', '\x63', '\x74', '\x65', '\x64', '\x28', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x43', '\x61', '\x70', '\x74', '\x75', '\x72', '\x65', '\x2e', '\x68', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x4e', '\x6f', '\x6e', '\x45', '\x78', '\x70', '\x72', '\x28', '\x6d', '\x5f', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x2c', '\x20', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x57', '\x61', '\x73', '\x3a', '\x3a', '\x4f', '\x6b', '\x2c', '\x20', '\x6d', '\x5f', '\x72', '\x65', '\x61', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x48', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x72', '\x3a', '\x3a', '\x68', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x45', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x4e', '\x6f', '\x74', '\x54', '\x68', '\x72', '\x6f', '\x77', '\x6e', '\x41', '\x73', '\x45', '\x78', '\x70', '\x65', '\x63', '\x74', '\x65', '\x64', '\x28', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x43', '\x61', '\x70', '\x74', '\x75', '\x72', '\x65', '\x2e', '\x68', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x4e', '\x6f', '\x6e', '\x45', '\x78', '\x70', '\x72', '\x28', '\x6d', '\x5f', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x2c', '\x20', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x57', '\x61', '\x73', '\x3a', '\x3a', '\x4f', '\x6b', '\x2c', '\x20', '\x6d', '\x5f', '\x72', '\x65', '\x61', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x48', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x72', '\x3a', '\x3a', '\x68', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x55', '\x6e', '\x65', '\x78', '\x70', '\x65', '\x63', '\x74', '\x65', '\x64', '\x45', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x4e', '\x6f', '\x74', '\x54', '\x68', '\x72', '\x6f', '\x77', '\x6e', '\x28', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x43', '\x61', '\x70', '\x74', '\x75', '\x72', '\x65', '\x2e', '\x68', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x55', '\x6e', '\x65', '\x78', '\x70', '\x65', '\x63', '\x74', '\x65', '\x64', '\x45', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x4e', '\x6f', '\x74', '\x54', '\x68', '\x72', '\x6f', '\x77', '\x6e', '\x28', '\x20', '\x6d', '\x5f', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x2c', '\x20', '\x6d', '\x5f', '\x72', '\x65', '\x61', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x48', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x72', '\x3a', '\x3a', '\x68', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x54', '\x68', '\x72', '\x6f', '\x77', '\x69', '\x6e', '\x67', '\x43', '\x61', '\x6c', '\x6c', '\x53', '\x6b', '\x69', '\x70', '\x70', '\x65', '\x64', '\x28', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x43', '\x61', '\x70', '\x74', '\x75', '\x72', '\x65', '\x2e', '\x68', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x4e', '\x6f', '\x6e', '\x45', '\x78', '\x70', '\x72', '\x28', '\x6d', '\x5f', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x2c', '\x20', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x57', '\x61', '\x73', '\x3a', '\x3a', '\x4f', '\x6b', '\x2c', '\x20', '\x6d', '\x5f', '\x72', '\x65', '\x61', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x54', '\x68', '\x69', '\x73', '\x20', '\x69', '\x73', '\x20', '\x74', '\x68', '\x65', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x6c', '\x6f', '\x61', '\x64', '\x20', '\x74', '\x68', '\x61', '\x74', '\x20', '\x74', '\x61', '\x6b', '\x65', '\x73', '\x20', '\x61', '\x20', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x61', '\x6e', '\x64', '\x20', '\x69', '\x6e', '\x66', '\x65', '\x72', '\x73', '\x20', '\x74', '\x68', '\x65', '\x20', '\x45', '\x71', '\x75', '\x61', '\x6c', '\x73', '\x20', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x20', '\x66', '\x72', '\x6f', '\x6d', '\x20', '\x69', '\x74', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x54', '\x68', '\x65', '\x20', '\x6d', '\x6f', '\x72', '\x65', '\x20', '\x67', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x6c', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x6c', '\x6f', '\x61', '\x64', '\x2c', '\x20', '\x74', '\x68', '\x61', '\x74', '\x20', '\x74', '\x61', '\x6b', '\x65', '\x73', '\x20', '\x61', '\x6e', '\x79', '\x20', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x2c', '\x20', '\x69', '\x73', '\x20', '\x69', '\x6e', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x63', '\x61', '\x70', '\x74', '\x75', '\x72', '\x65', '\x5f', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x73', '\x2e', '\x63', '\x70', '\x70', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x68', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x45', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x45', '\x78', '\x70', '\x72', '\x28', '\x20', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x48', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x72', '\x26', '\x20', '\x68', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x72', '\x2c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x73', '\x74', '\x72', '\x2c', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x66', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x68', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x45', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x45', '\x78', '\x70', '\x72', '\x28', '\x20', '\x68', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x72', '\x2c', '\x20', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x73', '\x3a', '\x3a', '\x45', '\x71', '\x75', '\x61', '\x6c', '\x73', '\x28', '\x20', '\x73', '\x74', '\x72', '\x20', '\x29', '\x2c', '\x20', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x68', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x72', '\x2e', '\x63', '\x70', '\x70', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x2e', '\x63', '\x70', '\x70', '\x0d', '\x0a', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x44', '\x61', '\x74', '\x61', '\x3a', '\x3a', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x44', '\x61', '\x74', '\x61', '\x28', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x57', '\x61', '\x73', '\x3a', '\x3a', '\x4f', '\x66', '\x54', '\x79', '\x70', '\x65', '\x20', '\x5f', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x54', '\x79', '\x70', '\x65', '\x2c', '\x20', '\x4c', '\x61', '\x7a', '\x79', '\x45', '\x78', '\x70', '\x72', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x26', '\x20', '\x5f', '\x6c', '\x61', '\x7a', '\x79', '\x45', '\x78', '\x70', '\x72', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x29', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6c', '\x61', '\x7a', '\x79', '\x45', '\x78', '\x70', '\x72', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x28', '\x5f', '\x6c', '\x61', '\x7a', '\x79', '\x45', '\x78', '\x70', '\x72', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x29', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x54', '\x79', '\x70', '\x65', '\x28', '\x5f', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x54', '\x79', '\x70', '\x65', '\x29', '\x20', '\x7b', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x44', '\x61', '\x74', '\x61', '\x3a', '\x3a', '\x72', '\x65', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x45', '\x78', '\x70', '\x72', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x72', '\x65', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x65', '\x64', '\x45', '\x78', '\x70', '\x72', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x2e', '\x65', '\x6d', '\x70', '\x74', '\x79', '\x28', '\x29', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x6c', '\x61', '\x7a', '\x79', '\x45', '\x78', '\x70', '\x72', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x52', '\x65', '\x75', '\x73', '\x61', '\x62', '\x6c', '\x65', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x20', '\x72', '\x73', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x73', '\x73', '\x20', '\x3c', '\x3c', '\x20', '\x6c', '\x61', '\x7a', '\x79', '\x45', '\x78', '\x70', '\x72', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x65', '\x64', '\x45', '\x78', '\x70', '\x72', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x20', '\x3d', '\x20', '\x72', '\x73', '\x73', '\x2e', '\x73', '\x74', '\x72', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x72', '\x65', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x65', '\x64', '\x45', '\x78', '\x70', '\x72', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x3a', '\x3a', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x28', '\x20', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x69', '\x6e', '\x66', '\x6f', '\x2c', '\x20', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x44', '\x61', '\x74', '\x61', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x64', '\x61', '\x74', '\x61', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x3a', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x69', '\x6e', '\x66', '\x6f', '\x28', '\x20', '\x69', '\x6e', '\x66', '\x6f', '\x20', '\x29', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x44', '\x61', '\x74', '\x61', '\x28', '\x20', '\x64', '\x61', '\x74', '\x61', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7b', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x20', '\x77', '\x61', '\x73', '\x20', '\x61', '\x20', '\x73', '\x75', '\x63', '\x63', '\x65', '\x73', '\x73', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x3a', '\x3a', '\x73', '\x75', '\x63', '\x63', '\x65', '\x65', '\x64', '\x65', '\x64', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x69', '\x73', '\x4f', '\x6b', '\x28', '\x20', '\x6d', '\x5f', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x44', '\x61', '\x74', '\x61', '\x2e', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x54', '\x79', '\x70', '\x65', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x20', '\x77', '\x61', '\x73', '\x20', '\x61', '\x20', '\x73', '\x75', '\x63', '\x63', '\x65', '\x73', '\x73', '\x2c', '\x20', '\x6f', '\x72', '\x20', '\x66', '\x61', '\x69', '\x6c', '\x75', '\x72', '\x65', '\x20', '\x69', '\x73', '\x20', '\x73', '\x75', '\x70', '\x70', '\x72', '\x65', '\x73', '\x73', '\x65', '\x64', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x3a', '\x3a', '\x69', '\x73', '\x4f', '\x6b', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x69', '\x73', '\x4f', '\x6b', '\x28', '\x20', '\x6d', '\x5f', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x44', '\x61', '\x74', '\x61', '\x2e', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x54', '\x79', '\x70', '\x65', '\x20', '\x29', '\x20', '\x7c', '\x7c', '\x20', '\x73', '\x68', '\x6f', '\x75', '\x6c', '\x64', '\x53', '\x75', '\x70', '\x70', '\x72', '\x65', '\x73', '\x73', '\x46', '\x61', '\x69', '\x6c', '\x75', '\x72', '\x65', '\x28', '\x20', '\x6d', '\x5f', '\x69', '\x6e', '\x66', '\x6f', '\x2e', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x44', '\x69', '\x73', '\x70', '\x6f', '\x73', '\x69', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x57', '\x61', '\x73', '\x3a', '\x3a', '\x4f', '\x66', '\x54', '\x79', '\x70', '\x65', '\x20', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x3a', '\x3a', '\x67', '\x65', '\x74', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x54', '\x79', '\x70', '\x65', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6d', '\x5f', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x44', '\x61', '\x74', '\x61', '\x2e', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x54', '\x79', '\x70', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x3a', '\x3a', '\x68', '\x61', '\x73', '\x45', '\x78', '\x70', '\x72', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x21', '\x6d', '\x5f', '\x69', '\x6e', '\x66', '\x6f', '\x2e', '\x63', '\x61', '\x70', '\x74', '\x75', '\x72', '\x65', '\x64', '\x45', '\x78', '\x70', '\x72', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x2e', '\x65', '\x6d', '\x70', '\x74', '\x79', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x3a', '\x3a', '\x68', '\x61', '\x73', '\x4d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x21', '\x6d', '\x5f', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x44', '\x61', '\x74', '\x61', '\x2e', '\x6d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x2e', '\x65', '\x6d', '\x70', '\x74', '\x79', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x3a', '\x3a', '\x67', '\x65', '\x74', '\x45', '\x78', '\x70', '\x72', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x50', '\x6f', '\x73', '\x73', '\x69', '\x62', '\x6c', '\x79', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x61', '\x6c', '\x6c', '\x6f', '\x63', '\x61', '\x74', '\x69', '\x6e', '\x67', '\x20', '\x62', '\x79', '\x20', '\x33', '\x20', '\x63', '\x68', '\x61', '\x72', '\x61', '\x63', '\x74', '\x65', '\x72', '\x73', '\x20', '\x73', '\x68', '\x6f', '\x75', '\x6c', '\x64', '\x20', '\x62', '\x65', '\x20', '\x62', '\x61', '\x73', '\x69', '\x63', '\x61', '\x6c', '\x6c', '\x79', '\x20', '\x66', '\x72', '\x65', '\x65', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x65', '\x78', '\x70', '\x72', '\x3b', '\x20', '\x65', '\x78', '\x70', '\x72', '\x2e', '\x72', '\x65', '\x73', '\x65', '\x72', '\x76', '\x65', '\x28', '\x6d', '\x5f', '\x69', '\x6e', '\x66', '\x6f', '\x2e', '\x63', '\x61', '\x70', '\x74', '\x75', '\x72', '\x65', '\x64', '\x45', '\x78', '\x70', '\x72', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x2e', '\x73', '\x69', '\x7a', '\x65', '\x28', '\x29', '\x20', '\x2b', '\x20', '\x33', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x69', '\x73', '\x46', '\x61', '\x6c', '\x73', '\x65', '\x54', '\x65', '\x73', '\x74', '\x28', '\x6d', '\x5f', '\x69', '\x6e', '\x66', '\x6f', '\x2e', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x44', '\x69', '\x73', '\x70', '\x6f', '\x73', '\x69', '\x74', '\x69', '\x6f', '\x6e', '\x29', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x78', '\x70', '\x72', '\x20', '\x2b', '\x3d', '\x20', '\x22', '\x21', '\x28', '\x22', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x78', '\x70', '\x72', '\x20', '\x2b', '\x3d', '\x20', '\x6d', '\x5f', '\x69', '\x6e', '\x66', '\x6f', '\x2e', '\x63', '\x61', '\x70', '\x74', '\x75', '\x72', '\x65', '\x64', '\x45', '\x78', '\x70', '\x72', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x69', '\x73', '\x46', '\x61', '\x6c', '\x73', '\x65', '\x54', '\x65', '\x73', '\x74', '\x28', '\x6d', '\x5f', '\x69', '\x6e', '\x66', '\x6f', '\x2e', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x44', '\x69', '\x73', '\x70', '\x6f', '\x73', '\x69', '\x74', '\x69', '\x6f', '\x6e', '\x29', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x78', '\x70', '\x72', '\x20', '\x2b', '\x3d', '\x20', '\x27', '\x29', '\x27', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x65', '\x78', '\x70', '\x72', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x3a', '\x3a', '\x67', '\x65', '\x74', '\x45', '\x78', '\x70', '\x72', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x49', '\x6e', '\x4d', '\x61', '\x63', '\x72', '\x6f', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x65', '\x78', '\x70', '\x72', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x6d', '\x5f', '\x69', '\x6e', '\x66', '\x6f', '\x2e', '\x6d', '\x61', '\x63', '\x72', '\x6f', '\x4e', '\x61', '\x6d', '\x65', '\x2e', '\x65', '\x6d', '\x70', '\x74', '\x79', '\x28', '\x29', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x78', '\x70', '\x72', '\x20', '\x3d', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x5f', '\x63', '\x61', '\x73', '\x74', '\x3c', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x3e', '\x28', '\x6d', '\x5f', '\x69', '\x6e', '\x66', '\x6f', '\x2e', '\x63', '\x61', '\x70', '\x74', '\x75', '\x72', '\x65', '\x64', '\x45', '\x78', '\x70', '\x72', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x6c', '\x73', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x78', '\x70', '\x72', '\x2e', '\x72', '\x65', '\x73', '\x65', '\x72', '\x76', '\x65', '\x28', '\x20', '\x6d', '\x5f', '\x69', '\x6e', '\x66', '\x6f', '\x2e', '\x6d', '\x61', '\x63', '\x72', '\x6f', '\x4e', '\x61', '\x6d', '\x65', '\x2e', '\x73', '\x69', '\x7a', '\x65', '\x28', '\x29', '\x20', '\x2b', '\x20', '\x6d', '\x5f', '\x69', '\x6e', '\x66', '\x6f', '\x2e', '\x63', '\x61', '\x70', '\x74', '\x75', '\x72', '\x65', '\x64', '\x45', '\x78', '\x70', '\x72', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x2e', '\x73', '\x69', '\x7a', '\x65', '\x28', '\x29', '\x20', '\x2b', '\x20', '\x34', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x78', '\x70', '\x72', '\x20', '\x2b', '\x3d', '\x20', '\x6d', '\x5f', '\x69', '\x6e', '\x66', '\x6f', '\x2e', '\x6d', '\x61', '\x63', '\x72', '\x6f', '\x4e', '\x61', '\x6d', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x78', '\x70', '\x72', '\x20', '\x2b', '\x3d', '\x20', '\x22', '\x28', '\x20', '\x22', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x78', '\x70', '\x72', '\x20', '\x2b', '\x3d', '\x20', '\x6d', '\x5f', '\x69', '\x6e', '\x66', '\x6f', '\x2e', '\x63', '\x61', '\x70', '\x74', '\x75', '\x72', '\x65', '\x64', '\x45', '\x78', '\x70', '\x72', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x78', '\x70', '\x72', '\x20', '\x2b', '\x3d', '\x20', '\x22', '\x20', '\x29', '\x22', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x65', '\x78', '\x70', '\x72', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x3a', '\x3a', '\x68', '\x61', '\x73', '\x45', '\x78', '\x70', '\x61', '\x6e', '\x64', '\x65', '\x64', '\x45', '\x78', '\x70', '\x72', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x68', '\x61', '\x73', '\x45', '\x78', '\x70', '\x72', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x28', '\x29', '\x20', '\x26', '\x26', '\x20', '\x67', '\x65', '\x74', '\x45', '\x78', '\x70', '\x61', '\x6e', '\x64', '\x65', '\x64', '\x45', '\x78', '\x70', '\x72', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x28', '\x29', '\x20', '\x21', '\x3d', '\x20', '\x67', '\x65', '\x74', '\x45', '\x78', '\x70', '\x72', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x3a', '\x3a', '\x67', '\x65', '\x74', '\x45', '\x78', '\x70', '\x61', '\x6e', '\x64', '\x65', '\x64', '\x45', '\x78', '\x70', '\x72', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x65', '\x78', '\x70', '\x72', '\x20', '\x3d', '\x20', '\x6d', '\x5f', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x44', '\x61', '\x74', '\x61', '\x2e', '\x72', '\x65', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x45', '\x78', '\x70', '\x72', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x65', '\x78', '\x70', '\x72', '\x2e', '\x65', '\x6d', '\x70', '\x74', '\x79', '\x28', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x3f', '\x20', '\x67', '\x65', '\x74', '\x45', '\x78', '\x70', '\x72', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x28', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x3a', '\x20', '\x65', '\x78', '\x70', '\x72', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x3a', '\x3a', '\x67', '\x65', '\x74', '\x4d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6d', '\x5f', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x44', '\x61', '\x74', '\x61', '\x2e', '\x6d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x53', '\x6f', '\x75', '\x72', '\x63', '\x65', '\x4c', '\x69', '\x6e', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x3a', '\x3a', '\x67', '\x65', '\x74', '\x53', '\x6f', '\x75', '\x72', '\x63', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6d', '\x5f', '\x69', '\x6e', '\x66', '\x6f', '\x2e', '\x6c', '\x69', '\x6e', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x66', '\x20', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x3a', '\x3a', '\x67', '\x65', '\x74', '\x54', '\x65', '\x73', '\x74', '\x4d', '\x61', '\x63', '\x72', '\x6f', '\x4e', '\x61', '\x6d', '\x65', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6d', '\x5f', '\x69', '\x6e', '\x66', '\x6f', '\x2e', '\x6d', '\x61', '\x63', '\x72', '\x6f', '\x4e', '\x61', '\x6d', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x2e', '\x63', '\x70', '\x70', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x63', '\x61', '\x70', '\x74', '\x75', '\x72', '\x65', '\x5f', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x73', '\x2e', '\x63', '\x70', '\x70', '\x0d', '\x0a', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x75', '\x73', '\x69', '\x6e', '\x67', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x20', '\x3d', '\x20', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x73', '\x3a', '\x3a', '\x49', '\x6d', '\x70', '\x6c', '\x3a', '\x3a', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x42', '\x61', '\x73', '\x65', '\x3c', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x3e', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x54', '\x68', '\x69', '\x73', '\x20', '\x69', '\x73', '\x20', '\x74', '\x68', '\x65', '\x20', '\x67', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x6c', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x6c', '\x6f', '\x61', '\x64', '\x20', '\x74', '\x68', '\x61', '\x74', '\x20', '\x74', '\x61', '\x6b', '\x65', '\x73', '\x20', '\x61', '\x20', '\x61', '\x6e', '\x79', '\x20', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x54', '\x68', '\x65', '\x72', '\x65', '\x20', '\x69', '\x73', '\x20', '\x61', '\x6e', '\x6f', '\x74', '\x68', '\x65', '\x72', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x6c', '\x6f', '\x61', '\x64', '\x2c', '\x20', '\x69', '\x6e', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x68', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x72', '\x2e', '\x68', '\x2f', '\x2e', '\x63', '\x70', '\x70', '\x2c', '\x20', '\x74', '\x68', '\x61', '\x74', '\x20', '\x6f', '\x6e', '\x6c', '\x79', '\x20', '\x74', '\x61', '\x6b', '\x65', '\x73', '\x20', '\x61', '\x20', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x61', '\x6e', '\x64', '\x20', '\x69', '\x6e', '\x66', '\x65', '\x72', '\x73', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x74', '\x68', '\x65', '\x20', '\x45', '\x71', '\x75', '\x61', '\x6c', '\x73', '\x20', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x20', '\x28', '\x73', '\x6f', '\x20', '\x74', '\x68', '\x65', '\x20', '\x68', '\x65', '\x61', '\x64', '\x65', '\x72', '\x20', '\x64', '\x6f', '\x65', '\x73', '\x20', '\x6e', '\x6f', '\x74', '\x20', '\x6d', '\x65', '\x6e', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x73', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x68', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x45', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x45', '\x78', '\x70', '\x72', '\x28', '\x20', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x48', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x72', '\x26', '\x20', '\x68', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x72', '\x2c', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x2c', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x66', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x4d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x20', '\x3d', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x74', '\x72', '\x61', '\x6e', '\x73', '\x6c', '\x61', '\x74', '\x65', '\x41', '\x63', '\x74', '\x69', '\x76', '\x65', '\x45', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x45', '\x78', '\x70', '\x72', '\x3c', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x2c', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x3e', '\x20', '\x65', '\x78', '\x70', '\x72', '\x28', '\x20', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x4d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x2c', '\x20', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x2c', '\x20', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x68', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x72', '\x2e', '\x68', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x45', '\x78', '\x70', '\x72', '\x28', '\x20', '\x65', '\x78', '\x70', '\x72', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x63', '\x61', '\x70', '\x74', '\x75', '\x72', '\x65', '\x5f', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x73', '\x2e', '\x63', '\x70', '\x70', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x63', '\x6f', '\x6d', '\x6d', '\x61', '\x6e', '\x64', '\x6c', '\x69', '\x6e', '\x65', '\x2e', '\x63', '\x70', '\x70', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x63', '\x6f', '\x6d', '\x6d', '\x61', '\x6e', '\x64', '\x6c', '\x69', '\x6e', '\x65', '\x2e', '\x68', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x63', '\x6c', '\x61', '\x72', '\x61', '\x2e', '\x68', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x55', '\x73', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x27', '\x73', '\x20', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x20', '\x66', '\x6f', '\x72', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x6f', '\x6c', '\x65', '\x20', '\x77', '\x69', '\x64', '\x74', '\x68', '\x20', '\x28', '\x73', '\x74', '\x6f', '\x72', '\x65', '\x20', '\x43', '\x6c', '\x61', '\x72', '\x61', '\x27', '\x73', '\x20', '\x6f', '\x66', '\x66', '\x20', '\x74', '\x6f', '\x20', '\x74', '\x68', '\x65', '\x20', '\x73', '\x69', '\x64', '\x65', '\x2c', '\x20', '\x69', '\x66', '\x20', '\x70', '\x72', '\x65', '\x73', '\x65', '\x6e', '\x74', '\x29', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x64', '\x65', '\x66', '\x20', '\x43', '\x4c', '\x41', '\x52', '\x41', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x43', '\x4f', '\x4e', '\x53', '\x4f', '\x4c', '\x45', '\x5f', '\x57', '\x49', '\x44', '\x54', '\x48', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x4d', '\x50', '\x5f', '\x43', '\x4c', '\x41', '\x52', '\x41', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x43', '\x4f', '\x4e', '\x53', '\x4f', '\x4c', '\x45', '\x5f', '\x57', '\x49', '\x44', '\x54', '\x48', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4c', '\x41', '\x52', '\x41', '\x5f', '\x54', '\x45', '\x58', '\x54', '\x46', '\x4c', '\x4f', '\x57', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x43', '\x4f', '\x4e', '\x53', '\x4f', '\x4c', '\x45', '\x5f', '\x57', '\x49', '\x44', '\x54', '\x48', '\x0d', '\x0a', '\x23', '\x75', '\x6e', '\x64', '\x65', '\x66', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4c', '\x41', '\x52', '\x41', '\x5f', '\x54', '\x45', '\x58', '\x54', '\x46', '\x4c', '\x4f', '\x57', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x43', '\x4f', '\x4e', '\x53', '\x4f', '\x4c', '\x45', '\x5f', '\x57', '\x49', '\x44', '\x54', '\x48', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4c', '\x41', '\x52', '\x41', '\x5f', '\x54', '\x45', '\x58', '\x54', '\x46', '\x4c', '\x4f', '\x57', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x43', '\x4f', '\x4e', '\x53', '\x4f', '\x4c', '\x45', '\x5f', '\x57', '\x49', '\x44', '\x54', '\x48', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x43', '\x4f', '\x4e', '\x53', '\x4f', '\x4c', '\x45', '\x5f', '\x57', '\x49', '\x44', '\x54', '\x48', '\x2d', '\x31', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x64', '\x65', '\x66', '\x20', '\x5f', '\x5f', '\x63', '\x6c', '\x61', '\x6e', '\x67', '\x5f', '\x5f', '\x0d', '\x0a', '\x23', '\x70', '\x72', '\x61', '\x67', '\x6d', '\x61', '\x20', '\x63', '\x6c', '\x61', '\x6e', '\x67', '\x20', '\x64', '\x69', '\x61', '\x67', '\x6e', '\x6f', '\x73', '\x74', '\x69', '\x63', '\x20', '\x70', '\x75', '\x73', '\x68', '\x0d', '\x0a', '\x23', '\x70', '\x72', '\x61', '\x67', '\x6d', '\x61', '\x20', '\x63', '\x6c', '\x61', '\x6e', '\x67', '\x20', '\x64', '\x69', '\x61', '\x67', '\x6e', '\x6f', '\x73', '\x74', '\x69', '\x63', '\x20', '\x69', '\x67', '\x6e', '\x6f', '\x72', '\x65', '\x64', '\x20', '\x22', '\x2d', '\x57', '\x77', '\x65', '\x61', '\x6b', '\x2d', '\x76', '\x74', '\x61', '\x62', '\x6c', '\x65', '\x73', '\x22', '\x0d', '\x0a', '\x23', '\x70', '\x72', '\x61', '\x67', '\x6d', '\x61', '\x20', '\x63', '\x6c', '\x61', '\x6e', '\x67', '\x20', '\x64', '\x69', '\x61', '\x67', '\x6e', '\x6f', '\x73', '\x74', '\x69', '\x63', '\x20', '\x69', '\x67', '\x6e', '\x6f', '\x72', '\x65', '\x64', '\x20', '\x22', '\x2d', '\x57', '\x65', '\x78', '\x69', '\x74', '\x2d', '\x74', '\x69', '\x6d', '\x65', '\x2d', '\x64', '\x65', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x6f', '\x72', '\x73', '\x22', '\x0d', '\x0a', '\x23', '\x70', '\x72', '\x61', '\x67', '\x6d', '\x61', '\x20', '\x63', '\x6c', '\x61', '\x6e', '\x67', '\x20', '\x64', '\x69', '\x61', '\x67', '\x6e', '\x6f', '\x73', '\x74', '\x69', '\x63', '\x20', '\x69', '\x67', '\x6e', '\x6f', '\x72', '\x65', '\x64', '\x20', '\x22', '\x2d', '\x57', '\x73', '\x68', '\x61', '\x64', '\x6f', '\x77', '\x22', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x63', '\x6c', '\x61', '\x72', '\x61', '\x2e', '\x68', '\x70', '\x70', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x43', '\x6f', '\x70', '\x79', '\x72', '\x69', '\x67', '\x68', '\x74', '\x20', '\x32', '\x30', '\x31', '\x37', '\x20', '\x54', '\x77', '\x6f', '\x20', '\x42', '\x6c', '\x75', '\x65', '\x20', '\x43', '\x75', '\x62', '\x65', '\x73', '\x20', '\x4c', '\x74', '\x64', '\x2e', '\x20', '\x41', '\x6c', '\x6c', '\x20', '\x72', '\x69', '\x67', '\x68', '\x74', '\x73', '\x20', '\x72', '\x65', '\x73', '\x65', '\x72', '\x76', '\x65', '\x64', '\x2e', '\x0d', '\x0a', '\x2f', '\x2f', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x44', '\x69', '\x73', '\x74', '\x72', '\x69', '\x62', '\x75', '\x74', '\x65', '\x64', '\x20', '\x75', '\x6e', '\x64', '\x65', '\x72', '\x20', '\x74', '\x68', '\x65', '\x20', '\x42', '\x6f', '\x6f', '\x73', '\x74', '\x20', '\x53', '\x6f', '\x66', '\x74', '\x77', '\x61', '\x72', '\x65', '\x20', '\x4c', '\x69', '\x63', '\x65', '\x6e', '\x73', '\x65', '\x2c', '\x20', '\x56', '\x65', '\x72', '\x73', '\x69', '\x6f', '\x6e', '\x20', '\x31', '\x2e', '\x30', '\x2e', '\x20', '\x28', '\x53', '\x65', '\x65', '\x20', '\x61', '\x63', '\x63', '\x6f', '\x6d', '\x70', '\x61', '\x6e', '\x79', '\x69', '\x6e', '\x67', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x66', '\x69', '\x6c', '\x65', '\x20', '\x4c', '\x49', '\x43', '\x45', '\x4e', '\x53', '\x45', '\x5f', '\x31', '\x5f', '\x30', '\x2e', '\x74', '\x78', '\x74', '\x20', '\x6f', '\x72', '\x20', '\x63', '\x6f', '\x70', '\x79', '\x20', '\x61', '\x74', '\x20', '\x68', '\x74', '\x74', '\x70', '\x3a', '\x2f', '\x2f', '\x77', '\x77', '\x77', '\x2e', '\x62', '\x6f', '\x6f', '\x73', '\x74', '\x2e', '\x6f', '\x72', '\x67', '\x2f', '\x4c', '\x49', '\x43', '\x45', '\x4e', '\x53', '\x45', '\x5f', '\x31', '\x5f', '\x30', '\x2e', '\x74', '\x78', '\x74', '\x29', '\x0d', '\x0a', '\x2f', '\x2f', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x53', '\x65', '\x65', '\x20', '\x68', '\x74', '\x74', '\x70', '\x73', '\x3a', '\x2f', '\x2f', '\x67', '\x69', '\x74', '\x68', '\x75', '\x62', '\x2e', '\x63', '\x6f', '\x6d', '\x2f', '\x70', '\x68', '\x69', '\x6c', '\x73', '\x71', '\x75', '\x61', '\x72', '\x65', '\x64', '\x2f', '\x43', '\x6c', '\x61', '\x72', '\x61', '\x20', '\x66', '\x6f', '\x72', '\x20', '\x6d', '\x6f', '\x72', '\x65', '\x20', '\x64', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x73', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x43', '\x6c', '\x61', '\x72', '\x61', '\x20', '\x76', '\x31', '\x2e', '\x31', '\x2e', '\x35', '\x0d', '\x0a', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x6e', '\x64', '\x65', '\x66', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4c', '\x41', '\x52', '\x41', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x43', '\x4f', '\x4e', '\x53', '\x4f', '\x4c', '\x45', '\x5f', '\x57', '\x49', '\x44', '\x54', '\x48', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4c', '\x41', '\x52', '\x41', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x43', '\x4f', '\x4e', '\x53', '\x4f', '\x4c', '\x45', '\x5f', '\x57', '\x49', '\x44', '\x54', '\x48', '\x20', '\x38', '\x30', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x6e', '\x64', '\x65', '\x66', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4c', '\x41', '\x52', '\x41', '\x5f', '\x54', '\x45', '\x58', '\x54', '\x46', '\x4c', '\x4f', '\x57', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x43', '\x4f', '\x4e', '\x53', '\x4f', '\x4c', '\x45', '\x5f', '\x57', '\x49', '\x44', '\x54', '\x48', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4c', '\x41', '\x52', '\x41', '\x5f', '\x54', '\x45', '\x58', '\x54', '\x46', '\x4c', '\x4f', '\x57', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x43', '\x4f', '\x4e', '\x53', '\x4f', '\x4c', '\x45', '\x5f', '\x57', '\x49', '\x44', '\x54', '\x48', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4c', '\x41', '\x52', '\x41', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x43', '\x4f', '\x4e', '\x53', '\x4f', '\x4c', '\x45', '\x5f', '\x57', '\x49', '\x44', '\x54', '\x48', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x6e', '\x64', '\x65', '\x66', '\x20', '\x43', '\x4c', '\x41', '\x52', '\x41', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x4f', '\x50', '\x54', '\x49', '\x4f', '\x4e', '\x41', '\x4c', '\x5f', '\x54', '\x59', '\x50', '\x45', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x64', '\x65', '\x66', '\x20', '\x5f', '\x5f', '\x68', '\x61', '\x73', '\x5f', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x20', '\x5f', '\x5f', '\x68', '\x61', '\x73', '\x5f', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x28', '\x3c', '\x6f', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x61', '\x6c', '\x3e', '\x29', '\x20', '\x26', '\x26', '\x20', '\x5f', '\x5f', '\x63', '\x70', '\x6c', '\x75', '\x73', '\x70', '\x6c', '\x75', '\x73', '\x20', '\x3e', '\x3d', '\x20', '\x32', '\x30', '\x31', '\x37', '\x30', '\x33', '\x4c', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x6f', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x61', '\x6c', '\x3e', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x4c', '\x41', '\x52', '\x41', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x4f', '\x50', '\x54', '\x49', '\x4f', '\x4e', '\x41', '\x4c', '\x5f', '\x54', '\x59', '\x50', '\x45', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6f', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x61', '\x6c', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x2d', '\x2d', '\x2d', '\x2d', '\x2d', '\x2d', '\x2d', '\x2d', '\x2d', '\x2d', '\x2d', '\x20', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x64', '\x20', '\x66', '\x72', '\x6f', '\x6d', '\x20', '\x63', '\x6c', '\x61', '\x72', '\x61', '\x5f', '\x74', '\x65', '\x78', '\x74', '\x66', '\x6c', '\x6f', '\x77', '\x2e', '\x68', '\x70', '\x70', '\x20', '\x2d', '\x2d', '\x2d', '\x2d', '\x2d', '\x2d', '\x2d', '\x2d', '\x2d', '\x2d', '\x2d', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x54', '\x65', '\x78', '\x74', '\x46', '\x6c', '\x6f', '\x77', '\x43', '\x70', '\x70', '\x0d', '\x0a', '\x2f', '\x2f', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x41', '\x20', '\x73', '\x69', '\x6e', '\x67', '\x6c', '\x65', '\x2d', '\x68', '\x65', '\x61', '\x64', '\x65', '\x72', '\x20', '\x6c', '\x69', '\x62', '\x72', '\x61', '\x72', '\x79', '\x20', '\x66', '\x6f', '\x72', '\x20', '\x77', '\x72', '\x61', '\x70', '\x70', '\x69', '\x6e', '\x67', '\x20', '\x61', '\x6e', '\x64', '\x20', '\x6c', '\x61', '\x79', '\x69', '\x6e', '\x67', '\x20', '\x6f', '\x75', '\x74', '\x20', '\x62', '\x61', '\x73', '\x69', '\x63', '\x20', '\x74', '\x65', '\x78', '\x74', '\x2c', '\x20', '\x62', '\x79', '\x20', '\x50', '\x68', '\x69', '\x6c', '\x20', '\x4e', '\x61', '\x73', '\x68', '\x0d', '\x0a', '\x2f', '\x2f', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x44', '\x69', '\x73', '\x74', '\x72', '\x69', '\x62', '\x75', '\x74', '\x65', '\x64', '\x20', '\x75', '\x6e', '\x64', '\x65', '\x72', '\x20', '\x74', '\x68', '\x65', '\x20', '\x42', '\x6f', '\x6f', '\x73', '\x74', '\x20', '\x53', '\x6f', '\x66', '\x74', '\x77', '\x61', '\x72', '\x65', '\x20', '\x4c', '\x69', '\x63', '\x65', '\x6e', '\x73', '\x65', '\x2c', '\x20', '\x56', '\x65', '\x72', '\x73', '\x69', '\x6f', '\x6e', '\x20', '\x31', '\x2e', '\x30', '\x2e', '\x20', '\x28', '\x53', '\x65', '\x65', '\x20', '\x61', '\x63', '\x63', '\x6f', '\x6d', '\x70', '\x61', '\x6e', '\x79', '\x69', '\x6e', '\x67', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x66', '\x69', '\x6c', '\x65', '\x20', '\x4c', '\x49', '\x43', '\x45', '\x4e', '\x53', '\x45', '\x2e', '\x74', '\x78', '\x74', '\x20', '\x6f', '\x72', '\x20', '\x63', '\x6f', '\x70', '\x79', '\x20', '\x61', '\x74', '\x20', '\x68', '\x74', '\x74', '\x70', '\x3a', '\x2f', '\x2f', '\x77', '\x77', '\x77', '\x2e', '\x62', '\x6f', '\x6f', '\x73', '\x74', '\x2e', '\x6f', '\x72', '\x67', '\x2f', '\x4c', '\x49', '\x43', '\x45', '\x4e', '\x53', '\x45', '\x5f', '\x31', '\x5f', '\x30', '\x2e', '\x74', '\x78', '\x74', '\x29', '\x0d', '\x0a', '\x2f', '\x2f', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x54', '\x68', '\x69', '\x73', '\x20', '\x70', '\x72', '\x6f', '\x6a', '\x65', '\x63', '\x74', '\x20', '\x69', '\x73', '\x20', '\x68', '\x6f', '\x73', '\x74', '\x65', '\x64', '\x20', '\x61', '\x74', '\x20', '\x68', '\x74', '\x74', '\x70', '\x73', '\x3a', '\x2f', '\x2f', '\x67', '\x69', '\x74', '\x68', '\x75', '\x62', '\x2e', '\x63', '\x6f', '\x6d', '\x2f', '\x70', '\x68', '\x69', '\x6c', '\x73', '\x71', '\x75', '\x61', '\x72', '\x65', '\x64', '\x2f', '\x74', '\x65', '\x78', '\x74', '\x66', '\x6c', '\x6f', '\x77', '\x63', '\x70', '\x70', '\x0d', '\x0a', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x63', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x3e', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x6f', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x3e', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x73', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x3e', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3e', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x6e', '\x64', '\x65', '\x66', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4c', '\x41', '\x52', '\x41', '\x5f', '\x54', '\x45', '\x58', '\x54', '\x46', '\x4c', '\x4f', '\x57', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x43', '\x4f', '\x4e', '\x53', '\x4f', '\x4c', '\x45', '\x5f', '\x57', '\x49', '\x44', '\x54', '\x48', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4c', '\x41', '\x52', '\x41', '\x5f', '\x54', '\x45', '\x58', '\x54', '\x46', '\x4c', '\x4f', '\x57', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x43', '\x4f', '\x4e', '\x53', '\x4f', '\x4c', '\x45', '\x5f', '\x57', '\x49', '\x44', '\x54', '\x48', '\x20', '\x38', '\x30', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x63', '\x6c', '\x61', '\x72', '\x61', '\x20', '\x7b', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x54', '\x65', '\x78', '\x74', '\x46', '\x6c', '\x6f', '\x77', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x69', '\x6e', '\x6c', '\x69', '\x6e', '\x65', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x69', '\x73', '\x57', '\x68', '\x69', '\x74', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x28', '\x63', '\x68', '\x61', '\x72', '\x20', '\x63', '\x29', '\x20', '\x2d', '\x3e', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x7b', '\x0d', '\x0a', '\x09', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x68', '\x61', '\x72', '\x73', '\x20', '\x3d', '\x20', '\x22', '\x20', '\x5c', '\x74', '\x5c', '\x6e', '\x5c', '\x72', '\x22', '\x3b', '\x0d', '\x0a', '\x09', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x63', '\x68', '\x61', '\x72', '\x73', '\x2e', '\x66', '\x69', '\x6e', '\x64', '\x28', '\x63', '\x29', '\x20', '\x21', '\x3d', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x3a', '\x3a', '\x6e', '\x70', '\x6f', '\x73', '\x3b', '\x0d', '\x0a', '\x7d', '\x0d', '\x0a', '\x69', '\x6e', '\x6c', '\x69', '\x6e', '\x65', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x69', '\x73', '\x42', '\x72', '\x65', '\x61', '\x6b', '\x61', '\x62', '\x6c', '\x65', '\x42', '\x65', '\x66', '\x6f', '\x72', '\x65', '\x28', '\x63', '\x68', '\x61', '\x72', '\x20', '\x63', '\x29', '\x20', '\x2d', '\x3e', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x7b', '\x0d', '\x0a', '\x09', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x68', '\x61', '\x72', '\x73', '\x20', '\x3d', '\x20', '\x22', '\x5b', '\x28', '\x7b', '\x3c', '\x7c', '\x22', '\x3b', '\x0d', '\x0a', '\x09', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x63', '\x68', '\x61', '\x72', '\x73', '\x2e', '\x66', '\x69', '\x6e', '\x64', '\x28', '\x63', '\x29', '\x20', '\x21', '\x3d', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x3a', '\x3a', '\x6e', '\x70', '\x6f', '\x73', '\x3b', '\x0d', '\x0a', '\x7d', '\x0d', '\x0a', '\x69', '\x6e', '\x6c', '\x69', '\x6e', '\x65', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x69', '\x73', '\x42', '\x72', '\x65', '\x61', '\x6b', '\x61', '\x62', '\x6c', '\x65', '\x41', '\x66', '\x74', '\x65', '\x72', '\x28', '\x63', '\x68', '\x61', '\x72', '\x20', '\x63', '\x29', '\x20', '\x2d', '\x3e', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x7b', '\x0d', '\x0a', '\x09', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x68', '\x61', '\x72', '\x73', '\x20', '\x3d', '\x20', '\x22', '\x5d', '\x29', '\x7d', '\x3e', '\x2e', '\x2c', '\x3a', '\x3b', '\x2a', '\x2b', '\x2d', '\x3d', '\x26', '\x2f', '\x5c', '\x5c', '\x22', '\x3b', '\x0d', '\x0a', '\x09', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x63', '\x68', '\x61', '\x72', '\x73', '\x2e', '\x66', '\x69', '\x6e', '\x64', '\x28', '\x63', '\x29', '\x20', '\x21', '\x3d', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x3a', '\x3a', '\x6e', '\x70', '\x6f', '\x73', '\x3b', '\x0d', '\x0a', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x20', '\x43', '\x6f', '\x6c', '\x75', '\x6d', '\x6e', '\x73', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x20', '\x43', '\x6f', '\x6c', '\x75', '\x6d', '\x6e', '\x20', '\x7b', '\x0d', '\x0a', '\x09', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x3e', '\x20', '\x6d', '\x5f', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x73', '\x3b', '\x0d', '\x0a', '\x09', '\x73', '\x69', '\x7a', '\x65', '\x5f', '\x74', '\x20', '\x6d', '\x5f', '\x77', '\x69', '\x64', '\x74', '\x68', '\x20', '\x3d', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4c', '\x41', '\x52', '\x41', '\x5f', '\x54', '\x45', '\x58', '\x54', '\x46', '\x4c', '\x4f', '\x57', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x43', '\x4f', '\x4e', '\x53', '\x4f', '\x4c', '\x45', '\x5f', '\x57', '\x49', '\x44', '\x54', '\x48', '\x3b', '\x0d', '\x0a', '\x09', '\x73', '\x69', '\x7a', '\x65', '\x5f', '\x74', '\x20', '\x6d', '\x5f', '\x69', '\x6e', '\x64', '\x65', '\x6e', '\x74', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x09', '\x73', '\x69', '\x7a', '\x65', '\x5f', '\x74', '\x20', '\x6d', '\x5f', '\x69', '\x6e', '\x69', '\x74', '\x69', '\x61', '\x6c', '\x49', '\x6e', '\x64', '\x65', '\x6e', '\x74', '\x20', '\x3d', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x3a', '\x3a', '\x6e', '\x70', '\x6f', '\x73', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x70', '\x75', '\x62', '\x6c', '\x69', '\x63', '\x3a', '\x0d', '\x0a', '\x09', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x20', '\x69', '\x74', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x7b', '\x0d', '\x0a', '\x09', '\x09', '\x66', '\x72', '\x69', '\x65', '\x6e', '\x64', '\x20', '\x43', '\x6f', '\x6c', '\x75', '\x6d', '\x6e', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x09', '\x09', '\x43', '\x6f', '\x6c', '\x75', '\x6d', '\x6e', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6d', '\x5f', '\x63', '\x6f', '\x6c', '\x75', '\x6d', '\x6e', '\x3b', '\x0d', '\x0a', '\x09', '\x09', '\x73', '\x69', '\x7a', '\x65', '\x5f', '\x74', '\x20', '\x6d', '\x5f', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x49', '\x6e', '\x64', '\x65', '\x78', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x09', '\x09', '\x73', '\x69', '\x7a', '\x65', '\x5f', '\x74', '\x20', '\x6d', '\x5f', '\x70', '\x6f', '\x73', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x09', '\x09', '\x73', '\x69', '\x7a', '\x65', '\x5f', '\x74', '\x20', '\x6d', '\x5f', '\x6c', '\x65', '\x6e', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x09', '\x09', '\x73', '\x69', '\x7a', '\x65', '\x5f', '\x74', '\x20', '\x6d', '\x5f', '\x65', '\x6e', '\x64', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x09', '\x09', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x6d', '\x5f', '\x73', '\x75', '\x66', '\x66', '\x69', '\x78', '\x20', '\x3d', '\x20', '\x66', '\x61', '\x6c', '\x73', '\x65', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x09', '\x09', '\x69', '\x74', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x28', '\x43', '\x6f', '\x6c', '\x75', '\x6d', '\x6e', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x63', '\x6f', '\x6c', '\x75', '\x6d', '\x6e', '\x2c', '\x20', '\x73', '\x69', '\x7a', '\x65', '\x5f', '\x74', '\x20', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x49', '\x6e', '\x64', '\x65', '\x78', '\x29', '\x0d', '\x0a', '\x09', '\x09', '\x09', '\x3a', '\x20', '\x6d', '\x5f', '\x63', '\x6f', '\x6c', '\x75', '\x6d', '\x6e', '\x28', '\x63', '\x6f', '\x6c', '\x75', '\x6d', '\x6e', '\x29', '\x2c', '\x0d', '\x0a', '\x09', '\x09', '\x09', '\x6d', '\x5f', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x49', '\x6e', '\x64', '\x65', '\x78', '\x28', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x49', '\x6e', '\x64', '\x65', '\x78', '\x29', '\x20', '\x7b', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x09', '\x09', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x6c', '\x69', '\x6e', '\x65', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x2d', '\x3e', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x7b', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6d', '\x5f', '\x63', '\x6f', '\x6c', '\x75', '\x6d', '\x6e', '\x2e', '\x6d', '\x5f', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x73', '\x5b', '\x6d', '\x5f', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x49', '\x6e', '\x64', '\x65', '\x78', '\x5d', '\x3b', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x09', '\x09', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x69', '\x73', '\x42', '\x6f', '\x75', '\x6e', '\x64', '\x61', '\x72', '\x79', '\x28', '\x73', '\x69', '\x7a', '\x65', '\x5f', '\x74', '\x20', '\x61', '\x74', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x2d', '\x3e', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x7b', '\x0d', '\x0a', '\x09', '\x09', '\x09', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x28', '\x61', '\x74', '\x20', '\x3e', '\x20', '\x30', '\x29', '\x3b', '\x0d', '\x0a', '\x09', '\x09', '\x09', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x28', '\x61', '\x74', '\x20', '\x3c', '\x3d', '\x20', '\x6c', '\x69', '\x6e', '\x65', '\x28', '\x29', '\x2e', '\x73', '\x69', '\x7a', '\x65', '\x28', '\x29', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x09', '\x09', '\x09', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x61', '\x74', '\x20', '\x3d', '\x3d', '\x20', '\x6c', '\x69', '\x6e', '\x65', '\x28', '\x29', '\x2e', '\x73', '\x69', '\x7a', '\x65', '\x28', '\x29', '\x20', '\x7c', '\x7c', '\x0d', '\x0a', '\x09', '\x09', '\x09', '\x09', '\x28', '\x69', '\x73', '\x57', '\x68', '\x69', '\x74', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x28', '\x6c', '\x69', '\x6e', '\x65', '\x28', '\x29', '\x5b', '\x61', '\x74', '\x5d', '\x29', '\x20', '\x26', '\x26', '\x20', '\x21', '\x69', '\x73', '\x57', '\x68', '\x69', '\x74', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x28', '\x6c', '\x69', '\x6e', '\x65', '\x28', '\x29', '\x5b', '\x61', '\x74', '\x20', '\x2d', '\x20', '\x31', '\x5d', '\x29', '\x29', '\x20', '\x7c', '\x7c', '\x0d', '\x0a', '\x09', '\x09', '\x09', '\x09', '\x69', '\x73', '\x42', '\x72', '\x65', '\x61', '\x6b', '\x61', '\x62', '\x6c', '\x65', '\x42', '\x65', '\x66', '\x6f', '\x72', '\x65', '\x28', '\x6c', '\x69', '\x6e', '\x65', '\x28', '\x29', '\x5b', '\x61', '\x74', '\x5d', '\x29', '\x20', '\x7c', '\x7c', '\x0d', '\x0a', '\x09', '\x09', '\x09', '\x09', '\x69', '\x73', '\x42', '\x72', '\x65', '\x61', '\x6b', '\x61', '\x62', '\x6c', '\x65', '\x41', '\x66', '\x74', '\x65', '\x72', '\x28', '\x6c', '\x69', '\x6e', '\x65', '\x28', '\x29', '\x5b', '\x61', '\x74', '\x20', '\x2d', '\x20', '\x31', '\x5d', '\x29', '\x3b', '\x0d', '\x0a', '\x09', '\x09', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x09', '\x09', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x63', '\x61', '\x6c', '\x63', '\x4c', '\x65', '\x6e', '\x67', '\x74', '\x68', '\x28', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x09', '\x09', '\x09', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x28', '\x6d', '\x5f', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x49', '\x6e', '\x64', '\x65', '\x78', '\x20', '\x3c', '\x20', '\x6d', '\x5f', '\x63', '\x6f', '\x6c', '\x75', '\x6d', '\x6e', '\x2e', '\x6d', '\x5f', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x73', '\x2e', '\x73', '\x69', '\x7a', '\x65', '\x28', '\x29', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x09', '\x09', '\x09', '\x6d', '\x5f', '\x73', '\x75', '\x66', '\x66', '\x69', '\x78', '\x20', '\x3d', '\x20', '\x66', '\x61', '\x6c', '\x73', '\x65', '\x3b', '\x0d', '\x0a', '\x09', '\x09', '\x09', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x77', '\x69', '\x64', '\x74', '\x68', '\x20', '\x3d', '\x20', '\x6d', '\x5f', '\x63', '\x6f', '\x6c', '\x75', '\x6d', '\x6e', '\x2e', '\x6d', '\x5f', '\x77', '\x69', '\x64', '\x74', '\x68', '\x20', '\x2d', '\x20', '\x69', '\x6e', '\x64', '\x65', '\x6e', '\x74', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x09', '\x09', '\x09', '\x6d', '\x5f', '\x65', '\x6e', '\x64', '\x20', '\x3d', '\x20', '\x6d', '\x5f', '\x70', '\x6f', '\x73', '\x3b', '\x0d', '\x0a', '\x09', '\x09', '\x09', '\x69', '\x66', '\x20', '\x28', '\x6c', '\x69', '\x6e', '\x65', '\x28', '\x29', '\x5b', '\x6d', '\x5f', '\x70', '\x6f', '\x73', '\x5d', '\x20', '\x3d', '\x3d', '\x20', '\x27', '\x5c', '\x6e', '\x27', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x09', '\x09', '\x09', '\x09', '\x2b', '\x2b', '\x6d', '\x5f', '\x65', '\x6e', '\x64', '\x3b', '\x0d', '\x0a', '\x09', '\x09', '\x09', '\x7d', '\x0d', '\x0a', '\x09', '\x09', '\x09', '\x77', '\x68', '\x69', '\x6c', '\x65', '\x20', '\x28', '\x6d', '\x5f', '\x65', '\x6e', '\x64', '\x20', '\x3c', '\x20', '\x6c', '\x69', '\x6e', '\x65', '\x28', '\x29', '\x2e', '\x73', '\x69', '\x7a', '\x65', '\x28', '\x29', '\x20', '\x26', '\x26', '\x20', '\x6c', '\x69', '\x6e', '\x65', '\x28', '\x29', '\x5b', '\x6d', '\x5f', '\x65', '\x6e', '\x64', '\x5d', '\x20', '\x21', '\x3d', '\x20', '\x27', '\x5c', '\x6e', '\x27', '\x29', '\x0d', '\x0a', '\x09', '\x09', '\x09', '\x09', '\x2b', '\x2b', '\x6d', '\x5f', '\x65', '\x6e', '\x64', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x09', '\x09', '\x09', '\x69', '\x66', '\x20', '\x28', '\x6d', '\x5f', '\x65', '\x6e', '\x64', '\x20', '\x3c', '\x20', '\x6d', '\x5f', '\x70', '\x6f', '\x73', '\x20', '\x2b', '\x20', '\x77', '\x69', '\x64', '\x74', '\x68', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x09', '\x09', '\x09', '\x09', '\x6d', '\x5f', '\x6c', '\x65', '\x6e', '\x20', '\x3d', '\x20', '\x6d', '\x5f', '\x65', '\x6e', '\x64', '\x20', '\x2d', '\x20', '\x6d', '\x5f', '\x70', '\x6f', '\x73', '\x3b', '\x0d', '\x0a', '\x09', '\x09', '\x09', '\x7d', '\x20', '\x65', '\x6c', '\x73', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x09', '\x09', '\x09', '\x09', '\x73', '\x69', '\x7a', '\x65', '\x5f', '\x74', '\x20', '\x6c', '\x65', '\x6e', '\x20', '\x3d', '\x20', '\x77', '\x69', '\x64', '\x74', '\x68', '\x3b', '\x0d', '\x0a', '\x09', '\x09', '\x09', '\x09', '\x77', '\x68', '\x69', '\x6c', '\x65', '\x20', '\x28', '\x6c', '\x65', '\x6e', '\x20', '\x3e', '\x20', '\x30', '\x20', '\x26', '\x26', '\x20', '\x21', '\x69', '\x73', '\x42', '\x6f', '\x75', '\x6e', '\x64', '\x61', '\x72', '\x79', '\x28', '\x6d', '\x5f', '\x70', '\x6f', '\x73', '\x20', '\x2b', '\x20', '\x6c', '\x65', '\x6e', '\x29', '\x29', '\x0d', '\x0a', '\x09', '\x09', '\x09', '\x09', '\x09', '\x2d', '\x2d', '\x6c', '\x65', '\x6e', '\x3b', '\x0d', '\x0a', '\x09', '\x09', '\x09', '\x09', '\x77', '\x68', '\x69', '\x6c', '\x65', '\x20', '\x28', '\x6c', '\x65', '\x6e', '\x20', '\x3e', '\x20', '\x30', '\x20', '\x26', '\x26', '\x20', '\x69', '\x73', '\x57', '\x68', '\x69', '\x74', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x28', '\x6c', '\x69', '\x6e', '\x65', '\x28', '\x29', '\x5b', '\x6d', '\x5f', '\x70', '\x6f', '\x73', '\x20', '\x2b', '\x20', '\x6c', '\x65', '\x6e', '\x20', '\x2d', '\x20', '\x31', '\x5d', '\x29', '\x29', '\x0d', '\x0a', '\x09', '\x09', '\x09', '\x09', '\x09', '\x2d', '\x2d', '\x6c', '\x65', '\x6e', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x09', '\x09', '\x09', '\x09', '\x69', '\x66', '\x20', '\x28', '\x6c', '\x65', '\x6e', '\x20', '\x3e', '\x20', '\x30', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x09', '\x09', '\x09', '\x09', '\x09', '\x6d', '\x5f', '\x6c', '\x65', '\x6e', '\x20', '\x3d', '\x20', '\x6c', '\x65', '\x6e', '\x3b', '\x0d', '\x0a', '\x09', '\x09', '\x09', '\x09', '\x7d', '\x20', '\x65', '\x6c', '\x73', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x09', '\x09', '\x09', '\x09', '\x09', '\x6d', '\x5f', '\x73', '\x75', '\x66', '\x66', '\x69', '\x78', '\x20', '\x3d', '\x20', '\x74', '\x72', '\x75', '\x65', '\x3b', '\x0d', '\x0a', '\x09', '\x09', '\x09', '\x09', '\x09', '\x6d', '\x5f', '\x6c', '\x65', '\x6e', '\x20', '\x3d', '\x20', '\x77', '\x69', '\x64', '\x74', '\x68', '\x20', '\x2d', '\x20', '\x31', '\x3b', '\x0d', '\x0a', '\x09', '\x09', '\x09', '\x09', '\x7d', '\x0d', '\x0a', '\x09', '\x09', '\x09', '\x7d', '\x0d', '\x0a', '\x09', '\x09', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x09', '\x09', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x69', '\x6e', '\x64', '\x65', '\x6e', '\x74', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x2d', '\x3e', '\x20', '\x73', '\x69', '\x7a', '\x65', '\x5f', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x09', '\x09', '\x09', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x69', '\x6e', '\x69', '\x74', '\x69', '\x61', '\x6c', '\x20', '\x3d', '\x20', '\x6d', '\x5f', '\x70', '\x6f', '\x73', '\x20', '\x3d', '\x3d', '\x20', '\x30', '\x20', '\x26', '\x26', '\x20', '\x6d', '\x5f', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x49', '\x6e', '\x64', '\x65', '\x78', '\x20', '\x3d', '\x3d', '\x20', '\x30', '\x20', '\x3f', '\x20', '\x6d', '\x5f', '\x63', '\x6f', '\x6c', '\x75', '\x6d', '\x6e', '\x2e', '\x6d', '\x5f', '\x69', '\x6e', '\x69', '\x74', '\x69', '\x61', '\x6c', '\x49', '\x6e', '\x64', '\x65', '\x6e', '\x74', '\x20', '\x3a', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x3a', '\x3a', '\x6e', '\x70', '\x6f', '\x73', '\x3b', '\x0d', '\x0a', '\x09', '\x09', '\x09', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x69', '\x6e', '\x69', '\x74', '\x69', '\x61', '\x6c', '\x20', '\x3d', '\x3d', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x3a', '\x3a', '\x6e', '\x70', '\x6f', '\x73', '\x20', '\x3f', '\x20', '\x6d', '\x5f', '\x63', '\x6f', '\x6c', '\x75', '\x6d', '\x6e', '\x2e', '\x6d', '\x5f', '\x69', '\x6e', '\x64', '\x65', '\x6e', '\x74', '\x20', '\x3a', '\x20', '\x69', '\x6e', '\x69', '\x74', '\x69', '\x61', '\x6c', '\x3b', '\x0d', '\x0a', '\x09', '\x09', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x09', '\x09', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x61', '\x64', '\x64', '\x49', '\x6e', '\x64', '\x65', '\x6e', '\x74', '\x41', '\x6e', '\x64', '\x53', '\x75', '\x66', '\x66', '\x69', '\x78', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x26', '\x70', '\x6c', '\x61', '\x69', '\x6e', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x2d', '\x3e', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x7b', '\x0d', '\x0a', '\x09', '\x09', '\x09', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x28', '\x69', '\x6e', '\x64', '\x65', '\x6e', '\x74', '\x28', '\x29', '\x2c', '\x20', '\x27', '\x20', '\x27', '\x29', '\x20', '\x2b', '\x20', '\x28', '\x6d', '\x5f', '\x73', '\x75', '\x66', '\x66', '\x69', '\x78', '\x20', '\x3f', '\x20', '\x70', '\x6c', '\x61', '\x69', '\x6e', '\x20', '\x2b', '\x20', '\x22', '\x2d', '\x22', '\x20', '\x3a', '\x20', '\x70', '\x6c', '\x61', '\x69', '\x6e', '\x29', '\x3b', '\x0d', '\x0a', '\x09', '\x09', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x09', '\x70', '\x75', '\x62', '\x6c', '\x69', '\x63', '\x3a', '\x0d', '\x0a', '\x09', '\x09', '\x75', '\x73', '\x69', '\x6e', '\x67', '\x20', '\x64', '\x69', '\x66', '\x66', '\x65', '\x72', '\x65', '\x6e', '\x63', '\x65', '\x5f', '\x74', '\x79', '\x70', '\x65', '\x20', '\x3d', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x70', '\x74', '\x72', '\x64', '\x69', '\x66', '\x66', '\x5f', '\x74', '\x3b', '\x0d', '\x0a', '\x09', '\x09', '\x75', '\x73', '\x69', '\x6e', '\x67', '\x20', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x5f', '\x74', '\x79', '\x70', '\x65', '\x20', '\x3d', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x3b', '\x0d', '\x0a', '\x09', '\x09', '\x75', '\x73', '\x69', '\x6e', '\x67', '\x20', '\x70', '\x6f', '\x69', '\x6e', '\x74', '\x65', '\x72', '\x20', '\x3d', '\x20', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x5f', '\x74', '\x79', '\x70', '\x65', '\x20', '\x2a', '\x20', '\x3b', '\x0d', '\x0a', '\x09', '\x09', '\x75', '\x73', '\x69', '\x6e', '\x67', '\x20', '\x72', '\x65', '\x66', '\x65', '\x72', '\x65', '\x6e', '\x63', '\x65', '\x20', '\x3d', '\x20', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x5f', '\x74', '\x79', '\x70', '\x65', '\x20', '\x26', '\x20', '\x3b', '\x0d', '\x0a', '\x09', '\x09', '\x75', '\x73', '\x69', '\x6e', '\x67', '\x20', '\x69', '\x74', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x5f', '\x63', '\x61', '\x74', '\x65', '\x67', '\x6f', '\x72', '\x79', '\x20', '\x3d', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x66', '\x6f', '\x72', '\x77', '\x61', '\x72', '\x64', '\x5f', '\x69', '\x74', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x5f', '\x74', '\x61', '\x67', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x09', '\x09', '\x65', '\x78', '\x70', '\x6c', '\x69', '\x63', '\x69', '\x74', '\x20', '\x69', '\x74', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x28', '\x43', '\x6f', '\x6c', '\x75', '\x6d', '\x6e', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x63', '\x6f', '\x6c', '\x75', '\x6d', '\x6e', '\x29', '\x20', '\x3a', '\x20', '\x6d', '\x5f', '\x63', '\x6f', '\x6c', '\x75', '\x6d', '\x6e', '\x28', '\x63', '\x6f', '\x6c', '\x75', '\x6d', '\x6e', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x09', '\x09', '\x09', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x28', '\x6d', '\x5f', '\x63', '\x6f', '\x6c', '\x75', '\x6d', '\x6e', '\x2e', '\x6d', '\x5f', '\x77', '\x69', '\x64', '\x74', '\x68', '\x20', '\x3e', '\x20', '\x6d', '\x5f', '\x63', '\x6f', '\x6c', '\x75', '\x6d', '\x6e', '\x2e', '\x6d', '\x5f', '\x69', '\x6e', '\x64', '\x65', '\x6e', '\x74', '\x29', '\x3b', '\x0d', '\x0a', '\x09', '\x09', '\x09', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x28', '\x6d', '\x5f', '\x63', '\x6f', '\x6c', '\x75', '\x6d', '\x6e', '\x2e', '\x6d', '\x5f', '\x69', '\x6e', '\x69', '\x74', '\x69', '\x61', '\x6c', '\x49', '\x6e', '\x64', '\x65', '\x6e', '\x74', '\x20', '\x3d', '\x3d', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x3a', '\x3a', '\x6e', '\x70', '\x6f', '\x73', '\x20', '\x7c', '\x7c', '\x20', '\x6d', '\x5f', '\x63', '\x6f', '\x6c', '\x75', '\x6d', '\x6e', '\x2e', '\x6d', '\x5f', '\x77', '\x69', '\x64', '\x74', '\x68', '\x20', '\x3e', '\x20', '\x6d', '\x5f', '\x63', '\x6f', '\x6c', '\x75', '\x6d', '\x6e', '\x2e', '\x6d', '\x5f', '\x69', '\x6e', '\x69', '\x74', '\x69', '\x61', '\x6c', '\x49', '\x6e', '\x64', '\x65', '\x6e', '\x74', '\x29', '\x3b', '\x0d', '\x0a', '\x09', '\x09', '\x09', '\x63', '\x61', '\x6c', '\x63', '\x4c', '\x65', '\x6e', '\x67', '\x74', '\x68', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x09', '\x09', '\x09', '\x69', '\x66', '\x20', '\x28', '\x6d', '\x5f', '\x6c', '\x65', '\x6e', '\x20', '\x3d', '\x3d', '\x20', '\x30', '\x29', '\x0d', '\x0a', '\x09', '\x09', '\x09', '\x09', '\x6d', '\x5f', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x49', '\x6e', '\x64', '\x65', '\x78', '\x2b', '\x2b', '\x3b', '\x20', '\x2f', '\x2f', '\x20', '\x45', '\x6d', '\x70', '\x74', '\x79', '\x20', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x0d', '\x0a', '\x09', '\x09', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x09', '\x09', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x2a', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x2d', '\x3e', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x7b', '\x0d', '\x0a', '\x09', '\x09', '\x09', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x28', '\x6d', '\x5f', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x49', '\x6e', '\x64', '\x65', '\x78', '\x20', '\x3c', '\x20', '\x6d', '\x5f', '\x63', '\x6f', '\x6c', '\x75', '\x6d', '\x6e', '\x2e', '\x6d', '\x5f', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x73', '\x2e', '\x73', '\x69', '\x7a', '\x65', '\x28', '\x29', '\x29', '\x3b', '\x0d', '\x0a', '\x09', '\x09', '\x09', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x28', '\x6d', '\x5f', '\x70', '\x6f', '\x73', '\x20', '\x3c', '\x3d', '\x20', '\x6d', '\x5f', '\x65', '\x6e', '\x64', '\x29', '\x3b', '\x0d', '\x0a', '\x09', '\x09', '\x09', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x61', '\x64', '\x64', '\x49', '\x6e', '\x64', '\x65', '\x6e', '\x74', '\x41', '\x6e', '\x64', '\x53', '\x75', '\x66', '\x66', '\x69', '\x78', '\x28', '\x6c', '\x69', '\x6e', '\x65', '\x28', '\x29', '\x2e', '\x73', '\x75', '\x62', '\x73', '\x74', '\x72', '\x28', '\x6d', '\x5f', '\x70', '\x6f', '\x73', '\x2c', '\x20', '\x6d', '\x5f', '\x6c', '\x65', '\x6e', '\x29', '\x29', '\x3b', '\x0d', '\x0a', '\x09', '\x09', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x09', '\x09', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x2b', '\x2b', '\x28', '\x29', '\x20', '\x2d', '\x3e', '\x20', '\x69', '\x74', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x26', '\x20', '\x7b', '\x0d', '\x0a', '\x09', '\x09', '\x09', '\x6d', '\x5f', '\x70', '\x6f', '\x73', '\x20', '\x2b', '\x3d', '\x20', '\x6d', '\x5f', '\x6c', '\x65', '\x6e', '\x3b', '\x0d', '\x0a', '\x09', '\x09', '\x09', '\x69', '\x66', '\x20', '\x28', '\x6d', '\x5f', '\x70', '\x6f', '\x73', '\x20', '\x3c', '\x20', '\x6c', '\x69', '\x6e', '\x65', '\x28', '\x29', '\x2e', '\x73', '\x69', '\x7a', '\x65', '\x28', '\x29', '\x20', '\x26', '\x26', '\x20', '\x6c', '\x69', '\x6e', '\x65', '\x28', '\x29', '\x5b', '\x6d', '\x5f', '\x70', '\x6f', '\x73', '\x5d', '\x20', '\x3d', '\x3d', '\x20', '\x27', '\x5c', '\x6e', '\x27', '\x29', '\x0d', '\x0a', '\x09', '\x09', '\x09', '\x09', '\x6d', '\x5f', '\x70', '\x6f', '\x73', '\x20', '\x2b', '\x3d', '\x20', '\x31', '\x3b', '\x0d', '\x0a', '\x09', '\x09', '\x09', '\x65', '\x6c', '\x73', '\x65', '\x0d', '\x0a', '\x09', '\x09', '\x09', '\x09', '\x77', '\x68', '\x69', '\x6c', '\x65', '\x20', '\x28', '\x6d', '\x5f', '\x70', '\x6f', '\x73', '\x20', '\x3c', '\x20', '\x6c', '\x69', '\x6e', '\x65', '\x28', '\x29', '\x2e', '\x73', '\x69', '\x7a', '\x65', '\x28', '\x29', '\x20', '\x26', '\x26', '\x20', '\x69', '\x73', '\x57', '\x68', '\x69', '\x74', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x28', '\x6c', '\x69', '\x6e', '\x65', '\x28', '\x29', '\x5b', '\x6d', '\x5f', '\x70', '\x6f', '\x73', '\x5d', '\x29', '\x29', '\x0d', '\x0a', '\x09', '\x09', '\x09', '\x09', '\x09', '\x2b', '\x2b', '\x6d', '\x5f', '\x70', '\x6f', '\x73', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x09', '\x09', '\x09', '\x69', '\x66', '\x20', '\x28', '\x6d', '\x5f', '\x70', '\x6f', '\x73', '\x20', '\x3d', '\x3d', '\x20', '\x6c', '\x69', '\x6e', '\x65', '\x28', '\x29', '\x2e', '\x73', '\x69', '\x7a', '\x65', '\x28', '\x29', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x09', '\x09', '\x09', '\x09', '\x6d', '\x5f', '\x70', '\x6f', '\x73', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x09', '\x09', '\x09', '\x09', '\x2b', '\x2b', '\x6d', '\x5f', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x49', '\x6e', '\x64', '\x65', '\x78', '\x3b', '\x0d', '\x0a', '\x09', '\x09', '\x09', '\x7d', '\x0d', '\x0a', '\x09', '\x09', '\x09', '\x69', '\x66', '\x20', '\x28', '\x6d', '\x5f', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x49', '\x6e', '\x64', '\x65', '\x78', '\x20', '\x3c', '\x20', '\x6d', '\x5f', '\x63', '\x6f', '\x6c', '\x75', '\x6d', '\x6e', '\x2e', '\x6d', '\x5f', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x73', '\x2e', '\x73', '\x69', '\x7a', '\x65', '\x28', '\x29', '\x29', '\x0d', '\x0a', '\x09', '\x09', '\x09', '\x09', '\x63', '\x61', '\x6c', '\x63', '\x4c', '\x65', '\x6e', '\x67', '\x74', '\x68', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x09', '\x09', '\x09', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x2a', '\x74', '\x68', '\x69', '\x73', '\x3b', '\x0d', '\x0a', '\x09', '\x09', '\x7d', '\x0d', '\x0a', '\x09', '\x09', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x2b', '\x2b', '\x28', '\x69', '\x6e', '\x74', '\x29', '\x20', '\x2d', '\x3e', '\x20', '\x69', '\x74', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x7b', '\x0d', '\x0a', '\x09', '\x09', '\x09', '\x69', '\x74', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x70', '\x72', '\x65', '\x76', '\x28', '\x2a', '\x74', '\x68', '\x69', '\x73', '\x29', '\x3b', '\x0d', '\x0a', '\x09', '\x09', '\x09', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x2b', '\x2b', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x09', '\x09', '\x09', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x70', '\x72', '\x65', '\x76', '\x3b', '\x0d', '\x0a', '\x09', '\x09', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x09', '\x09', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x3d', '\x3d', '\x28', '\x69', '\x74', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6f', '\x74', '\x68', '\x65', '\x72', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x2d', '\x3e', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x7b', '\x0d', '\x0a', '\x09', '\x09', '\x09', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x0d', '\x0a', '\x09', '\x09', '\x09', '\x09', '\x6d', '\x5f', '\x70', '\x6f', '\x73', '\x20', '\x3d', '\x3d', '\x20', '\x6f', '\x74', '\x68', '\x65', '\x72', '\x2e', '\x6d', '\x5f', '\x70', '\x6f', '\x73', '\x20', '\x26', '\x26', '\x0d', '\x0a', '\x09', '\x09', '\x09', '\x09', '\x6d', '\x5f', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x49', '\x6e', '\x64', '\x65', '\x78', '\x20', '\x3d', '\x3d', '\x20', '\x6f', '\x74', '\x68', '\x65', '\x72', '\x2e', '\x6d', '\x5f', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x49', '\x6e', '\x64', '\x65', '\x78', '\x20', '\x26', '\x26', '\x0d', '\x0a', '\x09', '\x09', '\x09', '\x09', '\x26', '\x6d', '\x5f', '\x63', '\x6f', '\x6c', '\x75', '\x6d', '\x6e', '\x20', '\x3d', '\x3d', '\x20', '\x26', '\x6f', '\x74', '\x68', '\x65', '\x72', '\x2e', '\x6d', '\x5f', '\x63', '\x6f', '\x6c', '\x75', '\x6d', '\x6e', '\x3b', '\x0d', '\x0a', '\x09', '\x09', '\x7d', '\x0d', '\x0a', '\x09', '\x09', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x21', '\x3d', '\x28', '\x69', '\x74', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6f', '\x74', '\x68', '\x65', '\x72', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x2d', '\x3e', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x7b', '\x0d', '\x0a', '\x09', '\x09', '\x09', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x21', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x3d', '\x3d', '\x28', '\x6f', '\x74', '\x68', '\x65', '\x72', '\x29', '\x3b', '\x0d', '\x0a', '\x09', '\x09', '\x7d', '\x0d', '\x0a', '\x09', '\x7d', '\x3b', '\x0d', '\x0a', '\x09', '\x75', '\x73', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x5f', '\x69', '\x74', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x3d', '\x20', '\x69', '\x74', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x09', '\x65', '\x78', '\x70', '\x6c', '\x69', '\x63', '\x69', '\x74', '\x20', '\x43', '\x6f', '\x6c', '\x75', '\x6d', '\x6e', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x74', '\x65', '\x78', '\x74', '\x29', '\x20', '\x7b', '\x20', '\x6d', '\x5f', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x73', '\x2e', '\x70', '\x75', '\x73', '\x68', '\x5f', '\x62', '\x61', '\x63', '\x6b', '\x28', '\x74', '\x65', '\x78', '\x74', '\x29', '\x3b', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x09', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x77', '\x69', '\x64', '\x74', '\x68', '\x28', '\x73', '\x69', '\x7a', '\x65', '\x5f', '\x74', '\x20', '\x6e', '\x65', '\x77', '\x57', '\x69', '\x64', '\x74', '\x68', '\x29', '\x20', '\x2d', '\x3e', '\x20', '\x43', '\x6f', '\x6c', '\x75', '\x6d', '\x6e', '\x26', '\x20', '\x7b', '\x0d', '\x0a', '\x09', '\x09', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x28', '\x6e', '\x65', '\x77', '\x57', '\x69', '\x64', '\x74', '\x68', '\x20', '\x3e', '\x20', '\x30', '\x29', '\x3b', '\x0d', '\x0a', '\x09', '\x09', '\x6d', '\x5f', '\x77', '\x69', '\x64', '\x74', '\x68', '\x20', '\x3d', '\x20', '\x6e', '\x65', '\x77', '\x57', '\x69', '\x64', '\x74', '\x68', '\x3b', '\x0d', '\x0a', '\x09', '\x09', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x2a', '\x74', '\x68', '\x69', '\x73', '\x3b', '\x0d', '\x0a', '\x09', '\x7d', '\x0d', '\x0a', '\x09', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x69', '\x6e', '\x64', '\x65', '\x6e', '\x74', '\x28', '\x73', '\x69', '\x7a', '\x65', '\x5f', '\x74', '\x20', '\x6e', '\x65', '\x77', '\x49', '\x6e', '\x64', '\x65', '\x6e', '\x74', '\x29', '\x20', '\x2d', '\x3e', '\x20', '\x43', '\x6f', '\x6c', '\x75', '\x6d', '\x6e', '\x26', '\x20', '\x7b', '\x0d', '\x0a', '\x09', '\x09', '\x6d', '\x5f', '\x69', '\x6e', '\x64', '\x65', '\x6e', '\x74', '\x20', '\x3d', '\x20', '\x6e', '\x65', '\x77', '\x49', '\x6e', '\x64', '\x65', '\x6e', '\x74', '\x3b', '\x0d', '\x0a', '\x09', '\x09', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x2a', '\x74', '\x68', '\x69', '\x73', '\x3b', '\x0d', '\x0a', '\x09', '\x7d', '\x0d', '\x0a', '\x09', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x69', '\x6e', '\x69', '\x74', '\x69', '\x61', '\x6c', '\x49', '\x6e', '\x64', '\x65', '\x6e', '\x74', '\x28', '\x73', '\x69', '\x7a', '\x65', '\x5f', '\x74', '\x20', '\x6e', '\x65', '\x77', '\x49', '\x6e', '\x64', '\x65', '\x6e', '\x74', '\x29', '\x20', '\x2d', '\x3e', '\x20', '\x43', '\x6f', '\x6c', '\x75', '\x6d', '\x6e', '\x26', '\x20', '\x7b', '\x0d', '\x0a', '\x09', '\x09', '\x6d', '\x5f', '\x69', '\x6e', '\x69', '\x74', '\x69', '\x61', '\x6c', '\x49', '\x6e', '\x64', '\x65', '\x6e', '\x74', '\x20', '\x3d', '\x20', '\x6e', '\x65', '\x77', '\x49', '\x6e', '\x64', '\x65', '\x6e', '\x74', '\x3b', '\x0d', '\x0a', '\x09', '\x09', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x2a', '\x74', '\x68', '\x69', '\x73', '\x3b', '\x0d', '\x0a', '\x09', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x09', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x77', '\x69', '\x64', '\x74', '\x68', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x2d', '\x3e', '\x20', '\x73', '\x69', '\x7a', '\x65', '\x5f', '\x74', '\x20', '\x7b', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6d', '\x5f', '\x77', '\x69', '\x64', '\x74', '\x68', '\x3b', '\x20', '\x7d', '\x0d', '\x0a', '\x09', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x62', '\x65', '\x67', '\x69', '\x6e', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x2d', '\x3e', '\x20', '\x69', '\x74', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x7b', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x69', '\x74', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x28', '\x2a', '\x74', '\x68', '\x69', '\x73', '\x29', '\x3b', '\x20', '\x7d', '\x0d', '\x0a', '\x09', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x65', '\x6e', '\x64', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x2d', '\x3e', '\x20', '\x69', '\x74', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x7b', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x7b', '\x20', '\x2a', '\x74', '\x68', '\x69', '\x73', '\x2c', '\x20', '\x6d', '\x5f', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x73', '\x2e', '\x73', '\x69', '\x7a', '\x65', '\x28', '\x29', '\x20', '\x7d', '\x3b', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x09', '\x69', '\x6e', '\x6c', '\x69', '\x6e', '\x65', '\x20', '\x66', '\x72', '\x69', '\x65', '\x6e', '\x64', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6f', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x26', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x3c', '\x3c', '\x20', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6f', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x26', '\x20', '\x6f', '\x73', '\x2c', '\x20', '\x43', '\x6f', '\x6c', '\x75', '\x6d', '\x6e', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x63', '\x6f', '\x6c', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x09', '\x09', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x66', '\x69', '\x72', '\x73', '\x74', '\x20', '\x3d', '\x20', '\x74', '\x72', '\x75', '\x65', '\x3b', '\x0d', '\x0a', '\x09', '\x09', '\x66', '\x6f', '\x72', '\x20', '\x28', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x6c', '\x69', '\x6e', '\x65', '\x20', '\x3a', '\x20', '\x63', '\x6f', '\x6c', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x09', '\x09', '\x09', '\x69', '\x66', '\x20', '\x28', '\x66', '\x69', '\x72', '\x73', '\x74', '\x29', '\x0d', '\x0a', '\x09', '\x09', '\x09', '\x09', '\x66', '\x69', '\x72', '\x73', '\x74', '\x20', '\x3d', '\x20', '\x66', '\x61', '\x6c', '\x73', '\x65', '\x3b', '\x0d', '\x0a', '\x09', '\x09', '\x09', '\x65', '\x6c', '\x73', '\x65', '\x0d', '\x0a', '\x09', '\x09', '\x09', '\x09', '\x6f', '\x73', '\x20', '\x3c', '\x3c', '\x20', '\x22', '\x5c', '\x6e', '\x22', '\x3b', '\x0d', '\x0a', '\x09', '\x09', '\x09', '\x6f', '\x73', '\x20', '\x3c', '\x3c', '\x20', '\x6c', '\x69', '\x6e', '\x65', '\x3b', '\x0d', '\x0a', '\x09', '\x09', '\x7d', '\x0d', '\x0a', '\x09', '\x09', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6f', '\x73', '\x3b', '\x0d', '\x0a', '\x09', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x09', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x2b', '\x20', '\x28', '\x43', '\x6f', '\x6c', '\x75', '\x6d', '\x6e', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6f', '\x74', '\x68', '\x65', '\x72', '\x29', '\x2d', '\x3e', '\x43', '\x6f', '\x6c', '\x75', '\x6d', '\x6e', '\x73', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x09', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x74', '\x6f', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x2d', '\x3e', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x7b', '\x0d', '\x0a', '\x09', '\x09', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6f', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x20', '\x6f', '\x73', '\x73', '\x3b', '\x0d', '\x0a', '\x09', '\x09', '\x6f', '\x73', '\x73', '\x20', '\x3c', '\x3c', '\x20', '\x2a', '\x74', '\x68', '\x69', '\x73', '\x3b', '\x0d', '\x0a', '\x09', '\x09', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6f', '\x73', '\x73', '\x2e', '\x73', '\x74', '\x72', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x09', '\x7d', '\x0d', '\x0a', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x20', '\x53', '\x70', '\x61', '\x63', '\x65', '\x72', '\x20', '\x3a', '\x20', '\x70', '\x75', '\x62', '\x6c', '\x69', '\x63', '\x20', '\x43', '\x6f', '\x6c', '\x75', '\x6d', '\x6e', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x70', '\x75', '\x62', '\x6c', '\x69', '\x63', '\x3a', '\x0d', '\x0a', '\x09', '\x65', '\x78', '\x70', '\x6c', '\x69', '\x63', '\x69', '\x74', '\x20', '\x53', '\x70', '\x61', '\x63', '\x65', '\x72', '\x28', '\x73', '\x69', '\x7a', '\x65', '\x5f', '\x74', '\x20', '\x73', '\x70', '\x61', '\x63', '\x65', '\x57', '\x69', '\x64', '\x74', '\x68', '\x29', '\x20', '\x3a', '\x20', '\x43', '\x6f', '\x6c', '\x75', '\x6d', '\x6e', '\x28', '\x22', '\x22', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x09', '\x09', '\x77', '\x69', '\x64', '\x74', '\x68', '\x28', '\x73', '\x70', '\x61', '\x63', '\x65', '\x57', '\x69', '\x64', '\x74', '\x68', '\x29', '\x3b', '\x0d', '\x0a', '\x09', '\x7d', '\x0d', '\x0a', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x20', '\x43', '\x6f', '\x6c', '\x75', '\x6d', '\x6e', '\x73', '\x20', '\x7b', '\x0d', '\x0a', '\x09', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x43', '\x6f', '\x6c', '\x75', '\x6d', '\x6e', '\x3e', '\x20', '\x6d', '\x5f', '\x63', '\x6f', '\x6c', '\x75', '\x6d', '\x6e', '\x73', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x70', '\x75', '\x62', '\x6c', '\x69', '\x63', '\x3a', '\x0d', '\x0a', '\x0d', '\x0a', '\x09', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x20', '\x69', '\x74', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x7b', '\x0d', '\x0a', '\x09', '\x09', '\x66', '\x72', '\x69', '\x65', '\x6e', '\x64', '\x20', '\x43', '\x6f', '\x6c', '\x75', '\x6d', '\x6e', '\x73', '\x3b', '\x0d', '\x0a', '\x09', '\x09', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x45', '\x6e', '\x64', '\x54', '\x61', '\x67', '\x20', '\x7b', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x09', '\x09', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x43', '\x6f', '\x6c', '\x75', '\x6d', '\x6e', '\x3e', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6d', '\x5f', '\x63', '\x6f', '\x6c', '\x75', '\x6d', '\x6e', '\x73', '\x3b', '\x0d', '\x0a', '\x09', '\x09', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x43', '\x6f', '\x6c', '\x75', '\x6d', '\x6e', '\x3a', '\x3a', '\x69', '\x74', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x3e', '\x20', '\x6d', '\x5f', '\x69', '\x74', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x73', '\x3b', '\x0d', '\x0a', '\x09', '\x09', '\x73', '\x69', '\x7a', '\x65', '\x5f', '\x74', '\x20', '\x6d', '\x5f', '\x61', '\x63', '\x74', '\x69', '\x76', '\x65', '\x49', '\x74', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x73', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x09', '\x09', '\x69', '\x74', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x28', '\x43', '\x6f', '\x6c', '\x75', '\x6d', '\x6e', '\x73', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x63', '\x6f', '\x6c', '\x75', '\x6d', '\x6e', '\x73', '\x2c', '\x20', '\x45', '\x6e', '\x64', '\x54', '\x61', '\x67', '\x29', '\x0d', '\x0a', '\x09', '\x09', '\x09', '\x3a', '\x20', '\x6d', '\x5f', '\x63', '\x6f', '\x6c', '\x75', '\x6d', '\x6e', '\x73', '\x28', '\x63', '\x6f', '\x6c', '\x75', '\x6d', '\x6e', '\x73', '\x2e', '\x6d', '\x5f', '\x63', '\x6f', '\x6c', '\x75', '\x6d', '\x6e', '\x73', '\x29', '\x2c', '\x0d', '\x0a', '\x09', '\x09', '\x09', '\x6d', '\x5f', '\x61', '\x63', '\x74', '\x69', '\x76', '\x65', '\x49', '\x74', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x73', '\x28', '\x30', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x09', '\x09', '\x09', '\x6d', '\x5f', '\x69', '\x74', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x73', '\x2e', '\x72', '\x65', '\x73', '\x65', '\x72', '\x76', '\x65', '\x28', '\x6d', '\x5f', '\x63', '\x6f', '\x6c', '\x75', '\x6d', '\x6e', '\x73', '\x2e', '\x73', '\x69', '\x7a', '\x65', '\x28', '\x29', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x09', '\x09', '\x09', '\x66', '\x6f', '\x72', '\x20', '\x28', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x63', '\x6f', '\x6c', '\x20', '\x3a', '\x20', '\x6d', '\x5f', '\x63', '\x6f', '\x6c', '\x75', '\x6d', '\x6e', '\x73', '\x29', '\x0d', '\x0a', '\x09', '\x09', '\x09', '\x09', '\x6d', '\x5f', '\x69', '\x74', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x73', '\x2e', '\x70', '\x75', '\x73', '\x68', '\x5f', '\x62', '\x61', '\x63', '\x6b', '\x28', '\x63', '\x6f', '\x6c', '\x2e', '\x65', '\x6e', '\x64', '\x28', '\x29', '\x29', '\x3b', '\x0d', '\x0a', '\x09', '\x09', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x09', '\x70', '\x75', '\x62', '\x6c', '\x69', '\x63', '\x3a', '\x0d', '\x0a', '\x09', '\x09', '\x75', '\x73', '\x69', '\x6e', '\x67', '\x20', '\x64', '\x69', '\x66', '\x66', '\x65', '\x72', '\x65', '\x6e', '\x63', '\x65', '\x5f', '\x74', '\x79', '\x70', '\x65', '\x20', '\x3d', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x70', '\x74', '\x72', '\x64', '\x69', '\x66', '\x66', '\x5f', '\x74', '\x3b', '\x0d', '\x0a', '\x09', '\x09', '\x75', '\x73', '\x69', '\x6e', '\x67', '\x20', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x5f', '\x74', '\x79', '\x70', '\x65', '\x20', '\x3d', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x3b', '\x0d', '\x0a', '\x09', '\x09', '\x75', '\x73', '\x69', '\x6e', '\x67', '\x20', '\x70', '\x6f', '\x69', '\x6e', '\x74', '\x65', '\x72', '\x20', '\x3d', '\x20', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x5f', '\x74', '\x79', '\x70', '\x65', '\x20', '\x2a', '\x20', '\x3b', '\x0d', '\x0a', '\x09', '\x09', '\x75', '\x73', '\x69', '\x6e', '\x67', '\x20', '\x72', '\x65', '\x66', '\x65', '\x72', '\x65', '\x6e', '\x63', '\x65', '\x20', '\x3d', '\x20', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x5f', '\x74', '\x79', '\x70', '\x65', '\x20', '\x26', '\x20', '\x3b', '\x0d', '\x0a', '\x09', '\x09', '\x75', '\x73', '\x69', '\x6e', '\x67', '\x20', '\x69', '\x74', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x5f', '\x63', '\x61', '\x74', '\x65', '\x67', '\x6f', '\x72', '\x79', '\x20', '\x3d', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x66', '\x6f', '\x72', '\x77', '\x61', '\x72', '\x64', '\x5f', '\x69', '\x74', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x5f', '\x74', '\x61', '\x67', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x09', '\x09', '\x65', '\x78', '\x70', '\x6c', '\x69', '\x63', '\x69', '\x74', '\x20', '\x69', '\x74', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x28', '\x43', '\x6f', '\x6c', '\x75', '\x6d', '\x6e', '\x73', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x63', '\x6f', '\x6c', '\x75', '\x6d', '\x6e', '\x73', '\x29', '\x0d', '\x0a', '\x09', '\x09', '\x09', '\x3a', '\x20', '\x6d', '\x5f', '\x63', '\x6f', '\x6c', '\x75', '\x6d', '\x6e', '\x73', '\x28', '\x63', '\x6f', '\x6c', '\x75', '\x6d', '\x6e', '\x73', '\x2e', '\x6d', '\x5f', '\x63', '\x6f', '\x6c', '\x75', '\x6d', '\x6e', '\x73', '\x29', '\x2c', '\x0d', '\x0a', '\x09', '\x09', '\x09', '\x6d', '\x5f', '\x61', '\x63', '\x74', '\x69', '\x76', '\x65', '\x49', '\x74', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x73', '\x28', '\x6d', '\x5f', '\x63', '\x6f', '\x6c', '\x75', '\x6d', '\x6e', '\x73', '\x2e', '\x73', '\x69', '\x7a', '\x65', '\x28', '\x29', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x09', '\x09', '\x09', '\x6d', '\x5f', '\x69', '\x74', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x73', '\x2e', '\x72', '\x65', '\x73', '\x65', '\x72', '\x76', '\x65', '\x28', '\x6d', '\x5f', '\x63', '\x6f', '\x6c', '\x75', '\x6d', '\x6e', '\x73', '\x2e', '\x73', '\x69', '\x7a', '\x65', '\x28', '\x29', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x09', '\x09', '\x09', '\x66', '\x6f', '\x72', '\x20', '\x28', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x63', '\x6f', '\x6c', '\x20', '\x3a', '\x20', '\x6d', '\x5f', '\x63', '\x6f', '\x6c', '\x75', '\x6d', '\x6e', '\x73', '\x29', '\x0d', '\x0a', '\x09', '\x09', '\x09', '\x09', '\x6d', '\x5f', '\x69', '\x74', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x73', '\x2e', '\x70', '\x75', '\x73', '\x68', '\x5f', '\x62', '\x61', '\x63', '\x6b', '\x28', '\x63', '\x6f', '\x6c', '\x2e', '\x62', '\x65', '\x67', '\x69', '\x6e', '\x28', '\x29', '\x29', '\x3b', '\x0d', '\x0a', '\x09', '\x09', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x09', '\x09', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x3d', '\x3d', '\x28', '\x69', '\x74', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6f', '\x74', '\x68', '\x65', '\x72', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x2d', '\x3e', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x7b', '\x0d', '\x0a', '\x09', '\x09', '\x09', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6d', '\x5f', '\x69', '\x74', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x73', '\x20', '\x3d', '\x3d', '\x20', '\x6f', '\x74', '\x68', '\x65', '\x72', '\x2e', '\x6d', '\x5f', '\x69', '\x74', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x73', '\x3b', '\x0d', '\x0a', '\x09', '\x09', '\x7d', '\x0d', '\x0a', '\x09', '\x09', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x21', '\x3d', '\x28', '\x69', '\x74', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6f', '\x74', '\x68', '\x65', '\x72', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x2d', '\x3e', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x7b', '\x0d', '\x0a', '\x09', '\x09', '\x09', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6d', '\x5f', '\x69', '\x74', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x73', '\x20', '\x21', '\x3d', '\x20', '\x6f', '\x74', '\x68', '\x65', '\x72', '\x2e', '\x6d', '\x5f', '\x69', '\x74', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x73', '\x3b', '\x0d', '\x0a', '\x09', '\x09', '\x7d', '\x0d', '\x0a', '\x09', '\x09', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x2a', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x2d', '\x3e', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x7b', '\x0d', '\x0a', '\x09', '\x09', '\x09', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x72', '\x6f', '\x77', '\x2c', '\x20', '\x70', '\x61', '\x64', '\x64', '\x69', '\x6e', '\x67', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x09', '\x09', '\x09', '\x66', '\x6f', '\x72', '\x20', '\x28', '\x73', '\x69', '\x7a', '\x65', '\x5f', '\x74', '\x20', '\x69', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x20', '\x69', '\x20', '\x3c', '\x20', '\x6d', '\x5f', '\x63', '\x6f', '\x6c', '\x75', '\x6d', '\x6e', '\x73', '\x2e', '\x73', '\x69', '\x7a', '\x65', '\x28', '\x29', '\x3b', '\x20', '\x2b', '\x2b', '\x69', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x09', '\x09', '\x09', '\x09', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x77', '\x69', '\x64', '\x74', '\x68', '\x20', '\x3d', '\x20', '\x6d', '\x5f', '\x63', '\x6f', '\x6c', '\x75', '\x6d', '\x6e', '\x73', '\x5b', '\x69', '\x5d', '\x2e', '\x77', '\x69', '\x64', '\x74', '\x68', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x09', '\x09', '\x09', '\x09', '\x69', '\x66', '\x20', '\x28', '\x6d', '\x5f', '\x69', '\x74', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x73', '\x5b', '\x69', '\x5d', '\x20', '\x21', '\x3d', '\x20', '\x6d', '\x5f', '\x63', '\x6f', '\x6c', '\x75', '\x6d', '\x6e', '\x73', '\x5b', '\x69', '\x5d', '\x2e', '\x65', '\x6e', '\x64', '\x28', '\x29', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x09', '\x09', '\x09', '\x09', '\x09', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6c', '\x20', '\x3d', '\x20', '\x2a', '\x6d', '\x5f', '\x69', '\x74', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x73', '\x5b', '\x69', '\x5d', '\x3b', '\x0d', '\x0a', '\x09', '\x09', '\x09', '\x09', '\x09', '\x72', '\x6f', '\x77', '\x20', '\x2b', '\x3d', '\x20', '\x70', '\x61', '\x64', '\x64', '\x69', '\x6e', '\x67', '\x20', '\x2b', '\x20', '\x63', '\x6f', '\x6c', '\x3b', '\x0d', '\x0a', '\x09', '\x09', '\x09', '\x09', '\x09', '\x69', '\x66', '\x20', '\x28', '\x63', '\x6f', '\x6c', '\x2e', '\x73', '\x69', '\x7a', '\x65', '\x28', '\x29', '\x20', '\x3c', '\x20', '\x77', '\x69', '\x64', '\x74', '\x68', '\x29', '\x0d', '\x0a', '\x09', '\x09', '\x09', '\x09', '\x09', '\x09', '\x70', '\x61', '\x64', '\x64', '\x69', '\x6e', '\x67', '\x20', '\x3d', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x28', '\x77', '\x69', '\x64', '\x74', '\x68', '\x20', '\x2d', '\x20', '\x63', '\x6f', '\x6c', '\x2e', '\x73', '\x69', '\x7a', '\x65', '\x28', '\x29', '\x2c', '\x20', '\x27', '\x20', '\x27', '\x29', '\x3b', '\x0d', '\x0a', '\x09', '\x09', '\x09', '\x09', '\x09', '\x65', '\x6c', '\x73', '\x65', '\x0d', '\x0a', '\x09', '\x09', '\x09', '\x09', '\x09', '\x09', '\x70', '\x61', '\x64', '\x64', '\x69', '\x6e', '\x67', '\x20', '\x3d', '\x20', '\x22', '\x22', '\x3b', '\x0d', '\x0a', '\x09', '\x09', '\x09', '\x09', '\x7d', '\x20', '\x65', '\x6c', '\x73', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x09', '\x09', '\x09', '\x09', '\x09', '\x70', '\x61', '\x64', '\x64', '\x69', '\x6e', '\x67', '\x20', '\x2b', '\x3d', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x28', '\x77', '\x69', '\x64', '\x74', '\x68', '\x2c', '\x20', '\x27', '\x20', '\x27', '\x29', '\x3b', '\x0d', '\x0a', '\x09', '\x09', '\x09', '\x09', '\x7d', '\x0d', '\x0a', '\x09', '\x09', '\x09', '\x7d', '\x0d', '\x0a', '\x09', '\x09', '\x09', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x72', '\x6f', '\x77', '\x3b', '\x0d', '\x0a', '\x09', '\x09', '\x7d', '\x0d', '\x0a', '\x09', '\x09', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x2b', '\x2b', '\x28', '\x29', '\x20', '\x2d', '\x3e', '\x20', '\x69', '\x74', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x26', '\x20', '\x7b', '\x0d', '\x0a', '\x09', '\x09', '\x09', '\x66', '\x6f', '\x72', '\x20', '\x28', '\x73', '\x69', '\x7a', '\x65', '\x5f', '\x74', '\x20', '\x69', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x20', '\x69', '\x20', '\x3c', '\x20', '\x6d', '\x5f', '\x63', '\x6f', '\x6c', '\x75', '\x6d', '\x6e', '\x73', '\x2e', '\x73', '\x69', '\x7a', '\x65', '\x28', '\x29', '\x3b', '\x20', '\x2b', '\x2b', '\x69', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x09', '\x09', '\x09', '\x09', '\x69', '\x66', '\x20', '\x28', '\x6d', '\x5f', '\x69', '\x74', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x73', '\x5b', '\x69', '\x5d', '\x20', '\x21', '\x3d', '\x20', '\x6d', '\x5f', '\x63', '\x6f', '\x6c', '\x75', '\x6d', '\x6e', '\x73', '\x5b', '\x69', '\x5d', '\x2e', '\x65', '\x6e', '\x64', '\x28', '\x29', '\x29', '\x0d', '\x0a', '\x09', '\x09', '\x09', '\x09', '\x09', '\x2b', '\x2b', '\x6d', '\x5f', '\x69', '\x74', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x73', '\x5b', '\x69', '\x5d', '\x3b', '\x0d', '\x0a', '\x09', '\x09', '\x09', '\x7d', '\x0d', '\x0a', '\x09', '\x09', '\x09', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x2a', '\x74', '\x68', '\x69', '\x73', '\x3b', '\x0d', '\x0a', '\x09', '\x09', '\x7d', '\x0d', '\x0a', '\x09', '\x09', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x2b', '\x2b', '\x28', '\x69', '\x6e', '\x74', '\x29', '\x20', '\x2d', '\x3e', '\x20', '\x69', '\x74', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x7b', '\x0d', '\x0a', '\x09', '\x09', '\x09', '\x69', '\x74', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x70', '\x72', '\x65', '\x76', '\x28', '\x2a', '\x74', '\x68', '\x69', '\x73', '\x29', '\x3b', '\x0d', '\x0a', '\x09', '\x09', '\x09', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x2b', '\x2b', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x09', '\x09', '\x09', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x70', '\x72', '\x65', '\x76', '\x3b', '\x0d', '\x0a', '\x09', '\x09', '\x7d', '\x0d', '\x0a', '\x09', '\x7d', '\x3b', '\x0d', '\x0a', '\x09', '\x75', '\x73', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x5f', '\x69', '\x74', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x3d', '\x20', '\x69', '\x74', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x09', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x62', '\x65', '\x67', '\x69', '\x6e', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x2d', '\x3e', '\x20', '\x69', '\x74', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x7b', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x69', '\x74', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x28', '\x2a', '\x74', '\x68', '\x69', '\x73', '\x29', '\x3b', '\x20', '\x7d', '\x0d', '\x0a', '\x09', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x65', '\x6e', '\x64', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x2d', '\x3e', '\x20', '\x69', '\x74', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x7b', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x7b', '\x20', '\x2a', '\x74', '\x68', '\x69', '\x73', '\x2c', '\x20', '\x69', '\x74', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x3a', '\x3a', '\x45', '\x6e', '\x64', '\x54', '\x61', '\x67', '\x28', '\x29', '\x20', '\x7d', '\x3b', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x09', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x2b', '\x3d', '\x20', '\x28', '\x43', '\x6f', '\x6c', '\x75', '\x6d', '\x6e', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x63', '\x6f', '\x6c', '\x29', '\x20', '\x2d', '\x3e', '\x20', '\x43', '\x6f', '\x6c', '\x75', '\x6d', '\x6e', '\x73', '\x26', '\x20', '\x7b', '\x0d', '\x0a', '\x09', '\x09', '\x6d', '\x5f', '\x63', '\x6f', '\x6c', '\x75', '\x6d', '\x6e', '\x73', '\x2e', '\x70', '\x75', '\x73', '\x68', '\x5f', '\x62', '\x61', '\x63', '\x6b', '\x28', '\x63', '\x6f', '\x6c', '\x29', '\x3b', '\x0d', '\x0a', '\x09', '\x09', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x2a', '\x74', '\x68', '\x69', '\x73', '\x3b', '\x0d', '\x0a', '\x09', '\x7d', '\x0d', '\x0a', '\x09', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x2b', '\x20', '\x28', '\x43', '\x6f', '\x6c', '\x75', '\x6d', '\x6e', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x63', '\x6f', '\x6c', '\x29', '\x20', '\x2d', '\x3e', '\x20', '\x43', '\x6f', '\x6c', '\x75', '\x6d', '\x6e', '\x73', '\x20', '\x7b', '\x0d', '\x0a', '\x09', '\x09', '\x43', '\x6f', '\x6c', '\x75', '\x6d', '\x6e', '\x73', '\x20', '\x63', '\x6f', '\x6d', '\x62', '\x69', '\x6e', '\x65', '\x64', '\x20', '\x3d', '\x20', '\x2a', '\x74', '\x68', '\x69', '\x73', '\x3b', '\x0d', '\x0a', '\x09', '\x09', '\x63', '\x6f', '\x6d', '\x62', '\x69', '\x6e', '\x65', '\x64', '\x20', '\x2b', '\x3d', '\x20', '\x63', '\x6f', '\x6c', '\x3b', '\x0d', '\x0a', '\x09', '\x09', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x63', '\x6f', '\x6d', '\x62', '\x69', '\x6e', '\x65', '\x64', '\x3b', '\x0d', '\x0a', '\x09', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x09', '\x69', '\x6e', '\x6c', '\x69', '\x6e', '\x65', '\x20', '\x66', '\x72', '\x69', '\x65', '\x6e', '\x64', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6f', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x26', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x3c', '\x3c', '\x20', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6f', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x26', '\x20', '\x6f', '\x73', '\x2c', '\x20', '\x43', '\x6f', '\x6c', '\x75', '\x6d', '\x6e', '\x73', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x63', '\x6f', '\x6c', '\x73', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x09', '\x09', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x66', '\x69', '\x72', '\x73', '\x74', '\x20', '\x3d', '\x20', '\x74', '\x72', '\x75', '\x65', '\x3b', '\x0d', '\x0a', '\x09', '\x09', '\x66', '\x6f', '\x72', '\x20', '\x28', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x6c', '\x69', '\x6e', '\x65', '\x20', '\x3a', '\x20', '\x63', '\x6f', '\x6c', '\x73', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x09', '\x09', '\x09', '\x69', '\x66', '\x20', '\x28', '\x66', '\x69', '\x72', '\x73', '\x74', '\x29', '\x0d', '\x0a', '\x09', '\x09', '\x09', '\x09', '\x66', '\x69', '\x72', '\x73', '\x74', '\x20', '\x3d', '\x20', '\x66', '\x61', '\x6c', '\x73', '\x65', '\x3b', '\x0d', '\x0a', '\x09', '\x09', '\x09', '\x65', '\x6c', '\x73', '\x65', '\x0d', '\x0a', '\x09', '\x09', '\x09', '\x09', '\x6f', '\x73', '\x20', '\x3c', '\x3c', '\x20', '\x22', '\x5c', '\x6e', '\x22', '\x3b', '\x0d', '\x0a', '\x09', '\x09', '\x09', '\x6f', '\x73', '\x20', '\x3c', '\x3c', '\x20', '\x6c', '\x69', '\x6e', '\x65', '\x3b', '\x0d', '\x0a', '\x09', '\x09', '\x7d', '\x0d', '\x0a', '\x09', '\x09', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6f', '\x73', '\x3b', '\x0d', '\x0a', '\x09', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x09', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x74', '\x6f', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x2d', '\x3e', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x7b', '\x0d', '\x0a', '\x09', '\x09', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6f', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x20', '\x6f', '\x73', '\x73', '\x3b', '\x0d', '\x0a', '\x09', '\x09', '\x6f', '\x73', '\x73', '\x20', '\x3c', '\x3c', '\x20', '\x2a', '\x74', '\x68', '\x69', '\x73', '\x3b', '\x0d', '\x0a', '\x09', '\x09', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6f', '\x73', '\x73', '\x2e', '\x73', '\x74', '\x72', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x09', '\x7d', '\x0d', '\x0a', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x69', '\x6e', '\x6c', '\x69', '\x6e', '\x65', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x43', '\x6f', '\x6c', '\x75', '\x6d', '\x6e', '\x3a', '\x3a', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x2b', '\x20', '\x28', '\x43', '\x6f', '\x6c', '\x75', '\x6d', '\x6e', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6f', '\x74', '\x68', '\x65', '\x72', '\x29', '\x20', '\x2d', '\x3e', '\x20', '\x43', '\x6f', '\x6c', '\x75', '\x6d', '\x6e', '\x73', '\x20', '\x7b', '\x0d', '\x0a', '\x09', '\x43', '\x6f', '\x6c', '\x75', '\x6d', '\x6e', '\x73', '\x20', '\x63', '\x6f', '\x6c', '\x73', '\x3b', '\x0d', '\x0a', '\x09', '\x63', '\x6f', '\x6c', '\x73', '\x20', '\x2b', '\x3d', '\x20', '\x2a', '\x74', '\x68', '\x69', '\x73', '\x3b', '\x0d', '\x0a', '\x09', '\x63', '\x6f', '\x6c', '\x73', '\x20', '\x2b', '\x3d', '\x20', '\x6f', '\x74', '\x68', '\x65', '\x72', '\x3b', '\x0d', '\x0a', '\x09', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x63', '\x6f', '\x6c', '\x73', '\x3b', '\x0d', '\x0a', '\x7d', '\x0d', '\x0a', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x7d', '\x0d', '\x0a', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x2d', '\x2d', '\x2d', '\x2d', '\x2d', '\x2d', '\x2d', '\x2d', '\x2d', '\x2d', '\x2d', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x6f', '\x66', '\x20', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x66', '\x72', '\x6f', '\x6d', '\x20', '\x63', '\x6c', '\x61', '\x72', '\x61', '\x5f', '\x74', '\x65', '\x78', '\x74', '\x66', '\x6c', '\x6f', '\x77', '\x2e', '\x68', '\x70', '\x70', '\x20', '\x2d', '\x2d', '\x2d', '\x2d', '\x2d', '\x2d', '\x2d', '\x2d', '\x2d', '\x2d', '\x2d', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x2e', '\x2e', '\x2e', '\x2e', '\x2e', '\x2e', '\x2e', '\x2e', '\x2e', '\x2e', '\x2e', '\x20', '\x62', '\x61', '\x63', '\x6b', '\x20', '\x69', '\x6e', '\x20', '\x63', '\x6c', '\x61', '\x72', '\x61', '\x2e', '\x68', '\x70', '\x70', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x63', '\x63', '\x74', '\x79', '\x70', '\x65', '\x3e', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x3e', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x6d', '\x65', '\x6d', '\x6f', '\x72', '\x79', '\x3e', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x73', '\x65', '\x74', '\x3e', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x61', '\x6c', '\x67', '\x6f', '\x72', '\x69', '\x74', '\x68', '\x6d', '\x3e', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x20', '\x21', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x50', '\x4c', '\x41', '\x54', '\x46', '\x4f', '\x52', '\x4d', '\x5f', '\x57', '\x49', '\x4e', '\x44', '\x4f', '\x57', '\x53', '\x29', '\x20', '\x26', '\x26', '\x20', '\x28', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x57', '\x49', '\x4e', '\x33', '\x32', '\x29', '\x20', '\x7c', '\x7c', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x5f', '\x5f', '\x57', '\x49', '\x4e', '\x33', '\x32', '\x5f', '\x5f', '\x29', '\x20', '\x7c', '\x7c', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x5f', '\x57', '\x49', '\x4e', '\x33', '\x32', '\x29', '\x20', '\x7c', '\x7c', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x5f', '\x4d', '\x53', '\x43', '\x5f', '\x56', '\x45', '\x52', '\x29', '\x20', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x50', '\x4c', '\x41', '\x54', '\x46', '\x4f', '\x52', '\x4d', '\x5f', '\x57', '\x49', '\x4e', '\x44', '\x4f', '\x57', '\x53', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x63', '\x6c', '\x61', '\x72', '\x61', '\x20', '\x7b', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x64', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x54', '\x72', '\x61', '\x69', '\x74', '\x73', '\x20', '\x66', '\x6f', '\x72', '\x20', '\x65', '\x78', '\x74', '\x72', '\x61', '\x63', '\x74', '\x69', '\x6e', '\x67', '\x20', '\x61', '\x72', '\x67', '\x20', '\x61', '\x6e', '\x64', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x74', '\x79', '\x70', '\x65', '\x20', '\x6f', '\x66', '\x20', '\x6c', '\x61', '\x6d', '\x62', '\x64', '\x61', '\x73', '\x20', '\x28', '\x66', '\x6f', '\x72', '\x20', '\x73', '\x69', '\x6e', '\x67', '\x6c', '\x65', '\x20', '\x61', '\x72', '\x67', '\x75', '\x6d', '\x65', '\x6e', '\x74', '\x20', '\x6c', '\x61', '\x6d', '\x62', '\x64', '\x61', '\x73', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x4c', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x55', '\x6e', '\x61', '\x72', '\x79', '\x4c', '\x61', '\x6d', '\x62', '\x64', '\x61', '\x54', '\x72', '\x61', '\x69', '\x74', '\x73', '\x20', '\x3a', '\x20', '\x55', '\x6e', '\x61', '\x72', '\x79', '\x4c', '\x61', '\x6d', '\x62', '\x64', '\x61', '\x54', '\x72', '\x61', '\x69', '\x74', '\x73', '\x3c', '\x64', '\x65', '\x63', '\x6c', '\x74', '\x79', '\x70', '\x65', '\x28', '\x20', '\x26', '\x4c', '\x3a', '\x3a', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x28', '\x29', '\x20', '\x29', '\x3e', '\x20', '\x7b', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x43', '\x6c', '\x61', '\x73', '\x73', '\x54', '\x2c', '\x20', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x52', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x54', '\x2c', '\x20', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x2e', '\x2e', '\x2e', '\x20', '\x41', '\x72', '\x67', '\x73', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x55', '\x6e', '\x61', '\x72', '\x79', '\x4c', '\x61', '\x6d', '\x62', '\x64', '\x61', '\x54', '\x72', '\x61', '\x69', '\x74', '\x73', '\x3c', '\x52', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x54', '\x28', '\x20', '\x43', '\x6c', '\x61', '\x73', '\x73', '\x54', '\x3a', '\x3a', '\x2a', '\x20', '\x29', '\x28', '\x20', '\x41', '\x72', '\x67', '\x73', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x3e', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x69', '\x73', '\x56', '\x61', '\x6c', '\x69', '\x64', '\x20', '\x3d', '\x20', '\x66', '\x61', '\x6c', '\x73', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x43', '\x6c', '\x61', '\x73', '\x73', '\x54', '\x2c', '\x20', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x52', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x54', '\x2c', '\x20', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x41', '\x72', '\x67', '\x54', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x55', '\x6e', '\x61', '\x72', '\x79', '\x4c', '\x61', '\x6d', '\x62', '\x64', '\x61', '\x54', '\x72', '\x61', '\x69', '\x74', '\x73', '\x3c', '\x52', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x54', '\x28', '\x20', '\x43', '\x6c', '\x61', '\x73', '\x73', '\x54', '\x3a', '\x3a', '\x2a', '\x20', '\x29', '\x28', '\x20', '\x41', '\x72', '\x67', '\x54', '\x20', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x3e', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x69', '\x73', '\x56', '\x61', '\x6c', '\x69', '\x64', '\x20', '\x3d', '\x20', '\x74', '\x72', '\x75', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x75', '\x73', '\x69', '\x6e', '\x67', '\x20', '\x41', '\x72', '\x67', '\x54', '\x79', '\x70', '\x65', '\x20', '\x3d', '\x20', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x72', '\x65', '\x6d', '\x6f', '\x76', '\x65', '\x5f', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x72', '\x65', '\x6d', '\x6f', '\x76', '\x65', '\x5f', '\x72', '\x65', '\x66', '\x65', '\x72', '\x65', '\x6e', '\x63', '\x65', '\x3c', '\x41', '\x72', '\x67', '\x54', '\x3e', '\x3a', '\x3a', '\x74', '\x79', '\x70', '\x65', '\x3e', '\x3a', '\x3a', '\x74', '\x79', '\x70', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x75', '\x73', '\x69', '\x6e', '\x67', '\x20', '\x52', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x54', '\x79', '\x70', '\x65', '\x20', '\x3d', '\x20', '\x52', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x54', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x20', '\x54', '\x6f', '\x6b', '\x65', '\x6e', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x54', '\x72', '\x61', '\x6e', '\x73', '\x70', '\x6f', '\x72', '\x74', '\x20', '\x66', '\x6f', '\x72', '\x20', '\x72', '\x61', '\x77', '\x20', '\x61', '\x72', '\x67', '\x73', '\x20', '\x28', '\x63', '\x6f', '\x70', '\x69', '\x65', '\x64', '\x20', '\x66', '\x72', '\x6f', '\x6d', '\x20', '\x6d', '\x61', '\x69', '\x6e', '\x20', '\x61', '\x72', '\x67', '\x73', '\x2c', '\x20', '\x6f', '\x72', '\x20', '\x73', '\x75', '\x70', '\x70', '\x6c', '\x69', '\x65', '\x64', '\x20', '\x76', '\x69', '\x61', '\x20', '\x69', '\x6e', '\x69', '\x74', '\x20', '\x6c', '\x69', '\x73', '\x74', '\x20', '\x66', '\x6f', '\x72', '\x20', '\x74', '\x65', '\x73', '\x74', '\x69', '\x6e', '\x67', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x20', '\x41', '\x72', '\x67', '\x73', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x66', '\x72', '\x69', '\x65', '\x6e', '\x64', '\x20', '\x54', '\x6f', '\x6b', '\x65', '\x6e', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x6d', '\x5f', '\x65', '\x78', '\x65', '\x4e', '\x61', '\x6d', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x3e', '\x20', '\x6d', '\x5f', '\x61', '\x72', '\x67', '\x73', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x70', '\x75', '\x62', '\x6c', '\x69', '\x63', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x41', '\x72', '\x67', '\x73', '\x28', '\x20', '\x69', '\x6e', '\x74', '\x20', '\x61', '\x72', '\x67', '\x63', '\x2c', '\x20', '\x63', '\x68', '\x61', '\x72', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x2a', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x2a', '\x20', '\x61', '\x72', '\x67', '\x76', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x3a', '\x20', '\x6d', '\x5f', '\x65', '\x78', '\x65', '\x4e', '\x61', '\x6d', '\x65', '\x28', '\x61', '\x72', '\x67', '\x76', '\x5b', '\x30', '\x5d', '\x29', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x61', '\x72', '\x67', '\x73', '\x28', '\x61', '\x72', '\x67', '\x76', '\x20', '\x2b', '\x20', '\x31', '\x2c', '\x20', '\x61', '\x72', '\x67', '\x76', '\x20', '\x2b', '\x20', '\x61', '\x72', '\x67', '\x63', '\x29', '\x20', '\x7b', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x41', '\x72', '\x67', '\x73', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x69', '\x6e', '\x69', '\x74', '\x69', '\x61', '\x6c', '\x69', '\x7a', '\x65', '\x72', '\x5f', '\x6c', '\x69', '\x73', '\x74', '\x3c', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x3e', '\x20', '\x61', '\x72', '\x67', '\x73', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x3a', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x65', '\x78', '\x65', '\x4e', '\x61', '\x6d', '\x65', '\x28', '\x20', '\x2a', '\x61', '\x72', '\x67', '\x73', '\x2e', '\x62', '\x65', '\x67', '\x69', '\x6e', '\x28', '\x29', '\x20', '\x29', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x61', '\x72', '\x67', '\x73', '\x28', '\x20', '\x61', '\x72', '\x67', '\x73', '\x2e', '\x62', '\x65', '\x67', '\x69', '\x6e', '\x28', '\x29', '\x2b', '\x31', '\x2c', '\x20', '\x61', '\x72', '\x67', '\x73', '\x2e', '\x65', '\x6e', '\x64', '\x28', '\x29', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7b', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x65', '\x78', '\x65', '\x4e', '\x61', '\x6d', '\x65', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x2d', '\x3e', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6d', '\x5f', '\x65', '\x78', '\x65', '\x4e', '\x61', '\x6d', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x57', '\x72', '\x61', '\x70', '\x73', '\x20', '\x61', '\x20', '\x74', '\x6f', '\x6b', '\x65', '\x6e', '\x20', '\x63', '\x6f', '\x6d', '\x69', '\x6e', '\x67', '\x20', '\x66', '\x72', '\x6f', '\x6d', '\x20', '\x61', '\x20', '\x74', '\x6f', '\x6b', '\x65', '\x6e', '\x20', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x2e', '\x20', '\x54', '\x68', '\x65', '\x73', '\x65', '\x20', '\x6d', '\x61', '\x79', '\x20', '\x6e', '\x6f', '\x74', '\x20', '\x64', '\x69', '\x72', '\x65', '\x63', '\x74', '\x6c', '\x79', '\x20', '\x63', '\x6f', '\x72', '\x72', '\x65', '\x73', '\x70', '\x6f', '\x6e', '\x64', '\x20', '\x74', '\x6f', '\x20', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x73', '\x20', '\x61', '\x73', '\x20', '\x61', '\x20', '\x73', '\x69', '\x6e', '\x67', '\x6c', '\x65', '\x20', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x6d', '\x61', '\x79', '\x20', '\x65', '\x6e', '\x63', '\x6f', '\x64', '\x65', '\x20', '\x61', '\x6e', '\x20', '\x6f', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x2b', '\x20', '\x69', '\x74', '\x73', '\x20', '\x61', '\x72', '\x67', '\x75', '\x6d', '\x65', '\x6e', '\x74', '\x20', '\x69', '\x66', '\x20', '\x74', '\x68', '\x65', '\x20', '\x3a', '\x20', '\x6f', '\x72', '\x20', '\x3d', '\x20', '\x66', '\x6f', '\x72', '\x6d', '\x20', '\x69', '\x73', '\x20', '\x75', '\x73', '\x65', '\x64', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x65', '\x6e', '\x75', '\x6d', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x20', '\x54', '\x6f', '\x6b', '\x65', '\x6e', '\x54', '\x79', '\x70', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x4f', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x2c', '\x20', '\x41', '\x72', '\x67', '\x75', '\x6d', '\x65', '\x6e', '\x74', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x54', '\x6f', '\x6b', '\x65', '\x6e', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x54', '\x6f', '\x6b', '\x65', '\x6e', '\x54', '\x79', '\x70', '\x65', '\x20', '\x74', '\x79', '\x70', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x74', '\x6f', '\x6b', '\x65', '\x6e', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x69', '\x6e', '\x6c', '\x69', '\x6e', '\x65', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x69', '\x73', '\x4f', '\x70', '\x74', '\x50', '\x72', '\x65', '\x66', '\x69', '\x78', '\x28', '\x20', '\x63', '\x68', '\x61', '\x72', '\x20', '\x63', '\x20', '\x29', '\x20', '\x2d', '\x3e', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x63', '\x20', '\x3d', '\x3d', '\x20', '\x27', '\x2d', '\x27', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x64', '\x65', '\x66', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x50', '\x4c', '\x41', '\x54', '\x46', '\x4f', '\x52', '\x4d', '\x5f', '\x57', '\x49', '\x4e', '\x44', '\x4f', '\x57', '\x53', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7c', '\x7c', '\x20', '\x63', '\x20', '\x3d', '\x3d', '\x20', '\x27', '\x2f', '\x27', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x41', '\x62', '\x73', '\x74', '\x72', '\x61', '\x63', '\x74', '\x73', '\x20', '\x69', '\x74', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x73', '\x20', '\x69', '\x6e', '\x74', '\x6f', '\x20', '\x61', '\x72', '\x67', '\x73', '\x20', '\x61', '\x73', '\x20', '\x61', '\x20', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x20', '\x6f', '\x66', '\x20', '\x74', '\x6f', '\x6b', '\x65', '\x6e', '\x73', '\x2c', '\x20', '\x77', '\x69', '\x74', '\x68', '\x20', '\x6f', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x61', '\x72', '\x67', '\x75', '\x6d', '\x65', '\x6e', '\x74', '\x73', '\x20', '\x75', '\x6e', '\x69', '\x66', '\x6f', '\x72', '\x6d', '\x6c', '\x79', '\x20', '\x68', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x64', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x20', '\x54', '\x6f', '\x6b', '\x65', '\x6e', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x75', '\x73', '\x69', '\x6e', '\x67', '\x20', '\x49', '\x74', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x3d', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x3e', '\x3a', '\x3a', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x5f', '\x69', '\x74', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x49', '\x74', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x69', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x49', '\x74', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x69', '\x74', '\x45', '\x6e', '\x64', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x54', '\x6f', '\x6b', '\x65', '\x6e', '\x3e', '\x20', '\x6d', '\x5f', '\x74', '\x6f', '\x6b', '\x65', '\x6e', '\x42', '\x75', '\x66', '\x66', '\x65', '\x72', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x6c', '\x6f', '\x61', '\x64', '\x42', '\x75', '\x66', '\x66', '\x65', '\x72', '\x28', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x74', '\x6f', '\x6b', '\x65', '\x6e', '\x42', '\x75', '\x66', '\x66', '\x65', '\x72', '\x2e', '\x72', '\x65', '\x73', '\x69', '\x7a', '\x65', '\x28', '\x20', '\x30', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x53', '\x6b', '\x69', '\x70', '\x20', '\x61', '\x6e', '\x79', '\x20', '\x65', '\x6d', '\x70', '\x74', '\x79', '\x20', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x73', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x77', '\x68', '\x69', '\x6c', '\x65', '\x28', '\x20', '\x69', '\x74', '\x20', '\x21', '\x3d', '\x20', '\x69', '\x74', '\x45', '\x6e', '\x64', '\x20', '\x26', '\x26', '\x20', '\x69', '\x74', '\x2d', '\x3e', '\x65', '\x6d', '\x70', '\x74', '\x79', '\x28', '\x29', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2b', '\x2b', '\x69', '\x74', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x69', '\x74', '\x20', '\x21', '\x3d', '\x20', '\x69', '\x74', '\x45', '\x6e', '\x64', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x26', '\x6e', '\x65', '\x78', '\x74', '\x20', '\x3d', '\x20', '\x2a', '\x69', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x69', '\x73', '\x4f', '\x70', '\x74', '\x50', '\x72', '\x65', '\x66', '\x69', '\x78', '\x28', '\x20', '\x6e', '\x65', '\x78', '\x74', '\x5b', '\x30', '\x5d', '\x20', '\x29', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x64', '\x65', '\x6c', '\x69', '\x6d', '\x69', '\x74', '\x65', '\x72', '\x50', '\x6f', '\x73', '\x20', '\x3d', '\x20', '\x6e', '\x65', '\x78', '\x74', '\x2e', '\x66', '\x69', '\x6e', '\x64', '\x5f', '\x66', '\x69', '\x72', '\x73', '\x74', '\x5f', '\x6f', '\x66', '\x28', '\x20', '\x22', '\x20', '\x3a', '\x3d', '\x22', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x64', '\x65', '\x6c', '\x69', '\x6d', '\x69', '\x74', '\x65', '\x72', '\x50', '\x6f', '\x73', '\x20', '\x21', '\x3d', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x3a', '\x3a', '\x6e', '\x70', '\x6f', '\x73', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x74', '\x6f', '\x6b', '\x65', '\x6e', '\x42', '\x75', '\x66', '\x66', '\x65', '\x72', '\x2e', '\x70', '\x75', '\x73', '\x68', '\x5f', '\x62', '\x61', '\x63', '\x6b', '\x28', '\x20', '\x7b', '\x20', '\x54', '\x6f', '\x6b', '\x65', '\x6e', '\x54', '\x79', '\x70', '\x65', '\x3a', '\x3a', '\x4f', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x2c', '\x20', '\x6e', '\x65', '\x78', '\x74', '\x2e', '\x73', '\x75', '\x62', '\x73', '\x74', '\x72', '\x28', '\x20', '\x30', '\x2c', '\x20', '\x64', '\x65', '\x6c', '\x69', '\x6d', '\x69', '\x74', '\x65', '\x72', '\x50', '\x6f', '\x73', '\x20', '\x29', '\x20', '\x7d', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x74', '\x6f', '\x6b', '\x65', '\x6e', '\x42', '\x75', '\x66', '\x66', '\x65', '\x72', '\x2e', '\x70', '\x75', '\x73', '\x68', '\x5f', '\x62', '\x61', '\x63', '\x6b', '\x28', '\x20', '\x7b', '\x20', '\x54', '\x6f', '\x6b', '\x65', '\x6e', '\x54', '\x79', '\x70', '\x65', '\x3a', '\x3a', '\x41', '\x72', '\x67', '\x75', '\x6d', '\x65', '\x6e', '\x74', '\x2c', '\x20', '\x6e', '\x65', '\x78', '\x74', '\x2e', '\x73', '\x75', '\x62', '\x73', '\x74', '\x72', '\x28', '\x20', '\x64', '\x65', '\x6c', '\x69', '\x6d', '\x69', '\x74', '\x65', '\x72', '\x50', '\x6f', '\x73', '\x20', '\x2b', '\x20', '\x31', '\x20', '\x29', '\x20', '\x7d', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x20', '\x65', '\x6c', '\x73', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x6e', '\x65', '\x78', '\x74', '\x5b', '\x31', '\x5d', '\x20', '\x21', '\x3d', '\x20', '\x27', '\x2d', '\x27', '\x20', '\x26', '\x26', '\x20', '\x6e', '\x65', '\x78', '\x74', '\x2e', '\x73', '\x69', '\x7a', '\x65', '\x28', '\x29', '\x20', '\x3e', '\x20', '\x32', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x6f', '\x70', '\x74', '\x20', '\x3d', '\x20', '\x22', '\x2d', '\x20', '\x22', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x66', '\x6f', '\x72', '\x28', '\x20', '\x73', '\x69', '\x7a', '\x65', '\x5f', '\x74', '\x20', '\x69', '\x20', '\x3d', '\x20', '\x31', '\x3b', '\x20', '\x69', '\x20', '\x3c', '\x20', '\x6e', '\x65', '\x78', '\x74', '\x2e', '\x73', '\x69', '\x7a', '\x65', '\x28', '\x29', '\x3b', '\x20', '\x2b', '\x2b', '\x69', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6f', '\x70', '\x74', '\x5b', '\x31', '\x5d', '\x20', '\x3d', '\x20', '\x6e', '\x65', '\x78', '\x74', '\x5b', '\x69', '\x5d', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x74', '\x6f', '\x6b', '\x65', '\x6e', '\x42', '\x75', '\x66', '\x66', '\x65', '\x72', '\x2e', '\x70', '\x75', '\x73', '\x68', '\x5f', '\x62', '\x61', '\x63', '\x6b', '\x28', '\x20', '\x7b', '\x20', '\x54', '\x6f', '\x6b', '\x65', '\x6e', '\x54', '\x79', '\x70', '\x65', '\x3a', '\x3a', '\x4f', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x2c', '\x20', '\x6f', '\x70', '\x74', '\x20', '\x7d', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x20', '\x65', '\x6c', '\x73', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x74', '\x6f', '\x6b', '\x65', '\x6e', '\x42', '\x75', '\x66', '\x66', '\x65', '\x72', '\x2e', '\x70', '\x75', '\x73', '\x68', '\x5f', '\x62', '\x61', '\x63', '\x6b', '\x28', '\x20', '\x7b', '\x20', '\x54', '\x6f', '\x6b', '\x65', '\x6e', '\x54', '\x79', '\x70', '\x65', '\x3a', '\x3a', '\x4f', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x2c', '\x20', '\x6e', '\x65', '\x78', '\x74', '\x20', '\x7d', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x20', '\x65', '\x6c', '\x73', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x74', '\x6f', '\x6b', '\x65', '\x6e', '\x42', '\x75', '\x66', '\x66', '\x65', '\x72', '\x2e', '\x70', '\x75', '\x73', '\x68', '\x5f', '\x62', '\x61', '\x63', '\x6b', '\x28', '\x20', '\x7b', '\x20', '\x54', '\x6f', '\x6b', '\x65', '\x6e', '\x54', '\x79', '\x70', '\x65', '\x3a', '\x3a', '\x41', '\x72', '\x67', '\x75', '\x6d', '\x65', '\x6e', '\x74', '\x2c', '\x20', '\x6e', '\x65', '\x78', '\x74', '\x20', '\x7d', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x70', '\x75', '\x62', '\x6c', '\x69', '\x63', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x78', '\x70', '\x6c', '\x69', '\x63', '\x69', '\x74', '\x20', '\x54', '\x6f', '\x6b', '\x65', '\x6e', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x28', '\x20', '\x41', '\x72', '\x67', '\x73', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x26', '\x61', '\x72', '\x67', '\x73', '\x20', '\x29', '\x20', '\x3a', '\x20', '\x54', '\x6f', '\x6b', '\x65', '\x6e', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x28', '\x20', '\x61', '\x72', '\x67', '\x73', '\x2e', '\x6d', '\x5f', '\x61', '\x72', '\x67', '\x73', '\x2e', '\x62', '\x65', '\x67', '\x69', '\x6e', '\x28', '\x29', '\x2c', '\x20', '\x61', '\x72', '\x67', '\x73', '\x2e', '\x6d', '\x5f', '\x61', '\x72', '\x67', '\x73', '\x2e', '\x65', '\x6e', '\x64', '\x28', '\x29', '\x20', '\x29', '\x20', '\x7b', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x54', '\x6f', '\x6b', '\x65', '\x6e', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x28', '\x20', '\x49', '\x74', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x69', '\x74', '\x2c', '\x20', '\x49', '\x74', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x69', '\x74', '\x45', '\x6e', '\x64', '\x20', '\x29', '\x20', '\x3a', '\x20', '\x69', '\x74', '\x28', '\x20', '\x69', '\x74', '\x20', '\x29', '\x2c', '\x20', '\x69', '\x74', '\x45', '\x6e', '\x64', '\x28', '\x20', '\x69', '\x74', '\x45', '\x6e', '\x64', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6c', '\x6f', '\x61', '\x64', '\x42', '\x75', '\x66', '\x66', '\x65', '\x72', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x78', '\x70', '\x6c', '\x69', '\x63', '\x69', '\x74', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x21', '\x6d', '\x5f', '\x74', '\x6f', '\x6b', '\x65', '\x6e', '\x42', '\x75', '\x66', '\x66', '\x65', '\x72', '\x2e', '\x65', '\x6d', '\x70', '\x74', '\x79', '\x28', '\x29', '\x20', '\x7c', '\x7c', '\x20', '\x69', '\x74', '\x20', '\x21', '\x3d', '\x20', '\x69', '\x74', '\x45', '\x6e', '\x64', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x63', '\x6f', '\x75', '\x6e', '\x74', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x2d', '\x3e', '\x20', '\x73', '\x69', '\x7a', '\x65', '\x5f', '\x74', '\x20', '\x7b', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6d', '\x5f', '\x74', '\x6f', '\x6b', '\x65', '\x6e', '\x42', '\x75', '\x66', '\x66', '\x65', '\x72', '\x2e', '\x73', '\x69', '\x7a', '\x65', '\x28', '\x29', '\x20', '\x2b', '\x20', '\x28', '\x69', '\x74', '\x45', '\x6e', '\x64', '\x20', '\x2d', '\x20', '\x69', '\x74', '\x29', '\x3b', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x2a', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x2d', '\x3e', '\x20', '\x54', '\x6f', '\x6b', '\x65', '\x6e', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x28', '\x20', '\x21', '\x6d', '\x5f', '\x74', '\x6f', '\x6b', '\x65', '\x6e', '\x42', '\x75', '\x66', '\x66', '\x65', '\x72', '\x2e', '\x65', '\x6d', '\x70', '\x74', '\x79', '\x28', '\x29', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6d', '\x5f', '\x74', '\x6f', '\x6b', '\x65', '\x6e', '\x42', '\x75', '\x66', '\x66', '\x65', '\x72', '\x2e', '\x66', '\x72', '\x6f', '\x6e', '\x74', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x2d', '\x3e', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x2d', '\x3e', '\x20', '\x54', '\x6f', '\x6b', '\x65', '\x6e', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x2a', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x28', '\x20', '\x21', '\x6d', '\x5f', '\x74', '\x6f', '\x6b', '\x65', '\x6e', '\x42', '\x75', '\x66', '\x66', '\x65', '\x72', '\x2e', '\x65', '\x6d', '\x70', '\x74', '\x79', '\x28', '\x29', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x26', '\x6d', '\x5f', '\x74', '\x6f', '\x6b', '\x65', '\x6e', '\x42', '\x75', '\x66', '\x66', '\x65', '\x72', '\x2e', '\x66', '\x72', '\x6f', '\x6e', '\x74', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x2b', '\x2b', '\x28', '\x29', '\x20', '\x2d', '\x3e', '\x20', '\x54', '\x6f', '\x6b', '\x65', '\x6e', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x20', '\x26', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x6d', '\x5f', '\x74', '\x6f', '\x6b', '\x65', '\x6e', '\x42', '\x75', '\x66', '\x66', '\x65', '\x72', '\x2e', '\x73', '\x69', '\x7a', '\x65', '\x28', '\x29', '\x20', '\x3e', '\x3d', '\x20', '\x32', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x74', '\x6f', '\x6b', '\x65', '\x6e', '\x42', '\x75', '\x66', '\x66', '\x65', '\x72', '\x2e', '\x65', '\x72', '\x61', '\x73', '\x65', '\x28', '\x20', '\x6d', '\x5f', '\x74', '\x6f', '\x6b', '\x65', '\x6e', '\x42', '\x75', '\x66', '\x66', '\x65', '\x72', '\x2e', '\x62', '\x65', '\x67', '\x69', '\x6e', '\x28', '\x29', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x20', '\x65', '\x6c', '\x73', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x69', '\x74', '\x20', '\x21', '\x3d', '\x20', '\x69', '\x74', '\x45', '\x6e', '\x64', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2b', '\x2b', '\x69', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6c', '\x6f', '\x61', '\x64', '\x42', '\x75', '\x66', '\x66', '\x65', '\x72', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x2a', '\x74', '\x68', '\x69', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x20', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x42', '\x61', '\x73', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x70', '\x75', '\x62', '\x6c', '\x69', '\x63', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x6e', '\x75', '\x6d', '\x20', '\x54', '\x79', '\x70', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x4f', '\x6b', '\x2c', '\x20', '\x4c', '\x6f', '\x67', '\x69', '\x63', '\x45', '\x72', '\x72', '\x6f', '\x72', '\x2c', '\x20', '\x52', '\x75', '\x6e', '\x74', '\x69', '\x6d', '\x65', '\x45', '\x72', '\x72', '\x6f', '\x72', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x70', '\x72', '\x6f', '\x74', '\x65', '\x63', '\x74', '\x65', '\x64', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x42', '\x61', '\x73', '\x65', '\x28', '\x20', '\x54', '\x79', '\x70', '\x65', '\x20', '\x74', '\x79', '\x70', '\x65', '\x20', '\x29', '\x20', '\x3a', '\x20', '\x6d', '\x5f', '\x74', '\x79', '\x70', '\x65', '\x28', '\x20', '\x74', '\x79', '\x70', '\x65', '\x20', '\x29', '\x20', '\x7b', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x69', '\x72', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x7e', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x42', '\x61', '\x73', '\x65', '\x28', '\x29', '\x20', '\x3d', '\x20', '\x64', '\x65', '\x66', '\x61', '\x75', '\x6c', '\x74', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x69', '\x72', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x65', '\x6e', '\x66', '\x6f', '\x72', '\x63', '\x65', '\x4f', '\x6b', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x54', '\x79', '\x70', '\x65', '\x20', '\x6d', '\x5f', '\x74', '\x79', '\x70', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x54', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x20', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x56', '\x61', '\x6c', '\x75', '\x65', '\x42', '\x61', '\x73', '\x65', '\x20', '\x3a', '\x20', '\x70', '\x75', '\x62', '\x6c', '\x69', '\x63', '\x20', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x42', '\x61', '\x73', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x70', '\x75', '\x62', '\x6c', '\x69', '\x63', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x2d', '\x3e', '\x20', '\x54', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x26', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x6e', '\x66', '\x6f', '\x72', '\x63', '\x65', '\x4f', '\x6b', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6d', '\x5f', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x70', '\x72', '\x6f', '\x74', '\x65', '\x63', '\x74', '\x65', '\x64', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x56', '\x61', '\x6c', '\x75', '\x65', '\x42', '\x61', '\x73', '\x65', '\x28', '\x20', '\x54', '\x79', '\x70', '\x65', '\x20', '\x74', '\x79', '\x70', '\x65', '\x20', '\x29', '\x20', '\x3a', '\x20', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x42', '\x61', '\x73', '\x65', '\x28', '\x20', '\x74', '\x79', '\x70', '\x65', '\x20', '\x29', '\x20', '\x7b', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x56', '\x61', '\x6c', '\x75', '\x65', '\x42', '\x61', '\x73', '\x65', '\x28', '\x20', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x56', '\x61', '\x6c', '\x75', '\x65', '\x42', '\x61', '\x73', '\x65', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x26', '\x6f', '\x74', '\x68', '\x65', '\x72', '\x20', '\x29', '\x20', '\x3a', '\x20', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x42', '\x61', '\x73', '\x65', '\x28', '\x20', '\x6f', '\x74', '\x68', '\x65', '\x72', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x6d', '\x5f', '\x74', '\x79', '\x70', '\x65', '\x20', '\x3d', '\x3d', '\x20', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x42', '\x61', '\x73', '\x65', '\x3a', '\x3a', '\x4f', '\x6b', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6e', '\x65', '\x77', '\x28', '\x20', '\x26', '\x6d', '\x5f', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x20', '\x29', '\x20', '\x54', '\x28', '\x20', '\x6f', '\x74', '\x68', '\x65', '\x72', '\x2e', '\x6d', '\x5f', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x56', '\x61', '\x6c', '\x75', '\x65', '\x42', '\x61', '\x73', '\x65', '\x28', '\x20', '\x54', '\x79', '\x70', '\x65', '\x2c', '\x20', '\x54', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x26', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x20', '\x29', '\x20', '\x3a', '\x20', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x42', '\x61', '\x73', '\x65', '\x28', '\x20', '\x4f', '\x6b', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6e', '\x65', '\x77', '\x28', '\x20', '\x26', '\x6d', '\x5f', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x20', '\x29', '\x20', '\x54', '\x28', '\x20', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x3d', '\x28', '\x20', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x56', '\x61', '\x6c', '\x75', '\x65', '\x42', '\x61', '\x73', '\x65', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x26', '\x6f', '\x74', '\x68', '\x65', '\x72', '\x20', '\x29', '\x20', '\x2d', '\x3e', '\x20', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x56', '\x61', '\x6c', '\x75', '\x65', '\x42', '\x61', '\x73', '\x65', '\x20', '\x26', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x6d', '\x5f', '\x74', '\x79', '\x70', '\x65', '\x20', '\x3d', '\x3d', '\x20', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x42', '\x61', '\x73', '\x65', '\x3a', '\x3a', '\x4f', '\x6b', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x2e', '\x7e', '\x54', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x42', '\x61', '\x73', '\x65', '\x3a', '\x3a', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x3d', '\x28', '\x6f', '\x74', '\x68', '\x65', '\x72', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x6d', '\x5f', '\x74', '\x79', '\x70', '\x65', '\x20', '\x3d', '\x3d', '\x20', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x42', '\x61', '\x73', '\x65', '\x3a', '\x3a', '\x4f', '\x6b', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6e', '\x65', '\x77', '\x28', '\x20', '\x26', '\x6d', '\x5f', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x20', '\x29', '\x20', '\x54', '\x28', '\x20', '\x6f', '\x74', '\x68', '\x65', '\x72', '\x2e', '\x6d', '\x5f', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x2a', '\x74', '\x68', '\x69', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7e', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x56', '\x61', '\x6c', '\x75', '\x65', '\x42', '\x61', '\x73', '\x65', '\x28', '\x29', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x6d', '\x5f', '\x74', '\x79', '\x70', '\x65', '\x20', '\x3d', '\x3d', '\x20', '\x4f', '\x6b', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x2e', '\x7e', '\x54', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x75', '\x6e', '\x69', '\x6f', '\x6e', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x54', '\x20', '\x6d', '\x5f', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x20', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x56', '\x61', '\x6c', '\x75', '\x65', '\x42', '\x61', '\x73', '\x65', '\x3c', '\x76', '\x6f', '\x69', '\x64', '\x3e', '\x20', '\x3a', '\x20', '\x70', '\x75', '\x62', '\x6c', '\x69', '\x63', '\x20', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x42', '\x61', '\x73', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x70', '\x72', '\x6f', '\x74', '\x65', '\x63', '\x74', '\x65', '\x64', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x75', '\x73', '\x69', '\x6e', '\x67', '\x20', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x42', '\x61', '\x73', '\x65', '\x3a', '\x3a', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x42', '\x61', '\x73', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x54', '\x20', '\x3d', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x20', '\x42', '\x61', '\x73', '\x69', '\x63', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x20', '\x3a', '\x20', '\x70', '\x75', '\x62', '\x6c', '\x69', '\x63', '\x20', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x56', '\x61', '\x6c', '\x75', '\x65', '\x42', '\x61', '\x73', '\x65', '\x3c', '\x54', '\x3e', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x70', '\x75', '\x62', '\x6c', '\x69', '\x63', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x55', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x78', '\x70', '\x6c', '\x69', '\x63', '\x69', '\x74', '\x20', '\x42', '\x61', '\x73', '\x69', '\x63', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x28', '\x20', '\x42', '\x61', '\x73', '\x69', '\x63', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x3c', '\x55', '\x3e', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x26', '\x6f', '\x74', '\x68', '\x65', '\x72', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x3a', '\x20', '\x20', '\x20', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x56', '\x61', '\x6c', '\x75', '\x65', '\x42', '\x61', '\x73', '\x65', '\x3c', '\x54', '\x3e', '\x28', '\x20', '\x6f', '\x74', '\x68', '\x65', '\x72', '\x2e', '\x74', '\x79', '\x70', '\x65', '\x28', '\x29', '\x20', '\x29', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x65', '\x72', '\x72', '\x6f', '\x72', '\x4d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x28', '\x20', '\x6f', '\x74', '\x68', '\x65', '\x72', '\x2e', '\x65', '\x72', '\x72', '\x6f', '\x72', '\x4d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x28', '\x29', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x28', '\x20', '\x74', '\x79', '\x70', '\x65', '\x28', '\x29', '\x20', '\x21', '\x3d', '\x20', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x42', '\x61', '\x73', '\x65', '\x3a', '\x3a', '\x4f', '\x6b', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x55', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x6f', '\x6b', '\x28', '\x20', '\x55', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x26', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x20', '\x29', '\x20', '\x2d', '\x3e', '\x20', '\x42', '\x61', '\x73', '\x69', '\x63', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x20', '\x7b', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x7b', '\x20', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x42', '\x61', '\x73', '\x65', '\x3a', '\x3a', '\x4f', '\x6b', '\x2c', '\x20', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x20', '\x7d', '\x3b', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x6f', '\x6b', '\x28', '\x29', '\x20', '\x2d', '\x3e', '\x20', '\x42', '\x61', '\x73', '\x69', '\x63', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x20', '\x7b', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x7b', '\x20', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x42', '\x61', '\x73', '\x65', '\x3a', '\x3a', '\x4f', '\x6b', '\x20', '\x7d', '\x3b', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x6c', '\x6f', '\x67', '\x69', '\x63', '\x45', '\x72', '\x72', '\x6f', '\x72', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x26', '\x6d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x20', '\x29', '\x20', '\x2d', '\x3e', '\x20', '\x42', '\x61', '\x73', '\x69', '\x63', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x20', '\x7b', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x7b', '\x20', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x42', '\x61', '\x73', '\x65', '\x3a', '\x3a', '\x4c', '\x6f', '\x67', '\x69', '\x63', '\x45', '\x72', '\x72', '\x6f', '\x72', '\x2c', '\x20', '\x6d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x20', '\x7d', '\x3b', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x72', '\x75', '\x6e', '\x74', '\x69', '\x6d', '\x65', '\x45', '\x72', '\x72', '\x6f', '\x72', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x26', '\x6d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x20', '\x29', '\x20', '\x2d', '\x3e', '\x20', '\x42', '\x61', '\x73', '\x69', '\x63', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x20', '\x7b', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x7b', '\x20', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x42', '\x61', '\x73', '\x65', '\x3a', '\x3a', '\x52', '\x75', '\x6e', '\x74', '\x69', '\x6d', '\x65', '\x45', '\x72', '\x72', '\x6f', '\x72', '\x2c', '\x20', '\x6d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x20', '\x7d', '\x3b', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x78', '\x70', '\x6c', '\x69', '\x63', '\x69', '\x74', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x7b', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6d', '\x5f', '\x74', '\x79', '\x70', '\x65', '\x20', '\x3d', '\x3d', '\x20', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x42', '\x61', '\x73', '\x65', '\x3a', '\x3a', '\x4f', '\x6b', '\x3b', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x74', '\x79', '\x70', '\x65', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x2d', '\x3e', '\x20', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x42', '\x61', '\x73', '\x65', '\x3a', '\x3a', '\x54', '\x79', '\x70', '\x65', '\x20', '\x7b', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6d', '\x5f', '\x74', '\x79', '\x70', '\x65', '\x3b', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x65', '\x72', '\x72', '\x6f', '\x72', '\x4d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x2d', '\x3e', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x7b', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6d', '\x5f', '\x65', '\x72', '\x72', '\x6f', '\x72', '\x4d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x3b', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x70', '\x72', '\x6f', '\x74', '\x65', '\x63', '\x74', '\x65', '\x64', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x65', '\x6e', '\x66', '\x6f', '\x72', '\x63', '\x65', '\x4f', '\x6b', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x45', '\x72', '\x72', '\x6f', '\x72', '\x73', '\x20', '\x73', '\x68', '\x6f', '\x75', '\x6c', '\x64', '\x6e', '\x27', '\x74', '\x20', '\x72', '\x65', '\x61', '\x63', '\x68', '\x20', '\x74', '\x68', '\x69', '\x73', '\x20', '\x70', '\x6f', '\x69', '\x6e', '\x74', '\x2c', '\x20', '\x62', '\x75', '\x74', '\x20', '\x69', '\x66', '\x20', '\x74', '\x68', '\x65', '\x79', '\x20', '\x64', '\x6f', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x74', '\x68', '\x65', '\x20', '\x61', '\x63', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x65', '\x72', '\x72', '\x6f', '\x72', '\x20', '\x6d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x20', '\x77', '\x69', '\x6c', '\x6c', '\x20', '\x62', '\x65', '\x20', '\x69', '\x6e', '\x20', '\x6d', '\x5f', '\x65', '\x72', '\x72', '\x6f', '\x72', '\x4d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x28', '\x20', '\x6d', '\x5f', '\x74', '\x79', '\x70', '\x65', '\x20', '\x21', '\x3d', '\x20', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x42', '\x61', '\x73', '\x65', '\x3a', '\x3a', '\x4c', '\x6f', '\x67', '\x69', '\x63', '\x45', '\x72', '\x72', '\x6f', '\x72', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x28', '\x20', '\x6d', '\x5f', '\x74', '\x79', '\x70', '\x65', '\x20', '\x21', '\x3d', '\x20', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x42', '\x61', '\x73', '\x65', '\x3a', '\x3a', '\x52', '\x75', '\x6e', '\x74', '\x69', '\x6d', '\x65', '\x45', '\x72', '\x72', '\x6f', '\x72', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x6d', '\x5f', '\x74', '\x79', '\x70', '\x65', '\x20', '\x21', '\x3d', '\x20', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x42', '\x61', '\x73', '\x65', '\x3a', '\x3a', '\x4f', '\x6b', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x61', '\x62', '\x6f', '\x72', '\x74', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x6d', '\x5f', '\x65', '\x72', '\x72', '\x6f', '\x72', '\x4d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x3b', '\x20', '\x2f', '\x2f', '\x20', '\x4f', '\x6e', '\x6c', '\x79', '\x20', '\x70', '\x6f', '\x70', '\x75', '\x6c', '\x61', '\x74', '\x65', '\x64', '\x20', '\x69', '\x66', '\x20', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x54', '\x79', '\x70', '\x65', '\x20', '\x69', '\x73', '\x20', '\x61', '\x6e', '\x20', '\x65', '\x72', '\x72', '\x6f', '\x72', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x42', '\x61', '\x73', '\x69', '\x63', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x28', '\x20', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x42', '\x61', '\x73', '\x65', '\x3a', '\x3a', '\x54', '\x79', '\x70', '\x65', '\x20', '\x74', '\x79', '\x70', '\x65', '\x2c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x26', '\x6d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x3a', '\x20', '\x20', '\x20', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x56', '\x61', '\x6c', '\x75', '\x65', '\x42', '\x61', '\x73', '\x65', '\x3c', '\x54', '\x3e', '\x28', '\x74', '\x79', '\x70', '\x65', '\x29', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x65', '\x72', '\x72', '\x6f', '\x72', '\x4d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x28', '\x6d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x28', '\x20', '\x6d', '\x5f', '\x74', '\x79', '\x70', '\x65', '\x20', '\x21', '\x3d', '\x20', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x42', '\x61', '\x73', '\x65', '\x3a', '\x3a', '\x4f', '\x6b', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x75', '\x73', '\x69', '\x6e', '\x67', '\x20', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x56', '\x61', '\x6c', '\x75', '\x65', '\x42', '\x61', '\x73', '\x65', '\x3c', '\x54', '\x3e', '\x3a', '\x3a', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x56', '\x61', '\x6c', '\x75', '\x65', '\x42', '\x61', '\x73', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x75', '\x73', '\x69', '\x6e', '\x67', '\x20', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x42', '\x61', '\x73', '\x65', '\x3a', '\x3a', '\x6d', '\x5f', '\x74', '\x79', '\x70', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x65', '\x6e', '\x75', '\x6d', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x20', '\x50', '\x61', '\x72', '\x73', '\x65', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x54', '\x79', '\x70', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x64', '\x2c', '\x20', '\x4e', '\x6f', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x2c', '\x20', '\x53', '\x68', '\x6f', '\x72', '\x74', '\x43', '\x69', '\x72', '\x63', '\x75', '\x69', '\x74', '\x41', '\x6c', '\x6c', '\x2c', '\x20', '\x53', '\x68', '\x6f', '\x72', '\x74', '\x43', '\x69', '\x72', '\x63', '\x75', '\x69', '\x74', '\x53', '\x61', '\x6d', '\x65', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x20', '\x50', '\x61', '\x72', '\x73', '\x65', '\x53', '\x74', '\x61', '\x74', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x70', '\x75', '\x62', '\x6c', '\x69', '\x63', '\x3a', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x50', '\x61', '\x72', '\x73', '\x65', '\x53', '\x74', '\x61', '\x74', '\x65', '\x28', '\x20', '\x50', '\x61', '\x72', '\x73', '\x65', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x54', '\x79', '\x70', '\x65', '\x20', '\x74', '\x79', '\x70', '\x65', '\x2c', '\x20', '\x54', '\x6f', '\x6b', '\x65', '\x6e', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x26', '\x72', '\x65', '\x6d', '\x61', '\x69', '\x6e', '\x69', '\x6e', '\x67', '\x54', '\x6f', '\x6b', '\x65', '\x6e', '\x73', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x3a', '\x20', '\x6d', '\x5f', '\x74', '\x79', '\x70', '\x65', '\x28', '\x74', '\x79', '\x70', '\x65', '\x29', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x72', '\x65', '\x6d', '\x61', '\x69', '\x6e', '\x69', '\x6e', '\x67', '\x54', '\x6f', '\x6b', '\x65', '\x6e', '\x73', '\x28', '\x20', '\x72', '\x65', '\x6d', '\x61', '\x69', '\x6e', '\x69', '\x6e', '\x67', '\x54', '\x6f', '\x6b', '\x65', '\x6e', '\x73', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7b', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x74', '\x79', '\x70', '\x65', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x2d', '\x3e', '\x20', '\x50', '\x61', '\x72', '\x73', '\x65', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x54', '\x79', '\x70', '\x65', '\x20', '\x7b', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6d', '\x5f', '\x74', '\x79', '\x70', '\x65', '\x3b', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x72', '\x65', '\x6d', '\x61', '\x69', '\x6e', '\x69', '\x6e', '\x67', '\x54', '\x6f', '\x6b', '\x65', '\x6e', '\x73', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x2d', '\x3e', '\x20', '\x54', '\x6f', '\x6b', '\x65', '\x6e', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x20', '\x7b', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6d', '\x5f', '\x72', '\x65', '\x6d', '\x61', '\x69', '\x6e', '\x69', '\x6e', '\x67', '\x54', '\x6f', '\x6b', '\x65', '\x6e', '\x73', '\x3b', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x70', '\x72', '\x69', '\x76', '\x61', '\x74', '\x65', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x50', '\x61', '\x72', '\x73', '\x65', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x54', '\x79', '\x70', '\x65', '\x20', '\x6d', '\x5f', '\x74', '\x79', '\x70', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x54', '\x6f', '\x6b', '\x65', '\x6e', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x20', '\x6d', '\x5f', '\x72', '\x65', '\x6d', '\x61', '\x69', '\x6e', '\x69', '\x6e', '\x67', '\x54', '\x6f', '\x6b', '\x65', '\x6e', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x75', '\x73', '\x69', '\x6e', '\x67', '\x20', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x20', '\x3d', '\x20', '\x42', '\x61', '\x73', '\x69', '\x63', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x3c', '\x76', '\x6f', '\x69', '\x64', '\x3e', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x75', '\x73', '\x69', '\x6e', '\x67', '\x20', '\x50', '\x61', '\x72', '\x73', '\x65', '\x72', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x20', '\x3d', '\x20', '\x42', '\x61', '\x73', '\x69', '\x63', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x3c', '\x50', '\x61', '\x72', '\x73', '\x65', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x54', '\x79', '\x70', '\x65', '\x3e', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x75', '\x73', '\x69', '\x6e', '\x67', '\x20', '\x49', '\x6e', '\x74', '\x65', '\x72', '\x6e', '\x61', '\x6c', '\x50', '\x61', '\x72', '\x73', '\x65', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x20', '\x3d', '\x20', '\x42', '\x61', '\x73', '\x69', '\x63', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x3c', '\x50', '\x61', '\x72', '\x73', '\x65', '\x53', '\x74', '\x61', '\x74', '\x65', '\x3e', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x48', '\x65', '\x6c', '\x70', '\x43', '\x6f', '\x6c', '\x75', '\x6d', '\x6e', '\x73', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x6c', '\x65', '\x66', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x72', '\x69', '\x67', '\x68', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x54', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x69', '\x6e', '\x6c', '\x69', '\x6e', '\x65', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x76', '\x65', '\x72', '\x74', '\x49', '\x6e', '\x74', '\x6f', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x26', '\x73', '\x6f', '\x75', '\x72', '\x63', '\x65', '\x2c', '\x20', '\x54', '\x26', '\x20', '\x74', '\x61', '\x72', '\x67', '\x65', '\x74', '\x20', '\x29', '\x20', '\x2d', '\x3e', '\x20', '\x50', '\x61', '\x72', '\x73', '\x65', '\x72', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x20', '\x73', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x73', '\x20', '\x3c', '\x3c', '\x20', '\x73', '\x6f', '\x75', '\x72', '\x63', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x73', '\x20', '\x3e', '\x3e', '\x20', '\x74', '\x61', '\x72', '\x67', '\x65', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x73', '\x73', '\x2e', '\x66', '\x61', '\x69', '\x6c', '\x28', '\x29', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x50', '\x61', '\x72', '\x73', '\x65', '\x72', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x3a', '\x3a', '\x72', '\x75', '\x6e', '\x74', '\x69', '\x6d', '\x65', '\x45', '\x72', '\x72', '\x6f', '\x72', '\x28', '\x20', '\x22', '\x55', '\x6e', '\x61', '\x62', '\x6c', '\x65', '\x20', '\x74', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x76', '\x65', '\x72', '\x74', '\x20', '\x27', '\x22', '\x20', '\x2b', '\x20', '\x73', '\x6f', '\x75', '\x72', '\x63', '\x65', '\x20', '\x2b', '\x20', '\x22', '\x27', '\x20', '\x74', '\x6f', '\x20', '\x64', '\x65', '\x73', '\x74', '\x69', '\x6e', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x74', '\x79', '\x70', '\x65', '\x22', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x6c', '\x73', '\x65', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x50', '\x61', '\x72', '\x73', '\x65', '\x72', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x3a', '\x3a', '\x6f', '\x6b', '\x28', '\x20', '\x50', '\x61', '\x72', '\x73', '\x65', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x54', '\x79', '\x70', '\x65', '\x3a', '\x3a', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x64', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x69', '\x6e', '\x6c', '\x69', '\x6e', '\x65', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x76', '\x65', '\x72', '\x74', '\x49', '\x6e', '\x74', '\x6f', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x26', '\x73', '\x6f', '\x75', '\x72', '\x63', '\x65', '\x2c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x26', '\x20', '\x74', '\x61', '\x72', '\x67', '\x65', '\x74', '\x20', '\x29', '\x20', '\x2d', '\x3e', '\x20', '\x50', '\x61', '\x72', '\x73', '\x65', '\x72', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x61', '\x72', '\x67', '\x65', '\x74', '\x20', '\x3d', '\x20', '\x73', '\x6f', '\x75', '\x72', '\x63', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x50', '\x61', '\x72', '\x73', '\x65', '\x72', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x3a', '\x3a', '\x6f', '\x6b', '\x28', '\x20', '\x50', '\x61', '\x72', '\x73', '\x65', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x54', '\x79', '\x70', '\x65', '\x3a', '\x3a', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x64', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x69', '\x6e', '\x6c', '\x69', '\x6e', '\x65', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x76', '\x65', '\x72', '\x74', '\x49', '\x6e', '\x74', '\x6f', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x26', '\x73', '\x6f', '\x75', '\x72', '\x63', '\x65', '\x2c', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x26', '\x74', '\x61', '\x72', '\x67', '\x65', '\x74', '\x20', '\x29', '\x20', '\x2d', '\x3e', '\x20', '\x50', '\x61', '\x72', '\x73', '\x65', '\x72', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x73', '\x72', '\x63', '\x4c', '\x43', '\x20', '\x3d', '\x20', '\x73', '\x6f', '\x75', '\x72', '\x63', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x74', '\x72', '\x61', '\x6e', '\x73', '\x66', '\x6f', '\x72', '\x6d', '\x28', '\x20', '\x73', '\x72', '\x63', '\x4c', '\x43', '\x2e', '\x62', '\x65', '\x67', '\x69', '\x6e', '\x28', '\x29', '\x2c', '\x20', '\x73', '\x72', '\x63', '\x4c', '\x43', '\x2e', '\x65', '\x6e', '\x64', '\x28', '\x29', '\x2c', '\x20', '\x73', '\x72', '\x63', '\x4c', '\x43', '\x2e', '\x62', '\x65', '\x67', '\x69', '\x6e', '\x28', '\x29', '\x2c', '\x20', '\x5b', '\x5d', '\x28', '\x20', '\x63', '\x68', '\x61', '\x72', '\x20', '\x63', '\x20', '\x29', '\x20', '\x7b', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x5f', '\x63', '\x61', '\x73', '\x74', '\x3c', '\x63', '\x68', '\x61', '\x72', '\x3e', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x74', '\x6f', '\x6c', '\x6f', '\x77', '\x65', '\x72', '\x28', '\x63', '\x29', '\x20', '\x29', '\x3b', '\x20', '\x7d', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x73', '\x72', '\x63', '\x4c', '\x43', '\x20', '\x3d', '\x3d', '\x20', '\x22', '\x79', '\x22', '\x20', '\x7c', '\x7c', '\x20', '\x73', '\x72', '\x63', '\x4c', '\x43', '\x20', '\x3d', '\x3d', '\x20', '\x22', '\x31', '\x22', '\x20', '\x7c', '\x7c', '\x20', '\x73', '\x72', '\x63', '\x4c', '\x43', '\x20', '\x3d', '\x3d', '\x20', '\x22', '\x74', '\x72', '\x75', '\x65', '\x22', '\x20', '\x7c', '\x7c', '\x20', '\x73', '\x72', '\x63', '\x4c', '\x43', '\x20', '\x3d', '\x3d', '\x20', '\x22', '\x79', '\x65', '\x73', '\x22', '\x20', '\x7c', '\x7c', '\x20', '\x73', '\x72', '\x63', '\x4c', '\x43', '\x20', '\x3d', '\x3d', '\x20', '\x22', '\x6f', '\x6e', '\x22', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x61', '\x72', '\x67', '\x65', '\x74', '\x20', '\x3d', '\x20', '\x74', '\x72', '\x75', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x6c', '\x73', '\x65', '\x20', '\x69', '\x66', '\x20', '\x28', '\x73', '\x72', '\x63', '\x4c', '\x43', '\x20', '\x3d', '\x3d', '\x20', '\x22', '\x6e', '\x22', '\x20', '\x7c', '\x7c', '\x20', '\x73', '\x72', '\x63', '\x4c', '\x43', '\x20', '\x3d', '\x3d', '\x20', '\x22', '\x30', '\x22', '\x20', '\x7c', '\x7c', '\x20', '\x73', '\x72', '\x63', '\x4c', '\x43', '\x20', '\x3d', '\x3d', '\x20', '\x22', '\x66', '\x61', '\x6c', '\x73', '\x65', '\x22', '\x20', '\x7c', '\x7c', '\x20', '\x73', '\x72', '\x63', '\x4c', '\x43', '\x20', '\x3d', '\x3d', '\x20', '\x22', '\x6e', '\x6f', '\x22', '\x20', '\x7c', '\x7c', '\x20', '\x73', '\x72', '\x63', '\x4c', '\x43', '\x20', '\x3d', '\x3d', '\x20', '\x22', '\x6f', '\x66', '\x66', '\x22', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x61', '\x72', '\x67', '\x65', '\x74', '\x20', '\x3d', '\x20', '\x66', '\x61', '\x6c', '\x73', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x6c', '\x73', '\x65', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x50', '\x61', '\x72', '\x73', '\x65', '\x72', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x3a', '\x3a', '\x72', '\x75', '\x6e', '\x74', '\x69', '\x6d', '\x65', '\x45', '\x72', '\x72', '\x6f', '\x72', '\x28', '\x20', '\x22', '\x45', '\x78', '\x70', '\x65', '\x63', '\x74', '\x65', '\x64', '\x20', '\x61', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x65', '\x61', '\x6e', '\x20', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x20', '\x62', '\x75', '\x74', '\x20', '\x64', '\x69', '\x64', '\x20', '\x6e', '\x6f', '\x74', '\x20', '\x72', '\x65', '\x63', '\x6f', '\x67', '\x6e', '\x69', '\x73', '\x65', '\x3a', '\x20', '\x27', '\x22', '\x20', '\x2b', '\x20', '\x73', '\x6f', '\x75', '\x72', '\x63', '\x65', '\x20', '\x2b', '\x20', '\x22', '\x27', '\x22', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x50', '\x61', '\x72', '\x73', '\x65', '\x72', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x3a', '\x3a', '\x6f', '\x6b', '\x28', '\x20', '\x50', '\x61', '\x72', '\x73', '\x65', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x54', '\x79', '\x70', '\x65', '\x3a', '\x3a', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x64', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x64', '\x65', '\x66', '\x20', '\x43', '\x4c', '\x41', '\x52', '\x41', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x4f', '\x50', '\x54', '\x49', '\x4f', '\x4e', '\x41', '\x4c', '\x5f', '\x54', '\x59', '\x50', '\x45', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x54', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x69', '\x6e', '\x6c', '\x69', '\x6e', '\x65', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x76', '\x65', '\x72', '\x74', '\x49', '\x6e', '\x74', '\x6f', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x26', '\x73', '\x6f', '\x75', '\x72', '\x63', '\x65', '\x2c', '\x20', '\x43', '\x4c', '\x41', '\x52', '\x41', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x4f', '\x50', '\x54', '\x49', '\x4f', '\x4e', '\x41', '\x4c', '\x5f', '\x54', '\x59', '\x50', '\x45', '\x3c', '\x54', '\x3e', '\x26', '\x20', '\x74', '\x61', '\x72', '\x67', '\x65', '\x74', '\x20', '\x29', '\x20', '\x2d', '\x3e', '\x20', '\x50', '\x61', '\x72', '\x73', '\x65', '\x72', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x54', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x20', '\x3d', '\x20', '\x63', '\x6f', '\x6e', '\x76', '\x65', '\x72', '\x74', '\x49', '\x6e', '\x74', '\x6f', '\x28', '\x20', '\x73', '\x6f', '\x75', '\x72', '\x63', '\x65', '\x2c', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x61', '\x72', '\x67', '\x65', '\x74', '\x20', '\x3d', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6d', '\x6f', '\x76', '\x65', '\x28', '\x74', '\x65', '\x6d', '\x70', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x20', '\x2f', '\x2f', '\x20', '\x43', '\x4c', '\x41', '\x52', '\x41', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x4f', '\x50', '\x54', '\x49', '\x4f', '\x4e', '\x41', '\x4c', '\x5f', '\x54', '\x59', '\x50', '\x45', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x4e', '\x6f', '\x6e', '\x43', '\x6f', '\x70', '\x79', '\x61', '\x62', '\x6c', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x4e', '\x6f', '\x6e', '\x43', '\x6f', '\x70', '\x79', '\x61', '\x62', '\x6c', '\x65', '\x28', '\x29', '\x20', '\x3d', '\x20', '\x64', '\x65', '\x66', '\x61', '\x75', '\x6c', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x4e', '\x6f', '\x6e', '\x43', '\x6f', '\x70', '\x79', '\x61', '\x62', '\x6c', '\x65', '\x28', '\x20', '\x4e', '\x6f', '\x6e', '\x43', '\x6f', '\x70', '\x79', '\x61', '\x62', '\x6c', '\x65', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x26', '\x20', '\x29', '\x20', '\x3d', '\x20', '\x64', '\x65', '\x6c', '\x65', '\x74', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x4e', '\x6f', '\x6e', '\x43', '\x6f', '\x70', '\x79', '\x61', '\x62', '\x6c', '\x65', '\x28', '\x20', '\x4e', '\x6f', '\x6e', '\x43', '\x6f', '\x70', '\x79', '\x61', '\x62', '\x6c', '\x65', '\x20', '\x26', '\x26', '\x20', '\x29', '\x20', '\x3d', '\x20', '\x64', '\x65', '\x6c', '\x65', '\x74', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x4e', '\x6f', '\x6e', '\x43', '\x6f', '\x70', '\x79', '\x61', '\x62', '\x6c', '\x65', '\x20', '\x26', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x3d', '\x28', '\x20', '\x4e', '\x6f', '\x6e', '\x43', '\x6f', '\x70', '\x79', '\x61', '\x62', '\x6c', '\x65', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x26', '\x20', '\x29', '\x20', '\x3d', '\x20', '\x64', '\x65', '\x6c', '\x65', '\x74', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x4e', '\x6f', '\x6e', '\x43', '\x6f', '\x70', '\x79', '\x61', '\x62', '\x6c', '\x65', '\x20', '\x26', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x3d', '\x28', '\x20', '\x4e', '\x6f', '\x6e', '\x43', '\x6f', '\x70', '\x79', '\x61', '\x62', '\x6c', '\x65', '\x20', '\x26', '\x26', '\x20', '\x29', '\x20', '\x3d', '\x20', '\x64', '\x65', '\x6c', '\x65', '\x74', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x42', '\x6f', '\x75', '\x6e', '\x64', '\x52', '\x65', '\x66', '\x20', '\x3a', '\x20', '\x4e', '\x6f', '\x6e', '\x43', '\x6f', '\x70', '\x79', '\x61', '\x62', '\x6c', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x69', '\x72', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x7e', '\x42', '\x6f', '\x75', '\x6e', '\x64', '\x52', '\x65', '\x66', '\x28', '\x29', '\x20', '\x3d', '\x20', '\x64', '\x65', '\x66', '\x61', '\x75', '\x6c', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x69', '\x72', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x69', '\x73', '\x43', '\x6f', '\x6e', '\x74', '\x61', '\x69', '\x6e', '\x65', '\x72', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x2d', '\x3e', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x7b', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x66', '\x61', '\x6c', '\x73', '\x65', '\x3b', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x69', '\x72', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x69', '\x73', '\x46', '\x6c', '\x61', '\x67', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x2d', '\x3e', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x7b', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x66', '\x61', '\x6c', '\x73', '\x65', '\x3b', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x42', '\x6f', '\x75', '\x6e', '\x64', '\x56', '\x61', '\x6c', '\x75', '\x65', '\x52', '\x65', '\x66', '\x42', '\x61', '\x73', '\x65', '\x20', '\x3a', '\x20', '\x42', '\x6f', '\x75', '\x6e', '\x64', '\x52', '\x65', '\x66', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x69', '\x72', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x73', '\x65', '\x74', '\x56', '\x61', '\x6c', '\x75', '\x65', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x26', '\x61', '\x72', '\x67', '\x20', '\x29', '\x20', '\x2d', '\x3e', '\x20', '\x50', '\x61', '\x72', '\x73', '\x65', '\x72', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x42', '\x6f', '\x75', '\x6e', '\x64', '\x46', '\x6c', '\x61', '\x67', '\x52', '\x65', '\x66', '\x42', '\x61', '\x73', '\x65', '\x20', '\x3a', '\x20', '\x42', '\x6f', '\x75', '\x6e', '\x64', '\x52', '\x65', '\x66', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x69', '\x72', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x73', '\x65', '\x74', '\x46', '\x6c', '\x61', '\x67', '\x28', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x66', '\x6c', '\x61', '\x67', '\x20', '\x29', '\x20', '\x2d', '\x3e', '\x20', '\x50', '\x61', '\x72', '\x73', '\x65', '\x72', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x69', '\x72', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x69', '\x73', '\x46', '\x6c', '\x61', '\x67', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x2d', '\x3e', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x7b', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x74', '\x72', '\x75', '\x65', '\x3b', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x54', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x42', '\x6f', '\x75', '\x6e', '\x64', '\x56', '\x61', '\x6c', '\x75', '\x65', '\x52', '\x65', '\x66', '\x20', '\x3a', '\x20', '\x42', '\x6f', '\x75', '\x6e', '\x64', '\x56', '\x61', '\x6c', '\x75', '\x65', '\x52', '\x65', '\x66', '\x42', '\x61', '\x73', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x54', '\x20', '\x26', '\x6d', '\x5f', '\x72', '\x65', '\x66', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x78', '\x70', '\x6c', '\x69', '\x63', '\x69', '\x74', '\x20', '\x42', '\x6f', '\x75', '\x6e', '\x64', '\x56', '\x61', '\x6c', '\x75', '\x65', '\x52', '\x65', '\x66', '\x28', '\x20', '\x54', '\x20', '\x26', '\x72', '\x65', '\x66', '\x20', '\x29', '\x20', '\x3a', '\x20', '\x6d', '\x5f', '\x72', '\x65', '\x66', '\x28', '\x20', '\x72', '\x65', '\x66', '\x20', '\x29', '\x20', '\x7b', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x73', '\x65', '\x74', '\x56', '\x61', '\x6c', '\x75', '\x65', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x26', '\x61', '\x72', '\x67', '\x20', '\x29', '\x20', '\x2d', '\x3e', '\x20', '\x50', '\x61', '\x72', '\x73', '\x65', '\x72', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x63', '\x6f', '\x6e', '\x76', '\x65', '\x72', '\x74', '\x49', '\x6e', '\x74', '\x6f', '\x28', '\x20', '\x61', '\x72', '\x67', '\x2c', '\x20', '\x6d', '\x5f', '\x72', '\x65', '\x66', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x54', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x42', '\x6f', '\x75', '\x6e', '\x64', '\x56', '\x61', '\x6c', '\x75', '\x65', '\x52', '\x65', '\x66', '\x3c', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x54', '\x3e', '\x3e', '\x20', '\x3a', '\x20', '\x42', '\x6f', '\x75', '\x6e', '\x64', '\x56', '\x61', '\x6c', '\x75', '\x65', '\x52', '\x65', '\x66', '\x42', '\x61', '\x73', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x54', '\x3e', '\x20', '\x26', '\x6d', '\x5f', '\x72', '\x65', '\x66', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x78', '\x70', '\x6c', '\x69', '\x63', '\x69', '\x74', '\x20', '\x42', '\x6f', '\x75', '\x6e', '\x64', '\x56', '\x61', '\x6c', '\x75', '\x65', '\x52', '\x65', '\x66', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x54', '\x3e', '\x20', '\x26', '\x72', '\x65', '\x66', '\x20', '\x29', '\x20', '\x3a', '\x20', '\x6d', '\x5f', '\x72', '\x65', '\x66', '\x28', '\x20', '\x72', '\x65', '\x66', '\x20', '\x29', '\x20', '\x7b', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x69', '\x73', '\x43', '\x6f', '\x6e', '\x74', '\x61', '\x69', '\x6e', '\x65', '\x72', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x2d', '\x3e', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x20', '\x7b', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x74', '\x72', '\x75', '\x65', '\x3b', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x73', '\x65', '\x74', '\x56', '\x61', '\x6c', '\x75', '\x65', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x26', '\x61', '\x72', '\x67', '\x20', '\x29', '\x20', '\x2d', '\x3e', '\x20', '\x50', '\x61', '\x72', '\x73', '\x65', '\x72', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x54', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x20', '\x3d', '\x20', '\x63', '\x6f', '\x6e', '\x76', '\x65', '\x72', '\x74', '\x49', '\x6e', '\x74', '\x6f', '\x28', '\x20', '\x61', '\x72', '\x67', '\x2c', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x72', '\x65', '\x66', '\x2e', '\x70', '\x75', '\x73', '\x68', '\x5f', '\x62', '\x61', '\x63', '\x6b', '\x28', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x42', '\x6f', '\x75', '\x6e', '\x64', '\x46', '\x6c', '\x61', '\x67', '\x52', '\x65', '\x66', '\x20', '\x3a', '\x20', '\x42', '\x6f', '\x75', '\x6e', '\x64', '\x46', '\x6c', '\x61', '\x67', '\x52', '\x65', '\x66', '\x42', '\x61', '\x73', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x26', '\x6d', '\x5f', '\x72', '\x65', '\x66', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x78', '\x70', '\x6c', '\x69', '\x63', '\x69', '\x74', '\x20', '\x42', '\x6f', '\x75', '\x6e', '\x64', '\x46', '\x6c', '\x61', '\x67', '\x52', '\x65', '\x66', '\x28', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x26', '\x72', '\x65', '\x66', '\x20', '\x29', '\x20', '\x3a', '\x20', '\x6d', '\x5f', '\x72', '\x65', '\x66', '\x28', '\x20', '\x72', '\x65', '\x66', '\x20', '\x29', '\x20', '\x7b', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x73', '\x65', '\x74', '\x46', '\x6c', '\x61', '\x67', '\x28', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x66', '\x6c', '\x61', '\x67', '\x20', '\x29', '\x20', '\x2d', '\x3e', '\x20', '\x50', '\x61', '\x72', '\x73', '\x65', '\x72', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x72', '\x65', '\x66', '\x20', '\x3d', '\x20', '\x66', '\x6c', '\x61', '\x67', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x50', '\x61', '\x72', '\x73', '\x65', '\x72', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x3a', '\x3a', '\x6f', '\x6b', '\x28', '\x20', '\x50', '\x61', '\x72', '\x73', '\x65', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x54', '\x79', '\x70', '\x65', '\x3a', '\x3a', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x64', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x52', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x54', '\x79', '\x70', '\x65', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x4c', '\x61', '\x6d', '\x62', '\x64', '\x61', '\x49', '\x6e', '\x76', '\x6f', '\x6b', '\x65', '\x72', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x5f', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x69', '\x73', '\x5f', '\x73', '\x61', '\x6d', '\x65', '\x3c', '\x52', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x54', '\x79', '\x70', '\x65', '\x2c', '\x20', '\x50', '\x61', '\x72', '\x73', '\x65', '\x72', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x3e', '\x3a', '\x3a', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x2c', '\x20', '\x22', '\x4c', '\x61', '\x6d', '\x62', '\x64', '\x61', '\x20', '\x6d', '\x75', '\x73', '\x74', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x6f', '\x72', '\x20', '\x63', '\x6c', '\x61', '\x72', '\x61', '\x3a', '\x3a', '\x50', '\x61', '\x72', '\x73', '\x65', '\x72', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x22', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x4c', '\x2c', '\x20', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x41', '\x72', '\x67', '\x54', '\x79', '\x70', '\x65', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x69', '\x6e', '\x76', '\x6f', '\x6b', '\x65', '\x28', '\x20', '\x4c', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x26', '\x6c', '\x61', '\x6d', '\x62', '\x64', '\x61', '\x2c', '\x20', '\x41', '\x72', '\x67', '\x54', '\x79', '\x70', '\x65', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x26', '\x61', '\x72', '\x67', '\x20', '\x29', '\x20', '\x2d', '\x3e', '\x20', '\x50', '\x61', '\x72', '\x73', '\x65', '\x72', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6c', '\x61', '\x6d', '\x62', '\x64', '\x61', '\x28', '\x20', '\x61', '\x72', '\x67', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x4c', '\x61', '\x6d', '\x62', '\x64', '\x61', '\x49', '\x6e', '\x76', '\x6f', '\x6b', '\x65', '\x72', '\x3c', '\x76', '\x6f', '\x69', '\x64', '\x3e', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x4c', '\x2c', '\x20', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x41', '\x72', '\x67', '\x54', '\x79', '\x70', '\x65', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x69', '\x6e', '\x76', '\x6f', '\x6b', '\x65', '\x28', '\x20', '\x4c', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x26', '\x6c', '\x61', '\x6d', '\x62', '\x64', '\x61', '\x2c', '\x20', '\x41', '\x72', '\x67', '\x54', '\x79', '\x70', '\x65', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x26', '\x61', '\x72', '\x67', '\x20', '\x29', '\x20', '\x2d', '\x3e', '\x20', '\x50', '\x61', '\x72', '\x73', '\x65', '\x72', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6c', '\x61', '\x6d', '\x62', '\x64', '\x61', '\x28', '\x20', '\x61', '\x72', '\x67', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x50', '\x61', '\x72', '\x73', '\x65', '\x72', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x3a', '\x3a', '\x6f', '\x6b', '\x28', '\x20', '\x50', '\x61', '\x72', '\x73', '\x65', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x54', '\x79', '\x70', '\x65', '\x3a', '\x3a', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x64', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x41', '\x72', '\x67', '\x54', '\x79', '\x70', '\x65', '\x2c', '\x20', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x4c', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x69', '\x6e', '\x6c', '\x69', '\x6e', '\x65', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x69', '\x6e', '\x76', '\x6f', '\x6b', '\x65', '\x4c', '\x61', '\x6d', '\x62', '\x64', '\x61', '\x28', '\x20', '\x4c', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x26', '\x6c', '\x61', '\x6d', '\x62', '\x64', '\x61', '\x2c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x26', '\x61', '\x72', '\x67', '\x20', '\x29', '\x20', '\x2d', '\x3e', '\x20', '\x50', '\x61', '\x72', '\x73', '\x65', '\x72', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x41', '\x72', '\x67', '\x54', '\x79', '\x70', '\x65', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x7b', '\x7d', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x20', '\x3d', '\x20', '\x63', '\x6f', '\x6e', '\x76', '\x65', '\x72', '\x74', '\x49', '\x6e', '\x74', '\x6f', '\x28', '\x20', '\x61', '\x72', '\x67', '\x2c', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x21', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x3f', '\x20', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x3a', '\x20', '\x4c', '\x61', '\x6d', '\x62', '\x64', '\x61', '\x49', '\x6e', '\x76', '\x6f', '\x6b', '\x65', '\x72', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x55', '\x6e', '\x61', '\x72', '\x79', '\x4c', '\x61', '\x6d', '\x62', '\x64', '\x61', '\x54', '\x72', '\x61', '\x69', '\x74', '\x73', '\x3c', '\x4c', '\x3e', '\x3a', '\x3a', '\x52', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x54', '\x79', '\x70', '\x65', '\x3e', '\x3a', '\x3a', '\x69', '\x6e', '\x76', '\x6f', '\x6b', '\x65', '\x28', '\x20', '\x6c', '\x61', '\x6d', '\x62', '\x64', '\x61', '\x2c', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x4c', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x42', '\x6f', '\x75', '\x6e', '\x64', '\x4c', '\x61', '\x6d', '\x62', '\x64', '\x61', '\x20', '\x3a', '\x20', '\x42', '\x6f', '\x75', '\x6e', '\x64', '\x56', '\x61', '\x6c', '\x75', '\x65', '\x52', '\x65', '\x66', '\x42', '\x61', '\x73', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x4c', '\x20', '\x6d', '\x5f', '\x6c', '\x61', '\x6d', '\x62', '\x64', '\x61', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x5f', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x28', '\x20', '\x55', '\x6e', '\x61', '\x72', '\x79', '\x4c', '\x61', '\x6d', '\x62', '\x64', '\x61', '\x54', '\x72', '\x61', '\x69', '\x74', '\x73', '\x3c', '\x4c', '\x3e', '\x3a', '\x3a', '\x69', '\x73', '\x56', '\x61', '\x6c', '\x69', '\x64', '\x2c', '\x20', '\x22', '\x53', '\x75', '\x70', '\x70', '\x6c', '\x69', '\x65', '\x64', '\x20', '\x6c', '\x61', '\x6d', '\x62', '\x64', '\x61', '\x20', '\x6d', '\x75', '\x73', '\x74', '\x20', '\x74', '\x61', '\x6b', '\x65', '\x20', '\x65', '\x78', '\x61', '\x63', '\x74', '\x6c', '\x79', '\x20', '\x6f', '\x6e', '\x65', '\x20', '\x61', '\x72', '\x67', '\x75', '\x6d', '\x65', '\x6e', '\x74', '\x22', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x78', '\x70', '\x6c', '\x69', '\x63', '\x69', '\x74', '\x20', '\x42', '\x6f', '\x75', '\x6e', '\x64', '\x4c', '\x61', '\x6d', '\x62', '\x64', '\x61', '\x28', '\x20', '\x4c', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x26', '\x6c', '\x61', '\x6d', '\x62', '\x64', '\x61', '\x20', '\x29', '\x20', '\x3a', '\x20', '\x6d', '\x5f', '\x6c', '\x61', '\x6d', '\x62', '\x64', '\x61', '\x28', '\x20', '\x6c', '\x61', '\x6d', '\x62', '\x64', '\x61', '\x20', '\x29', '\x20', '\x7b', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x73', '\x65', '\x74', '\x56', '\x61', '\x6c', '\x75', '\x65', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x26', '\x61', '\x72', '\x67', '\x20', '\x29', '\x20', '\x2d', '\x3e', '\x20', '\x50', '\x61', '\x72', '\x73', '\x65', '\x72', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x69', '\x6e', '\x76', '\x6f', '\x6b', '\x65', '\x4c', '\x61', '\x6d', '\x62', '\x64', '\x61', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x55', '\x6e', '\x61', '\x72', '\x79', '\x4c', '\x61', '\x6d', '\x62', '\x64', '\x61', '\x54', '\x72', '\x61', '\x69', '\x74', '\x73', '\x3c', '\x4c', '\x3e', '\x3a', '\x3a', '\x41', '\x72', '\x67', '\x54', '\x79', '\x70', '\x65', '\x3e', '\x28', '\x20', '\x6d', '\x5f', '\x6c', '\x61', '\x6d', '\x62', '\x64', '\x61', '\x2c', '\x20', '\x61', '\x72', '\x67', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x4c', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x42', '\x6f', '\x75', '\x6e', '\x64', '\x46', '\x6c', '\x61', '\x67', '\x4c', '\x61', '\x6d', '\x62', '\x64', '\x61', '\x20', '\x3a', '\x20', '\x42', '\x6f', '\x75', '\x6e', '\x64', '\x46', '\x6c', '\x61', '\x67', '\x52', '\x65', '\x66', '\x42', '\x61', '\x73', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x4c', '\x20', '\x6d', '\x5f', '\x6c', '\x61', '\x6d', '\x62', '\x64', '\x61', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x5f', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x28', '\x20', '\x55', '\x6e', '\x61', '\x72', '\x79', '\x4c', '\x61', '\x6d', '\x62', '\x64', '\x61', '\x54', '\x72', '\x61', '\x69', '\x74', '\x73', '\x3c', '\x4c', '\x3e', '\x3a', '\x3a', '\x69', '\x73', '\x56', '\x61', '\x6c', '\x69', '\x64', '\x2c', '\x20', '\x22', '\x53', '\x75', '\x70', '\x70', '\x6c', '\x69', '\x65', '\x64', '\x20', '\x6c', '\x61', '\x6d', '\x62', '\x64', '\x61', '\x20', '\x6d', '\x75', '\x73', '\x74', '\x20', '\x74', '\x61', '\x6b', '\x65', '\x20', '\x65', '\x78', '\x61', '\x63', '\x74', '\x6c', '\x79', '\x20', '\x6f', '\x6e', '\x65', '\x20', '\x61', '\x72', '\x67', '\x75', '\x6d', '\x65', '\x6e', '\x74', '\x22', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x5f', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x69', '\x73', '\x5f', '\x73', '\x61', '\x6d', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x55', '\x6e', '\x61', '\x72', '\x79', '\x4c', '\x61', '\x6d', '\x62', '\x64', '\x61', '\x54', '\x72', '\x61', '\x69', '\x74', '\x73', '\x3c', '\x4c', '\x3e', '\x3a', '\x3a', '\x41', '\x72', '\x67', '\x54', '\x79', '\x70', '\x65', '\x2c', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x3e', '\x3a', '\x3a', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x2c', '\x20', '\x22', '\x66', '\x6c', '\x61', '\x67', '\x73', '\x20', '\x6d', '\x75', '\x73', '\x74', '\x20', '\x62', '\x65', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x65', '\x61', '\x6e', '\x22', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x78', '\x70', '\x6c', '\x69', '\x63', '\x69', '\x74', '\x20', '\x42', '\x6f', '\x75', '\x6e', '\x64', '\x46', '\x6c', '\x61', '\x67', '\x4c', '\x61', '\x6d', '\x62', '\x64', '\x61', '\x28', '\x20', '\x4c', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x26', '\x6c', '\x61', '\x6d', '\x62', '\x64', '\x61', '\x20', '\x29', '\x20', '\x3a', '\x20', '\x6d', '\x5f', '\x6c', '\x61', '\x6d', '\x62', '\x64', '\x61', '\x28', '\x20', '\x6c', '\x61', '\x6d', '\x62', '\x64', '\x61', '\x20', '\x29', '\x20', '\x7b', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x73', '\x65', '\x74', '\x46', '\x6c', '\x61', '\x67', '\x28', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x66', '\x6c', '\x61', '\x67', '\x20', '\x29', '\x20', '\x2d', '\x3e', '\x20', '\x50', '\x61', '\x72', '\x73', '\x65', '\x72', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x4c', '\x61', '\x6d', '\x62', '\x64', '\x61', '\x49', '\x6e', '\x76', '\x6f', '\x6b', '\x65', '\x72', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x55', '\x6e', '\x61', '\x72', '\x79', '\x4c', '\x61', '\x6d', '\x62', '\x64', '\x61', '\x54', '\x72', '\x61', '\x69', '\x74', '\x73', '\x3c', '\x4c', '\x3e', '\x3a', '\x3a', '\x52', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x54', '\x79', '\x70', '\x65', '\x3e', '\x3a', '\x3a', '\x69', '\x6e', '\x76', '\x6f', '\x6b', '\x65', '\x28', '\x20', '\x6d', '\x5f', '\x6c', '\x61', '\x6d', '\x62', '\x64', '\x61', '\x2c', '\x20', '\x66', '\x6c', '\x61', '\x67', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x65', '\x6e', '\x75', '\x6d', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x20', '\x4f', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x61', '\x6c', '\x69', '\x74', '\x79', '\x20', '\x7b', '\x20', '\x4f', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x61', '\x6c', '\x2c', '\x20', '\x52', '\x65', '\x71', '\x75', '\x69', '\x72', '\x65', '\x64', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x50', '\x61', '\x72', '\x73', '\x65', '\x72', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x20', '\x50', '\x61', '\x72', '\x73', '\x65', '\x72', '\x42', '\x61', '\x73', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x70', '\x75', '\x62', '\x6c', '\x69', '\x63', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x69', '\x72', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x7e', '\x50', '\x61', '\x72', '\x73', '\x65', '\x72', '\x42', '\x61', '\x73', '\x65', '\x28', '\x29', '\x20', '\x3d', '\x20', '\x64', '\x65', '\x66', '\x61', '\x75', '\x6c', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x69', '\x72', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x76', '\x61', '\x6c', '\x69', '\x64', '\x61', '\x74', '\x65', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x2d', '\x3e', '\x20', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x20', '\x7b', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x3a', '\x3a', '\x6f', '\x6b', '\x28', '\x29', '\x3b', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x69', '\x72', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x70', '\x61', '\x72', '\x73', '\x65', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x65', '\x78', '\x65', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x54', '\x6f', '\x6b', '\x65', '\x6e', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x26', '\x74', '\x6f', '\x6b', '\x65', '\x6e', '\x73', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x2d', '\x3e', '\x20', '\x49', '\x6e', '\x74', '\x65', '\x72', '\x6e', '\x61', '\x6c', '\x50', '\x61', '\x72', '\x73', '\x65', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x20', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x69', '\x72', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x63', '\x61', '\x72', '\x64', '\x69', '\x6e', '\x61', '\x6c', '\x69', '\x74', '\x79', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x2d', '\x3e', '\x20', '\x73', '\x69', '\x7a', '\x65', '\x5f', '\x74', '\x20', '\x7b', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x31', '\x3b', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x70', '\x61', '\x72', '\x73', '\x65', '\x28', '\x20', '\x41', '\x72', '\x67', '\x73', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x26', '\x61', '\x72', '\x67', '\x73', '\x20', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x2d', '\x3e', '\x20', '\x49', '\x6e', '\x74', '\x65', '\x72', '\x6e', '\x61', '\x6c', '\x50', '\x61', '\x72', '\x73', '\x65', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x70', '\x61', '\x72', '\x73', '\x65', '\x28', '\x20', '\x61', '\x72', '\x67', '\x73', '\x2e', '\x65', '\x78', '\x65', '\x4e', '\x61', '\x6d', '\x65', '\x28', '\x29', '\x2c', '\x20', '\x54', '\x6f', '\x6b', '\x65', '\x6e', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x28', '\x20', '\x61', '\x72', '\x67', '\x73', '\x20', '\x29', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x44', '\x65', '\x72', '\x69', '\x76', '\x65', '\x64', '\x54', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x20', '\x43', '\x6f', '\x6d', '\x70', '\x6f', '\x73', '\x61', '\x62', '\x6c', '\x65', '\x50', '\x61', '\x72', '\x73', '\x65', '\x72', '\x49', '\x6d', '\x70', '\x6c', '\x20', '\x3a', '\x20', '\x70', '\x75', '\x62', '\x6c', '\x69', '\x63', '\x20', '\x50', '\x61', '\x72', '\x73', '\x65', '\x72', '\x42', '\x61', '\x73', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x70', '\x75', '\x62', '\x6c', '\x69', '\x63', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x54', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x7c', '\x28', '\x20', '\x54', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x26', '\x6f', '\x74', '\x68', '\x65', '\x72', '\x20', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x2d', '\x3e', '\x20', '\x50', '\x61', '\x72', '\x73', '\x65', '\x72', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x09', '\x09', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x54', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x2b', '\x28', '\x20', '\x54', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x26', '\x6f', '\x74', '\x68', '\x65', '\x72', '\x20', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x2d', '\x3e', '\x20', '\x50', '\x61', '\x72', '\x73', '\x65', '\x72', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x43', '\x6f', '\x6d', '\x6d', '\x6f', '\x6e', '\x20', '\x63', '\x6f', '\x64', '\x65', '\x20', '\x61', '\x6e', '\x64', '\x20', '\x73', '\x74', '\x61', '\x74', '\x65', '\x20', '\x66', '\x6f', '\x72', '\x20', '\x41', '\x72', '\x67', '\x73', '\x20', '\x61', '\x6e', '\x64', '\x20', '\x4f', '\x70', '\x74', '\x73', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x44', '\x65', '\x72', '\x69', '\x76', '\x65', '\x64', '\x54', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x20', '\x50', '\x61', '\x72', '\x73', '\x65', '\x72', '\x52', '\x65', '\x66', '\x49', '\x6d', '\x70', '\x6c', '\x20', '\x3a', '\x20', '\x70', '\x75', '\x62', '\x6c', '\x69', '\x63', '\x20', '\x43', '\x6f', '\x6d', '\x70', '\x6f', '\x73', '\x61', '\x62', '\x6c', '\x65', '\x50', '\x61', '\x72', '\x73', '\x65', '\x72', '\x49', '\x6d', '\x70', '\x6c', '\x3c', '\x44', '\x65', '\x72', '\x69', '\x76', '\x65', '\x64', '\x54', '\x3e', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x70', '\x72', '\x6f', '\x74', '\x65', '\x63', '\x74', '\x65', '\x64', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x4f', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x61', '\x6c', '\x69', '\x74', '\x79', '\x20', '\x6d', '\x5f', '\x6f', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x61', '\x6c', '\x69', '\x74', '\x79', '\x20', '\x3d', '\x20', '\x4f', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x61', '\x6c', '\x69', '\x74', '\x79', '\x3a', '\x3a', '\x4f', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x61', '\x6c', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x68', '\x61', '\x72', '\x65', '\x64', '\x5f', '\x70', '\x74', '\x72', '\x3c', '\x42', '\x6f', '\x75', '\x6e', '\x64', '\x52', '\x65', '\x66', '\x3e', '\x20', '\x6d', '\x5f', '\x72', '\x65', '\x66', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x6d', '\x5f', '\x68', '\x69', '\x6e', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x6d', '\x5f', '\x64', '\x65', '\x73', '\x63', '\x72', '\x69', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x78', '\x70', '\x6c', '\x69', '\x63', '\x69', '\x74', '\x20', '\x50', '\x61', '\x72', '\x73', '\x65', '\x72', '\x52', '\x65', '\x66', '\x49', '\x6d', '\x70', '\x6c', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x68', '\x61', '\x72', '\x65', '\x64', '\x5f', '\x70', '\x74', '\x72', '\x3c', '\x42', '\x6f', '\x75', '\x6e', '\x64', '\x52', '\x65', '\x66', '\x3e', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x26', '\x72', '\x65', '\x66', '\x20', '\x29', '\x20', '\x3a', '\x20', '\x6d', '\x5f', '\x72', '\x65', '\x66', '\x28', '\x20', '\x72', '\x65', '\x66', '\x20', '\x29', '\x20', '\x7b', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x70', '\x75', '\x62', '\x6c', '\x69', '\x63', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x54', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x50', '\x61', '\x72', '\x73', '\x65', '\x72', '\x52', '\x65', '\x66', '\x49', '\x6d', '\x70', '\x6c', '\x28', '\x20', '\x54', '\x20', '\x26', '\x72', '\x65', '\x66', '\x2c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x26', '\x68', '\x69', '\x6e', '\x74', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x3a', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x72', '\x65', '\x66', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6d', '\x61', '\x6b', '\x65', '\x5f', '\x73', '\x68', '\x61', '\x72', '\x65', '\x64', '\x3c', '\x42', '\x6f', '\x75', '\x6e', '\x64', '\x56', '\x61', '\x6c', '\x75', '\x65', '\x52', '\x65', '\x66', '\x3c', '\x54', '\x3e', '\x3e', '\x28', '\x20', '\x72', '\x65', '\x66', '\x20', '\x29', '\x20', '\x29', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x68', '\x69', '\x6e', '\x74', '\x28', '\x20', '\x68', '\x69', '\x6e', '\x74', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7b', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x4c', '\x61', '\x6d', '\x62', '\x64', '\x61', '\x54', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x50', '\x61', '\x72', '\x73', '\x65', '\x72', '\x52', '\x65', '\x66', '\x49', '\x6d', '\x70', '\x6c', '\x28', '\x20', '\x4c', '\x61', '\x6d', '\x62', '\x64', '\x61', '\x54', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x26', '\x72', '\x65', '\x66', '\x2c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x26', '\x68', '\x69', '\x6e', '\x74', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x3a', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x72', '\x65', '\x66', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6d', '\x61', '\x6b', '\x65', '\x5f', '\x73', '\x68', '\x61', '\x72', '\x65', '\x64', '\x3c', '\x42', '\x6f', '\x75', '\x6e', '\x64', '\x4c', '\x61', '\x6d', '\x62', '\x64', '\x61', '\x3c', '\x4c', '\x61', '\x6d', '\x62', '\x64', '\x61', '\x54', '\x3e', '\x3e', '\x28', '\x20', '\x72', '\x65', '\x66', '\x20', '\x29', '\x20', '\x29', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x68', '\x69', '\x6e', '\x74', '\x28', '\x68', '\x69', '\x6e', '\x74', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7b', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x28', '\x29', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x26', '\x64', '\x65', '\x73', '\x63', '\x72', '\x69', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x29', '\x20', '\x2d', '\x3e', '\x20', '\x44', '\x65', '\x72', '\x69', '\x76', '\x65', '\x64', '\x54', '\x20', '\x26', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x64', '\x65', '\x73', '\x63', '\x72', '\x69', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x3d', '\x20', '\x64', '\x65', '\x73', '\x63', '\x72', '\x69', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x5f', '\x63', '\x61', '\x73', '\x74', '\x3c', '\x44', '\x65', '\x72', '\x69', '\x76', '\x65', '\x64', '\x54', '\x20', '\x26', '\x3e', '\x28', '\x20', '\x2a', '\x74', '\x68', '\x69', '\x73', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x6f', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x61', '\x6c', '\x28', '\x29', '\x20', '\x2d', '\x3e', '\x20', '\x44', '\x65', '\x72', '\x69', '\x76', '\x65', '\x64', '\x54', '\x20', '\x26', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x6f', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x61', '\x6c', '\x69', '\x74', '\x79', '\x20', '\x3d', '\x20', '\x4f', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x61', '\x6c', '\x69', '\x74', '\x79', '\x3a', '\x3a', '\x4f', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x61', '\x6c', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x5f', '\x63', '\x61', '\x73', '\x74', '\x3c', '\x44', '\x65', '\x72', '\x69', '\x76', '\x65', '\x64', '\x54', '\x20', '\x26', '\x3e', '\x28', '\x20', '\x2a', '\x74', '\x68', '\x69', '\x73', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x72', '\x65', '\x71', '\x75', '\x69', '\x72', '\x65', '\x64', '\x28', '\x29', '\x20', '\x2d', '\x3e', '\x20', '\x44', '\x65', '\x72', '\x69', '\x76', '\x65', '\x64', '\x54', '\x20', '\x26', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x6f', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x61', '\x6c', '\x69', '\x74', '\x79', '\x20', '\x3d', '\x20', '\x4f', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x61', '\x6c', '\x69', '\x74', '\x79', '\x3a', '\x3a', '\x52', '\x65', '\x71', '\x75', '\x69', '\x72', '\x65', '\x64', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x5f', '\x63', '\x61', '\x73', '\x74', '\x3c', '\x44', '\x65', '\x72', '\x69', '\x76', '\x65', '\x64', '\x54', '\x20', '\x26', '\x3e', '\x28', '\x20', '\x2a', '\x74', '\x68', '\x69', '\x73', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x69', '\x73', '\x4f', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x61', '\x6c', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x2d', '\x3e', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6d', '\x5f', '\x6f', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x61', '\x6c', '\x69', '\x74', '\x79', '\x20', '\x3d', '\x3d', '\x20', '\x4f', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x61', '\x6c', '\x69', '\x74', '\x79', '\x3a', '\x3a', '\x4f', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x61', '\x6c', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x63', '\x61', '\x72', '\x64', '\x69', '\x6e', '\x61', '\x6c', '\x69', '\x74', '\x79', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x2d', '\x3e', '\x20', '\x73', '\x69', '\x7a', '\x65', '\x5f', '\x74', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x6d', '\x5f', '\x72', '\x65', '\x66', '\x2d', '\x3e', '\x69', '\x73', '\x43', '\x6f', '\x6e', '\x74', '\x61', '\x69', '\x6e', '\x65', '\x72', '\x28', '\x29', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x6c', '\x73', '\x65', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x31', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x68', '\x69', '\x6e', '\x74', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x2d', '\x3e', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x7b', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6d', '\x5f', '\x68', '\x69', '\x6e', '\x74', '\x3b', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x20', '\x45', '\x78', '\x65', '\x4e', '\x61', '\x6d', '\x65', '\x20', '\x3a', '\x20', '\x70', '\x75', '\x62', '\x6c', '\x69', '\x63', '\x20', '\x43', '\x6f', '\x6d', '\x70', '\x6f', '\x73', '\x61', '\x62', '\x6c', '\x65', '\x50', '\x61', '\x72', '\x73', '\x65', '\x72', '\x49', '\x6d', '\x70', '\x6c', '\x3c', '\x45', '\x78', '\x65', '\x4e', '\x61', '\x6d', '\x65', '\x3e', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x68', '\x61', '\x72', '\x65', '\x64', '\x5f', '\x70', '\x74', '\x72', '\x3c', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x3e', '\x20', '\x6d', '\x5f', '\x6e', '\x61', '\x6d', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x68', '\x61', '\x72', '\x65', '\x64', '\x5f', '\x70', '\x74', '\x72', '\x3c', '\x42', '\x6f', '\x75', '\x6e', '\x64', '\x56', '\x61', '\x6c', '\x75', '\x65', '\x52', '\x65', '\x66', '\x42', '\x61', '\x73', '\x65', '\x3e', '\x20', '\x6d', '\x5f', '\x72', '\x65', '\x66', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x4c', '\x61', '\x6d', '\x62', '\x64', '\x61', '\x54', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x6d', '\x61', '\x6b', '\x65', '\x52', '\x65', '\x66', '\x28', '\x4c', '\x61', '\x6d', '\x62', '\x64', '\x61', '\x54', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x26', '\x6c', '\x61', '\x6d', '\x62', '\x64', '\x61', '\x29', '\x20', '\x2d', '\x3e', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x68', '\x61', '\x72', '\x65', '\x64', '\x5f', '\x70', '\x74', '\x72', '\x3c', '\x42', '\x6f', '\x75', '\x6e', '\x64', '\x56', '\x61', '\x6c', '\x75', '\x65', '\x52', '\x65', '\x66', '\x42', '\x61', '\x73', '\x65', '\x3e', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6d', '\x61', '\x6b', '\x65', '\x5f', '\x73', '\x68', '\x61', '\x72', '\x65', '\x64', '\x3c', '\x42', '\x6f', '\x75', '\x6e', '\x64', '\x4c', '\x61', '\x6d', '\x62', '\x64', '\x61', '\x3c', '\x4c', '\x61', '\x6d', '\x62', '\x64', '\x61', '\x54', '\x3e', '\x3e', '\x28', '\x20', '\x6c', '\x61', '\x6d', '\x62', '\x64', '\x61', '\x29', '\x20', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x70', '\x75', '\x62', '\x6c', '\x69', '\x63', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x45', '\x78', '\x65', '\x4e', '\x61', '\x6d', '\x65', '\x28', '\x29', '\x20', '\x3a', '\x20', '\x6d', '\x5f', '\x6e', '\x61', '\x6d', '\x65', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6d', '\x61', '\x6b', '\x65', '\x5f', '\x73', '\x68', '\x61', '\x72', '\x65', '\x64', '\x3c', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x3e', '\x28', '\x20', '\x22', '\x3c', '\x65', '\x78', '\x65', '\x63', '\x75', '\x74', '\x61', '\x62', '\x6c', '\x65', '\x3e', '\x22', '\x20', '\x29', '\x20', '\x29', '\x20', '\x7b', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x78', '\x70', '\x6c', '\x69', '\x63', '\x69', '\x74', '\x20', '\x45', '\x78', '\x65', '\x4e', '\x61', '\x6d', '\x65', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x26', '\x72', '\x65', '\x66', '\x20', '\x29', '\x20', '\x3a', '\x20', '\x45', '\x78', '\x65', '\x4e', '\x61', '\x6d', '\x65', '\x28', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x72', '\x65', '\x66', '\x20', '\x3d', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6d', '\x61', '\x6b', '\x65', '\x5f', '\x73', '\x68', '\x61', '\x72', '\x65', '\x64', '\x3c', '\x42', '\x6f', '\x75', '\x6e', '\x64', '\x56', '\x61', '\x6c', '\x75', '\x65', '\x52', '\x65', '\x66', '\x3c', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x3e', '\x3e', '\x28', '\x20', '\x72', '\x65', '\x66', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x4c', '\x61', '\x6d', '\x62', '\x64', '\x61', '\x54', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x78', '\x70', '\x6c', '\x69', '\x63', '\x69', '\x74', '\x20', '\x45', '\x78', '\x65', '\x4e', '\x61', '\x6d', '\x65', '\x28', '\x20', '\x4c', '\x61', '\x6d', '\x62', '\x64', '\x61', '\x54', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6c', '\x61', '\x6d', '\x62', '\x64', '\x61', '\x20', '\x29', '\x20', '\x3a', '\x20', '\x45', '\x78', '\x65', '\x4e', '\x61', '\x6d', '\x65', '\x28', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x72', '\x65', '\x66', '\x20', '\x3d', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6d', '\x61', '\x6b', '\x65', '\x5f', '\x73', '\x68', '\x61', '\x72', '\x65', '\x64', '\x3c', '\x42', '\x6f', '\x75', '\x6e', '\x64', '\x4c', '\x61', '\x6d', '\x62', '\x64', '\x61', '\x3c', '\x4c', '\x61', '\x6d', '\x62', '\x64', '\x61', '\x54', '\x3e', '\x3e', '\x28', '\x20', '\x6c', '\x61', '\x6d', '\x62', '\x64', '\x61', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x54', '\x68', '\x65', '\x20', '\x65', '\x78', '\x65', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x69', '\x73', '\x20', '\x6e', '\x6f', '\x74', '\x20', '\x70', '\x61', '\x72', '\x73', '\x65', '\x64', '\x20', '\x6f', '\x75', '\x74', '\x20', '\x6f', '\x66', '\x20', '\x74', '\x68', '\x65', '\x20', '\x6e', '\x6f', '\x72', '\x6d', '\x61', '\x6c', '\x20', '\x74', '\x6f', '\x6b', '\x65', '\x6e', '\x73', '\x2c', '\x20', '\x62', '\x75', '\x74', '\x20', '\x69', '\x73', '\x20', '\x68', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x64', '\x20', '\x73', '\x70', '\x65', '\x63', '\x69', '\x61', '\x6c', '\x6c', '\x79', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x70', '\x61', '\x72', '\x73', '\x65', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x2c', '\x20', '\x54', '\x6f', '\x6b', '\x65', '\x6e', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x26', '\x74', '\x6f', '\x6b', '\x65', '\x6e', '\x73', '\x20', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x2d', '\x3e', '\x20', '\x49', '\x6e', '\x74', '\x65', '\x72', '\x6e', '\x61', '\x6c', '\x50', '\x61', '\x72', '\x73', '\x65', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x49', '\x6e', '\x74', '\x65', '\x72', '\x6e', '\x61', '\x6c', '\x50', '\x61', '\x72', '\x73', '\x65', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x3a', '\x3a', '\x6f', '\x6b', '\x28', '\x20', '\x50', '\x61', '\x72', '\x73', '\x65', '\x53', '\x74', '\x61', '\x74', '\x65', '\x28', '\x20', '\x50', '\x61', '\x72', '\x73', '\x65', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x54', '\x79', '\x70', '\x65', '\x3a', '\x3a', '\x4e', '\x6f', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x2c', '\x20', '\x74', '\x6f', '\x6b', '\x65', '\x6e', '\x73', '\x20', '\x29', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x2d', '\x3e', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x7b', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x2a', '\x6d', '\x5f', '\x6e', '\x61', '\x6d', '\x65', '\x3b', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x73', '\x65', '\x74', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6e', '\x65', '\x77', '\x4e', '\x61', '\x6d', '\x65', '\x20', '\x29', '\x20', '\x2d', '\x3e', '\x20', '\x50', '\x61', '\x72', '\x73', '\x65', '\x72', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x6c', '\x61', '\x73', '\x74', '\x53', '\x6c', '\x61', '\x73', '\x68', '\x20', '\x3d', '\x20', '\x6e', '\x65', '\x77', '\x4e', '\x61', '\x6d', '\x65', '\x2e', '\x66', '\x69', '\x6e', '\x64', '\x5f', '\x6c', '\x61', '\x73', '\x74', '\x5f', '\x6f', '\x66', '\x28', '\x20', '\x22', '\x5c', '\x5c', '\x2f', '\x22', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x66', '\x69', '\x6c', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x3d', '\x20', '\x28', '\x20', '\x6c', '\x61', '\x73', '\x74', '\x53', '\x6c', '\x61', '\x73', '\x68', '\x20', '\x3d', '\x3d', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x3a', '\x3a', '\x6e', '\x70', '\x6f', '\x73', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x3f', '\x20', '\x6e', '\x65', '\x77', '\x4e', '\x61', '\x6d', '\x65', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x3a', '\x20', '\x6e', '\x65', '\x77', '\x4e', '\x61', '\x6d', '\x65', '\x2e', '\x73', '\x75', '\x62', '\x73', '\x74', '\x72', '\x28', '\x20', '\x6c', '\x61', '\x73', '\x74', '\x53', '\x6c', '\x61', '\x73', '\x68', '\x2b', '\x31', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2a', '\x6d', '\x5f', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x3d', '\x20', '\x66', '\x69', '\x6c', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x6d', '\x5f', '\x72', '\x65', '\x66', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6d', '\x5f', '\x72', '\x65', '\x66', '\x2d', '\x3e', '\x73', '\x65', '\x74', '\x56', '\x61', '\x6c', '\x75', '\x65', '\x28', '\x20', '\x66', '\x69', '\x6c', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x6c', '\x73', '\x65', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x50', '\x61', '\x72', '\x73', '\x65', '\x72', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x3a', '\x3a', '\x6f', '\x6b', '\x28', '\x20', '\x50', '\x61', '\x72', '\x73', '\x65', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x54', '\x79', '\x70', '\x65', '\x3a', '\x3a', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x64', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x20', '\x41', '\x72', '\x67', '\x20', '\x3a', '\x20', '\x70', '\x75', '\x62', '\x6c', '\x69', '\x63', '\x20', '\x50', '\x61', '\x72', '\x73', '\x65', '\x72', '\x52', '\x65', '\x66', '\x49', '\x6d', '\x70', '\x6c', '\x3c', '\x41', '\x72', '\x67', '\x3e', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x70', '\x75', '\x62', '\x6c', '\x69', '\x63', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x75', '\x73', '\x69', '\x6e', '\x67', '\x20', '\x50', '\x61', '\x72', '\x73', '\x65', '\x72', '\x52', '\x65', '\x66', '\x49', '\x6d', '\x70', '\x6c', '\x3a', '\x3a', '\x50', '\x61', '\x72', '\x73', '\x65', '\x72', '\x52', '\x65', '\x66', '\x49', '\x6d', '\x70', '\x6c', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x70', '\x61', '\x72', '\x73', '\x65', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x26', '\x2c', '\x20', '\x54', '\x6f', '\x6b', '\x65', '\x6e', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x26', '\x74', '\x6f', '\x6b', '\x65', '\x6e', '\x73', '\x20', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x2d', '\x3e', '\x20', '\x49', '\x6e', '\x74', '\x65', '\x72', '\x6e', '\x61', '\x6c', '\x50', '\x61', '\x72', '\x73', '\x65', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x76', '\x61', '\x6c', '\x69', '\x64', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x20', '\x3d', '\x20', '\x76', '\x61', '\x6c', '\x69', '\x64', '\x61', '\x74', '\x65', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x21', '\x76', '\x61', '\x6c', '\x69', '\x64', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x49', '\x6e', '\x74', '\x65', '\x72', '\x6e', '\x61', '\x6c', '\x50', '\x61', '\x72', '\x73', '\x65', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x28', '\x20', '\x76', '\x61', '\x6c', '\x69', '\x64', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x72', '\x65', '\x6d', '\x61', '\x69', '\x6e', '\x69', '\x6e', '\x67', '\x54', '\x6f', '\x6b', '\x65', '\x6e', '\x73', '\x20', '\x3d', '\x20', '\x74', '\x6f', '\x6b', '\x65', '\x6e', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x26', '\x74', '\x6f', '\x6b', '\x65', '\x6e', '\x20', '\x3d', '\x20', '\x2a', '\x72', '\x65', '\x6d', '\x61', '\x69', '\x6e', '\x69', '\x6e', '\x67', '\x54', '\x6f', '\x6b', '\x65', '\x6e', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x74', '\x6f', '\x6b', '\x65', '\x6e', '\x2e', '\x74', '\x79', '\x70', '\x65', '\x20', '\x21', '\x3d', '\x20', '\x54', '\x6f', '\x6b', '\x65', '\x6e', '\x54', '\x79', '\x70', '\x65', '\x3a', '\x3a', '\x41', '\x72', '\x67', '\x75', '\x6d', '\x65', '\x6e', '\x74', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x49', '\x6e', '\x74', '\x65', '\x72', '\x6e', '\x61', '\x6c', '\x50', '\x61', '\x72', '\x73', '\x65', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x3a', '\x3a', '\x6f', '\x6b', '\x28', '\x20', '\x50', '\x61', '\x72', '\x73', '\x65', '\x53', '\x74', '\x61', '\x74', '\x65', '\x28', '\x20', '\x50', '\x61', '\x72', '\x73', '\x65', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x54', '\x79', '\x70', '\x65', '\x3a', '\x3a', '\x4e', '\x6f', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x2c', '\x20', '\x72', '\x65', '\x6d', '\x61', '\x69', '\x6e', '\x69', '\x6e', '\x67', '\x54', '\x6f', '\x6b', '\x65', '\x6e', '\x73', '\x20', '\x29', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x28', '\x20', '\x21', '\x6d', '\x5f', '\x72', '\x65', '\x66', '\x2d', '\x3e', '\x69', '\x73', '\x46', '\x6c', '\x61', '\x67', '\x28', '\x29', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x52', '\x65', '\x66', '\x20', '\x3d', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x5f', '\x63', '\x61', '\x73', '\x74', '\x3c', '\x64', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x3a', '\x3a', '\x42', '\x6f', '\x75', '\x6e', '\x64', '\x56', '\x61', '\x6c', '\x75', '\x65', '\x52', '\x65', '\x66', '\x42', '\x61', '\x73', '\x65', '\x2a', '\x3e', '\x28', '\x20', '\x6d', '\x5f', '\x72', '\x65', '\x66', '\x2e', '\x67', '\x65', '\x74', '\x28', '\x29', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x20', '\x3d', '\x20', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x52', '\x65', '\x66', '\x2d', '\x3e', '\x73', '\x65', '\x74', '\x56', '\x61', '\x6c', '\x75', '\x65', '\x28', '\x20', '\x72', '\x65', '\x6d', '\x61', '\x69', '\x6e', '\x69', '\x6e', '\x67', '\x54', '\x6f', '\x6b', '\x65', '\x6e', '\x73', '\x2d', '\x3e', '\x74', '\x6f', '\x6b', '\x65', '\x6e', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x21', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x49', '\x6e', '\x74', '\x65', '\x72', '\x6e', '\x61', '\x6c', '\x50', '\x61', '\x72', '\x73', '\x65', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x28', '\x20', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x6c', '\x73', '\x65', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x49', '\x6e', '\x74', '\x65', '\x72', '\x6e', '\x61', '\x6c', '\x50', '\x61', '\x72', '\x73', '\x65', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x3a', '\x3a', '\x6f', '\x6b', '\x28', '\x20', '\x50', '\x61', '\x72', '\x73', '\x65', '\x53', '\x74', '\x61', '\x74', '\x65', '\x28', '\x20', '\x50', '\x61', '\x72', '\x73', '\x65', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x54', '\x79', '\x70', '\x65', '\x3a', '\x3a', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x64', '\x2c', '\x20', '\x2b', '\x2b', '\x72', '\x65', '\x6d', '\x61', '\x69', '\x6e', '\x69', '\x6e', '\x67', '\x54', '\x6f', '\x6b', '\x65', '\x6e', '\x73', '\x20', '\x29', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x69', '\x6e', '\x6c', '\x69', '\x6e', '\x65', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x6e', '\x6f', '\x72', '\x6d', '\x61', '\x6c', '\x69', '\x73', '\x65', '\x4f', '\x70', '\x74', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x26', '\x6f', '\x70', '\x74', '\x4e', '\x61', '\x6d', '\x65', '\x20', '\x29', '\x20', '\x2d', '\x3e', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x7b', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x64', '\x65', '\x66', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x50', '\x4c', '\x41', '\x54', '\x46', '\x4f', '\x52', '\x4d', '\x5f', '\x57', '\x49', '\x4e', '\x44', '\x4f', '\x57', '\x53', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x6f', '\x70', '\x74', '\x4e', '\x61', '\x6d', '\x65', '\x5b', '\x30', '\x5d', '\x20', '\x3d', '\x3d', '\x20', '\x27', '\x2f', '\x27', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x22', '\x2d', '\x22', '\x20', '\x2b', '\x20', '\x6f', '\x70', '\x74', '\x4e', '\x61', '\x6d', '\x65', '\x2e', '\x73', '\x75', '\x62', '\x73', '\x74', '\x72', '\x28', '\x20', '\x31', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x6c', '\x73', '\x65', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6f', '\x70', '\x74', '\x4e', '\x61', '\x6d', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x20', '\x4f', '\x70', '\x74', '\x20', '\x3a', '\x20', '\x70', '\x75', '\x62', '\x6c', '\x69', '\x63', '\x20', '\x50', '\x61', '\x72', '\x73', '\x65', '\x72', '\x52', '\x65', '\x66', '\x49', '\x6d', '\x70', '\x6c', '\x3c', '\x4f', '\x70', '\x74', '\x3e', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x70', '\x72', '\x6f', '\x74', '\x65', '\x63', '\x74', '\x65', '\x64', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x3e', '\x20', '\x6d', '\x5f', '\x6f', '\x70', '\x74', '\x4e', '\x61', '\x6d', '\x65', '\x73', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x70', '\x75', '\x62', '\x6c', '\x69', '\x63', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x4c', '\x61', '\x6d', '\x62', '\x64', '\x61', '\x54', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x78', '\x70', '\x6c', '\x69', '\x63', '\x69', '\x74', '\x20', '\x4f', '\x70', '\x74', '\x28', '\x20', '\x4c', '\x61', '\x6d', '\x62', '\x64', '\x61', '\x54', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x26', '\x72', '\x65', '\x66', '\x20', '\x29', '\x20', '\x3a', '\x20', '\x50', '\x61', '\x72', '\x73', '\x65', '\x72', '\x52', '\x65', '\x66', '\x49', '\x6d', '\x70', '\x6c', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6d', '\x61', '\x6b', '\x65', '\x5f', '\x73', '\x68', '\x61', '\x72', '\x65', '\x64', '\x3c', '\x42', '\x6f', '\x75', '\x6e', '\x64', '\x46', '\x6c', '\x61', '\x67', '\x4c', '\x61', '\x6d', '\x62', '\x64', '\x61', '\x3c', '\x4c', '\x61', '\x6d', '\x62', '\x64', '\x61', '\x54', '\x3e', '\x3e', '\x28', '\x20', '\x72', '\x65', '\x66', '\x20', '\x29', '\x20', '\x29', '\x20', '\x7b', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x78', '\x70', '\x6c', '\x69', '\x63', '\x69', '\x74', '\x20', '\x4f', '\x70', '\x74', '\x28', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x26', '\x72', '\x65', '\x66', '\x20', '\x29', '\x20', '\x3a', '\x20', '\x50', '\x61', '\x72', '\x73', '\x65', '\x72', '\x52', '\x65', '\x66', '\x49', '\x6d', '\x70', '\x6c', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6d', '\x61', '\x6b', '\x65', '\x5f', '\x73', '\x68', '\x61', '\x72', '\x65', '\x64', '\x3c', '\x42', '\x6f', '\x75', '\x6e', '\x64', '\x46', '\x6c', '\x61', '\x67', '\x52', '\x65', '\x66', '\x3e', '\x28', '\x20', '\x72', '\x65', '\x66', '\x20', '\x29', '\x20', '\x29', '\x20', '\x7b', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x4c', '\x61', '\x6d', '\x62', '\x64', '\x61', '\x54', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x4f', '\x70', '\x74', '\x28', '\x20', '\x4c', '\x61', '\x6d', '\x62', '\x64', '\x61', '\x54', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x26', '\x72', '\x65', '\x66', '\x2c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x26', '\x68', '\x69', '\x6e', '\x74', '\x20', '\x29', '\x20', '\x3a', '\x20', '\x50', '\x61', '\x72', '\x73', '\x65', '\x72', '\x52', '\x65', '\x66', '\x49', '\x6d', '\x70', '\x6c', '\x28', '\x20', '\x72', '\x65', '\x66', '\x2c', '\x20', '\x68', '\x69', '\x6e', '\x74', '\x20', '\x29', '\x20', '\x7b', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x54', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x4f', '\x70', '\x74', '\x28', '\x20', '\x54', '\x20', '\x26', '\x72', '\x65', '\x66', '\x2c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x26', '\x68', '\x69', '\x6e', '\x74', '\x20', '\x29', '\x20', '\x3a', '\x20', '\x50', '\x61', '\x72', '\x73', '\x65', '\x72', '\x52', '\x65', '\x66', '\x49', '\x6d', '\x70', '\x6c', '\x28', '\x20', '\x72', '\x65', '\x66', '\x2c', '\x20', '\x68', '\x69', '\x6e', '\x74', '\x20', '\x29', '\x20', '\x7b', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x5b', '\x5d', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x26', '\x6f', '\x70', '\x74', '\x4e', '\x61', '\x6d', '\x65', '\x20', '\x29', '\x20', '\x2d', '\x3e', '\x20', '\x4f', '\x70', '\x74', '\x20', '\x26', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x6f', '\x70', '\x74', '\x4e', '\x61', '\x6d', '\x65', '\x73', '\x2e', '\x70', '\x75', '\x73', '\x68', '\x5f', '\x62', '\x61', '\x63', '\x6b', '\x28', '\x20', '\x6f', '\x70', '\x74', '\x4e', '\x61', '\x6d', '\x65', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x2a', '\x74', '\x68', '\x69', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x67', '\x65', '\x74', '\x48', '\x65', '\x6c', '\x70', '\x43', '\x6f', '\x6c', '\x75', '\x6d', '\x6e', '\x73', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x2d', '\x3e', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x48', '\x65', '\x6c', '\x70', '\x43', '\x6f', '\x6c', '\x75', '\x6d', '\x6e', '\x73', '\x3e', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6f', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x20', '\x6f', '\x73', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x66', '\x69', '\x72', '\x73', '\x74', '\x20', '\x3d', '\x20', '\x74', '\x72', '\x75', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x66', '\x6f', '\x72', '\x28', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x26', '\x6f', '\x70', '\x74', '\x20', '\x3a', '\x20', '\x6d', '\x5f', '\x6f', '\x70', '\x74', '\x4e', '\x61', '\x6d', '\x65', '\x73', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x66', '\x69', '\x72', '\x73', '\x74', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x66', '\x69', '\x72', '\x73', '\x74', '\x20', '\x3d', '\x20', '\x66', '\x61', '\x6c', '\x73', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x6c', '\x73', '\x65', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6f', '\x73', '\x73', '\x20', '\x3c', '\x3c', '\x20', '\x22', '\x2c', '\x20', '\x22', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6f', '\x73', '\x73', '\x20', '\x3c', '\x3c', '\x20', '\x6f', '\x70', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x21', '\x6d', '\x5f', '\x68', '\x69', '\x6e', '\x74', '\x2e', '\x65', '\x6d', '\x70', '\x74', '\x79', '\x28', '\x29', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6f', '\x73', '\x73', '\x20', '\x3c', '\x3c', '\x20', '\x22', '\x20', '\x3c', '\x22', '\x20', '\x3c', '\x3c', '\x20', '\x6d', '\x5f', '\x68', '\x69', '\x6e', '\x74', '\x20', '\x3c', '\x3c', '\x20', '\x22', '\x3e', '\x22', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x7b', '\x20', '\x7b', '\x20', '\x6f', '\x73', '\x73', '\x2e', '\x73', '\x74', '\x72', '\x28', '\x29', '\x2c', '\x20', '\x6d', '\x5f', '\x64', '\x65', '\x73', '\x63', '\x72', '\x69', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x7d', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x69', '\x73', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x26', '\x6f', '\x70', '\x74', '\x54', '\x6f', '\x6b', '\x65', '\x6e', '\x20', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x2d', '\x3e', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x6e', '\x6f', '\x72', '\x6d', '\x61', '\x6c', '\x69', '\x73', '\x65', '\x64', '\x54', '\x6f', '\x6b', '\x65', '\x6e', '\x20', '\x3d', '\x20', '\x6e', '\x6f', '\x72', '\x6d', '\x61', '\x6c', '\x69', '\x73', '\x65', '\x4f', '\x70', '\x74', '\x28', '\x20', '\x6f', '\x70', '\x74', '\x54', '\x6f', '\x6b', '\x65', '\x6e', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x66', '\x6f', '\x72', '\x28', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x26', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x3a', '\x20', '\x6d', '\x5f', '\x6f', '\x70', '\x74', '\x4e', '\x61', '\x6d', '\x65', '\x73', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x6e', '\x6f', '\x72', '\x6d', '\x61', '\x6c', '\x69', '\x73', '\x65', '\x4f', '\x70', '\x74', '\x28', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x29', '\x20', '\x3d', '\x3d', '\x20', '\x6e', '\x6f', '\x72', '\x6d', '\x61', '\x6c', '\x69', '\x73', '\x65', '\x64', '\x54', '\x6f', '\x6b', '\x65', '\x6e', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x74', '\x72', '\x75', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x66', '\x61', '\x6c', '\x73', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x75', '\x73', '\x69', '\x6e', '\x67', '\x20', '\x50', '\x61', '\x72', '\x73', '\x65', '\x72', '\x42', '\x61', '\x73', '\x65', '\x3a', '\x3a', '\x70', '\x61', '\x72', '\x73', '\x65', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x70', '\x61', '\x72', '\x73', '\x65', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x2c', '\x20', '\x54', '\x6f', '\x6b', '\x65', '\x6e', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x26', '\x74', '\x6f', '\x6b', '\x65', '\x6e', '\x73', '\x20', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x2d', '\x3e', '\x20', '\x49', '\x6e', '\x74', '\x65', '\x72', '\x6e', '\x61', '\x6c', '\x50', '\x61', '\x72', '\x73', '\x65', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x76', '\x61', '\x6c', '\x69', '\x64', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x20', '\x3d', '\x20', '\x76', '\x61', '\x6c', '\x69', '\x64', '\x61', '\x74', '\x65', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x21', '\x76', '\x61', '\x6c', '\x69', '\x64', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x49', '\x6e', '\x74', '\x65', '\x72', '\x6e', '\x61', '\x6c', '\x50', '\x61', '\x72', '\x73', '\x65', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x28', '\x20', '\x76', '\x61', '\x6c', '\x69', '\x64', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x72', '\x65', '\x6d', '\x61', '\x69', '\x6e', '\x69', '\x6e', '\x67', '\x54', '\x6f', '\x6b', '\x65', '\x6e', '\x73', '\x20', '\x3d', '\x20', '\x74', '\x6f', '\x6b', '\x65', '\x6e', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x72', '\x65', '\x6d', '\x61', '\x69', '\x6e', '\x69', '\x6e', '\x67', '\x54', '\x6f', '\x6b', '\x65', '\x6e', '\x73', '\x20', '\x26', '\x26', '\x20', '\x72', '\x65', '\x6d', '\x61', '\x69', '\x6e', '\x69', '\x6e', '\x67', '\x54', '\x6f', '\x6b', '\x65', '\x6e', '\x73', '\x2d', '\x3e', '\x74', '\x79', '\x70', '\x65', '\x20', '\x3d', '\x3d', '\x20', '\x54', '\x6f', '\x6b', '\x65', '\x6e', '\x54', '\x79', '\x70', '\x65', '\x3a', '\x3a', '\x4f', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x26', '\x74', '\x6f', '\x6b', '\x65', '\x6e', '\x20', '\x3d', '\x20', '\x2a', '\x72', '\x65', '\x6d', '\x61', '\x69', '\x6e', '\x69', '\x6e', '\x67', '\x54', '\x6f', '\x6b', '\x65', '\x6e', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x69', '\x73', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x28', '\x74', '\x6f', '\x6b', '\x65', '\x6e', '\x2e', '\x74', '\x6f', '\x6b', '\x65', '\x6e', '\x20', '\x29', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x6d', '\x5f', '\x72', '\x65', '\x66', '\x2d', '\x3e', '\x69', '\x73', '\x46', '\x6c', '\x61', '\x67', '\x28', '\x29', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x66', '\x6c', '\x61', '\x67', '\x52', '\x65', '\x66', '\x20', '\x3d', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x5f', '\x63', '\x61', '\x73', '\x74', '\x3c', '\x64', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x3a', '\x3a', '\x42', '\x6f', '\x75', '\x6e', '\x64', '\x46', '\x6c', '\x61', '\x67', '\x52', '\x65', '\x66', '\x42', '\x61', '\x73', '\x65', '\x2a', '\x3e', '\x28', '\x20', '\x6d', '\x5f', '\x72', '\x65', '\x66', '\x2e', '\x67', '\x65', '\x74', '\x28', '\x29', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x20', '\x3d', '\x20', '\x66', '\x6c', '\x61', '\x67', '\x52', '\x65', '\x66', '\x2d', '\x3e', '\x73', '\x65', '\x74', '\x46', '\x6c', '\x61', '\x67', '\x28', '\x20', '\x74', '\x72', '\x75', '\x65', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x21', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x49', '\x6e', '\x74', '\x65', '\x72', '\x6e', '\x61', '\x6c', '\x50', '\x61', '\x72', '\x73', '\x65', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x28', '\x20', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x2e', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x28', '\x29', '\x20', '\x3d', '\x3d', '\x20', '\x50', '\x61', '\x72', '\x73', '\x65', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x54', '\x79', '\x70', '\x65', '\x3a', '\x3a', '\x53', '\x68', '\x6f', '\x72', '\x74', '\x43', '\x69', '\x72', '\x63', '\x75', '\x69', '\x74', '\x41', '\x6c', '\x6c', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x49', '\x6e', '\x74', '\x65', '\x72', '\x6e', '\x61', '\x6c', '\x50', '\x61', '\x72', '\x73', '\x65', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x3a', '\x3a', '\x6f', '\x6b', '\x28', '\x20', '\x50', '\x61', '\x72', '\x73', '\x65', '\x53', '\x74', '\x61', '\x74', '\x65', '\x28', '\x20', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x2e', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x28', '\x29', '\x2c', '\x20', '\x72', '\x65', '\x6d', '\x61', '\x69', '\x6e', '\x69', '\x6e', '\x67', '\x54', '\x6f', '\x6b', '\x65', '\x6e', '\x73', '\x20', '\x29', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x20', '\x65', '\x6c', '\x73', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x52', '\x65', '\x66', '\x20', '\x3d', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x5f', '\x63', '\x61', '\x73', '\x74', '\x3c', '\x64', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x3a', '\x3a', '\x42', '\x6f', '\x75', '\x6e', '\x64', '\x56', '\x61', '\x6c', '\x75', '\x65', '\x52', '\x65', '\x66', '\x42', '\x61', '\x73', '\x65', '\x2a', '\x3e', '\x28', '\x20', '\x6d', '\x5f', '\x72', '\x65', '\x66', '\x2e', '\x67', '\x65', '\x74', '\x28', '\x29', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2b', '\x2b', '\x72', '\x65', '\x6d', '\x61', '\x69', '\x6e', '\x69', '\x6e', '\x67', '\x54', '\x6f', '\x6b', '\x65', '\x6e', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x21', '\x72', '\x65', '\x6d', '\x61', '\x69', '\x6e', '\x69', '\x6e', '\x67', '\x54', '\x6f', '\x6b', '\x65', '\x6e', '\x73', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x49', '\x6e', '\x74', '\x65', '\x72', '\x6e', '\x61', '\x6c', '\x50', '\x61', '\x72', '\x73', '\x65', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x3a', '\x3a', '\x72', '\x75', '\x6e', '\x74', '\x69', '\x6d', '\x65', '\x45', '\x72', '\x72', '\x6f', '\x72', '\x28', '\x20', '\x22', '\x45', '\x78', '\x70', '\x65', '\x63', '\x74', '\x65', '\x64', '\x20', '\x61', '\x72', '\x67', '\x75', '\x6d', '\x65', '\x6e', '\x74', '\x20', '\x66', '\x6f', '\x6c', '\x6c', '\x6f', '\x77', '\x69', '\x6e', '\x67', '\x20', '\x22', '\x20', '\x2b', '\x20', '\x74', '\x6f', '\x6b', '\x65', '\x6e', '\x2e', '\x74', '\x6f', '\x6b', '\x65', '\x6e', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x26', '\x61', '\x72', '\x67', '\x54', '\x6f', '\x6b', '\x65', '\x6e', '\x20', '\x3d', '\x20', '\x2a', '\x72', '\x65', '\x6d', '\x61', '\x69', '\x6e', '\x69', '\x6e', '\x67', '\x54', '\x6f', '\x6b', '\x65', '\x6e', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x61', '\x72', '\x67', '\x54', '\x6f', '\x6b', '\x65', '\x6e', '\x2e', '\x74', '\x79', '\x70', '\x65', '\x20', '\x21', '\x3d', '\x20', '\x54', '\x6f', '\x6b', '\x65', '\x6e', '\x54', '\x79', '\x70', '\x65', '\x3a', '\x3a', '\x41', '\x72', '\x67', '\x75', '\x6d', '\x65', '\x6e', '\x74', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x49', '\x6e', '\x74', '\x65', '\x72', '\x6e', '\x61', '\x6c', '\x50', '\x61', '\x72', '\x73', '\x65', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x3a', '\x3a', '\x72', '\x75', '\x6e', '\x74', '\x69', '\x6d', '\x65', '\x45', '\x72', '\x72', '\x6f', '\x72', '\x28', '\x20', '\x22', '\x45', '\x78', '\x70', '\x65', '\x63', '\x74', '\x65', '\x64', '\x20', '\x61', '\x72', '\x67', '\x75', '\x6d', '\x65', '\x6e', '\x74', '\x20', '\x66', '\x6f', '\x6c', '\x6c', '\x6f', '\x77', '\x69', '\x6e', '\x67', '\x20', '\x22', '\x20', '\x2b', '\x20', '\x74', '\x6f', '\x6b', '\x65', '\x6e', '\x2e', '\x74', '\x6f', '\x6b', '\x65', '\x6e', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x20', '\x3d', '\x20', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x52', '\x65', '\x66', '\x2d', '\x3e', '\x73', '\x65', '\x74', '\x56', '\x61', '\x6c', '\x75', '\x65', '\x28', '\x20', '\x61', '\x72', '\x67', '\x54', '\x6f', '\x6b', '\x65', '\x6e', '\x2e', '\x74', '\x6f', '\x6b', '\x65', '\x6e', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x21', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x49', '\x6e', '\x74', '\x65', '\x72', '\x6e', '\x61', '\x6c', '\x50', '\x61', '\x72', '\x73', '\x65', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x28', '\x20', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x2e', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x28', '\x29', '\x20', '\x3d', '\x3d', '\x20', '\x50', '\x61', '\x72', '\x73', '\x65', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x54', '\x79', '\x70', '\x65', '\x3a', '\x3a', '\x53', '\x68', '\x6f', '\x72', '\x74', '\x43', '\x69', '\x72', '\x63', '\x75', '\x69', '\x74', '\x41', '\x6c', '\x6c', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x49', '\x6e', '\x74', '\x65', '\x72', '\x6e', '\x61', '\x6c', '\x50', '\x61', '\x72', '\x73', '\x65', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x3a', '\x3a', '\x6f', '\x6b', '\x28', '\x20', '\x50', '\x61', '\x72', '\x73', '\x65', '\x53', '\x74', '\x61', '\x74', '\x65', '\x28', '\x20', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x2e', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x28', '\x29', '\x2c', '\x20', '\x72', '\x65', '\x6d', '\x61', '\x69', '\x6e', '\x69', '\x6e', '\x67', '\x54', '\x6f', '\x6b', '\x65', '\x6e', '\x73', '\x20', '\x29', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x49', '\x6e', '\x74', '\x65', '\x72', '\x6e', '\x61', '\x6c', '\x50', '\x61', '\x72', '\x73', '\x65', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x3a', '\x3a', '\x6f', '\x6b', '\x28', '\x20', '\x50', '\x61', '\x72', '\x73', '\x65', '\x53', '\x74', '\x61', '\x74', '\x65', '\x28', '\x20', '\x50', '\x61', '\x72', '\x73', '\x65', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x54', '\x79', '\x70', '\x65', '\x3a', '\x3a', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x64', '\x2c', '\x20', '\x2b', '\x2b', '\x72', '\x65', '\x6d', '\x61', '\x69', '\x6e', '\x69', '\x6e', '\x67', '\x54', '\x6f', '\x6b', '\x65', '\x6e', '\x73', '\x20', '\x29', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x49', '\x6e', '\x74', '\x65', '\x72', '\x6e', '\x61', '\x6c', '\x50', '\x61', '\x72', '\x73', '\x65', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x3a', '\x3a', '\x6f', '\x6b', '\x28', '\x20', '\x50', '\x61', '\x72', '\x73', '\x65', '\x53', '\x74', '\x61', '\x74', '\x65', '\x28', '\x20', '\x50', '\x61', '\x72', '\x73', '\x65', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x54', '\x79', '\x70', '\x65', '\x3a', '\x3a', '\x4e', '\x6f', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x2c', '\x20', '\x72', '\x65', '\x6d', '\x61', '\x69', '\x6e', '\x69', '\x6e', '\x67', '\x54', '\x6f', '\x6b', '\x65', '\x6e', '\x73', '\x20', '\x29', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x76', '\x61', '\x6c', '\x69', '\x64', '\x61', '\x74', '\x65', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x2d', '\x3e', '\x20', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x6d', '\x5f', '\x6f', '\x70', '\x74', '\x4e', '\x61', '\x6d', '\x65', '\x73', '\x2e', '\x65', '\x6d', '\x70', '\x74', '\x79', '\x28', '\x29', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x3a', '\x3a', '\x6c', '\x6f', '\x67', '\x69', '\x63', '\x45', '\x72', '\x72', '\x6f', '\x72', '\x28', '\x20', '\x22', '\x4e', '\x6f', '\x20', '\x6f', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x20', '\x73', '\x75', '\x70', '\x70', '\x6c', '\x69', '\x65', '\x64', '\x20', '\x74', '\x6f', '\x20', '\x4f', '\x70', '\x74', '\x22', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x66', '\x6f', '\x72', '\x28', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x26', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x3a', '\x20', '\x6d', '\x5f', '\x6f', '\x70', '\x74', '\x4e', '\x61', '\x6d', '\x65', '\x73', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x2e', '\x65', '\x6d', '\x70', '\x74', '\x79', '\x28', '\x29', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x3a', '\x3a', '\x6c', '\x6f', '\x67', '\x69', '\x63', '\x45', '\x72', '\x72', '\x6f', '\x72', '\x28', '\x20', '\x22', '\x4f', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x63', '\x61', '\x6e', '\x6e', '\x6f', '\x74', '\x20', '\x62', '\x65', '\x20', '\x65', '\x6d', '\x70', '\x74', '\x79', '\x22', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x64', '\x65', '\x66', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x50', '\x4c', '\x41', '\x54', '\x46', '\x4f', '\x52', '\x4d', '\x5f', '\x57', '\x49', '\x4e', '\x44', '\x4f', '\x57', '\x53', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x5b', '\x30', '\x5d', '\x20', '\x21', '\x3d', '\x20', '\x27', '\x2d', '\x27', '\x20', '\x26', '\x26', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x5b', '\x30', '\x5d', '\x20', '\x21', '\x3d', '\x20', '\x27', '\x2f', '\x27', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x3a', '\x3a', '\x6c', '\x6f', '\x67', '\x69', '\x63', '\x45', '\x72', '\x72', '\x6f', '\x72', '\x28', '\x20', '\x22', '\x4f', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x6d', '\x75', '\x73', '\x74', '\x20', '\x62', '\x65', '\x67', '\x69', '\x6e', '\x20', '\x77', '\x69', '\x74', '\x68', '\x20', '\x27', '\x2d', '\x27', '\x20', '\x6f', '\x72', '\x20', '\x27', '\x2f', '\x27', '\x22', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x23', '\x65', '\x6c', '\x73', '\x65', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x5b', '\x30', '\x5d', '\x20', '\x21', '\x3d', '\x20', '\x27', '\x2d', '\x27', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x3a', '\x3a', '\x6c', '\x6f', '\x67', '\x69', '\x63', '\x45', '\x72', '\x72', '\x6f', '\x72', '\x28', '\x20', '\x22', '\x4f', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x6d', '\x75', '\x73', '\x74', '\x20', '\x62', '\x65', '\x67', '\x69', '\x6e', '\x20', '\x77', '\x69', '\x74', '\x68', '\x20', '\x27', '\x2d', '\x27', '\x22', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x50', '\x61', '\x72', '\x73', '\x65', '\x72', '\x52', '\x65', '\x66', '\x49', '\x6d', '\x70', '\x6c', '\x3a', '\x3a', '\x76', '\x61', '\x6c', '\x69', '\x64', '\x61', '\x74', '\x65', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x48', '\x65', '\x6c', '\x70', '\x20', '\x3a', '\x20', '\x4f', '\x70', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x48', '\x65', '\x6c', '\x70', '\x28', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x26', '\x73', '\x68', '\x6f', '\x77', '\x48', '\x65', '\x6c', '\x70', '\x46', '\x6c', '\x61', '\x67', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x3a', '\x20', '\x20', '\x20', '\x4f', '\x70', '\x74', '\x28', '\x5b', '\x26', '\x5d', '\x28', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x66', '\x6c', '\x61', '\x67', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x68', '\x6f', '\x77', '\x48', '\x65', '\x6c', '\x70', '\x46', '\x6c', '\x61', '\x67', '\x20', '\x3d', '\x20', '\x66', '\x6c', '\x61', '\x67', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x50', '\x61', '\x72', '\x73', '\x65', '\x72', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x3a', '\x3a', '\x6f', '\x6b', '\x28', '\x20', '\x50', '\x61', '\x72', '\x73', '\x65', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x54', '\x79', '\x70', '\x65', '\x3a', '\x3a', '\x53', '\x68', '\x6f', '\x72', '\x74', '\x43', '\x69', '\x72', '\x63', '\x75', '\x69', '\x74', '\x41', '\x6c', '\x6c', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x5f', '\x63', '\x61', '\x73', '\x74', '\x3c', '\x4f', '\x70', '\x74', '\x20', '\x26', '\x3e', '\x28', '\x20', '\x2a', '\x74', '\x68', '\x69', '\x73', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x28', '\x22', '\x64', '\x69', '\x73', '\x70', '\x6c', '\x61', '\x79', '\x20', '\x75', '\x73', '\x61', '\x67', '\x65', '\x20', '\x69', '\x6e', '\x66', '\x6f', '\x72', '\x6d', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x22', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x5b', '\x22', '\x2d', '\x3f', '\x22', '\x5d', '\x5b', '\x22', '\x2d', '\x68', '\x22', '\x5d', '\x5b', '\x22', '\x2d', '\x2d', '\x68', '\x65', '\x6c', '\x70', '\x22', '\x5d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2e', '\x6f', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x61', '\x6c', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x50', '\x61', '\x72', '\x73', '\x65', '\x72', '\x20', '\x3a', '\x20', '\x50', '\x61', '\x72', '\x73', '\x65', '\x72', '\x42', '\x61', '\x73', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x75', '\x74', '\x61', '\x62', '\x6c', '\x65', '\x20', '\x45', '\x78', '\x65', '\x4e', '\x61', '\x6d', '\x65', '\x20', '\x6d', '\x5f', '\x65', '\x78', '\x65', '\x4e', '\x61', '\x6d', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x4f', '\x70', '\x74', '\x3e', '\x20', '\x6d', '\x5f', '\x6f', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x41', '\x72', '\x67', '\x3e', '\x20', '\x6d', '\x5f', '\x61', '\x72', '\x67', '\x73', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x7c', '\x3d', '\x28', '\x20', '\x45', '\x78', '\x65', '\x4e', '\x61', '\x6d', '\x65', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x26', '\x65', '\x78', '\x65', '\x4e', '\x61', '\x6d', '\x65', '\x20', '\x29', '\x20', '\x2d', '\x3e', '\x20', '\x50', '\x61', '\x72', '\x73', '\x65', '\x72', '\x20', '\x26', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x65', '\x78', '\x65', '\x4e', '\x61', '\x6d', '\x65', '\x20', '\x3d', '\x20', '\x65', '\x78', '\x65', '\x4e', '\x61', '\x6d', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x2a', '\x74', '\x68', '\x69', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x7c', '\x3d', '\x28', '\x20', '\x41', '\x72', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x26', '\x61', '\x72', '\x67', '\x20', '\x29', '\x20', '\x2d', '\x3e', '\x20', '\x50', '\x61', '\x72', '\x73', '\x65', '\x72', '\x20', '\x26', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x61', '\x72', '\x67', '\x73', '\x2e', '\x70', '\x75', '\x73', '\x68', '\x5f', '\x62', '\x61', '\x63', '\x6b', '\x28', '\x61', '\x72', '\x67', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x2a', '\x74', '\x68', '\x69', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x7c', '\x3d', '\x28', '\x20', '\x4f', '\x70', '\x74', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x26', '\x6f', '\x70', '\x74', '\x20', '\x29', '\x20', '\x2d', '\x3e', '\x20', '\x50', '\x61', '\x72', '\x73', '\x65', '\x72', '\x20', '\x26', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x6f', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x2e', '\x70', '\x75', '\x73', '\x68', '\x5f', '\x62', '\x61', '\x63', '\x6b', '\x28', '\x6f', '\x70', '\x74', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x2a', '\x74', '\x68', '\x69', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x7c', '\x3d', '\x28', '\x20', '\x50', '\x61', '\x72', '\x73', '\x65', '\x72', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x26', '\x6f', '\x74', '\x68', '\x65', '\x72', '\x20', '\x29', '\x20', '\x2d', '\x3e', '\x20', '\x50', '\x61', '\x72', '\x73', '\x65', '\x72', '\x20', '\x26', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x6f', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x2e', '\x69', '\x6e', '\x73', '\x65', '\x72', '\x74', '\x28', '\x6d', '\x5f', '\x6f', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x2e', '\x65', '\x6e', '\x64', '\x28', '\x29', '\x2c', '\x20', '\x6f', '\x74', '\x68', '\x65', '\x72', '\x2e', '\x6d', '\x5f', '\x6f', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x2e', '\x62', '\x65', '\x67', '\x69', '\x6e', '\x28', '\x29', '\x2c', '\x20', '\x6f', '\x74', '\x68', '\x65', '\x72', '\x2e', '\x6d', '\x5f', '\x6f', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x2e', '\x65', '\x6e', '\x64', '\x28', '\x29', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x61', '\x72', '\x67', '\x73', '\x2e', '\x69', '\x6e', '\x73', '\x65', '\x72', '\x74', '\x28', '\x6d', '\x5f', '\x61', '\x72', '\x67', '\x73', '\x2e', '\x65', '\x6e', '\x64', '\x28', '\x29', '\x2c', '\x20', '\x6f', '\x74', '\x68', '\x65', '\x72', '\x2e', '\x6d', '\x5f', '\x61', '\x72', '\x67', '\x73', '\x2e', '\x62', '\x65', '\x67', '\x69', '\x6e', '\x28', '\x29', '\x2c', '\x20', '\x6f', '\x74', '\x68', '\x65', '\x72', '\x2e', '\x6d', '\x5f', '\x61', '\x72', '\x67', '\x73', '\x2e', '\x65', '\x6e', '\x64', '\x28', '\x29', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x2a', '\x74', '\x68', '\x69', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x54', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x7c', '\x28', '\x20', '\x54', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x26', '\x6f', '\x74', '\x68', '\x65', '\x72', '\x20', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x2d', '\x3e', '\x20', '\x50', '\x61', '\x72', '\x73', '\x65', '\x72', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x50', '\x61', '\x72', '\x73', '\x65', '\x72', '\x28', '\x20', '\x2a', '\x74', '\x68', '\x69', '\x73', '\x20', '\x29', '\x20', '\x7c', '\x3d', '\x20', '\x6f', '\x74', '\x68', '\x65', '\x72', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x46', '\x6f', '\x72', '\x77', '\x61', '\x72', '\x64', '\x20', '\x64', '\x65', '\x70', '\x72', '\x65', '\x63', '\x61', '\x74', '\x65', '\x64', '\x20', '\x69', '\x6e', '\x74', '\x65', '\x72', '\x66', '\x61', '\x63', '\x65', '\x20', '\x77', '\x69', '\x74', '\x68', '\x20', '\x27', '\x2b', '\x27', '\x20', '\x69', '\x6e', '\x73', '\x74', '\x65', '\x61', '\x64', '\x20', '\x6f', '\x66', '\x20', '\x27', '\x7c', '\x27', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x54', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x2b', '\x3d', '\x28', '\x20', '\x54', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x26', '\x6f', '\x74', '\x68', '\x65', '\x72', '\x20', '\x29', '\x20', '\x2d', '\x3e', '\x20', '\x50', '\x61', '\x72', '\x73', '\x65', '\x72', '\x20', '\x26', '\x20', '\x7b', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x7c', '\x3d', '\x28', '\x20', '\x6f', '\x74', '\x68', '\x65', '\x72', '\x20', '\x29', '\x3b', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x54', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x2b', '\x28', '\x20', '\x54', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x26', '\x6f', '\x74', '\x68', '\x65', '\x72', '\x20', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x2d', '\x3e', '\x20', '\x50', '\x61', '\x72', '\x73', '\x65', '\x72', '\x20', '\x7b', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x7c', '\x28', '\x20', '\x6f', '\x74', '\x68', '\x65', '\x72', '\x20', '\x29', '\x3b', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x67', '\x65', '\x74', '\x48', '\x65', '\x6c', '\x70', '\x43', '\x6f', '\x6c', '\x75', '\x6d', '\x6e', '\x73', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x2d', '\x3e', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x48', '\x65', '\x6c', '\x70', '\x43', '\x6f', '\x6c', '\x75', '\x6d', '\x6e', '\x73', '\x3e', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x48', '\x65', '\x6c', '\x70', '\x43', '\x6f', '\x6c', '\x75', '\x6d', '\x6e', '\x73', '\x3e', '\x20', '\x63', '\x6f', '\x6c', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x66', '\x6f', '\x72', '\x20', '\x28', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x26', '\x6f', '\x20', '\x3a', '\x20', '\x6d', '\x5f', '\x6f', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x63', '\x68', '\x69', '\x6c', '\x64', '\x43', '\x6f', '\x6c', '\x73', '\x20', '\x3d', '\x20', '\x6f', '\x2e', '\x67', '\x65', '\x74', '\x48', '\x65', '\x6c', '\x70', '\x43', '\x6f', '\x6c', '\x75', '\x6d', '\x6e', '\x73', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6f', '\x6c', '\x73', '\x2e', '\x69', '\x6e', '\x73', '\x65', '\x72', '\x74', '\x28', '\x20', '\x63', '\x6f', '\x6c', '\x73', '\x2e', '\x65', '\x6e', '\x64', '\x28', '\x29', '\x2c', '\x20', '\x63', '\x68', '\x69', '\x6c', '\x64', '\x43', '\x6f', '\x6c', '\x73', '\x2e', '\x62', '\x65', '\x67', '\x69', '\x6e', '\x28', '\x29', '\x2c', '\x20', '\x63', '\x68', '\x69', '\x6c', '\x64', '\x43', '\x6f', '\x6c', '\x73', '\x2e', '\x65', '\x6e', '\x64', '\x28', '\x29', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x63', '\x6f', '\x6c', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x77', '\x72', '\x69', '\x74', '\x65', '\x54', '\x6f', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6f', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x20', '\x26', '\x6f', '\x73', '\x20', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x21', '\x6d', '\x5f', '\x65', '\x78', '\x65', '\x4e', '\x61', '\x6d', '\x65', '\x2e', '\x6e', '\x61', '\x6d', '\x65', '\x28', '\x29', '\x2e', '\x65', '\x6d', '\x70', '\x74', '\x79', '\x28', '\x29', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6f', '\x73', '\x20', '\x3c', '\x3c', '\x20', '\x22', '\x75', '\x73', '\x61', '\x67', '\x65', '\x3a', '\x5c', '\x6e', '\x22', '\x20', '\x3c', '\x3c', '\x20', '\x22', '\x20', '\x20', '\x22', '\x20', '\x3c', '\x3c', '\x20', '\x6d', '\x5f', '\x65', '\x78', '\x65', '\x4e', '\x61', '\x6d', '\x65', '\x2e', '\x6e', '\x61', '\x6d', '\x65', '\x28', '\x29', '\x20', '\x3c', '\x3c', '\x20', '\x22', '\x20', '\x22', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x72', '\x65', '\x71', '\x75', '\x69', '\x72', '\x65', '\x64', '\x20', '\x3d', '\x20', '\x74', '\x72', '\x75', '\x65', '\x2c', '\x20', '\x66', '\x69', '\x72', '\x73', '\x74', '\x20', '\x3d', '\x20', '\x74', '\x72', '\x75', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x66', '\x6f', '\x72', '\x28', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x26', '\x61', '\x72', '\x67', '\x20', '\x3a', '\x20', '\x6d', '\x5f', '\x61', '\x72', '\x67', '\x73', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x66', '\x69', '\x72', '\x73', '\x74', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x66', '\x69', '\x72', '\x73', '\x74', '\x20', '\x3d', '\x20', '\x66', '\x61', '\x6c', '\x73', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x6c', '\x73', '\x65', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6f', '\x73', '\x20', '\x3c', '\x3c', '\x20', '\x22', '\x20', '\x22', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x61', '\x72', '\x67', '\x2e', '\x69', '\x73', '\x4f', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x61', '\x6c', '\x28', '\x29', '\x20', '\x26', '\x26', '\x20', '\x72', '\x65', '\x71', '\x75', '\x69', '\x72', '\x65', '\x64', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6f', '\x73', '\x20', '\x3c', '\x3c', '\x20', '\x22', '\x5b', '\x22', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x71', '\x75', '\x69', '\x72', '\x65', '\x64', '\x20', '\x3d', '\x20', '\x66', '\x61', '\x6c', '\x73', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6f', '\x73', '\x20', '\x3c', '\x3c', '\x20', '\x22', '\x3c', '\x22', '\x20', '\x3c', '\x3c', '\x20', '\x61', '\x72', '\x67', '\x2e', '\x68', '\x69', '\x6e', '\x74', '\x28', '\x29', '\x20', '\x3c', '\x3c', '\x20', '\x22', '\x3e', '\x22', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x61', '\x72', '\x67', '\x2e', '\x63', '\x61', '\x72', '\x64', '\x69', '\x6e', '\x61', '\x6c', '\x69', '\x74', '\x79', '\x28', '\x29', '\x20', '\x3d', '\x3d', '\x20', '\x30', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6f', '\x73', '\x20', '\x3c', '\x3c', '\x20', '\x22', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x22', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x21', '\x72', '\x65', '\x71', '\x75', '\x69', '\x72', '\x65', '\x64', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6f', '\x73', '\x20', '\x3c', '\x3c', '\x20', '\x22', '\x5d', '\x22', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x21', '\x6d', '\x5f', '\x6f', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x2e', '\x65', '\x6d', '\x70', '\x74', '\x79', '\x28', '\x29', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6f', '\x73', '\x20', '\x3c', '\x3c', '\x20', '\x22', '\x20', '\x6f', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x22', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6f', '\x73', '\x20', '\x3c', '\x3c', '\x20', '\x22', '\x5c', '\x6e', '\x5c', '\x6e', '\x77', '\x68', '\x65', '\x72', '\x65', '\x20', '\x6f', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x20', '\x61', '\x72', '\x65', '\x3a', '\x22', '\x20', '\x3c', '\x3c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x65', '\x6e', '\x64', '\x6c', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x72', '\x6f', '\x77', '\x73', '\x20', '\x3d', '\x20', '\x67', '\x65', '\x74', '\x48', '\x65', '\x6c', '\x70', '\x43', '\x6f', '\x6c', '\x75', '\x6d', '\x6e', '\x73', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x69', '\x7a', '\x65', '\x5f', '\x74', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x6f', '\x6c', '\x65', '\x57', '\x69', '\x64', '\x74', '\x68', '\x20', '\x3d', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4c', '\x41', '\x52', '\x41', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x43', '\x4f', '\x4e', '\x53', '\x4f', '\x4c', '\x45', '\x5f', '\x57', '\x49', '\x44', '\x54', '\x48', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x69', '\x7a', '\x65', '\x5f', '\x74', '\x20', '\x6f', '\x70', '\x74', '\x57', '\x69', '\x64', '\x74', '\x68', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x66', '\x6f', '\x72', '\x28', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x26', '\x63', '\x6f', '\x6c', '\x73', '\x20', '\x3a', '\x20', '\x72', '\x6f', '\x77', '\x73', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6f', '\x70', '\x74', '\x57', '\x69', '\x64', '\x74', '\x68', '\x20', '\x3d', '\x20', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6d', '\x61', '\x78', '\x29', '\x28', '\x6f', '\x70', '\x74', '\x57', '\x69', '\x64', '\x74', '\x68', '\x2c', '\x20', '\x63', '\x6f', '\x6c', '\x73', '\x2e', '\x6c', '\x65', '\x66', '\x74', '\x2e', '\x73', '\x69', '\x7a', '\x65', '\x28', '\x29', '\x20', '\x2b', '\x20', '\x32', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6f', '\x70', '\x74', '\x57', '\x69', '\x64', '\x74', '\x68', '\x20', '\x3d', '\x20', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6d', '\x69', '\x6e', '\x29', '\x28', '\x6f', '\x70', '\x74', '\x57', '\x69', '\x64', '\x74', '\x68', '\x2c', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x6f', '\x6c', '\x65', '\x57', '\x69', '\x64', '\x74', '\x68', '\x2f', '\x32', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x66', '\x6f', '\x72', '\x28', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x26', '\x63', '\x6f', '\x6c', '\x73', '\x20', '\x3a', '\x20', '\x72', '\x6f', '\x77', '\x73', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x72', '\x6f', '\x77', '\x20', '\x3d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x54', '\x65', '\x78', '\x74', '\x46', '\x6c', '\x6f', '\x77', '\x3a', '\x3a', '\x43', '\x6f', '\x6c', '\x75', '\x6d', '\x6e', '\x28', '\x20', '\x63', '\x6f', '\x6c', '\x73', '\x2e', '\x6c', '\x65', '\x66', '\x74', '\x20', '\x29', '\x2e', '\x77', '\x69', '\x64', '\x74', '\x68', '\x28', '\x20', '\x6f', '\x70', '\x74', '\x57', '\x69', '\x64', '\x74', '\x68', '\x20', '\x29', '\x2e', '\x69', '\x6e', '\x64', '\x65', '\x6e', '\x74', '\x28', '\x20', '\x32', '\x20', '\x29', '\x20', '\x2b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x54', '\x65', '\x78', '\x74', '\x46', '\x6c', '\x6f', '\x77', '\x3a', '\x3a', '\x53', '\x70', '\x61', '\x63', '\x65', '\x72', '\x28', '\x34', '\x29', '\x20', '\x2b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x54', '\x65', '\x78', '\x74', '\x46', '\x6c', '\x6f', '\x77', '\x3a', '\x3a', '\x43', '\x6f', '\x6c', '\x75', '\x6d', '\x6e', '\x28', '\x20', '\x63', '\x6f', '\x6c', '\x73', '\x2e', '\x72', '\x69', '\x67', '\x68', '\x74', '\x20', '\x29', '\x2e', '\x77', '\x69', '\x64', '\x74', '\x68', '\x28', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x6f', '\x6c', '\x65', '\x57', '\x69', '\x64', '\x74', '\x68', '\x20', '\x2d', '\x20', '\x37', '\x20', '\x2d', '\x20', '\x6f', '\x70', '\x74', '\x57', '\x69', '\x64', '\x74', '\x68', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6f', '\x73', '\x20', '\x3c', '\x3c', '\x20', '\x72', '\x6f', '\x77', '\x20', '\x3c', '\x3c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x65', '\x6e', '\x64', '\x6c', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x66', '\x72', '\x69', '\x65', '\x6e', '\x64', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x3c', '\x3c', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6f', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x20', '\x26', '\x6f', '\x73', '\x2c', '\x20', '\x50', '\x61', '\x72', '\x73', '\x65', '\x72', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x26', '\x70', '\x61', '\x72', '\x73', '\x65', '\x72', '\x20', '\x29', '\x20', '\x2d', '\x3e', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6f', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x26', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x61', '\x72', '\x73', '\x65', '\x72', '\x2e', '\x77', '\x72', '\x69', '\x74', '\x65', '\x54', '\x6f', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x28', '\x20', '\x6f', '\x73', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6f', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x76', '\x61', '\x6c', '\x69', '\x64', '\x61', '\x74', '\x65', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x2d', '\x3e', '\x20', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x66', '\x6f', '\x72', '\x28', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x26', '\x6f', '\x70', '\x74', '\x20', '\x3a', '\x20', '\x6d', '\x5f', '\x6f', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x20', '\x3d', '\x20', '\x6f', '\x70', '\x74', '\x2e', '\x76', '\x61', '\x6c', '\x69', '\x64', '\x61', '\x74', '\x65', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x21', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x66', '\x6f', '\x72', '\x28', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x26', '\x61', '\x72', '\x67', '\x20', '\x3a', '\x20', '\x6d', '\x5f', '\x61', '\x72', '\x67', '\x73', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x20', '\x3d', '\x20', '\x61', '\x72', '\x67', '\x2e', '\x76', '\x61', '\x6c', '\x69', '\x64', '\x61', '\x74', '\x65', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x21', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x3a', '\x3a', '\x6f', '\x6b', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x75', '\x73', '\x69', '\x6e', '\x67', '\x20', '\x50', '\x61', '\x72', '\x73', '\x65', '\x72', '\x42', '\x61', '\x73', '\x65', '\x3a', '\x3a', '\x70', '\x61', '\x72', '\x73', '\x65', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x70', '\x61', '\x72', '\x73', '\x65', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x65', '\x78', '\x65', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x54', '\x6f', '\x6b', '\x65', '\x6e', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x26', '\x74', '\x6f', '\x6b', '\x65', '\x6e', '\x73', '\x20', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x2d', '\x3e', '\x20', '\x49', '\x6e', '\x74', '\x65', '\x72', '\x6e', '\x61', '\x6c', '\x50', '\x61', '\x72', '\x73', '\x65', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x50', '\x61', '\x72', '\x73', '\x65', '\x72', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x50', '\x61', '\x72', '\x73', '\x65', '\x72', '\x42', '\x61', '\x73', '\x65', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x2a', '\x20', '\x70', '\x61', '\x72', '\x73', '\x65', '\x72', '\x20', '\x3d', '\x20', '\x6e', '\x75', '\x6c', '\x6c', '\x70', '\x74', '\x72', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x69', '\x7a', '\x65', '\x5f', '\x74', '\x20', '\x63', '\x6f', '\x75', '\x6e', '\x74', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x73', '\x69', '\x7a', '\x65', '\x5f', '\x74', '\x20', '\x74', '\x6f', '\x74', '\x61', '\x6c', '\x50', '\x61', '\x72', '\x73', '\x65', '\x72', '\x73', '\x20', '\x3d', '\x20', '\x6d', '\x5f', '\x6f', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x2e', '\x73', '\x69', '\x7a', '\x65', '\x28', '\x29', '\x20', '\x2b', '\x20', '\x6d', '\x5f', '\x61', '\x72', '\x67', '\x73', '\x2e', '\x73', '\x69', '\x7a', '\x65', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x28', '\x20', '\x74', '\x6f', '\x74', '\x61', '\x6c', '\x50', '\x61', '\x72', '\x73', '\x65', '\x72', '\x73', '\x20', '\x3c', '\x20', '\x35', '\x31', '\x32', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x50', '\x61', '\x72', '\x73', '\x65', '\x72', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x70', '\x61', '\x72', '\x73', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x73', '\x5b', '\x74', '\x6f', '\x74', '\x61', '\x6c', '\x50', '\x61', '\x72', '\x73', '\x65', '\x72', '\x73', '\x5d', '\x3b', '\x20', '\x2f', '\x2f', '\x20', '\x3c', '\x2d', '\x2d', '\x20', '\x74', '\x68', '\x69', '\x73', '\x20', '\x69', '\x73', '\x20', '\x77', '\x68', '\x61', '\x74', '\x20', '\x77', '\x65', '\x20', '\x72', '\x65', '\x61', '\x6c', '\x6c', '\x79', '\x20', '\x77', '\x61', '\x6e', '\x74', '\x20', '\x74', '\x6f', '\x20', '\x64', '\x6f', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x50', '\x61', '\x72', '\x73', '\x65', '\x72', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x70', '\x61', '\x72', '\x73', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x73', '\x5b', '\x35', '\x31', '\x32', '\x5d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x69', '\x7a', '\x65', '\x5f', '\x74', '\x20', '\x69', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x66', '\x6f', '\x72', '\x20', '\x28', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x26', '\x6f', '\x70', '\x74', '\x20', '\x3a', '\x20', '\x6d', '\x5f', '\x6f', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x29', '\x20', '\x70', '\x61', '\x72', '\x73', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x73', '\x5b', '\x69', '\x2b', '\x2b', '\x5d', '\x2e', '\x70', '\x61', '\x72', '\x73', '\x65', '\x72', '\x20', '\x3d', '\x20', '\x26', '\x6f', '\x70', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x66', '\x6f', '\x72', '\x20', '\x28', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x26', '\x61', '\x72', '\x67', '\x20', '\x3a', '\x20', '\x6d', '\x5f', '\x61', '\x72', '\x67', '\x73', '\x29', '\x20', '\x70', '\x61', '\x72', '\x73', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x73', '\x5b', '\x69', '\x2b', '\x2b', '\x5d', '\x2e', '\x70', '\x61', '\x72', '\x73', '\x65', '\x72', '\x20', '\x3d', '\x20', '\x26', '\x61', '\x72', '\x67', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x65', '\x78', '\x65', '\x4e', '\x61', '\x6d', '\x65', '\x2e', '\x73', '\x65', '\x74', '\x28', '\x20', '\x65', '\x78', '\x65', '\x4e', '\x61', '\x6d', '\x65', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x20', '\x3d', '\x20', '\x49', '\x6e', '\x74', '\x65', '\x72', '\x6e', '\x61', '\x6c', '\x50', '\x61', '\x72', '\x73', '\x65', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x3a', '\x3a', '\x6f', '\x6b', '\x28', '\x20', '\x50', '\x61', '\x72', '\x73', '\x65', '\x53', '\x74', '\x61', '\x74', '\x65', '\x28', '\x20', '\x50', '\x61', '\x72', '\x73', '\x65', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x54', '\x79', '\x70', '\x65', '\x3a', '\x3a', '\x4e', '\x6f', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x2c', '\x20', '\x74', '\x6f', '\x6b', '\x65', '\x6e', '\x73', '\x20', '\x29', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x77', '\x68', '\x69', '\x6c', '\x65', '\x28', '\x20', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x2e', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x28', '\x29', '\x2e', '\x72', '\x65', '\x6d', '\x61', '\x69', '\x6e', '\x69', '\x6e', '\x67', '\x54', '\x6f', '\x6b', '\x65', '\x6e', '\x73', '\x28', '\x29', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x74', '\x6f', '\x6b', '\x65', '\x6e', '\x50', '\x61', '\x72', '\x73', '\x65', '\x64', '\x20', '\x3d', '\x20', '\x66', '\x61', '\x6c', '\x73', '\x65', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x66', '\x6f', '\x72', '\x28', '\x20', '\x73', '\x69', '\x7a', '\x65', '\x5f', '\x74', '\x20', '\x69', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x20', '\x69', '\x20', '\x3c', '\x20', '\x74', '\x6f', '\x74', '\x61', '\x6c', '\x50', '\x61', '\x72', '\x73', '\x65', '\x72', '\x73', '\x3b', '\x20', '\x2b', '\x2b', '\x69', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x26', '\x20', '\x20', '\x70', '\x61', '\x72', '\x73', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x3d', '\x20', '\x70', '\x61', '\x72', '\x73', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x73', '\x5b', '\x69', '\x5d', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x70', '\x61', '\x72', '\x73', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x2e', '\x70', '\x61', '\x72', '\x73', '\x65', '\x72', '\x2d', '\x3e', '\x63', '\x61', '\x72', '\x64', '\x69', '\x6e', '\x61', '\x6c', '\x69', '\x74', '\x79', '\x28', '\x29', '\x20', '\x3d', '\x3d', '\x20', '\x30', '\x20', '\x7c', '\x7c', '\x20', '\x70', '\x61', '\x72', '\x73', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x2e', '\x63', '\x6f', '\x75', '\x6e', '\x74', '\x20', '\x3c', '\x20', '\x70', '\x61', '\x72', '\x73', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x2e', '\x70', '\x61', '\x72', '\x73', '\x65', '\x72', '\x2d', '\x3e', '\x63', '\x61', '\x72', '\x64', '\x69', '\x6e', '\x61', '\x6c', '\x69', '\x74', '\x79', '\x28', '\x29', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x20', '\x3d', '\x20', '\x70', '\x61', '\x72', '\x73', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x2e', '\x70', '\x61', '\x72', '\x73', '\x65', '\x72', '\x2d', '\x3e', '\x70', '\x61', '\x72', '\x73', '\x65', '\x28', '\x65', '\x78', '\x65', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x2e', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x28', '\x29', '\x2e', '\x72', '\x65', '\x6d', '\x61', '\x69', '\x6e', '\x69', '\x6e', '\x67', '\x54', '\x6f', '\x6b', '\x65', '\x6e', '\x73', '\x28', '\x29', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x21', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x2e', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x28', '\x29', '\x2e', '\x74', '\x79', '\x70', '\x65', '\x28', '\x29', '\x20', '\x21', '\x3d', '\x20', '\x50', '\x61', '\x72', '\x73', '\x65', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x54', '\x79', '\x70', '\x65', '\x3a', '\x3a', '\x4e', '\x6f', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x6f', '\x6b', '\x65', '\x6e', '\x50', '\x61', '\x72', '\x73', '\x65', '\x64', '\x20', '\x3d', '\x20', '\x74', '\x72', '\x75', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2b', '\x2b', '\x70', '\x61', '\x72', '\x73', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x2e', '\x63', '\x6f', '\x75', '\x6e', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x72', '\x65', '\x61', '\x6b', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x2e', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x28', '\x29', '\x2e', '\x74', '\x79', '\x70', '\x65', '\x28', '\x29', '\x20', '\x3d', '\x3d', '\x20', '\x50', '\x61', '\x72', '\x73', '\x65', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x54', '\x79', '\x70', '\x65', '\x3a', '\x3a', '\x53', '\x68', '\x6f', '\x72', '\x74', '\x43', '\x69', '\x72', '\x63', '\x75', '\x69', '\x74', '\x41', '\x6c', '\x6c', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x21', '\x74', '\x6f', '\x6b', '\x65', '\x6e', '\x50', '\x61', '\x72', '\x73', '\x65', '\x64', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x49', '\x6e', '\x74', '\x65', '\x72', '\x6e', '\x61', '\x6c', '\x50', '\x61', '\x72', '\x73', '\x65', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x3a', '\x3a', '\x72', '\x75', '\x6e', '\x74', '\x69', '\x6d', '\x65', '\x45', '\x72', '\x72', '\x6f', '\x72', '\x28', '\x20', '\x22', '\x55', '\x6e', '\x72', '\x65', '\x63', '\x6f', '\x67', '\x6e', '\x69', '\x73', '\x65', '\x64', '\x20', '\x74', '\x6f', '\x6b', '\x65', '\x6e', '\x3a', '\x20', '\x22', '\x20', '\x2b', '\x20', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x2e', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x28', '\x29', '\x2e', '\x72', '\x65', '\x6d', '\x61', '\x69', '\x6e', '\x69', '\x6e', '\x67', '\x54', '\x6f', '\x6b', '\x65', '\x6e', '\x73', '\x28', '\x29', '\x2d', '\x3e', '\x74', '\x6f', '\x6b', '\x65', '\x6e', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x21', '\x54', '\x42', '\x44', '\x20', '\x43', '\x68', '\x65', '\x63', '\x6b', '\x20', '\x6d', '\x69', '\x73', '\x73', '\x69', '\x6e', '\x67', '\x20', '\x72', '\x65', '\x71', '\x75', '\x69', '\x72', '\x65', '\x64', '\x20', '\x6f', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x44', '\x65', '\x72', '\x69', '\x76', '\x65', '\x64', '\x54', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x54', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x43', '\x6f', '\x6d', '\x70', '\x6f', '\x73', '\x61', '\x62', '\x6c', '\x65', '\x50', '\x61', '\x72', '\x73', '\x65', '\x72', '\x49', '\x6d', '\x70', '\x6c', '\x3c', '\x44', '\x65', '\x72', '\x69', '\x76', '\x65', '\x64', '\x54', '\x3e', '\x3a', '\x3a', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x7c', '\x28', '\x20', '\x54', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x26', '\x6f', '\x74', '\x68', '\x65', '\x72', '\x20', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x2d', '\x3e', '\x20', '\x50', '\x61', '\x72', '\x73', '\x65', '\x72', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x50', '\x61', '\x72', '\x73', '\x65', '\x72', '\x28', '\x29', '\x20', '\x7c', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x5f', '\x63', '\x61', '\x73', '\x74', '\x3c', '\x44', '\x65', '\x72', '\x69', '\x76', '\x65', '\x64', '\x54', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x26', '\x3e', '\x28', '\x20', '\x2a', '\x74', '\x68', '\x69', '\x73', '\x20', '\x29', '\x20', '\x7c', '\x20', '\x6f', '\x74', '\x68', '\x65', '\x72', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x64', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x41', '\x20', '\x43', '\x6f', '\x6d', '\x62', '\x69', '\x6e', '\x65', '\x64', '\x20', '\x70', '\x61', '\x72', '\x73', '\x65', '\x72', '\x0d', '\x0a', '\x75', '\x73', '\x69', '\x6e', '\x67', '\x20', '\x64', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x3a', '\x3a', '\x50', '\x61', '\x72', '\x73', '\x65', '\x72', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x41', '\x20', '\x70', '\x61', '\x72', '\x73', '\x65', '\x72', '\x20', '\x66', '\x6f', '\x72', '\x20', '\x6f', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x0d', '\x0a', '\x75', '\x73', '\x69', '\x6e', '\x67', '\x20', '\x64', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x3a', '\x3a', '\x4f', '\x70', '\x74', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x41', '\x20', '\x70', '\x61', '\x72', '\x73', '\x65', '\x72', '\x20', '\x66', '\x6f', '\x72', '\x20', '\x61', '\x72', '\x67', '\x75', '\x6d', '\x65', '\x6e', '\x74', '\x73', '\x0d', '\x0a', '\x75', '\x73', '\x69', '\x6e', '\x67', '\x20', '\x64', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x3a', '\x3a', '\x41', '\x72', '\x67', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x57', '\x72', '\x61', '\x70', '\x70', '\x65', '\x72', '\x20', '\x66', '\x6f', '\x72', '\x20', '\x61', '\x72', '\x67', '\x63', '\x2c', '\x20', '\x61', '\x72', '\x67', '\x76', '\x20', '\x66', '\x72', '\x6f', '\x6d', '\x20', '\x6d', '\x61', '\x69', '\x6e', '\x28', '\x29', '\x0d', '\x0a', '\x75', '\x73', '\x69', '\x6e', '\x67', '\x20', '\x64', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x3a', '\x3a', '\x41', '\x72', '\x67', '\x73', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x53', '\x70', '\x65', '\x63', '\x69', '\x66', '\x69', '\x65', '\x73', '\x20', '\x74', '\x68', '\x65', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x6f', '\x66', '\x20', '\x74', '\x68', '\x65', '\x20', '\x65', '\x78', '\x65', '\x63', '\x75', '\x74', '\x61', '\x62', '\x6c', '\x65', '\x0d', '\x0a', '\x75', '\x73', '\x69', '\x6e', '\x67', '\x20', '\x64', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x3a', '\x3a', '\x45', '\x78', '\x65', '\x4e', '\x61', '\x6d', '\x65', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x43', '\x6f', '\x6e', '\x76', '\x65', '\x6e', '\x69', '\x65', '\x6e', '\x63', '\x65', '\x20', '\x77', '\x72', '\x61', '\x70', '\x70', '\x65', '\x72', '\x20', '\x66', '\x6f', '\x72', '\x20', '\x6f', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x70', '\x61', '\x72', '\x73', '\x65', '\x72', '\x20', '\x74', '\x68', '\x61', '\x74', '\x20', '\x73', '\x70', '\x65', '\x63', '\x69', '\x66', '\x69', '\x65', '\x73', '\x20', '\x74', '\x68', '\x65', '\x20', '\x68', '\x65', '\x6c', '\x70', '\x20', '\x6f', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x0d', '\x0a', '\x75', '\x73', '\x69', '\x6e', '\x67', '\x20', '\x64', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x3a', '\x3a', '\x48', '\x65', '\x6c', '\x70', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x75', '\x6d', '\x20', '\x6f', '\x66', '\x20', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x20', '\x74', '\x79', '\x70', '\x65', '\x73', '\x20', '\x66', '\x72', '\x6f', '\x6d', '\x20', '\x61', '\x20', '\x70', '\x61', '\x72', '\x73', '\x65', '\x0d', '\x0a', '\x75', '\x73', '\x69', '\x6e', '\x67', '\x20', '\x64', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x3a', '\x3a', '\x50', '\x61', '\x72', '\x73', '\x65', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x54', '\x79', '\x70', '\x65', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x20', '\x74', '\x79', '\x70', '\x65', '\x20', '\x66', '\x6f', '\x72', '\x20', '\x70', '\x61', '\x72', '\x73', '\x65', '\x72', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x0d', '\x0a', '\x75', '\x73', '\x69', '\x6e', '\x67', '\x20', '\x64', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x3a', '\x3a', '\x50', '\x61', '\x72', '\x73', '\x65', '\x72', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x7d', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x63', '\x6c', '\x61', '\x72', '\x61', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x6c', '\x61', '\x72', '\x61', '\x2e', '\x68', '\x70', '\x70', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x64', '\x65', '\x66', '\x20', '\x5f', '\x5f', '\x63', '\x6c', '\x61', '\x6e', '\x67', '\x5f', '\x5f', '\x0d', '\x0a', '\x23', '\x70', '\x72', '\x61', '\x67', '\x6d', '\x61', '\x20', '\x63', '\x6c', '\x61', '\x6e', '\x67', '\x20', '\x64', '\x69', '\x61', '\x67', '\x6e', '\x6f', '\x73', '\x74', '\x69', '\x63', '\x20', '\x70', '\x6f', '\x70', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x52', '\x65', '\x73', '\x74', '\x6f', '\x72', '\x65', '\x20', '\x43', '\x6c', '\x61', '\x72', '\x61', '\x27', '\x73', '\x20', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x20', '\x66', '\x6f', '\x72', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x6f', '\x6c', '\x65', '\x20', '\x77', '\x69', '\x64', '\x74', '\x68', '\x2c', '\x20', '\x69', '\x66', '\x20', '\x70', '\x72', '\x65', '\x73', '\x65', '\x6e', '\x74', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x64', '\x65', '\x66', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x4d', '\x50', '\x5f', '\x43', '\x4c', '\x41', '\x52', '\x41', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x43', '\x4f', '\x4e', '\x53', '\x4f', '\x4c', '\x45', '\x5f', '\x57', '\x49', '\x44', '\x54', '\x48', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4c', '\x41', '\x52', '\x41', '\x5f', '\x54', '\x45', '\x58', '\x54', '\x46', '\x4c', '\x4f', '\x57', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x43', '\x4f', '\x4e', '\x53', '\x4f', '\x4c', '\x45', '\x5f', '\x57', '\x49', '\x44', '\x54', '\x48', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x4d', '\x50', '\x5f', '\x43', '\x4c', '\x41', '\x52', '\x41', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x43', '\x4f', '\x4e', '\x53', '\x4f', '\x4c', '\x45', '\x5f', '\x57', '\x49', '\x44', '\x54', '\x48', '\x0d', '\x0a', '\x23', '\x75', '\x6e', '\x64', '\x65', '\x66', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x4d', '\x50', '\x5f', '\x43', '\x4c', '\x41', '\x52', '\x41', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x43', '\x4f', '\x4e', '\x53', '\x4f', '\x4c', '\x45', '\x5f', '\x57', '\x49', '\x44', '\x54', '\x48', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x63', '\x6c', '\x61', '\x72', '\x61', '\x2e', '\x68', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6c', '\x61', '\x72', '\x61', '\x3a', '\x3a', '\x50', '\x61', '\x72', '\x73', '\x65', '\x72', '\x20', '\x6d', '\x61', '\x6b', '\x65', '\x43', '\x6f', '\x6d', '\x6d', '\x61', '\x6e', '\x64', '\x4c', '\x69', '\x6e', '\x65', '\x50', '\x61', '\x72', '\x73', '\x65', '\x72', '\x28', '\x20', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x44', '\x61', '\x74', '\x61', '\x26', '\x20', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x63', '\x6f', '\x6d', '\x6d', '\x61', '\x6e', '\x64', '\x6c', '\x69', '\x6e', '\x65', '\x2e', '\x68', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x66', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x3e', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x63', '\x74', '\x69', '\x6d', '\x65', '\x3e', '\x0d', '\x0a', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6c', '\x61', '\x72', '\x61', '\x3a', '\x3a', '\x50', '\x61', '\x72', '\x73', '\x65', '\x72', '\x20', '\x6d', '\x61', '\x6b', '\x65', '\x43', '\x6f', '\x6d', '\x6d', '\x61', '\x6e', '\x64', '\x4c', '\x69', '\x6e', '\x65', '\x50', '\x61', '\x72', '\x73', '\x65', '\x72', '\x28', '\x20', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x44', '\x61', '\x74', '\x61', '\x26', '\x20', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x75', '\x73', '\x69', '\x6e', '\x67', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x63', '\x6c', '\x61', '\x72', '\x61', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x73', '\x65', '\x74', '\x57', '\x61', '\x72', '\x6e', '\x69', '\x6e', '\x67', '\x20', '\x3d', '\x20', '\x5b', '\x26', '\x5d', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x77', '\x61', '\x72', '\x6e', '\x69', '\x6e', '\x67', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x77', '\x61', '\x72', '\x6e', '\x69', '\x6e', '\x67', '\x53', '\x65', '\x74', '\x20', '\x3d', '\x20', '\x5b', '\x26', '\x5d', '\x28', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x77', '\x61', '\x72', '\x6e', '\x69', '\x6e', '\x67', '\x20', '\x3d', '\x3d', '\x20', '\x22', '\x4e', '\x6f', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x22', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x57', '\x61', '\x72', '\x6e', '\x41', '\x62', '\x6f', '\x75', '\x74', '\x3a', '\x3a', '\x4e', '\x6f', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x20', '\x77', '\x61', '\x72', '\x6e', '\x69', '\x6e', '\x67', '\x20', '\x3d', '\x3d', '\x20', '\x22', '\x4e', '\x6f', '\x54', '\x65', '\x73', '\x74', '\x73', '\x22', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x57', '\x61', '\x72', '\x6e', '\x41', '\x62', '\x6f', '\x75', '\x74', '\x3a', '\x3a', '\x4e', '\x6f', '\x54', '\x65', '\x73', '\x74', '\x73', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x57', '\x61', '\x72', '\x6e', '\x41', '\x62', '\x6f', '\x75', '\x74', '\x3a', '\x3a', '\x4e', '\x6f', '\x74', '\x68', '\x69', '\x6e', '\x67', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x77', '\x61', '\x72', '\x6e', '\x69', '\x6e', '\x67', '\x53', '\x65', '\x74', '\x20', '\x3d', '\x3d', '\x20', '\x57', '\x61', '\x72', '\x6e', '\x41', '\x62', '\x6f', '\x75', '\x74', '\x3a', '\x3a', '\x4e', '\x6f', '\x74', '\x68', '\x69', '\x6e', '\x67', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x50', '\x61', '\x72', '\x73', '\x65', '\x72', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x3a', '\x3a', '\x72', '\x75', '\x6e', '\x74', '\x69', '\x6d', '\x65', '\x45', '\x72', '\x72', '\x6f', '\x72', '\x28', '\x20', '\x22', '\x55', '\x6e', '\x72', '\x65', '\x63', '\x6f', '\x67', '\x6e', '\x69', '\x73', '\x65', '\x64', '\x20', '\x77', '\x61', '\x72', '\x6e', '\x69', '\x6e', '\x67', '\x3a', '\x20', '\x27', '\x22', '\x20', '\x2b', '\x20', '\x77', '\x61', '\x72', '\x6e', '\x69', '\x6e', '\x67', '\x20', '\x2b', '\x20', '\x22', '\x27', '\x22', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x2e', '\x77', '\x61', '\x72', '\x6e', '\x69', '\x6e', '\x67', '\x73', '\x20', '\x3d', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x5f', '\x63', '\x61', '\x73', '\x74', '\x3c', '\x57', '\x61', '\x72', '\x6e', '\x41', '\x62', '\x6f', '\x75', '\x74', '\x3a', '\x3a', '\x57', '\x68', '\x61', '\x74', '\x3e', '\x28', '\x20', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x2e', '\x77', '\x61', '\x72', '\x6e', '\x69', '\x6e', '\x67', '\x73', '\x20', '\x7c', '\x20', '\x77', '\x61', '\x72', '\x6e', '\x69', '\x6e', '\x67', '\x53', '\x65', '\x74', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x50', '\x61', '\x72', '\x73', '\x65', '\x72', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x3a', '\x3a', '\x6f', '\x6b', '\x28', '\x20', '\x50', '\x61', '\x72', '\x73', '\x65', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x54', '\x79', '\x70', '\x65', '\x3a', '\x3a', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x64', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x6c', '\x6f', '\x61', '\x64', '\x54', '\x65', '\x73', '\x74', '\x4e', '\x61', '\x6d', '\x65', '\x73', '\x46', '\x72', '\x6f', '\x6d', '\x46', '\x69', '\x6c', '\x65', '\x20', '\x3d', '\x20', '\x5b', '\x26', '\x5d', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x66', '\x69', '\x6c', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x69', '\x66', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x20', '\x66', '\x28', '\x20', '\x66', '\x69', '\x6c', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x2e', '\x63', '\x5f', '\x73', '\x74', '\x72', '\x28', '\x29', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x21', '\x66', '\x2e', '\x69', '\x73', '\x5f', '\x6f', '\x70', '\x65', '\x6e', '\x28', '\x29', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x50', '\x61', '\x72', '\x73', '\x65', '\x72', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x3a', '\x3a', '\x72', '\x75', '\x6e', '\x74', '\x69', '\x6d', '\x65', '\x45', '\x72', '\x72', '\x6f', '\x72', '\x28', '\x20', '\x22', '\x55', '\x6e', '\x61', '\x62', '\x6c', '\x65', '\x20', '\x74', '\x6f', '\x20', '\x6c', '\x6f', '\x61', '\x64', '\x20', '\x69', '\x6e', '\x70', '\x75', '\x74', '\x20', '\x66', '\x69', '\x6c', '\x65', '\x3a', '\x20', '\x27', '\x22', '\x20', '\x2b', '\x20', '\x66', '\x69', '\x6c', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x2b', '\x20', '\x22', '\x27', '\x22', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x6c', '\x69', '\x6e', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x77', '\x68', '\x69', '\x6c', '\x65', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x67', '\x65', '\x74', '\x6c', '\x69', '\x6e', '\x65', '\x28', '\x20', '\x66', '\x2c', '\x20', '\x6c', '\x69', '\x6e', '\x65', '\x20', '\x29', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6c', '\x69', '\x6e', '\x65', '\x20', '\x3d', '\x20', '\x74', '\x72', '\x69', '\x6d', '\x28', '\x6c', '\x69', '\x6e', '\x65', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x21', '\x6c', '\x69', '\x6e', '\x65', '\x2e', '\x65', '\x6d', '\x70', '\x74', '\x79', '\x28', '\x29', '\x20', '\x26', '\x26', '\x20', '\x21', '\x73', '\x74', '\x61', '\x72', '\x74', '\x73', '\x57', '\x69', '\x74', '\x68', '\x28', '\x20', '\x6c', '\x69', '\x6e', '\x65', '\x2c', '\x20', '\x27', '\x23', '\x27', '\x20', '\x29', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x21', '\x73', '\x74', '\x61', '\x72', '\x74', '\x73', '\x57', '\x69', '\x74', '\x68', '\x28', '\x20', '\x6c', '\x69', '\x6e', '\x65', '\x2c', '\x20', '\x27', '\x22', '\x27', '\x20', '\x29', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6c', '\x69', '\x6e', '\x65', '\x20', '\x3d', '\x20', '\x27', '\x22', '\x27', '\x20', '\x2b', '\x20', '\x6c', '\x69', '\x6e', '\x65', '\x20', '\x2b', '\x20', '\x27', '\x22', '\x27', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x2e', '\x74', '\x65', '\x73', '\x74', '\x73', '\x4f', '\x72', '\x54', '\x61', '\x67', '\x73', '\x2e', '\x70', '\x75', '\x73', '\x68', '\x5f', '\x62', '\x61', '\x63', '\x6b', '\x28', '\x20', '\x6c', '\x69', '\x6e', '\x65', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x2e', '\x74', '\x65', '\x73', '\x74', '\x73', '\x4f', '\x72', '\x54', '\x61', '\x67', '\x73', '\x2e', '\x70', '\x75', '\x73', '\x68', '\x5f', '\x62', '\x61', '\x63', '\x6b', '\x28', '\x20', '\x22', '\x2c', '\x22', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x52', '\x65', '\x6d', '\x6f', '\x76', '\x65', '\x20', '\x63', '\x6f', '\x6d', '\x6d', '\x61', '\x20', '\x69', '\x6e', '\x20', '\x74', '\x68', '\x65', '\x20', '\x65', '\x6e', '\x64', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x21', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x2e', '\x74', '\x65', '\x73', '\x74', '\x73', '\x4f', '\x72', '\x54', '\x61', '\x67', '\x73', '\x2e', '\x65', '\x6d', '\x70', '\x74', '\x79', '\x28', '\x29', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x2e', '\x74', '\x65', '\x73', '\x74', '\x73', '\x4f', '\x72', '\x54', '\x61', '\x67', '\x73', '\x2e', '\x65', '\x72', '\x61', '\x73', '\x65', '\x28', '\x20', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x2e', '\x74', '\x65', '\x73', '\x74', '\x73', '\x4f', '\x72', '\x54', '\x61', '\x67', '\x73', '\x2e', '\x65', '\x6e', '\x64', '\x28', '\x29', '\x2d', '\x31', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x50', '\x61', '\x72', '\x73', '\x65', '\x72', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x3a', '\x3a', '\x6f', '\x6b', '\x28', '\x20', '\x50', '\x61', '\x72', '\x73', '\x65', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x54', '\x79', '\x70', '\x65', '\x3a', '\x3a', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x64', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x73', '\x65', '\x74', '\x54', '\x65', '\x73', '\x74', '\x4f', '\x72', '\x64', '\x65', '\x72', '\x20', '\x3d', '\x20', '\x5b', '\x26', '\x5d', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6f', '\x72', '\x64', '\x65', '\x72', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x73', '\x57', '\x69', '\x74', '\x68', '\x28', '\x20', '\x22', '\x64', '\x65', '\x63', '\x6c', '\x61', '\x72', '\x65', '\x64', '\x22', '\x2c', '\x20', '\x6f', '\x72', '\x64', '\x65', '\x72', '\x20', '\x29', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x2e', '\x72', '\x75', '\x6e', '\x4f', '\x72', '\x64', '\x65', '\x72', '\x20', '\x3d', '\x20', '\x52', '\x75', '\x6e', '\x54', '\x65', '\x73', '\x74', '\x73', '\x3a', '\x3a', '\x49', '\x6e', '\x44', '\x65', '\x63', '\x6c', '\x61', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x4f', '\x72', '\x64', '\x65', '\x72', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x6c', '\x73', '\x65', '\x20', '\x69', '\x66', '\x28', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x73', '\x57', '\x69', '\x74', '\x68', '\x28', '\x20', '\x22', '\x6c', '\x65', '\x78', '\x69', '\x63', '\x61', '\x6c', '\x22', '\x2c', '\x20', '\x6f', '\x72', '\x64', '\x65', '\x72', '\x20', '\x29', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x2e', '\x72', '\x75', '\x6e', '\x4f', '\x72', '\x64', '\x65', '\x72', '\x20', '\x3d', '\x20', '\x52', '\x75', '\x6e', '\x54', '\x65', '\x73', '\x74', '\x73', '\x3a', '\x3a', '\x49', '\x6e', '\x4c', '\x65', '\x78', '\x69', '\x63', '\x6f', '\x67', '\x72', '\x61', '\x70', '\x68', '\x69', '\x63', '\x61', '\x6c', '\x4f', '\x72', '\x64', '\x65', '\x72', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x6c', '\x73', '\x65', '\x20', '\x69', '\x66', '\x28', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x73', '\x57', '\x69', '\x74', '\x68', '\x28', '\x20', '\x22', '\x72', '\x61', '\x6e', '\x64', '\x6f', '\x6d', '\x22', '\x2c', '\x20', '\x6f', '\x72', '\x64', '\x65', '\x72', '\x20', '\x29', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x2e', '\x72', '\x75', '\x6e', '\x4f', '\x72', '\x64', '\x65', '\x72', '\x20', '\x3d', '\x20', '\x52', '\x75', '\x6e', '\x54', '\x65', '\x73', '\x74', '\x73', '\x3a', '\x3a', '\x49', '\x6e', '\x52', '\x61', '\x6e', '\x64', '\x6f', '\x6d', '\x4f', '\x72', '\x64', '\x65', '\x72', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x6c', '\x73', '\x65', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x63', '\x6c', '\x61', '\x72', '\x61', '\x3a', '\x3a', '\x50', '\x61', '\x72', '\x73', '\x65', '\x72', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x3a', '\x3a', '\x72', '\x75', '\x6e', '\x74', '\x69', '\x6d', '\x65', '\x45', '\x72', '\x72', '\x6f', '\x72', '\x28', '\x20', '\x22', '\x55', '\x6e', '\x72', '\x65', '\x63', '\x6f', '\x67', '\x6e', '\x69', '\x73', '\x65', '\x64', '\x20', '\x6f', '\x72', '\x64', '\x65', '\x72', '\x69', '\x6e', '\x67', '\x3a', '\x20', '\x27', '\x22', '\x20', '\x2b', '\x20', '\x6f', '\x72', '\x64', '\x65', '\x72', '\x20', '\x2b', '\x20', '\x22', '\x27', '\x22', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x50', '\x61', '\x72', '\x73', '\x65', '\x72', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x3a', '\x3a', '\x6f', '\x6b', '\x28', '\x20', '\x50', '\x61', '\x72', '\x73', '\x65', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x54', '\x79', '\x70', '\x65', '\x3a', '\x3a', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x64', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x73', '\x65', '\x74', '\x52', '\x6e', '\x67', '\x53', '\x65', '\x65', '\x64', '\x20', '\x3d', '\x20', '\x5b', '\x26', '\x5d', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x73', '\x65', '\x65', '\x64', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x73', '\x65', '\x65', '\x64', '\x20', '\x21', '\x3d', '\x20', '\x22', '\x74', '\x69', '\x6d', '\x65', '\x22', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x63', '\x6c', '\x61', '\x72', '\x61', '\x3a', '\x3a', '\x64', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x3a', '\x3a', '\x63', '\x6f', '\x6e', '\x76', '\x65', '\x72', '\x74', '\x49', '\x6e', '\x74', '\x6f', '\x28', '\x20', '\x73', '\x65', '\x65', '\x64', '\x2c', '\x20', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x2e', '\x72', '\x6e', '\x67', '\x53', '\x65', '\x65', '\x64', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x2e', '\x72', '\x6e', '\x67', '\x53', '\x65', '\x65', '\x64', '\x20', '\x3d', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x5f', '\x63', '\x61', '\x73', '\x74', '\x3c', '\x75', '\x6e', '\x73', '\x69', '\x67', '\x6e', '\x65', '\x64', '\x20', '\x69', '\x6e', '\x74', '\x3e', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x74', '\x69', '\x6d', '\x65', '\x28', '\x6e', '\x75', '\x6c', '\x6c', '\x70', '\x74', '\x72', '\x29', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x50', '\x61', '\x72', '\x73', '\x65', '\x72', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x3a', '\x3a', '\x6f', '\x6b', '\x28', '\x20', '\x50', '\x61', '\x72', '\x73', '\x65', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x54', '\x79', '\x70', '\x65', '\x3a', '\x3a', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x64', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x73', '\x65', '\x74', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x55', '\x73', '\x61', '\x67', '\x65', '\x20', '\x3d', '\x20', '\x5b', '\x26', '\x5d', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x75', '\x73', '\x65', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x6d', '\x6f', '\x64', '\x65', '\x20', '\x3d', '\x20', '\x74', '\x6f', '\x4c', '\x6f', '\x77', '\x65', '\x72', '\x28', '\x20', '\x75', '\x73', '\x65', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x6d', '\x6f', '\x64', '\x65', '\x20', '\x3d', '\x3d', '\x20', '\x22', '\x79', '\x65', '\x73', '\x22', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x2e', '\x75', '\x73', '\x65', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x20', '\x3d', '\x20', '\x55', '\x73', '\x65', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x3a', '\x3a', '\x59', '\x65', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x6c', '\x73', '\x65', '\x20', '\x69', '\x66', '\x28', '\x20', '\x6d', '\x6f', '\x64', '\x65', '\x20', '\x3d', '\x3d', '\x20', '\x22', '\x6e', '\x6f', '\x22', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x2e', '\x75', '\x73', '\x65', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x20', '\x3d', '\x20', '\x55', '\x73', '\x65', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x3a', '\x3a', '\x4e', '\x6f', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x6c', '\x73', '\x65', '\x20', '\x69', '\x66', '\x28', '\x20', '\x6d', '\x6f', '\x64', '\x65', '\x20', '\x3d', '\x3d', '\x20', '\x22', '\x61', '\x75', '\x74', '\x6f', '\x22', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x2e', '\x75', '\x73', '\x65', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x20', '\x3d', '\x20', '\x55', '\x73', '\x65', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x3a', '\x3a', '\x41', '\x75', '\x74', '\x6f', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x6c', '\x73', '\x65', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x50', '\x61', '\x72', '\x73', '\x65', '\x72', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x3a', '\x3a', '\x72', '\x75', '\x6e', '\x74', '\x69', '\x6d', '\x65', '\x45', '\x72', '\x72', '\x6f', '\x72', '\x28', '\x20', '\x22', '\x63', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x20', '\x6d', '\x6f', '\x64', '\x65', '\x20', '\x6d', '\x75', '\x73', '\x74', '\x20', '\x62', '\x65', '\x20', '\x6f', '\x6e', '\x65', '\x20', '\x6f', '\x66', '\x3a', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x2c', '\x20', '\x79', '\x65', '\x73', '\x20', '\x6f', '\x72', '\x20', '\x6e', '\x6f', '\x2e', '\x20', '\x27', '\x22', '\x20', '\x2b', '\x20', '\x75', '\x73', '\x65', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x20', '\x2b', '\x20', '\x22', '\x27', '\x20', '\x6e', '\x6f', '\x74', '\x20', '\x72', '\x65', '\x63', '\x6f', '\x67', '\x6e', '\x69', '\x73', '\x65', '\x64', '\x22', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x50', '\x61', '\x72', '\x73', '\x65', '\x72', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x3a', '\x3a', '\x6f', '\x6b', '\x28', '\x20', '\x50', '\x61', '\x72', '\x73', '\x65', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x54', '\x79', '\x70', '\x65', '\x3a', '\x3a', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x64', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x73', '\x65', '\x74', '\x57', '\x61', '\x69', '\x74', '\x46', '\x6f', '\x72', '\x4b', '\x65', '\x79', '\x70', '\x72', '\x65', '\x73', '\x73', '\x20', '\x3d', '\x20', '\x5b', '\x26', '\x5d', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6b', '\x65', '\x79', '\x70', '\x72', '\x65', '\x73', '\x73', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x6b', '\x65', '\x79', '\x70', '\x72', '\x65', '\x73', '\x73', '\x4c', '\x63', '\x20', '\x3d', '\x20', '\x74', '\x6f', '\x4c', '\x6f', '\x77', '\x65', '\x72', '\x28', '\x20', '\x6b', '\x65', '\x79', '\x70', '\x72', '\x65', '\x73', '\x73', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x6b', '\x65', '\x79', '\x70', '\x72', '\x65', '\x73', '\x73', '\x4c', '\x63', '\x20', '\x3d', '\x3d', '\x20', '\x22', '\x73', '\x74', '\x61', '\x72', '\x74', '\x22', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x2e', '\x77', '\x61', '\x69', '\x74', '\x46', '\x6f', '\x72', '\x4b', '\x65', '\x79', '\x70', '\x72', '\x65', '\x73', '\x73', '\x20', '\x3d', '\x20', '\x57', '\x61', '\x69', '\x74', '\x46', '\x6f', '\x72', '\x4b', '\x65', '\x79', '\x70', '\x72', '\x65', '\x73', '\x73', '\x3a', '\x3a', '\x42', '\x65', '\x66', '\x6f', '\x72', '\x65', '\x53', '\x74', '\x61', '\x72', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x6c', '\x73', '\x65', '\x20', '\x69', '\x66', '\x28', '\x20', '\x6b', '\x65', '\x79', '\x70', '\x72', '\x65', '\x73', '\x73', '\x4c', '\x63', '\x20', '\x3d', '\x3d', '\x20', '\x22', '\x65', '\x78', '\x69', '\x74', '\x22', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x2e', '\x77', '\x61', '\x69', '\x74', '\x46', '\x6f', '\x72', '\x4b', '\x65', '\x79', '\x70', '\x72', '\x65', '\x73', '\x73', '\x20', '\x3d', '\x20', '\x57', '\x61', '\x69', '\x74', '\x46', '\x6f', '\x72', '\x4b', '\x65', '\x79', '\x70', '\x72', '\x65', '\x73', '\x73', '\x3a', '\x3a', '\x42', '\x65', '\x66', '\x6f', '\x72', '\x65', '\x45', '\x78', '\x69', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x6c', '\x73', '\x65', '\x20', '\x69', '\x66', '\x28', '\x20', '\x6b', '\x65', '\x79', '\x70', '\x72', '\x65', '\x73', '\x73', '\x4c', '\x63', '\x20', '\x3d', '\x3d', '\x20', '\x22', '\x62', '\x6f', '\x74', '\x68', '\x22', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x2e', '\x77', '\x61', '\x69', '\x74', '\x46', '\x6f', '\x72', '\x4b', '\x65', '\x79', '\x70', '\x72', '\x65', '\x73', '\x73', '\x20', '\x3d', '\x20', '\x57', '\x61', '\x69', '\x74', '\x46', '\x6f', '\x72', '\x4b', '\x65', '\x79', '\x70', '\x72', '\x65', '\x73', '\x73', '\x3a', '\x3a', '\x42', '\x65', '\x66', '\x6f', '\x72', '\x65', '\x53', '\x74', '\x61', '\x72', '\x74', '\x41', '\x6e', '\x64', '\x45', '\x78', '\x69', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x6c', '\x73', '\x65', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x50', '\x61', '\x72', '\x73', '\x65', '\x72', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x3a', '\x3a', '\x72', '\x75', '\x6e', '\x74', '\x69', '\x6d', '\x65', '\x45', '\x72', '\x72', '\x6f', '\x72', '\x28', '\x20', '\x22', '\x6b', '\x65', '\x79', '\x70', '\x72', '\x65', '\x73', '\x73', '\x20', '\x61', '\x72', '\x67', '\x75', '\x6d', '\x65', '\x6e', '\x74', '\x20', '\x6d', '\x75', '\x73', '\x74', '\x20', '\x62', '\x65', '\x20', '\x6f', '\x6e', '\x65', '\x20', '\x6f', '\x66', '\x3a', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x2c', '\x20', '\x65', '\x78', '\x69', '\x74', '\x20', '\x6f', '\x72', '\x20', '\x62', '\x6f', '\x74', '\x68', '\x2e', '\x20', '\x27', '\x22', '\x20', '\x2b', '\x20', '\x6b', '\x65', '\x79', '\x70', '\x72', '\x65', '\x73', '\x73', '\x20', '\x2b', '\x20', '\x22', '\x27', '\x20', '\x6e', '\x6f', '\x74', '\x20', '\x72', '\x65', '\x63', '\x6f', '\x67', '\x6e', '\x69', '\x73', '\x65', '\x64', '\x22', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x50', '\x61', '\x72', '\x73', '\x65', '\x72', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x3a', '\x3a', '\x6f', '\x6b', '\x28', '\x20', '\x50', '\x61', '\x72', '\x73', '\x65', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x54', '\x79', '\x70', '\x65', '\x3a', '\x3a', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x64', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x73', '\x65', '\x74', '\x56', '\x65', '\x72', '\x62', '\x6f', '\x73', '\x69', '\x74', '\x79', '\x20', '\x3d', '\x20', '\x5b', '\x26', '\x5d', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x76', '\x65', '\x72', '\x62', '\x6f', '\x73', '\x69', '\x74', '\x79', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x6c', '\x63', '\x56', '\x65', '\x72', '\x62', '\x6f', '\x73', '\x69', '\x74', '\x79', '\x20', '\x3d', '\x20', '\x74', '\x6f', '\x4c', '\x6f', '\x77', '\x65', '\x72', '\x28', '\x20', '\x76', '\x65', '\x72', '\x62', '\x6f', '\x73', '\x69', '\x74', '\x79', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x6c', '\x63', '\x56', '\x65', '\x72', '\x62', '\x6f', '\x73', '\x69', '\x74', '\x79', '\x20', '\x3d', '\x3d', '\x20', '\x22', '\x71', '\x75', '\x69', '\x65', '\x74', '\x22', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x2e', '\x76', '\x65', '\x72', '\x62', '\x6f', '\x73', '\x69', '\x74', '\x79', '\x20', '\x3d', '\x20', '\x56', '\x65', '\x72', '\x62', '\x6f', '\x73', '\x69', '\x74', '\x79', '\x3a', '\x3a', '\x51', '\x75', '\x69', '\x65', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x6c', '\x73', '\x65', '\x20', '\x69', '\x66', '\x28', '\x20', '\x6c', '\x63', '\x56', '\x65', '\x72', '\x62', '\x6f', '\x73', '\x69', '\x74', '\x79', '\x20', '\x3d', '\x3d', '\x20', '\x22', '\x6e', '\x6f', '\x72', '\x6d', '\x61', '\x6c', '\x22', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x2e', '\x76', '\x65', '\x72', '\x62', '\x6f', '\x73', '\x69', '\x74', '\x79', '\x20', '\x3d', '\x20', '\x56', '\x65', '\x72', '\x62', '\x6f', '\x73', '\x69', '\x74', '\x79', '\x3a', '\x3a', '\x4e', '\x6f', '\x72', '\x6d', '\x61', '\x6c', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x6c', '\x73', '\x65', '\x20', '\x69', '\x66', '\x28', '\x20', '\x6c', '\x63', '\x56', '\x65', '\x72', '\x62', '\x6f', '\x73', '\x69', '\x74', '\x79', '\x20', '\x3d', '\x3d', '\x20', '\x22', '\x68', '\x69', '\x67', '\x68', '\x22', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x2e', '\x76', '\x65', '\x72', '\x62', '\x6f', '\x73', '\x69', '\x74', '\x79', '\x20', '\x3d', '\x20', '\x56', '\x65', '\x72', '\x62', '\x6f', '\x73', '\x69', '\x74', '\x79', '\x3a', '\x3a', '\x48', '\x69', '\x67', '\x68', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x6c', '\x73', '\x65', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x50', '\x61', '\x72', '\x73', '\x65', '\x72', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x3a', '\x3a', '\x72', '\x75', '\x6e', '\x74', '\x69', '\x6d', '\x65', '\x45', '\x72', '\x72', '\x6f', '\x72', '\x28', '\x20', '\x22', '\x55', '\x6e', '\x72', '\x65', '\x63', '\x6f', '\x67', '\x6e', '\x69', '\x73', '\x65', '\x64', '\x20', '\x76', '\x65', '\x72', '\x62', '\x6f', '\x73', '\x69', '\x74', '\x79', '\x2c', '\x20', '\x27', '\x22', '\x20', '\x2b', '\x20', '\x76', '\x65', '\x72', '\x62', '\x6f', '\x73', '\x69', '\x74', '\x79', '\x20', '\x2b', '\x20', '\x22', '\x27', '\x22', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x50', '\x61', '\x72', '\x73', '\x65', '\x72', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x3a', '\x3a', '\x6f', '\x6b', '\x28', '\x20', '\x50', '\x61', '\x72', '\x73', '\x65', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x54', '\x79', '\x70', '\x65', '\x3a', '\x3a', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x64', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x73', '\x65', '\x74', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x20', '\x3d', '\x20', '\x5b', '\x26', '\x5d', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x72', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x49', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x3a', '\x3a', '\x46', '\x61', '\x63', '\x74', '\x6f', '\x72', '\x79', '\x4d', '\x61', '\x70', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x66', '\x61', '\x63', '\x74', '\x6f', '\x72', '\x69', '\x65', '\x73', '\x20', '\x3d', '\x20', '\x67', '\x65', '\x74', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x48', '\x75', '\x62', '\x28', '\x29', '\x2e', '\x67', '\x65', '\x74', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x28', '\x29', '\x2e', '\x67', '\x65', '\x74', '\x46', '\x61', '\x63', '\x74', '\x6f', '\x72', '\x69', '\x65', '\x73', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x6c', '\x63', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x20', '\x3d', '\x20', '\x74', '\x6f', '\x4c', '\x6f', '\x77', '\x65', '\x72', '\x28', '\x20', '\x72', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x20', '\x3d', '\x20', '\x66', '\x61', '\x63', '\x74', '\x6f', '\x72', '\x69', '\x65', '\x73', '\x2e', '\x66', '\x69', '\x6e', '\x64', '\x28', '\x20', '\x6c', '\x63', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x66', '\x61', '\x63', '\x74', '\x6f', '\x72', '\x69', '\x65', '\x73', '\x2e', '\x65', '\x6e', '\x64', '\x28', '\x29', '\x20', '\x21', '\x3d', '\x20', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x2e', '\x72', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x4e', '\x61', '\x6d', '\x65', '\x20', '\x3d', '\x20', '\x6c', '\x63', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x6c', '\x73', '\x65', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x50', '\x61', '\x72', '\x73', '\x65', '\x72', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x3a', '\x3a', '\x72', '\x75', '\x6e', '\x74', '\x69', '\x6d', '\x65', '\x45', '\x72', '\x72', '\x6f', '\x72', '\x28', '\x20', '\x22', '\x55', '\x6e', '\x72', '\x65', '\x63', '\x6f', '\x67', '\x6e', '\x69', '\x7a', '\x65', '\x64', '\x20', '\x72', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x2c', '\x20', '\x27', '\x22', '\x20', '\x2b', '\x20', '\x72', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x20', '\x2b', '\x20', '\x22', '\x27', '\x2e', '\x20', '\x43', '\x68', '\x65', '\x63', '\x6b', '\x20', '\x61', '\x76', '\x61', '\x69', '\x6c', '\x61', '\x62', '\x6c', '\x65', '\x20', '\x77', '\x69', '\x74', '\x68', '\x20', '\x2d', '\x2d', '\x6c', '\x69', '\x73', '\x74', '\x2d', '\x72', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x73', '\x22', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x50', '\x61', '\x72', '\x73', '\x65', '\x72', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x3a', '\x3a', '\x6f', '\x6b', '\x28', '\x20', '\x50', '\x61', '\x72', '\x73', '\x65', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x54', '\x79', '\x70', '\x65', '\x3a', '\x3a', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x64', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x63', '\x6c', '\x69', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x3d', '\x20', '\x45', '\x78', '\x65', '\x4e', '\x61', '\x6d', '\x65', '\x28', '\x20', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x2e', '\x70', '\x72', '\x6f', '\x63', '\x65', '\x73', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7c', '\x20', '\x48', '\x65', '\x6c', '\x70', '\x28', '\x20', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x2e', '\x73', '\x68', '\x6f', '\x77', '\x48', '\x65', '\x6c', '\x70', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7c', '\x20', '\x4f', '\x70', '\x74', '\x28', '\x20', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x2e', '\x6c', '\x69', '\x73', '\x74', '\x54', '\x65', '\x73', '\x74', '\x73', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x5b', '\x22', '\x2d', '\x6c', '\x22', '\x5d', '\x5b', '\x22', '\x2d', '\x2d', '\x6c', '\x69', '\x73', '\x74', '\x2d', '\x74', '\x65', '\x73', '\x74', '\x73', '\x22', '\x5d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x28', '\x20', '\x22', '\x6c', '\x69', '\x73', '\x74', '\x20', '\x61', '\x6c', '\x6c', '\x2f', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x69', '\x6e', '\x67', '\x20', '\x74', '\x65', '\x73', '\x74', '\x20', '\x63', '\x61', '\x73', '\x65', '\x73', '\x22', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7c', '\x20', '\x4f', '\x70', '\x74', '\x28', '\x20', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x2e', '\x6c', '\x69', '\x73', '\x74', '\x54', '\x61', '\x67', '\x73', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x5b', '\x22', '\x2d', '\x74', '\x22', '\x5d', '\x5b', '\x22', '\x2d', '\x2d', '\x6c', '\x69', '\x73', '\x74', '\x2d', '\x74', '\x61', '\x67', '\x73', '\x22', '\x5d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x28', '\x20', '\x22', '\x6c', '\x69', '\x73', '\x74', '\x20', '\x61', '\x6c', '\x6c', '\x2f', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x69', '\x6e', '\x67', '\x20', '\x74', '\x61', '\x67', '\x73', '\x22', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7c', '\x20', '\x4f', '\x70', '\x74', '\x28', '\x20', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x2e', '\x73', '\x68', '\x6f', '\x77', '\x53', '\x75', '\x63', '\x63', '\x65', '\x73', '\x73', '\x66', '\x75', '\x6c', '\x54', '\x65', '\x73', '\x74', '\x73', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x5b', '\x22', '\x2d', '\x73', '\x22', '\x5d', '\x5b', '\x22', '\x2d', '\x2d', '\x73', '\x75', '\x63', '\x63', '\x65', '\x73', '\x73', '\x22', '\x5d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x28', '\x20', '\x22', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x73', '\x75', '\x63', '\x63', '\x65', '\x73', '\x73', '\x66', '\x75', '\x6c', '\x20', '\x74', '\x65', '\x73', '\x74', '\x73', '\x20', '\x69', '\x6e', '\x20', '\x6f', '\x75', '\x74', '\x70', '\x75', '\x74', '\x22', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7c', '\x20', '\x4f', '\x70', '\x74', '\x28', '\x20', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x2e', '\x73', '\x68', '\x6f', '\x75', '\x6c', '\x64', '\x44', '\x65', '\x62', '\x75', '\x67', '\x42', '\x72', '\x65', '\x61', '\x6b', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x5b', '\x22', '\x2d', '\x62', '\x22', '\x5d', '\x5b', '\x22', '\x2d', '\x2d', '\x62', '\x72', '\x65', '\x61', '\x6b', '\x22', '\x5d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x28', '\x20', '\x22', '\x62', '\x72', '\x65', '\x61', '\x6b', '\x20', '\x69', '\x6e', '\x74', '\x6f', '\x20', '\x64', '\x65', '\x62', '\x75', '\x67', '\x67', '\x65', '\x72', '\x20', '\x6f', '\x6e', '\x20', '\x66', '\x61', '\x69', '\x6c', '\x75', '\x72', '\x65', '\x22', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7c', '\x20', '\x4f', '\x70', '\x74', '\x28', '\x20', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x2e', '\x6e', '\x6f', '\x54', '\x68', '\x72', '\x6f', '\x77', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x5b', '\x22', '\x2d', '\x65', '\x22', '\x5d', '\x5b', '\x22', '\x2d', '\x2d', '\x6e', '\x6f', '\x74', '\x68', '\x72', '\x6f', '\x77', '\x22', '\x5d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x28', '\x20', '\x22', '\x73', '\x6b', '\x69', '\x70', '\x20', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x74', '\x65', '\x73', '\x74', '\x73', '\x22', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7c', '\x20', '\x4f', '\x70', '\x74', '\x28', '\x20', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x2e', '\x73', '\x68', '\x6f', '\x77', '\x49', '\x6e', '\x76', '\x69', '\x73', '\x69', '\x62', '\x6c', '\x65', '\x73', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x5b', '\x22', '\x2d', '\x69', '\x22', '\x5d', '\x5b', '\x22', '\x2d', '\x2d', '\x69', '\x6e', '\x76', '\x69', '\x73', '\x69', '\x62', '\x6c', '\x65', '\x73', '\x22', '\x5d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x28', '\x20', '\x22', '\x73', '\x68', '\x6f', '\x77', '\x20', '\x69', '\x6e', '\x76', '\x69', '\x73', '\x69', '\x62', '\x6c', '\x65', '\x73', '\x20', '\x28', '\x74', '\x61', '\x62', '\x73', '\x2c', '\x20', '\x6e', '\x65', '\x77', '\x6c', '\x69', '\x6e', '\x65', '\x73', '\x29', '\x22', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7c', '\x20', '\x4f', '\x70', '\x74', '\x28', '\x20', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x2e', '\x6f', '\x75', '\x74', '\x70', '\x75', '\x74', '\x46', '\x69', '\x6c', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x22', '\x66', '\x69', '\x6c', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x22', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x5b', '\x22', '\x2d', '\x6f', '\x22', '\x5d', '\x5b', '\x22', '\x2d', '\x2d', '\x6f', '\x75', '\x74', '\x22', '\x5d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x28', '\x20', '\x22', '\x6f', '\x75', '\x74', '\x70', '\x75', '\x74', '\x20', '\x66', '\x69', '\x6c', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x22', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7c', '\x20', '\x4f', '\x70', '\x74', '\x28', '\x20', '\x73', '\x65', '\x74', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x2c', '\x20', '\x22', '\x6e', '\x61', '\x6d', '\x65', '\x22', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x5b', '\x22', '\x2d', '\x72', '\x22', '\x5d', '\x5b', '\x22', '\x2d', '\x2d', '\x72', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x22', '\x5d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x28', '\x20', '\x22', '\x72', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x20', '\x74', '\x6f', '\x20', '\x75', '\x73', '\x65', '\x20', '\x28', '\x64', '\x65', '\x66', '\x61', '\x75', '\x6c', '\x74', '\x73', '\x20', '\x74', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x6f', '\x6c', '\x65', '\x29', '\x22', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7c', '\x20', '\x4f', '\x70', '\x74', '\x28', '\x20', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x2e', '\x6e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x22', '\x6e', '\x61', '\x6d', '\x65', '\x22', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x5b', '\x22', '\x2d', '\x6e', '\x22', '\x5d', '\x5b', '\x22', '\x2d', '\x2d', '\x6e', '\x61', '\x6d', '\x65', '\x22', '\x5d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x28', '\x20', '\x22', '\x73', '\x75', '\x69', '\x74', '\x65', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x22', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7c', '\x20', '\x4f', '\x70', '\x74', '\x28', '\x20', '\x5b', '\x26', '\x5d', '\x28', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x29', '\x7b', '\x20', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x2e', '\x61', '\x62', '\x6f', '\x72', '\x74', '\x41', '\x66', '\x74', '\x65', '\x72', '\x20', '\x3d', '\x20', '\x31', '\x3b', '\x20', '\x7d', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x5b', '\x22', '\x2d', '\x61', '\x22', '\x5d', '\x5b', '\x22', '\x2d', '\x2d', '\x61', '\x62', '\x6f', '\x72', '\x74', '\x22', '\x5d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x28', '\x20', '\x22', '\x61', '\x62', '\x6f', '\x72', '\x74', '\x20', '\x61', '\x74', '\x20', '\x66', '\x69', '\x72', '\x73', '\x74', '\x20', '\x66', '\x61', '\x69', '\x6c', '\x75', '\x72', '\x65', '\x22', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7c', '\x20', '\x4f', '\x70', '\x74', '\x28', '\x20', '\x5b', '\x26', '\x5d', '\x28', '\x20', '\x69', '\x6e', '\x74', '\x20', '\x78', '\x20', '\x29', '\x7b', '\x20', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x2e', '\x61', '\x62', '\x6f', '\x72', '\x74', '\x41', '\x66', '\x74', '\x65', '\x72', '\x20', '\x3d', '\x20', '\x78', '\x3b', '\x20', '\x7d', '\x2c', '\x20', '\x22', '\x6e', '\x6f', '\x2e', '\x20', '\x66', '\x61', '\x69', '\x6c', '\x75', '\x72', '\x65', '\x73', '\x22', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x5b', '\x22', '\x2d', '\x78', '\x22', '\x5d', '\x5b', '\x22', '\x2d', '\x2d', '\x61', '\x62', '\x6f', '\x72', '\x74', '\x78', '\x22', '\x5d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x28', '\x20', '\x22', '\x61', '\x62', '\x6f', '\x72', '\x74', '\x20', '\x61', '\x66', '\x74', '\x65', '\x72', '\x20', '\x78', '\x20', '\x66', '\x61', '\x69', '\x6c', '\x75', '\x72', '\x65', '\x73', '\x22', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7c', '\x20', '\x4f', '\x70', '\x74', '\x28', '\x20', '\x73', '\x65', '\x74', '\x57', '\x61', '\x72', '\x6e', '\x69', '\x6e', '\x67', '\x2c', '\x20', '\x22', '\x77', '\x61', '\x72', '\x6e', '\x69', '\x6e', '\x67', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x22', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x5b', '\x22', '\x2d', '\x77', '\x22', '\x5d', '\x5b', '\x22', '\x2d', '\x2d', '\x77', '\x61', '\x72', '\x6e', '\x22', '\x5d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x28', '\x20', '\x22', '\x65', '\x6e', '\x61', '\x62', '\x6c', '\x65', '\x20', '\x77', '\x61', '\x72', '\x6e', '\x69', '\x6e', '\x67', '\x73', '\x22', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7c', '\x20', '\x4f', '\x70', '\x74', '\x28', '\x20', '\x5b', '\x26', '\x5d', '\x28', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x66', '\x6c', '\x61', '\x67', '\x20', '\x29', '\x20', '\x7b', '\x20', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x2e', '\x73', '\x68', '\x6f', '\x77', '\x44', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x20', '\x3d', '\x20', '\x66', '\x6c', '\x61', '\x67', '\x20', '\x3f', '\x20', '\x53', '\x68', '\x6f', '\x77', '\x44', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x3a', '\x3a', '\x41', '\x6c', '\x77', '\x61', '\x79', '\x73', '\x20', '\x3a', '\x20', '\x53', '\x68', '\x6f', '\x77', '\x44', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x3a', '\x3a', '\x4e', '\x65', '\x76', '\x65', '\x72', '\x3b', '\x20', '\x7d', '\x2c', '\x20', '\x22', '\x79', '\x65', '\x73', '\x7c', '\x6e', '\x6f', '\x22', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x5b', '\x22', '\x2d', '\x64', '\x22', '\x5d', '\x5b', '\x22', '\x2d', '\x2d', '\x64', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x22', '\x5d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x28', '\x20', '\x22', '\x73', '\x68', '\x6f', '\x77', '\x20', '\x74', '\x65', '\x73', '\x74', '\x20', '\x64', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x22', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7c', '\x20', '\x4f', '\x70', '\x74', '\x28', '\x20', '\x6c', '\x6f', '\x61', '\x64', '\x54', '\x65', '\x73', '\x74', '\x4e', '\x61', '\x6d', '\x65', '\x73', '\x46', '\x72', '\x6f', '\x6d', '\x46', '\x69', '\x6c', '\x65', '\x2c', '\x20', '\x22', '\x66', '\x69', '\x6c', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x22', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x5b', '\x22', '\x2d', '\x66', '\x22', '\x5d', '\x5b', '\x22', '\x2d', '\x2d', '\x69', '\x6e', '\x70', '\x75', '\x74', '\x2d', '\x66', '\x69', '\x6c', '\x65', '\x22', '\x5d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x28', '\x20', '\x22', '\x6c', '\x6f', '\x61', '\x64', '\x20', '\x74', '\x65', '\x73', '\x74', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x20', '\x74', '\x6f', '\x20', '\x72', '\x75', '\x6e', '\x20', '\x66', '\x72', '\x6f', '\x6d', '\x20', '\x61', '\x20', '\x66', '\x69', '\x6c', '\x65', '\x22', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7c', '\x20', '\x4f', '\x70', '\x74', '\x28', '\x20', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x2e', '\x66', '\x69', '\x6c', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x41', '\x73', '\x54', '\x61', '\x67', '\x73', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x5b', '\x22', '\x2d', '\x23', '\x22', '\x5d', '\x5b', '\x22', '\x2d', '\x2d', '\x66', '\x69', '\x6c', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x2d', '\x61', '\x73', '\x2d', '\x74', '\x61', '\x67', '\x73', '\x22', '\x5d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x28', '\x20', '\x22', '\x61', '\x64', '\x64', '\x73', '\x20', '\x61', '\x20', '\x74', '\x61', '\x67', '\x20', '\x66', '\x6f', '\x72', '\x20', '\x74', '\x68', '\x65', '\x20', '\x66', '\x69', '\x6c', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x22', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7c', '\x20', '\x4f', '\x70', '\x74', '\x28', '\x20', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x2e', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x54', '\x6f', '\x52', '\x75', '\x6e', '\x2c', '\x20', '\x22', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x22', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x5b', '\x22', '\x2d', '\x63', '\x22', '\x5d', '\x5b', '\x22', '\x2d', '\x2d', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x22', '\x5d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x28', '\x20', '\x22', '\x73', '\x70', '\x65', '\x63', '\x69', '\x66', '\x79', '\x20', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x74', '\x6f', '\x20', '\x72', '\x75', '\x6e', '\x22', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7c', '\x20', '\x4f', '\x70', '\x74', '\x28', '\x20', '\x73', '\x65', '\x74', '\x56', '\x65', '\x72', '\x62', '\x6f', '\x73', '\x69', '\x74', '\x79', '\x2c', '\x20', '\x22', '\x71', '\x75', '\x69', '\x65', '\x74', '\x7c', '\x6e', '\x6f', '\x72', '\x6d', '\x61', '\x6c', '\x7c', '\x68', '\x69', '\x67', '\x68', '\x22', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x5b', '\x22', '\x2d', '\x76', '\x22', '\x5d', '\x5b', '\x22', '\x2d', '\x2d', '\x76', '\x65', '\x72', '\x62', '\x6f', '\x73', '\x69', '\x74', '\x79', '\x22', '\x5d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x28', '\x20', '\x22', '\x73', '\x65', '\x74', '\x20', '\x6f', '\x75', '\x74', '\x70', '\x75', '\x74', '\x20', '\x76', '\x65', '\x72', '\x62', '\x6f', '\x73', '\x69', '\x74', '\x79', '\x22', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7c', '\x20', '\x4f', '\x70', '\x74', '\x28', '\x20', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x2e', '\x6c', '\x69', '\x73', '\x74', '\x54', '\x65', '\x73', '\x74', '\x4e', '\x61', '\x6d', '\x65', '\x73', '\x4f', '\x6e', '\x6c', '\x79', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x5b', '\x22', '\x2d', '\x2d', '\x6c', '\x69', '\x73', '\x74', '\x2d', '\x74', '\x65', '\x73', '\x74', '\x2d', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x2d', '\x6f', '\x6e', '\x6c', '\x79', '\x22', '\x5d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x28', '\x20', '\x22', '\x6c', '\x69', '\x73', '\x74', '\x20', '\x61', '\x6c', '\x6c', '\x2f', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x69', '\x6e', '\x67', '\x20', '\x74', '\x65', '\x73', '\x74', '\x20', '\x63', '\x61', '\x73', '\x65', '\x73', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x20', '\x6f', '\x6e', '\x6c', '\x79', '\x22', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7c', '\x20', '\x4f', '\x70', '\x74', '\x28', '\x20', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x2e', '\x6c', '\x69', '\x73', '\x74', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x73', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x5b', '\x22', '\x2d', '\x2d', '\x6c', '\x69', '\x73', '\x74', '\x2d', '\x72', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x73', '\x22', '\x5d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x28', '\x20', '\x22', '\x6c', '\x69', '\x73', '\x74', '\x20', '\x61', '\x6c', '\x6c', '\x20', '\x72', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x73', '\x22', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7c', '\x20', '\x4f', '\x70', '\x74', '\x28', '\x20', '\x73', '\x65', '\x74', '\x54', '\x65', '\x73', '\x74', '\x4f', '\x72', '\x64', '\x65', '\x72', '\x2c', '\x20', '\x22', '\x64', '\x65', '\x63', '\x6c', '\x7c', '\x6c', '\x65', '\x78', '\x7c', '\x72', '\x61', '\x6e', '\x64', '\x22', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x5b', '\x22', '\x2d', '\x2d', '\x6f', '\x72', '\x64', '\x65', '\x72', '\x22', '\x5d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x28', '\x20', '\x22', '\x74', '\x65', '\x73', '\x74', '\x20', '\x63', '\x61', '\x73', '\x65', '\x20', '\x6f', '\x72', '\x64', '\x65', '\x72', '\x20', '\x28', '\x64', '\x65', '\x66', '\x61', '\x75', '\x6c', '\x74', '\x73', '\x20', '\x74', '\x6f', '\x20', '\x64', '\x65', '\x63', '\x6c', '\x29', '\x22', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7c', '\x20', '\x4f', '\x70', '\x74', '\x28', '\x20', '\x73', '\x65', '\x74', '\x52', '\x6e', '\x67', '\x53', '\x65', '\x65', '\x64', '\x2c', '\x20', '\x22', '\x27', '\x74', '\x69', '\x6d', '\x65', '\x27', '\x7c', '\x6e', '\x75', '\x6d', '\x62', '\x65', '\x72', '\x22', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x5b', '\x22', '\x2d', '\x2d', '\x72', '\x6e', '\x67', '\x2d', '\x73', '\x65', '\x65', '\x64', '\x22', '\x5d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x28', '\x20', '\x22', '\x73', '\x65', '\x74', '\x20', '\x61', '\x20', '\x73', '\x70', '\x65', '\x63', '\x69', '\x66', '\x69', '\x63', '\x20', '\x73', '\x65', '\x65', '\x64', '\x20', '\x66', '\x6f', '\x72', '\x20', '\x72', '\x61', '\x6e', '\x64', '\x6f', '\x6d', '\x20', '\x6e', '\x75', '\x6d', '\x62', '\x65', '\x72', '\x73', '\x22', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7c', '\x20', '\x4f', '\x70', '\x74', '\x28', '\x20', '\x73', '\x65', '\x74', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x55', '\x73', '\x61', '\x67', '\x65', '\x2c', '\x20', '\x22', '\x79', '\x65', '\x73', '\x7c', '\x6e', '\x6f', '\x22', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x5b', '\x22', '\x2d', '\x2d', '\x75', '\x73', '\x65', '\x2d', '\x63', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x22', '\x5d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x28', '\x20', '\x22', '\x73', '\x68', '\x6f', '\x75', '\x6c', '\x64', '\x20', '\x6f', '\x75', '\x74', '\x70', '\x75', '\x74', '\x20', '\x62', '\x65', '\x20', '\x63', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x69', '\x73', '\x65', '\x64', '\x22', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7c', '\x20', '\x4f', '\x70', '\x74', '\x28', '\x20', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x2e', '\x6c', '\x69', '\x62', '\x49', '\x64', '\x65', '\x6e', '\x74', '\x69', '\x66', '\x79', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x5b', '\x22', '\x2d', '\x2d', '\x6c', '\x69', '\x62', '\x69', '\x64', '\x65', '\x6e', '\x74', '\x69', '\x66', '\x79', '\x22', '\x5d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x28', '\x20', '\x22', '\x72', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x61', '\x6e', '\x64', '\x20', '\x76', '\x65', '\x72', '\x73', '\x69', '\x6f', '\x6e', '\x20', '\x61', '\x63', '\x63', '\x6f', '\x72', '\x64', '\x69', '\x6e', '\x67', '\x20', '\x74', '\x6f', '\x20', '\x6c', '\x69', '\x62', '\x69', '\x64', '\x65', '\x6e', '\x74', '\x69', '\x66', '\x79', '\x20', '\x73', '\x74', '\x61', '\x6e', '\x64', '\x61', '\x72', '\x64', '\x22', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7c', '\x20', '\x4f', '\x70', '\x74', '\x28', '\x20', '\x73', '\x65', '\x74', '\x57', '\x61', '\x69', '\x74', '\x46', '\x6f', '\x72', '\x4b', '\x65', '\x79', '\x70', '\x72', '\x65', '\x73', '\x73', '\x2c', '\x20', '\x22', '\x73', '\x74', '\x61', '\x72', '\x74', '\x7c', '\x65', '\x78', '\x69', '\x74', '\x7c', '\x62', '\x6f', '\x74', '\x68', '\x22', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x5b', '\x22', '\x2d', '\x2d', '\x77', '\x61', '\x69', '\x74', '\x2d', '\x66', '\x6f', '\x72', '\x2d', '\x6b', '\x65', '\x79', '\x70', '\x72', '\x65', '\x73', '\x73', '\x22', '\x5d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x28', '\x20', '\x22', '\x77', '\x61', '\x69', '\x74', '\x73', '\x20', '\x66', '\x6f', '\x72', '\x20', '\x61', '\x20', '\x6b', '\x65', '\x79', '\x70', '\x72', '\x65', '\x73', '\x73', '\x20', '\x62', '\x65', '\x66', '\x6f', '\x72', '\x65', '\x20', '\x65', '\x78', '\x69', '\x74', '\x69', '\x6e', '\x67', '\x22', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7c', '\x20', '\x4f', '\x70', '\x74', '\x28', '\x20', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x2e', '\x62', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x53', '\x61', '\x6d', '\x70', '\x6c', '\x65', '\x73', '\x2c', '\x20', '\x22', '\x73', '\x61', '\x6d', '\x70', '\x6c', '\x65', '\x73', '\x22', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x5b', '\x22', '\x2d', '\x2d', '\x62', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x2d', '\x73', '\x61', '\x6d', '\x70', '\x6c', '\x65', '\x73', '\x22', '\x5d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x28', '\x20', '\x22', '\x6e', '\x75', '\x6d', '\x62', '\x65', '\x72', '\x20', '\x6f', '\x66', '\x20', '\x73', '\x61', '\x6d', '\x70', '\x6c', '\x65', '\x73', '\x20', '\x74', '\x6f', '\x20', '\x63', '\x6f', '\x6c', '\x6c', '\x65', '\x63', '\x74', '\x20', '\x28', '\x64', '\x65', '\x66', '\x61', '\x75', '\x6c', '\x74', '\x3a', '\x20', '\x31', '\x30', '\x30', '\x29', '\x22', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7c', '\x20', '\x4f', '\x70', '\x74', '\x28', '\x20', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x2e', '\x62', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x52', '\x65', '\x73', '\x61', '\x6d', '\x70', '\x6c', '\x65', '\x73', '\x2c', '\x20', '\x22', '\x72', '\x65', '\x73', '\x61', '\x6d', '\x70', '\x6c', '\x65', '\x73', '\x22', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x5b', '\x22', '\x2d', '\x2d', '\x62', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x2d', '\x72', '\x65', '\x73', '\x61', '\x6d', '\x70', '\x6c', '\x65', '\x73', '\x22', '\x5d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x28', '\x20', '\x22', '\x6e', '\x75', '\x6d', '\x62', '\x65', '\x72', '\x20', '\x6f', '\x66', '\x20', '\x72', '\x65', '\x73', '\x61', '\x6d', '\x70', '\x6c', '\x65', '\x73', '\x20', '\x66', '\x6f', '\x72', '\x20', '\x74', '\x68', '\x65', '\x20', '\x62', '\x6f', '\x6f', '\x74', '\x73', '\x74', '\x72', '\x61', '\x70', '\x20', '\x28', '\x64', '\x65', '\x66', '\x61', '\x75', '\x6c', '\x74', '\x3a', '\x20', '\x31', '\x30', '\x30', '\x30', '\x30', '\x30', '\x29', '\x22', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7c', '\x20', '\x4f', '\x70', '\x74', '\x28', '\x20', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x2e', '\x62', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x64', '\x65', '\x6e', '\x63', '\x65', '\x49', '\x6e', '\x74', '\x65', '\x72', '\x76', '\x61', '\x6c', '\x2c', '\x20', '\x22', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x64', '\x65', '\x6e', '\x63', '\x65', '\x20', '\x69', '\x6e', '\x74', '\x65', '\x72', '\x76', '\x61', '\x6c', '\x22', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x5b', '\x22', '\x2d', '\x2d', '\x62', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x2d', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x64', '\x65', '\x6e', '\x63', '\x65', '\x2d', '\x69', '\x6e', '\x74', '\x65', '\x72', '\x76', '\x61', '\x6c', '\x22', '\x5d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x28', '\x20', '\x22', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x64', '\x65', '\x6e', '\x63', '\x65', '\x20', '\x69', '\x6e', '\x74', '\x65', '\x72', '\x76', '\x61', '\x6c', '\x20', '\x66', '\x6f', '\x72', '\x20', '\x74', '\x68', '\x65', '\x20', '\x62', '\x6f', '\x6f', '\x74', '\x73', '\x74', '\x72', '\x61', '\x70', '\x20', '\x28', '\x62', '\x65', '\x74', '\x77', '\x65', '\x65', '\x6e', '\x20', '\x30', '\x20', '\x61', '\x6e', '\x64', '\x20', '\x31', '\x2c', '\x20', '\x64', '\x65', '\x66', '\x61', '\x75', '\x6c', '\x74', '\x3a', '\x20', '\x30', '\x2e', '\x39', '\x35', '\x29', '\x22', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7c', '\x20', '\x4f', '\x70', '\x74', '\x28', '\x20', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x2e', '\x62', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x4e', '\x6f', '\x41', '\x6e', '\x61', '\x6c', '\x79', '\x73', '\x69', '\x73', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x5b', '\x22', '\x2d', '\x2d', '\x62', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x2d', '\x6e', '\x6f', '\x2d', '\x61', '\x6e', '\x61', '\x6c', '\x79', '\x73', '\x69', '\x73', '\x22', '\x5d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x28', '\x20', '\x22', '\x70', '\x65', '\x72', '\x66', '\x6f', '\x72', '\x6d', '\x20', '\x6f', '\x6e', '\x6c', '\x79', '\x20', '\x6d', '\x65', '\x61', '\x73', '\x75', '\x72', '\x65', '\x6d', '\x65', '\x6e', '\x74', '\x73', '\x3b', '\x20', '\x64', '\x6f', '\x20', '\x6e', '\x6f', '\x74', '\x20', '\x70', '\x65', '\x72', '\x66', '\x6f', '\x72', '\x6d', '\x20', '\x61', '\x6e', '\x79', '\x20', '\x61', '\x6e', '\x61', '\x6c', '\x79', '\x73', '\x69', '\x73', '\x22', '\x20', '\x29', '\x0d', '\x0a', '\x09', '\x09', '\x09', '\x7c', '\x20', '\x41', '\x72', '\x67', '\x28', '\x20', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x2e', '\x74', '\x65', '\x73', '\x74', '\x73', '\x4f', '\x72', '\x54', '\x61', '\x67', '\x73', '\x2c', '\x20', '\x22', '\x74', '\x65', '\x73', '\x74', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x7c', '\x70', '\x61', '\x74', '\x74', '\x65', '\x72', '\x6e', '\x7c', '\x74', '\x61', '\x67', '\x73', '\x22', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x28', '\x20', '\x22', '\x77', '\x68', '\x69', '\x63', '\x68', '\x20', '\x74', '\x65', '\x73', '\x74', '\x20', '\x6f', '\x72', '\x20', '\x74', '\x65', '\x73', '\x74', '\x73', '\x20', '\x74', '\x6f', '\x20', '\x75', '\x73', '\x65', '\x22', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x63', '\x6c', '\x69', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x63', '\x6f', '\x6d', '\x6d', '\x61', '\x6e', '\x64', '\x6c', '\x69', '\x6e', '\x65', '\x2e', '\x63', '\x70', '\x70', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x63', '\x6f', '\x6d', '\x6d', '\x6f', '\x6e', '\x2e', '\x63', '\x70', '\x70', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x63', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x3e', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x6f', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x3e', '\x0d', '\x0a', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x53', '\x6f', '\x75', '\x72', '\x63', '\x65', '\x4c', '\x69', '\x6e', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x3a', '\x3a', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x3d', '\x3d', '\x20', '\x28', '\x20', '\x53', '\x6f', '\x75', '\x72', '\x63', '\x65', '\x4c', '\x69', '\x6e', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6f', '\x74', '\x68', '\x65', '\x72', '\x20', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x6e', '\x6f', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6c', '\x69', '\x6e', '\x65', '\x20', '\x3d', '\x3d', '\x20', '\x6f', '\x74', '\x68', '\x65', '\x72', '\x2e', '\x6c', '\x69', '\x6e', '\x65', '\x20', '\x26', '\x26', '\x20', '\x28', '\x66', '\x69', '\x6c', '\x65', '\x20', '\x3d', '\x3d', '\x20', '\x6f', '\x74', '\x68', '\x65', '\x72', '\x2e', '\x66', '\x69', '\x6c', '\x65', '\x20', '\x7c', '\x7c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x63', '\x6d', '\x70', '\x28', '\x66', '\x69', '\x6c', '\x65', '\x2c', '\x20', '\x6f', '\x74', '\x68', '\x65', '\x72', '\x2e', '\x66', '\x69', '\x6c', '\x65', '\x29', '\x20', '\x3d', '\x3d', '\x20', '\x30', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x53', '\x6f', '\x75', '\x72', '\x63', '\x65', '\x4c', '\x69', '\x6e', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x3a', '\x3a', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x3c', '\x20', '\x28', '\x20', '\x53', '\x6f', '\x75', '\x72', '\x63', '\x65', '\x4c', '\x69', '\x6e', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6f', '\x74', '\x68', '\x65', '\x72', '\x20', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x6e', '\x6f', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x57', '\x65', '\x20', '\x63', '\x61', '\x6e', '\x20', '\x61', '\x73', '\x73', '\x75', '\x6d', '\x65', '\x20', '\x74', '\x68', '\x61', '\x74', '\x20', '\x74', '\x68', '\x65', '\x20', '\x73', '\x61', '\x6d', '\x65', '\x20', '\x66', '\x69', '\x6c', '\x65', '\x20', '\x77', '\x69', '\x6c', '\x6c', '\x20', '\x75', '\x73', '\x75', '\x61', '\x6c', '\x6c', '\x79', '\x20', '\x68', '\x61', '\x76', '\x65', '\x20', '\x74', '\x68', '\x65', '\x20', '\x73', '\x61', '\x6d', '\x65', '\x20', '\x70', '\x6f', '\x69', '\x6e', '\x74', '\x65', '\x72', '\x2e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x54', '\x68', '\x75', '\x73', '\x2c', '\x20', '\x69', '\x66', '\x20', '\x74', '\x68', '\x65', '\x20', '\x70', '\x6f', '\x69', '\x6e', '\x74', '\x65', '\x72', '\x73', '\x20', '\x61', '\x72', '\x65', '\x20', '\x74', '\x68', '\x65', '\x20', '\x73', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x74', '\x68', '\x65', '\x72', '\x65', '\x20', '\x69', '\x73', '\x20', '\x6e', '\x6f', '\x20', '\x70', '\x6f', '\x69', '\x6e', '\x74', '\x20', '\x69', '\x6e', '\x20', '\x63', '\x61', '\x6c', '\x6c', '\x69', '\x6e', '\x67', '\x20', '\x74', '\x68', '\x65', '\x20', '\x73', '\x74', '\x72', '\x63', '\x6d', '\x70', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6c', '\x69', '\x6e', '\x65', '\x20', '\x3c', '\x20', '\x6f', '\x74', '\x68', '\x65', '\x72', '\x2e', '\x6c', '\x69', '\x6e', '\x65', '\x20', '\x7c', '\x7c', '\x20', '\x28', '\x20', '\x6c', '\x69', '\x6e', '\x65', '\x20', '\x3d', '\x3d', '\x20', '\x6f', '\x74', '\x68', '\x65', '\x72', '\x2e', '\x6c', '\x69', '\x6e', '\x65', '\x20', '\x26', '\x26', '\x20', '\x66', '\x69', '\x6c', '\x65', '\x20', '\x21', '\x3d', '\x20', '\x6f', '\x74', '\x68', '\x65', '\x72', '\x2e', '\x66', '\x69', '\x6c', '\x65', '\x20', '\x26', '\x26', '\x20', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x63', '\x6d', '\x70', '\x28', '\x66', '\x69', '\x6c', '\x65', '\x2c', '\x20', '\x6f', '\x74', '\x68', '\x65', '\x72', '\x2e', '\x66', '\x69', '\x6c', '\x65', '\x29', '\x20', '\x3c', '\x20', '\x30', '\x29', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6f', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x26', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x3c', '\x3c', '\x20', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6f', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x26', '\x20', '\x6f', '\x73', '\x2c', '\x20', '\x53', '\x6f', '\x75', '\x72', '\x63', '\x65', '\x4c', '\x69', '\x6e', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x69', '\x6e', '\x66', '\x6f', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x6e', '\x64', '\x65', '\x66', '\x20', '\x5f', '\x5f', '\x47', '\x4e', '\x55', '\x47', '\x5f', '\x5f', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6f', '\x73', '\x20', '\x3c', '\x3c', '\x20', '\x69', '\x6e', '\x66', '\x6f', '\x2e', '\x66', '\x69', '\x6c', '\x65', '\x20', '\x3c', '\x3c', '\x20', '\x27', '\x28', '\x27', '\x20', '\x3c', '\x3c', '\x20', '\x69', '\x6e', '\x66', '\x6f', '\x2e', '\x6c', '\x69', '\x6e', '\x65', '\x20', '\x3c', '\x3c', '\x20', '\x27', '\x29', '\x27', '\x3b', '\x0d', '\x0a', '\x23', '\x65', '\x6c', '\x73', '\x65', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6f', '\x73', '\x20', '\x3c', '\x3c', '\x20', '\x69', '\x6e', '\x66', '\x6f', '\x2e', '\x66', '\x69', '\x6c', '\x65', '\x20', '\x3c', '\x3c', '\x20', '\x27', '\x3a', '\x27', '\x20', '\x3c', '\x3c', '\x20', '\x69', '\x6e', '\x66', '\x6f', '\x2e', '\x6c', '\x69', '\x6e', '\x65', '\x3b', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6f', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x45', '\x6e', '\x64', '\x53', '\x74', '\x6f', '\x70', '\x3a', '\x3a', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x2b', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x4e', '\x6f', '\x6e', '\x43', '\x6f', '\x70', '\x79', '\x61', '\x62', '\x6c', '\x65', '\x3a', '\x3a', '\x4e', '\x6f', '\x6e', '\x43', '\x6f', '\x70', '\x79', '\x61', '\x62', '\x6c', '\x65', '\x28', '\x29', '\x20', '\x3d', '\x20', '\x64', '\x65', '\x66', '\x61', '\x75', '\x6c', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x4e', '\x6f', '\x6e', '\x43', '\x6f', '\x70', '\x79', '\x61', '\x62', '\x6c', '\x65', '\x3a', '\x3a', '\x7e', '\x4e', '\x6f', '\x6e', '\x43', '\x6f', '\x70', '\x79', '\x61', '\x62', '\x6c', '\x65', '\x28', '\x29', '\x20', '\x3d', '\x20', '\x64', '\x65', '\x66', '\x61', '\x75', '\x6c', '\x74', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x7d', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x63', '\x6f', '\x6d', '\x6d', '\x6f', '\x6e', '\x2e', '\x63', '\x70', '\x70', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x2e', '\x63', '\x70', '\x70', '\x0d', '\x0a', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x3a', '\x3a', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x28', '\x20', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x44', '\x61', '\x74', '\x61', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x64', '\x61', '\x74', '\x61', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x3a', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x64', '\x61', '\x74', '\x61', '\x28', '\x20', '\x64', '\x61', '\x74', '\x61', '\x20', '\x29', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x28', '\x20', '\x6f', '\x70', '\x65', '\x6e', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x28', '\x29', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x57', '\x65', '\x20', '\x6e', '\x65', '\x65', '\x64', '\x20', '\x74', '\x6f', '\x20', '\x74', '\x72', '\x69', '\x6d', '\x20', '\x66', '\x69', '\x6c', '\x74', '\x65', '\x72', '\x20', '\x73', '\x70', '\x65', '\x63', '\x73', '\x20', '\x74', '\x6f', '\x20', '\x61', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x74', '\x72', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x20', '\x77', '\x69', '\x74', '\x68', '\x20', '\x73', '\x75', '\x70', '\x65', '\x72', '\x66', '\x6c', '\x75', '\x6f', '\x75', '\x73', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x77', '\x68', '\x69', '\x74', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x28', '\x65', '\x73', '\x70', '\x2e', '\x20', '\x69', '\x6d', '\x70', '\x6f', '\x72', '\x74', '\x61', '\x6e', '\x74', '\x20', '\x66', '\x6f', '\x72', '\x20', '\x62', '\x64', '\x64', '\x20', '\x6d', '\x61', '\x63', '\x72', '\x6f', '\x73', '\x2c', '\x20', '\x61', '\x73', '\x20', '\x74', '\x68', '\x6f', '\x73', '\x65', '\x20', '\x61', '\x72', '\x65', '\x20', '\x6d', '\x61', '\x6e', '\x75', '\x61', '\x6c', '\x6c', '\x79', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x61', '\x6c', '\x69', '\x67', '\x6e', '\x65', '\x64', '\x20', '\x77', '\x69', '\x74', '\x68', '\x20', '\x77', '\x68', '\x69', '\x74', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x29', '\x2e', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x66', '\x6f', '\x72', '\x20', '\x28', '\x61', '\x75', '\x74', '\x6f', '\x26', '\x20', '\x65', '\x6c', '\x65', '\x6d', '\x20', '\x3a', '\x20', '\x6d', '\x5f', '\x64', '\x61', '\x74', '\x61', '\x2e', '\x74', '\x65', '\x73', '\x74', '\x73', '\x4f', '\x72', '\x54', '\x61', '\x67', '\x73', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x6c', '\x65', '\x6d', '\x20', '\x3d', '\x20', '\x74', '\x72', '\x69', '\x6d', '\x28', '\x65', '\x6c', '\x65', '\x6d', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x66', '\x6f', '\x72', '\x20', '\x28', '\x61', '\x75', '\x74', '\x6f', '\x26', '\x20', '\x65', '\x6c', '\x65', '\x6d', '\x20', '\x3a', '\x20', '\x6d', '\x5f', '\x64', '\x61', '\x74', '\x61', '\x2e', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x54', '\x6f', '\x52', '\x75', '\x6e', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x6c', '\x65', '\x6d', '\x20', '\x3d', '\x20', '\x74', '\x72', '\x69', '\x6d', '\x28', '\x65', '\x6c', '\x65', '\x6d', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x54', '\x65', '\x73', '\x74', '\x53', '\x70', '\x65', '\x63', '\x50', '\x61', '\x72', '\x73', '\x65', '\x72', '\x20', '\x70', '\x61', '\x72', '\x73', '\x65', '\x72', '\x28', '\x49', '\x54', '\x61', '\x67', '\x41', '\x6c', '\x69', '\x61', '\x73', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x3a', '\x3a', '\x67', '\x65', '\x74', '\x28', '\x29', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x21', '\x6d', '\x5f', '\x64', '\x61', '\x74', '\x61', '\x2e', '\x74', '\x65', '\x73', '\x74', '\x73', '\x4f', '\x72', '\x54', '\x61', '\x67', '\x73', '\x2e', '\x65', '\x6d', '\x70', '\x74', '\x79', '\x28', '\x29', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x68', '\x61', '\x73', '\x54', '\x65', '\x73', '\x74', '\x46', '\x69', '\x6c', '\x74', '\x65', '\x72', '\x73', '\x20', '\x3d', '\x20', '\x74', '\x72', '\x75', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x66', '\x6f', '\x72', '\x20', '\x28', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x74', '\x65', '\x73', '\x74', '\x4f', '\x72', '\x54', '\x61', '\x67', '\x73', '\x20', '\x3a', '\x20', '\x6d', '\x5f', '\x64', '\x61', '\x74', '\x61', '\x2e', '\x74', '\x65', '\x73', '\x74', '\x73', '\x4f', '\x72', '\x54', '\x61', '\x67', '\x73', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x61', '\x72', '\x73', '\x65', '\x72', '\x2e', '\x70', '\x61', '\x72', '\x73', '\x65', '\x28', '\x74', '\x65', '\x73', '\x74', '\x4f', '\x72', '\x54', '\x61', '\x67', '\x73', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x74', '\x65', '\x73', '\x74', '\x53', '\x70', '\x65', '\x63', '\x20', '\x3d', '\x20', '\x70', '\x61', '\x72', '\x73', '\x65', '\x72', '\x2e', '\x74', '\x65', '\x73', '\x74', '\x53', '\x70', '\x65', '\x63', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x3a', '\x3a', '\x67', '\x65', '\x74', '\x46', '\x69', '\x6c', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6d', '\x5f', '\x64', '\x61', '\x74', '\x61', '\x2e', '\x6f', '\x75', '\x74', '\x70', '\x75', '\x74', '\x46', '\x69', '\x6c', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x3a', '\x3a', '\x6c', '\x69', '\x73', '\x74', '\x54', '\x65', '\x73', '\x74', '\x73', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7b', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6d', '\x5f', '\x64', '\x61', '\x74', '\x61', '\x2e', '\x6c', '\x69', '\x73', '\x74', '\x54', '\x65', '\x73', '\x74', '\x73', '\x3b', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x3a', '\x3a', '\x6c', '\x69', '\x73', '\x74', '\x54', '\x65', '\x73', '\x74', '\x4e', '\x61', '\x6d', '\x65', '\x73', '\x4f', '\x6e', '\x6c', '\x79', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x20', '\x7b', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6d', '\x5f', '\x64', '\x61', '\x74', '\x61', '\x2e', '\x6c', '\x69', '\x73', '\x74', '\x54', '\x65', '\x73', '\x74', '\x4e', '\x61', '\x6d', '\x65', '\x73', '\x4f', '\x6e', '\x6c', '\x79', '\x3b', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x3a', '\x3a', '\x6c', '\x69', '\x73', '\x74', '\x54', '\x61', '\x67', '\x73', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7b', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6d', '\x5f', '\x64', '\x61', '\x74', '\x61', '\x2e', '\x6c', '\x69', '\x73', '\x74', '\x54', '\x61', '\x67', '\x73', '\x3b', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x3a', '\x3a', '\x6c', '\x69', '\x73', '\x74', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x73', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7b', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6d', '\x5f', '\x64', '\x61', '\x74', '\x61', '\x2e', '\x6c', '\x69', '\x73', '\x74', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x73', '\x3b', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x3a', '\x3a', '\x67', '\x65', '\x74', '\x50', '\x72', '\x6f', '\x63', '\x65', '\x73', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x7b', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6d', '\x5f', '\x64', '\x61', '\x74', '\x61', '\x2e', '\x70', '\x72', '\x6f', '\x63', '\x65', '\x73', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x3b', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x3a', '\x3a', '\x67', '\x65', '\x74', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x4e', '\x61', '\x6d', '\x65', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x7b', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6d', '\x5f', '\x64', '\x61', '\x74', '\x61', '\x2e', '\x72', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x4e', '\x61', '\x6d', '\x65', '\x3b', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x3e', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x3a', '\x3a', '\x67', '\x65', '\x74', '\x54', '\x65', '\x73', '\x74', '\x73', '\x4f', '\x72', '\x54', '\x61', '\x67', '\x73', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x7b', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6d', '\x5f', '\x64', '\x61', '\x74', '\x61', '\x2e', '\x74', '\x65', '\x73', '\x74', '\x73', '\x4f', '\x72', '\x54', '\x61', '\x67', '\x73', '\x3b', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x3e', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x3a', '\x3a', '\x67', '\x65', '\x74', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x54', '\x6f', '\x52', '\x75', '\x6e', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x7b', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6d', '\x5f', '\x64', '\x61', '\x74', '\x61', '\x2e', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x54', '\x6f', '\x52', '\x75', '\x6e', '\x3b', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x54', '\x65', '\x73', '\x74', '\x53', '\x70', '\x65', '\x63', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x3a', '\x3a', '\x74', '\x65', '\x73', '\x74', '\x53', '\x70', '\x65', '\x63', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x7b', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6d', '\x5f', '\x74', '\x65', '\x73', '\x74', '\x53', '\x70', '\x65', '\x63', '\x3b', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x3a', '\x3a', '\x68', '\x61', '\x73', '\x54', '\x65', '\x73', '\x74', '\x46', '\x69', '\x6c', '\x74', '\x65', '\x72', '\x73', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x7b', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6d', '\x5f', '\x68', '\x61', '\x73', '\x54', '\x65', '\x73', '\x74', '\x46', '\x69', '\x6c', '\x74', '\x65', '\x72', '\x73', '\x3b', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x3a', '\x3a', '\x73', '\x68', '\x6f', '\x77', '\x48', '\x65', '\x6c', '\x70', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x7b', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6d', '\x5f', '\x64', '\x61', '\x74', '\x61', '\x2e', '\x73', '\x68', '\x6f', '\x77', '\x48', '\x65', '\x6c', '\x70', '\x3b', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x49', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x20', '\x69', '\x6e', '\x74', '\x65', '\x72', '\x66', '\x61', '\x63', '\x65', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x3a', '\x3a', '\x61', '\x6c', '\x6c', '\x6f', '\x77', '\x54', '\x68', '\x72', '\x6f', '\x77', '\x73', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7b', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x21', '\x6d', '\x5f', '\x64', '\x61', '\x74', '\x61', '\x2e', '\x6e', '\x6f', '\x54', '\x68', '\x72', '\x6f', '\x77', '\x3b', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6f', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x26', '\x20', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7b', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6d', '\x5f', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x2d', '\x3e', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x28', '\x29', '\x3b', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x3a', '\x3a', '\x6e', '\x61', '\x6d', '\x65', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7b', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6d', '\x5f', '\x64', '\x61', '\x74', '\x61', '\x2e', '\x6e', '\x61', '\x6d', '\x65', '\x2e', '\x65', '\x6d', '\x70', '\x74', '\x79', '\x28', '\x29', '\x20', '\x3f', '\x20', '\x6d', '\x5f', '\x64', '\x61', '\x74', '\x61', '\x2e', '\x70', '\x72', '\x6f', '\x63', '\x65', '\x73', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x20', '\x3a', '\x20', '\x6d', '\x5f', '\x64', '\x61', '\x74', '\x61', '\x2e', '\x6e', '\x61', '\x6d', '\x65', '\x3b', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x3a', '\x3a', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x53', '\x75', '\x63', '\x63', '\x65', '\x73', '\x73', '\x66', '\x75', '\x6c', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x73', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7b', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6d', '\x5f', '\x64', '\x61', '\x74', '\x61', '\x2e', '\x73', '\x68', '\x6f', '\x77', '\x53', '\x75', '\x63', '\x63', '\x65', '\x73', '\x73', '\x66', '\x75', '\x6c', '\x54', '\x65', '\x73', '\x74', '\x73', '\x3b', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x3a', '\x3a', '\x77', '\x61', '\x72', '\x6e', '\x41', '\x62', '\x6f', '\x75', '\x74', '\x4d', '\x69', '\x73', '\x73', '\x69', '\x6e', '\x67', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x20', '\x20', '\x20', '\x7b', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x21', '\x21', '\x28', '\x6d', '\x5f', '\x64', '\x61', '\x74', '\x61', '\x2e', '\x77', '\x61', '\x72', '\x6e', '\x69', '\x6e', '\x67', '\x73', '\x20', '\x26', '\x20', '\x57', '\x61', '\x72', '\x6e', '\x41', '\x62', '\x6f', '\x75', '\x74', '\x3a', '\x3a', '\x4e', '\x6f', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x29', '\x3b', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x3a', '\x3a', '\x77', '\x61', '\x72', '\x6e', '\x41', '\x62', '\x6f', '\x75', '\x74', '\x4e', '\x6f', '\x54', '\x65', '\x73', '\x74', '\x73', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7b', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x21', '\x21', '\x28', '\x6d', '\x5f', '\x64', '\x61', '\x74', '\x61', '\x2e', '\x77', '\x61', '\x72', '\x6e', '\x69', '\x6e', '\x67', '\x73', '\x20', '\x26', '\x20', '\x57', '\x61', '\x72', '\x6e', '\x41', '\x62', '\x6f', '\x75', '\x74', '\x3a', '\x3a', '\x4e', '\x6f', '\x54', '\x65', '\x73', '\x74', '\x73', '\x29', '\x3b', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x53', '\x68', '\x6f', '\x77', '\x44', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x3a', '\x3a', '\x4f', '\x72', '\x4e', '\x6f', '\x74', '\x20', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x3a', '\x3a', '\x73', '\x68', '\x6f', '\x77', '\x44', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x7b', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6d', '\x5f', '\x64', '\x61', '\x74', '\x61', '\x2e', '\x73', '\x68', '\x6f', '\x77', '\x44', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x3b', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x52', '\x75', '\x6e', '\x54', '\x65', '\x73', '\x74', '\x73', '\x3a', '\x3a', '\x49', '\x6e', '\x57', '\x68', '\x61', '\x74', '\x4f', '\x72', '\x64', '\x65', '\x72', '\x20', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x3a', '\x3a', '\x72', '\x75', '\x6e', '\x4f', '\x72', '\x64', '\x65', '\x72', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7b', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6d', '\x5f', '\x64', '\x61', '\x74', '\x61', '\x2e', '\x72', '\x75', '\x6e', '\x4f', '\x72', '\x64', '\x65', '\x72', '\x3b', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x75', '\x6e', '\x73', '\x69', '\x67', '\x6e', '\x65', '\x64', '\x20', '\x69', '\x6e', '\x74', '\x20', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x3a', '\x3a', '\x72', '\x6e', '\x67', '\x53', '\x65', '\x65', '\x64', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7b', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6d', '\x5f', '\x64', '\x61', '\x74', '\x61', '\x2e', '\x72', '\x6e', '\x67', '\x53', '\x65', '\x65', '\x64', '\x3b', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x55', '\x73', '\x65', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x3a', '\x3a', '\x59', '\x65', '\x73', '\x4f', '\x72', '\x4e', '\x6f', '\x20', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x3a', '\x3a', '\x75', '\x73', '\x65', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7b', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6d', '\x5f', '\x64', '\x61', '\x74', '\x61', '\x2e', '\x75', '\x73', '\x65', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x3b', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x3a', '\x3a', '\x73', '\x68', '\x6f', '\x75', '\x6c', '\x64', '\x44', '\x65', '\x62', '\x75', '\x67', '\x42', '\x72', '\x65', '\x61', '\x6b', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7b', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6d', '\x5f', '\x64', '\x61', '\x74', '\x61', '\x2e', '\x73', '\x68', '\x6f', '\x75', '\x6c', '\x64', '\x44', '\x65', '\x62', '\x75', '\x67', '\x42', '\x72', '\x65', '\x61', '\x6b', '\x3b', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x69', '\x6e', '\x74', '\x20', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x3a', '\x3a', '\x61', '\x62', '\x6f', '\x72', '\x74', '\x41', '\x66', '\x74', '\x65', '\x72', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7b', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6d', '\x5f', '\x64', '\x61', '\x74', '\x61', '\x2e', '\x61', '\x62', '\x6f', '\x72', '\x74', '\x41', '\x66', '\x74', '\x65', '\x72', '\x3b', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x3a', '\x3a', '\x73', '\x68', '\x6f', '\x77', '\x49', '\x6e', '\x76', '\x69', '\x73', '\x69', '\x62', '\x6c', '\x65', '\x73', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7b', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6d', '\x5f', '\x64', '\x61', '\x74', '\x61', '\x2e', '\x73', '\x68', '\x6f', '\x77', '\x49', '\x6e', '\x76', '\x69', '\x73', '\x69', '\x62', '\x6c', '\x65', '\x73', '\x3b', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x56', '\x65', '\x72', '\x62', '\x6f', '\x73', '\x69', '\x74', '\x79', '\x20', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x3a', '\x3a', '\x76', '\x65', '\x72', '\x62', '\x6f', '\x73', '\x69', '\x74', '\x79', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7b', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6d', '\x5f', '\x64', '\x61', '\x74', '\x61', '\x2e', '\x76', '\x65', '\x72', '\x62', '\x6f', '\x73', '\x69', '\x74', '\x79', '\x3b', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x3a', '\x3a', '\x62', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x4e', '\x6f', '\x41', '\x6e', '\x61', '\x6c', '\x79', '\x73', '\x69', '\x73', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7b', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6d', '\x5f', '\x64', '\x61', '\x74', '\x61', '\x2e', '\x62', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x4e', '\x6f', '\x41', '\x6e', '\x61', '\x6c', '\x79', '\x73', '\x69', '\x73', '\x3b', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x69', '\x6e', '\x74', '\x20', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x3a', '\x3a', '\x62', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x53', '\x61', '\x6d', '\x70', '\x6c', '\x65', '\x73', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7b', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6d', '\x5f', '\x64', '\x61', '\x74', '\x61', '\x2e', '\x62', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x53', '\x61', '\x6d', '\x70', '\x6c', '\x65', '\x73', '\x3b', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x20', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x3a', '\x3a', '\x62', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x64', '\x65', '\x6e', '\x63', '\x65', '\x49', '\x6e', '\x74', '\x65', '\x72', '\x76', '\x61', '\x6c', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x7b', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6d', '\x5f', '\x64', '\x61', '\x74', '\x61', '\x2e', '\x62', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x64', '\x65', '\x6e', '\x63', '\x65', '\x49', '\x6e', '\x74', '\x65', '\x72', '\x76', '\x61', '\x6c', '\x3b', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x75', '\x6e', '\x73', '\x69', '\x67', '\x6e', '\x65', '\x64', '\x20', '\x69', '\x6e', '\x74', '\x20', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x3a', '\x3a', '\x62', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x52', '\x65', '\x73', '\x61', '\x6d', '\x70', '\x6c', '\x65', '\x73', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x20', '\x20', '\x20', '\x7b', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6d', '\x5f', '\x64', '\x61', '\x74', '\x61', '\x2e', '\x62', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x52', '\x65', '\x73', '\x61', '\x6d', '\x70', '\x6c', '\x65', '\x73', '\x3b', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x49', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x2a', '\x20', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x3a', '\x3a', '\x6f', '\x70', '\x65', '\x6e', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x28', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x6d', '\x61', '\x6b', '\x65', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x28', '\x6d', '\x5f', '\x64', '\x61', '\x74', '\x61', '\x2e', '\x6f', '\x75', '\x74', '\x70', '\x75', '\x74', '\x46', '\x69', '\x6c', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x2e', '\x63', '\x70', '\x70', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x63', '\x6f', '\x6e', '\x73', '\x6f', '\x6c', '\x65', '\x5f', '\x63', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x2e', '\x63', '\x70', '\x70', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x5f', '\x5f', '\x63', '\x6c', '\x61', '\x6e', '\x67', '\x5f', '\x5f', '\x29', '\x0d', '\x0a', '\x23', '\x20', '\x20', '\x20', '\x20', '\x70', '\x72', '\x61', '\x67', '\x6d', '\x61', '\x20', '\x63', '\x6c', '\x61', '\x6e', '\x67', '\x20', '\x64', '\x69', '\x61', '\x67', '\x6e', '\x6f', '\x73', '\x74', '\x69', '\x63', '\x20', '\x70', '\x75', '\x73', '\x68', '\x0d', '\x0a', '\x23', '\x20', '\x20', '\x20', '\x20', '\x70', '\x72', '\x61', '\x67', '\x6d', '\x61', '\x20', '\x63', '\x6c', '\x61', '\x6e', '\x67', '\x20', '\x64', '\x69', '\x61', '\x67', '\x6e', '\x6f', '\x73', '\x74', '\x69', '\x63', '\x20', '\x69', '\x67', '\x6e', '\x6f', '\x72', '\x65', '\x64', '\x20', '\x22', '\x2d', '\x57', '\x65', '\x78', '\x69', '\x74', '\x2d', '\x74', '\x69', '\x6d', '\x65', '\x2d', '\x64', '\x65', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x6f', '\x72', '\x73', '\x22', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x65', '\x72', '\x72', '\x6e', '\x6f', '\x5f', '\x67', '\x75', '\x61', '\x72', '\x64', '\x2e', '\x68', '\x0d', '\x0a', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x20', '\x45', '\x72', '\x72', '\x6e', '\x6f', '\x47', '\x75', '\x61', '\x72', '\x64', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x70', '\x75', '\x62', '\x6c', '\x69', '\x63', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x45', '\x72', '\x72', '\x6e', '\x6f', '\x47', '\x75', '\x61', '\x72', '\x64', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7e', '\x45', '\x72', '\x72', '\x6e', '\x6f', '\x47', '\x75', '\x61', '\x72', '\x64', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x70', '\x72', '\x69', '\x76', '\x61', '\x74', '\x65', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x6e', '\x74', '\x20', '\x6d', '\x5f', '\x6f', '\x6c', '\x64', '\x45', '\x72', '\x72', '\x6e', '\x6f', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x65', '\x72', '\x72', '\x6e', '\x6f', '\x5f', '\x67', '\x75', '\x61', '\x72', '\x64', '\x2e', '\x68', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x73', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x3e', '\x0d', '\x0a', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x49', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x49', '\x6d', '\x70', '\x6c', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x69', '\x72', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x7e', '\x49', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x49', '\x6d', '\x70', '\x6c', '\x28', '\x29', '\x20', '\x3d', '\x20', '\x64', '\x65', '\x66', '\x61', '\x75', '\x6c', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x69', '\x72', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x75', '\x73', '\x65', '\x28', '\x20', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x3a', '\x3a', '\x43', '\x6f', '\x64', '\x65', '\x20', '\x5f', '\x63', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x43', '\x6f', '\x64', '\x65', '\x20', '\x29', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x4e', '\x6f', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x49', '\x6d', '\x70', '\x6c', '\x20', '\x3a', '\x20', '\x49', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x49', '\x6d', '\x70', '\x6c', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x75', '\x73', '\x65', '\x28', '\x20', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x3a', '\x3a', '\x43', '\x6f', '\x64', '\x65', '\x20', '\x29', '\x20', '\x7b', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x20', '\x49', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x49', '\x6d', '\x70', '\x6c', '\x2a', '\x20', '\x69', '\x6e', '\x73', '\x74', '\x61', '\x6e', '\x63', '\x65', '\x28', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x20', '\x4e', '\x6f', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x49', '\x6d', '\x70', '\x6c', '\x20', '\x73', '\x5f', '\x69', '\x6e', '\x73', '\x74', '\x61', '\x6e', '\x63', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x26', '\x73', '\x5f', '\x69', '\x6e', '\x73', '\x74', '\x61', '\x6e', '\x63', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x61', '\x6e', '\x6f', '\x6e', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x0d', '\x0a', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x20', '\x21', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x43', '\x4f', '\x4c', '\x4f', '\x55', '\x52', '\x5f', '\x4e', '\x4f', '\x4e', '\x45', '\x20', '\x29', '\x20', '\x26', '\x26', '\x20', '\x21', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x43', '\x4f', '\x4c', '\x4f', '\x55', '\x52', '\x5f', '\x57', '\x49', '\x4e', '\x44', '\x4f', '\x57', '\x53', '\x20', '\x29', '\x20', '\x26', '\x26', '\x20', '\x21', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x43', '\x4f', '\x4c', '\x4f', '\x55', '\x52', '\x5f', '\x41', '\x4e', '\x53', '\x49', '\x20', '\x29', '\x0d', '\x0a', '\x23', '\x20', '\x20', '\x20', '\x69', '\x66', '\x64', '\x65', '\x66', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x50', '\x4c', '\x41', '\x54', '\x46', '\x4f', '\x52', '\x4d', '\x5f', '\x57', '\x49', '\x4e', '\x44', '\x4f', '\x57', '\x53', '\x0d', '\x0a', '\x23', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x43', '\x4f', '\x4c', '\x4f', '\x55', '\x52', '\x5f', '\x57', '\x49', '\x4e', '\x44', '\x4f', '\x57', '\x53', '\x0d', '\x0a', '\x23', '\x20', '\x20', '\x20', '\x65', '\x6c', '\x73', '\x65', '\x0d', '\x0a', '\x23', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x43', '\x4f', '\x4c', '\x4f', '\x55', '\x52', '\x5f', '\x41', '\x4e', '\x53', '\x49', '\x0d', '\x0a', '\x23', '\x20', '\x20', '\x20', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x20', '\x28', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x43', '\x4f', '\x4c', '\x4f', '\x55', '\x52', '\x5f', '\x57', '\x49', '\x4e', '\x44', '\x4f', '\x57', '\x53', '\x20', '\x29', '\x20', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x0d', '\x0a', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x20', '\x57', '\x69', '\x6e', '\x33', '\x32', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x49', '\x6d', '\x70', '\x6c', '\x20', '\x3a', '\x20', '\x70', '\x75', '\x62', '\x6c', '\x69', '\x63', '\x20', '\x49', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x49', '\x6d', '\x70', '\x6c', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x70', '\x75', '\x62', '\x6c', '\x69', '\x63', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x57', '\x69', '\x6e', '\x33', '\x32', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x49', '\x6d', '\x70', '\x6c', '\x28', '\x29', '\x20', '\x3a', '\x20', '\x73', '\x74', '\x64', '\x6f', '\x75', '\x74', '\x48', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x28', '\x20', '\x47', '\x65', '\x74', '\x53', '\x74', '\x64', '\x48', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x28', '\x53', '\x54', '\x44', '\x5f', '\x4f', '\x55', '\x54', '\x50', '\x55', '\x54', '\x5f', '\x48', '\x41', '\x4e', '\x44', '\x4c', '\x45', '\x29', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x4f', '\x4e', '\x53', '\x4f', '\x4c', '\x45', '\x5f', '\x53', '\x43', '\x52', '\x45', '\x45', '\x4e', '\x5f', '\x42', '\x55', '\x46', '\x46', '\x45', '\x52', '\x5f', '\x49', '\x4e', '\x46', '\x4f', '\x20', '\x63', '\x73', '\x62', '\x69', '\x49', '\x6e', '\x66', '\x6f', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x47', '\x65', '\x74', '\x43', '\x6f', '\x6e', '\x73', '\x6f', '\x6c', '\x65', '\x53', '\x63', '\x72', '\x65', '\x65', '\x6e', '\x42', '\x75', '\x66', '\x66', '\x65', '\x72', '\x49', '\x6e', '\x66', '\x6f', '\x28', '\x20', '\x73', '\x74', '\x64', '\x6f', '\x75', '\x74', '\x48', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x2c', '\x20', '\x26', '\x63', '\x73', '\x62', '\x69', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6f', '\x72', '\x69', '\x67', '\x69', '\x6e', '\x61', '\x6c', '\x46', '\x6f', '\x72', '\x65', '\x67', '\x72', '\x6f', '\x75', '\x6e', '\x64', '\x41', '\x74', '\x74', '\x72', '\x69', '\x62', '\x75', '\x74', '\x65', '\x73', '\x20', '\x3d', '\x20', '\x63', '\x73', '\x62', '\x69', '\x49', '\x6e', '\x66', '\x6f', '\x2e', '\x77', '\x41', '\x74', '\x74', '\x72', '\x69', '\x62', '\x75', '\x74', '\x65', '\x73', '\x20', '\x26', '\x20', '\x7e', '\x28', '\x20', '\x42', '\x41', '\x43', '\x4b', '\x47', '\x52', '\x4f', '\x55', '\x4e', '\x44', '\x5f', '\x47', '\x52', '\x45', '\x45', '\x4e', '\x20', '\x7c', '\x20', '\x42', '\x41', '\x43', '\x4b', '\x47', '\x52', '\x4f', '\x55', '\x4e', '\x44', '\x5f', '\x52', '\x45', '\x44', '\x20', '\x7c', '\x20', '\x42', '\x41', '\x43', '\x4b', '\x47', '\x52', '\x4f', '\x55', '\x4e', '\x44', '\x5f', '\x42', '\x4c', '\x55', '\x45', '\x20', '\x7c', '\x20', '\x42', '\x41', '\x43', '\x4b', '\x47', '\x52', '\x4f', '\x55', '\x4e', '\x44', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x4e', '\x53', '\x49', '\x54', '\x59', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6f', '\x72', '\x69', '\x67', '\x69', '\x6e', '\x61', '\x6c', '\x42', '\x61', '\x63', '\x6b', '\x67', '\x72', '\x6f', '\x75', '\x6e', '\x64', '\x41', '\x74', '\x74', '\x72', '\x69', '\x62', '\x75', '\x74', '\x65', '\x73', '\x20', '\x3d', '\x20', '\x63', '\x73', '\x62', '\x69', '\x49', '\x6e', '\x66', '\x6f', '\x2e', '\x77', '\x41', '\x74', '\x74', '\x72', '\x69', '\x62', '\x75', '\x74', '\x65', '\x73', '\x20', '\x26', '\x20', '\x7e', '\x28', '\x20', '\x46', '\x4f', '\x52', '\x45', '\x47', '\x52', '\x4f', '\x55', '\x4e', '\x44', '\x5f', '\x47', '\x52', '\x45', '\x45', '\x4e', '\x20', '\x7c', '\x20', '\x46', '\x4f', '\x52', '\x45', '\x47', '\x52', '\x4f', '\x55', '\x4e', '\x44', '\x5f', '\x52', '\x45', '\x44', '\x20', '\x7c', '\x20', '\x46', '\x4f', '\x52', '\x45', '\x47', '\x52', '\x4f', '\x55', '\x4e', '\x44', '\x5f', '\x42', '\x4c', '\x55', '\x45', '\x20', '\x7c', '\x20', '\x46', '\x4f', '\x52', '\x45', '\x47', '\x52', '\x4f', '\x55', '\x4e', '\x44', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x4e', '\x53', '\x49', '\x54', '\x59', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x75', '\x73', '\x65', '\x28', '\x20', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x3a', '\x3a', '\x43', '\x6f', '\x64', '\x65', '\x20', '\x5f', '\x63', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x43', '\x6f', '\x64', '\x65', '\x20', '\x29', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x77', '\x69', '\x74', '\x63', '\x68', '\x28', '\x20', '\x5f', '\x63', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x43', '\x6f', '\x64', '\x65', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x61', '\x73', '\x65', '\x20', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x3a', '\x3a', '\x4e', '\x6f', '\x6e', '\x65', '\x3a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x73', '\x65', '\x74', '\x54', '\x65', '\x78', '\x74', '\x41', '\x74', '\x74', '\x72', '\x69', '\x62', '\x75', '\x74', '\x65', '\x28', '\x20', '\x6f', '\x72', '\x69', '\x67', '\x69', '\x6e', '\x61', '\x6c', '\x46', '\x6f', '\x72', '\x65', '\x67', '\x72', '\x6f', '\x75', '\x6e', '\x64', '\x41', '\x74', '\x74', '\x72', '\x69', '\x62', '\x75', '\x74', '\x65', '\x73', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x61', '\x73', '\x65', '\x20', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x3a', '\x3a', '\x57', '\x68', '\x69', '\x74', '\x65', '\x3a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x73', '\x65', '\x74', '\x54', '\x65', '\x78', '\x74', '\x41', '\x74', '\x74', '\x72', '\x69', '\x62', '\x75', '\x74', '\x65', '\x28', '\x20', '\x46', '\x4f', '\x52', '\x45', '\x47', '\x52', '\x4f', '\x55', '\x4e', '\x44', '\x5f', '\x47', '\x52', '\x45', '\x45', '\x4e', '\x20', '\x7c', '\x20', '\x46', '\x4f', '\x52', '\x45', '\x47', '\x52', '\x4f', '\x55', '\x4e', '\x44', '\x5f', '\x52', '\x45', '\x44', '\x20', '\x7c', '\x20', '\x46', '\x4f', '\x52', '\x45', '\x47', '\x52', '\x4f', '\x55', '\x4e', '\x44', '\x5f', '\x42', '\x4c', '\x55', '\x45', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x61', '\x73', '\x65', '\x20', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x3a', '\x3a', '\x52', '\x65', '\x64', '\x3a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x73', '\x65', '\x74', '\x54', '\x65', '\x78', '\x74', '\x41', '\x74', '\x74', '\x72', '\x69', '\x62', '\x75', '\x74', '\x65', '\x28', '\x20', '\x46', '\x4f', '\x52', '\x45', '\x47', '\x52', '\x4f', '\x55', '\x4e', '\x44', '\x5f', '\x52', '\x45', '\x44', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x61', '\x73', '\x65', '\x20', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x3a', '\x3a', '\x47', '\x72', '\x65', '\x65', '\x6e', '\x3a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x73', '\x65', '\x74', '\x54', '\x65', '\x78', '\x74', '\x41', '\x74', '\x74', '\x72', '\x69', '\x62', '\x75', '\x74', '\x65', '\x28', '\x20', '\x46', '\x4f', '\x52', '\x45', '\x47', '\x52', '\x4f', '\x55', '\x4e', '\x44', '\x5f', '\x47', '\x52', '\x45', '\x45', '\x4e', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x61', '\x73', '\x65', '\x20', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x3a', '\x3a', '\x42', '\x6c', '\x75', '\x65', '\x3a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x73', '\x65', '\x74', '\x54', '\x65', '\x78', '\x74', '\x41', '\x74', '\x74', '\x72', '\x69', '\x62', '\x75', '\x74', '\x65', '\x28', '\x20', '\x46', '\x4f', '\x52', '\x45', '\x47', '\x52', '\x4f', '\x55', '\x4e', '\x44', '\x5f', '\x42', '\x4c', '\x55', '\x45', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x61', '\x73', '\x65', '\x20', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x3a', '\x3a', '\x43', '\x79', '\x61', '\x6e', '\x3a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x73', '\x65', '\x74', '\x54', '\x65', '\x78', '\x74', '\x41', '\x74', '\x74', '\x72', '\x69', '\x62', '\x75', '\x74', '\x65', '\x28', '\x20', '\x46', '\x4f', '\x52', '\x45', '\x47', '\x52', '\x4f', '\x55', '\x4e', '\x44', '\x5f', '\x42', '\x4c', '\x55', '\x45', '\x20', '\x7c', '\x20', '\x46', '\x4f', '\x52', '\x45', '\x47', '\x52', '\x4f', '\x55', '\x4e', '\x44', '\x5f', '\x47', '\x52', '\x45', '\x45', '\x4e', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x61', '\x73', '\x65', '\x20', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x3a', '\x3a', '\x59', '\x65', '\x6c', '\x6c', '\x6f', '\x77', '\x3a', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x73', '\x65', '\x74', '\x54', '\x65', '\x78', '\x74', '\x41', '\x74', '\x74', '\x72', '\x69', '\x62', '\x75', '\x74', '\x65', '\x28', '\x20', '\x46', '\x4f', '\x52', '\x45', '\x47', '\x52', '\x4f', '\x55', '\x4e', '\x44', '\x5f', '\x52', '\x45', '\x44', '\x20', '\x7c', '\x20', '\x46', '\x4f', '\x52', '\x45', '\x47', '\x52', '\x4f', '\x55', '\x4e', '\x44', '\x5f', '\x47', '\x52', '\x45', '\x45', '\x4e', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x61', '\x73', '\x65', '\x20', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x3a', '\x3a', '\x47', '\x72', '\x65', '\x79', '\x3a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x73', '\x65', '\x74', '\x54', '\x65', '\x78', '\x74', '\x41', '\x74', '\x74', '\x72', '\x69', '\x62', '\x75', '\x74', '\x65', '\x28', '\x20', '\x30', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x61', '\x73', '\x65', '\x20', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x3a', '\x3a', '\x4c', '\x69', '\x67', '\x68', '\x74', '\x47', '\x72', '\x65', '\x79', '\x3a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x73', '\x65', '\x74', '\x54', '\x65', '\x78', '\x74', '\x41', '\x74', '\x74', '\x72', '\x69', '\x62', '\x75', '\x74', '\x65', '\x28', '\x20', '\x46', '\x4f', '\x52', '\x45', '\x47', '\x52', '\x4f', '\x55', '\x4e', '\x44', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x4e', '\x53', '\x49', '\x54', '\x59', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x61', '\x73', '\x65', '\x20', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x3a', '\x3a', '\x42', '\x72', '\x69', '\x67', '\x68', '\x74', '\x52', '\x65', '\x64', '\x3a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x73', '\x65', '\x74', '\x54', '\x65', '\x78', '\x74', '\x41', '\x74', '\x74', '\x72', '\x69', '\x62', '\x75', '\x74', '\x65', '\x28', '\x20', '\x46', '\x4f', '\x52', '\x45', '\x47', '\x52', '\x4f', '\x55', '\x4e', '\x44', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x4e', '\x53', '\x49', '\x54', '\x59', '\x20', '\x7c', '\x20', '\x46', '\x4f', '\x52', '\x45', '\x47', '\x52', '\x4f', '\x55', '\x4e', '\x44', '\x5f', '\x52', '\x45', '\x44', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x61', '\x73', '\x65', '\x20', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x3a', '\x3a', '\x42', '\x72', '\x69', '\x67', '\x68', '\x74', '\x47', '\x72', '\x65', '\x65', '\x6e', '\x3a', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x73', '\x65', '\x74', '\x54', '\x65', '\x78', '\x74', '\x41', '\x74', '\x74', '\x72', '\x69', '\x62', '\x75', '\x74', '\x65', '\x28', '\x20', '\x46', '\x4f', '\x52', '\x45', '\x47', '\x52', '\x4f', '\x55', '\x4e', '\x44', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x4e', '\x53', '\x49', '\x54', '\x59', '\x20', '\x7c', '\x20', '\x46', '\x4f', '\x52', '\x45', '\x47', '\x52', '\x4f', '\x55', '\x4e', '\x44', '\x5f', '\x47', '\x52', '\x45', '\x45', '\x4e', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x61', '\x73', '\x65', '\x20', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x3a', '\x3a', '\x42', '\x72', '\x69', '\x67', '\x68', '\x74', '\x57', '\x68', '\x69', '\x74', '\x65', '\x3a', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x73', '\x65', '\x74', '\x54', '\x65', '\x78', '\x74', '\x41', '\x74', '\x74', '\x72', '\x69', '\x62', '\x75', '\x74', '\x65', '\x28', '\x20', '\x46', '\x4f', '\x52', '\x45', '\x47', '\x52', '\x4f', '\x55', '\x4e', '\x44', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x4e', '\x53', '\x49', '\x54', '\x59', '\x20', '\x7c', '\x20', '\x46', '\x4f', '\x52', '\x45', '\x47', '\x52', '\x4f', '\x55', '\x4e', '\x44', '\x5f', '\x47', '\x52', '\x45', '\x45', '\x4e', '\x20', '\x7c', '\x20', '\x46', '\x4f', '\x52', '\x45', '\x47', '\x52', '\x4f', '\x55', '\x4e', '\x44', '\x5f', '\x52', '\x45', '\x44', '\x20', '\x7c', '\x20', '\x46', '\x4f', '\x52', '\x45', '\x47', '\x52', '\x4f', '\x55', '\x4e', '\x44', '\x5f', '\x42', '\x4c', '\x55', '\x45', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x61', '\x73', '\x65', '\x20', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x3a', '\x3a', '\x42', '\x72', '\x69', '\x67', '\x68', '\x74', '\x59', '\x65', '\x6c', '\x6c', '\x6f', '\x77', '\x3a', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x73', '\x65', '\x74', '\x54', '\x65', '\x78', '\x74', '\x41', '\x74', '\x74', '\x72', '\x69', '\x62', '\x75', '\x74', '\x65', '\x28', '\x20', '\x46', '\x4f', '\x52', '\x45', '\x47', '\x52', '\x4f', '\x55', '\x4e', '\x44', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x4e', '\x53', '\x49', '\x54', '\x59', '\x20', '\x7c', '\x20', '\x46', '\x4f', '\x52', '\x45', '\x47', '\x52', '\x4f', '\x55', '\x4e', '\x44', '\x5f', '\x52', '\x45', '\x44', '\x20', '\x7c', '\x20', '\x46', '\x4f', '\x52', '\x45', '\x47', '\x52', '\x4f', '\x55', '\x4e', '\x44', '\x5f', '\x47', '\x52', '\x45', '\x45', '\x4e', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x61', '\x73', '\x65', '\x20', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x3a', '\x3a', '\x42', '\x72', '\x69', '\x67', '\x68', '\x74', '\x3a', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x45', '\x52', '\x52', '\x4f', '\x52', '\x28', '\x20', '\x22', '\x6e', '\x6f', '\x74', '\x20', '\x61', '\x20', '\x63', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x22', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x64', '\x65', '\x66', '\x61', '\x75', '\x6c', '\x74', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x45', '\x52', '\x52', '\x4f', '\x52', '\x28', '\x20', '\x22', '\x55', '\x6e', '\x6b', '\x6e', '\x6f', '\x77', '\x6e', '\x20', '\x63', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x20', '\x72', '\x65', '\x71', '\x75', '\x65', '\x73', '\x74', '\x65', '\x64', '\x22', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x70', '\x72', '\x69', '\x76', '\x61', '\x74', '\x65', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x73', '\x65', '\x74', '\x54', '\x65', '\x78', '\x74', '\x41', '\x74', '\x74', '\x72', '\x69', '\x62', '\x75', '\x74', '\x65', '\x28', '\x20', '\x57', '\x4f', '\x52', '\x44', '\x20', '\x5f', '\x74', '\x65', '\x78', '\x74', '\x41', '\x74', '\x74', '\x72', '\x69', '\x62', '\x75', '\x74', '\x65', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x53', '\x65', '\x74', '\x43', '\x6f', '\x6e', '\x73', '\x6f', '\x6c', '\x65', '\x54', '\x65', '\x78', '\x74', '\x41', '\x74', '\x74', '\x72', '\x69', '\x62', '\x75', '\x74', '\x65', '\x28', '\x20', '\x73', '\x74', '\x64', '\x6f', '\x75', '\x74', '\x48', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x2c', '\x20', '\x5f', '\x74', '\x65', '\x78', '\x74', '\x41', '\x74', '\x74', '\x72', '\x69', '\x62', '\x75', '\x74', '\x65', '\x20', '\x7c', '\x20', '\x6f', '\x72', '\x69', '\x67', '\x69', '\x6e', '\x61', '\x6c', '\x42', '\x61', '\x63', '\x6b', '\x67', '\x72', '\x6f', '\x75', '\x6e', '\x64', '\x41', '\x74', '\x74', '\x72', '\x69', '\x62', '\x75', '\x74', '\x65', '\x73', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x48', '\x41', '\x4e', '\x44', '\x4c', '\x45', '\x20', '\x73', '\x74', '\x64', '\x6f', '\x75', '\x74', '\x48', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x57', '\x4f', '\x52', '\x44', '\x20', '\x6f', '\x72', '\x69', '\x67', '\x69', '\x6e', '\x61', '\x6c', '\x46', '\x6f', '\x72', '\x65', '\x67', '\x72', '\x6f', '\x75', '\x6e', '\x64', '\x41', '\x74', '\x74', '\x72', '\x69', '\x62', '\x75', '\x74', '\x65', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x57', '\x4f', '\x52', '\x44', '\x20', '\x6f', '\x72', '\x69', '\x67', '\x69', '\x6e', '\x61', '\x6c', '\x42', '\x61', '\x63', '\x6b', '\x67', '\x72', '\x6f', '\x75', '\x6e', '\x64', '\x41', '\x74', '\x74', '\x72', '\x69', '\x62', '\x75', '\x74', '\x65', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x49', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x49', '\x6d', '\x70', '\x6c', '\x2a', '\x20', '\x70', '\x6c', '\x61', '\x74', '\x66', '\x6f', '\x72', '\x6d', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x49', '\x6e', '\x73', '\x74', '\x61', '\x6e', '\x63', '\x65', '\x28', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x20', '\x57', '\x69', '\x6e', '\x33', '\x32', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x49', '\x6d', '\x70', '\x6c', '\x20', '\x73', '\x5f', '\x69', '\x6e', '\x73', '\x74', '\x61', '\x6e', '\x63', '\x65', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x49', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x50', '\x74', '\x72', '\x20', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x20', '\x3d', '\x20', '\x67', '\x65', '\x74', '\x43', '\x75', '\x72', '\x72', '\x65', '\x6e', '\x74', '\x43', '\x6f', '\x6e', '\x74', '\x65', '\x78', '\x74', '\x28', '\x29', '\x2e', '\x67', '\x65', '\x74', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x55', '\x73', '\x65', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x3a', '\x3a', '\x59', '\x65', '\x73', '\x4f', '\x72', '\x4e', '\x6f', '\x20', '\x63', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x4d', '\x6f', '\x64', '\x65', '\x20', '\x3d', '\x20', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x3f', '\x20', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x2d', '\x3e', '\x75', '\x73', '\x65', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x28', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x3a', '\x20', '\x55', '\x73', '\x65', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x3a', '\x3a', '\x41', '\x75', '\x74', '\x6f', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x63', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x4d', '\x6f', '\x64', '\x65', '\x20', '\x3d', '\x3d', '\x20', '\x55', '\x73', '\x65', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x3a', '\x3a', '\x41', '\x75', '\x74', '\x6f', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x4d', '\x6f', '\x64', '\x65', '\x20', '\x3d', '\x20', '\x55', '\x73', '\x65', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x3a', '\x3a', '\x59', '\x65', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x63', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x4d', '\x6f', '\x64', '\x65', '\x20', '\x3d', '\x3d', '\x20', '\x55', '\x73', '\x65', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x3a', '\x3a', '\x59', '\x65', '\x73', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x3f', '\x20', '\x26', '\x73', '\x5f', '\x69', '\x6e', '\x73', '\x74', '\x61', '\x6e', '\x63', '\x65', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x3a', '\x20', '\x4e', '\x6f', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x49', '\x6d', '\x70', '\x6c', '\x3a', '\x3a', '\x69', '\x6e', '\x73', '\x74', '\x61', '\x6e', '\x63', '\x65', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x61', '\x6e', '\x6f', '\x6e', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x0d', '\x0a', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x65', '\x6c', '\x69', '\x66', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x43', '\x4f', '\x4c', '\x4f', '\x55', '\x52', '\x5f', '\x41', '\x4e', '\x53', '\x49', '\x20', '\x29', '\x20', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x75', '\x6e', '\x69', '\x73', '\x74', '\x64', '\x2e', '\x68', '\x3e', '\x0d', '\x0a', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x75', '\x73', '\x65', '\x20', '\x50', '\x4f', '\x53', '\x49', '\x58', '\x2f', '\x20', '\x41', '\x4e', '\x53', '\x49', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x6f', '\x6c', '\x65', '\x20', '\x74', '\x65', '\x72', '\x6d', '\x69', '\x6e', '\x61', '\x6c', '\x20', '\x63', '\x6f', '\x64', '\x65', '\x73', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x54', '\x68', '\x61', '\x6e', '\x6b', '\x73', '\x20', '\x74', '\x6f', '\x20', '\x41', '\x64', '\x61', '\x6d', '\x20', '\x53', '\x74', '\x72', '\x7a', '\x65', '\x6c', '\x65', '\x63', '\x6b', '\x69', '\x20', '\x66', '\x6f', '\x72', '\x20', '\x6f', '\x72', '\x69', '\x67', '\x69', '\x6e', '\x61', '\x6c', '\x20', '\x63', '\x6f', '\x6e', '\x74', '\x72', '\x69', '\x62', '\x75', '\x74', '\x69', '\x6f', '\x6e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x28', '\x68', '\x74', '\x74', '\x70', '\x3a', '\x2f', '\x2f', '\x67', '\x69', '\x74', '\x68', '\x75', '\x62', '\x2e', '\x63', '\x6f', '\x6d', '\x2f', '\x6e', '\x61', '\x6e', '\x6f', '\x61', '\x6e', '\x74', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x68', '\x74', '\x74', '\x70', '\x73', '\x3a', '\x2f', '\x2f', '\x67', '\x69', '\x74', '\x68', '\x75', '\x62', '\x2e', '\x63', '\x6f', '\x6d', '\x2f', '\x70', '\x68', '\x69', '\x6c', '\x73', '\x71', '\x75', '\x61', '\x72', '\x65', '\x64', '\x2f', '\x43', '\x61', '\x74', '\x63', '\x68', '\x2f', '\x70', '\x75', '\x6c', '\x6c', '\x2f', '\x31', '\x33', '\x31', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x20', '\x50', '\x6f', '\x73', '\x69', '\x78', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x49', '\x6d', '\x70', '\x6c', '\x20', '\x3a', '\x20', '\x70', '\x75', '\x62', '\x6c', '\x69', '\x63', '\x20', '\x49', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x49', '\x6d', '\x70', '\x6c', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x70', '\x75', '\x62', '\x6c', '\x69', '\x63', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x75', '\x73', '\x65', '\x28', '\x20', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x3a', '\x3a', '\x43', '\x6f', '\x64', '\x65', '\x20', '\x5f', '\x63', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x43', '\x6f', '\x64', '\x65', '\x20', '\x29', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x77', '\x69', '\x74', '\x63', '\x68', '\x28', '\x20', '\x5f', '\x63', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x43', '\x6f', '\x64', '\x65', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x61', '\x73', '\x65', '\x20', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x3a', '\x3a', '\x4e', '\x6f', '\x6e', '\x65', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x61', '\x73', '\x65', '\x20', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x3a', '\x3a', '\x57', '\x68', '\x69', '\x74', '\x65', '\x3a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x73', '\x65', '\x74', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x28', '\x20', '\x22', '\x5b', '\x30', '\x6d', '\x22', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x61', '\x73', '\x65', '\x20', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x3a', '\x3a', '\x52', '\x65', '\x64', '\x3a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x73', '\x65', '\x74', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x28', '\x20', '\x22', '\x5b', '\x30', '\x3b', '\x33', '\x31', '\x6d', '\x22', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x61', '\x73', '\x65', '\x20', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x3a', '\x3a', '\x47', '\x72', '\x65', '\x65', '\x6e', '\x3a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x73', '\x65', '\x74', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x28', '\x20', '\x22', '\x5b', '\x30', '\x3b', '\x33', '\x32', '\x6d', '\x22', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x61', '\x73', '\x65', '\x20', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x3a', '\x3a', '\x42', '\x6c', '\x75', '\x65', '\x3a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x73', '\x65', '\x74', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x28', '\x20', '\x22', '\x5b', '\x30', '\x3b', '\x33', '\x34', '\x6d', '\x22', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x61', '\x73', '\x65', '\x20', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x3a', '\x3a', '\x43', '\x79', '\x61', '\x6e', '\x3a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x73', '\x65', '\x74', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x28', '\x20', '\x22', '\x5b', '\x30', '\x3b', '\x33', '\x36', '\x6d', '\x22', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x61', '\x73', '\x65', '\x20', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x3a', '\x3a', '\x59', '\x65', '\x6c', '\x6c', '\x6f', '\x77', '\x3a', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x73', '\x65', '\x74', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x28', '\x20', '\x22', '\x5b', '\x30', '\x3b', '\x33', '\x33', '\x6d', '\x22', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x61', '\x73', '\x65', '\x20', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x3a', '\x3a', '\x47', '\x72', '\x65', '\x79', '\x3a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x73', '\x65', '\x74', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x28', '\x20', '\x22', '\x5b', '\x31', '\x3b', '\x33', '\x30', '\x6d', '\x22', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x61', '\x73', '\x65', '\x20', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x3a', '\x3a', '\x4c', '\x69', '\x67', '\x68', '\x74', '\x47', '\x72', '\x65', '\x79', '\x3a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x73', '\x65', '\x74', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x28', '\x20', '\x22', '\x5b', '\x30', '\x3b', '\x33', '\x37', '\x6d', '\x22', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x61', '\x73', '\x65', '\x20', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x3a', '\x3a', '\x42', '\x72', '\x69', '\x67', '\x68', '\x74', '\x52', '\x65', '\x64', '\x3a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x73', '\x65', '\x74', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x28', '\x20', '\x22', '\x5b', '\x31', '\x3b', '\x33', '\x31', '\x6d', '\x22', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x61', '\x73', '\x65', '\x20', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x3a', '\x3a', '\x42', '\x72', '\x69', '\x67', '\x68', '\x74', '\x47', '\x72', '\x65', '\x65', '\x6e', '\x3a', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x73', '\x65', '\x74', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x28', '\x20', '\x22', '\x5b', '\x31', '\x3b', '\x33', '\x32', '\x6d', '\x22', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x61', '\x73', '\x65', '\x20', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x3a', '\x3a', '\x42', '\x72', '\x69', '\x67', '\x68', '\x74', '\x57', '\x68', '\x69', '\x74', '\x65', '\x3a', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x73', '\x65', '\x74', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x28', '\x20', '\x22', '\x5b', '\x31', '\x3b', '\x33', '\x37', '\x6d', '\x22', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x61', '\x73', '\x65', '\x20', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x3a', '\x3a', '\x42', '\x72', '\x69', '\x67', '\x68', '\x74', '\x59', '\x65', '\x6c', '\x6c', '\x6f', '\x77', '\x3a', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x73', '\x65', '\x74', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x28', '\x20', '\x22', '\x5b', '\x31', '\x3b', '\x33', '\x33', '\x6d', '\x22', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x61', '\x73', '\x65', '\x20', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x3a', '\x3a', '\x42', '\x72', '\x69', '\x67', '\x68', '\x74', '\x3a', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x45', '\x52', '\x52', '\x4f', '\x52', '\x28', '\x20', '\x22', '\x6e', '\x6f', '\x74', '\x20', '\x61', '\x20', '\x63', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x22', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x64', '\x65', '\x66', '\x61', '\x75', '\x6c', '\x74', '\x3a', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x45', '\x52', '\x52', '\x4f', '\x52', '\x28', '\x20', '\x22', '\x55', '\x6e', '\x6b', '\x6e', '\x6f', '\x77', '\x6e', '\x20', '\x63', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x20', '\x72', '\x65', '\x71', '\x75', '\x65', '\x73', '\x74', '\x65', '\x64', '\x22', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x20', '\x49', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x49', '\x6d', '\x70', '\x6c', '\x2a', '\x20', '\x69', '\x6e', '\x73', '\x74', '\x61', '\x6e', '\x63', '\x65', '\x28', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x20', '\x50', '\x6f', '\x73', '\x69', '\x78', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x49', '\x6d', '\x70', '\x6c', '\x20', '\x73', '\x5f', '\x69', '\x6e', '\x73', '\x74', '\x61', '\x6e', '\x63', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x26', '\x73', '\x5f', '\x69', '\x6e', '\x73', '\x74', '\x61', '\x6e', '\x63', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x70', '\x72', '\x69', '\x76', '\x61', '\x74', '\x65', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x73', '\x65', '\x74', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x28', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x63', '\x68', '\x61', '\x72', '\x2a', '\x20', '\x5f', '\x65', '\x73', '\x63', '\x61', '\x70', '\x65', '\x43', '\x6f', '\x64', '\x65', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x67', '\x65', '\x74', '\x43', '\x75', '\x72', '\x72', '\x65', '\x6e', '\x74', '\x43', '\x6f', '\x6e', '\x74', '\x65', '\x78', '\x74', '\x28', '\x29', '\x2e', '\x67', '\x65', '\x74', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x28', '\x29', '\x2d', '\x3e', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x28', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x3c', '\x3c', '\x20', '\x27', '\x5c', '\x30', '\x33', '\x33', '\x27', '\x20', '\x3c', '\x3c', '\x20', '\x5f', '\x65', '\x73', '\x63', '\x61', '\x70', '\x65', '\x43', '\x6f', '\x64', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x75', '\x73', '\x65', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x4f', '\x6e', '\x50', '\x6c', '\x61', '\x74', '\x66', '\x6f', '\x72', '\x6d', '\x28', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x64', '\x65', '\x66', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x50', '\x4c', '\x41', '\x54', '\x46', '\x4f', '\x52', '\x4d', '\x5f', '\x4d', '\x41', '\x43', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x21', '\x69', '\x73', '\x44', '\x65', '\x62', '\x75', '\x67', '\x67', '\x65', '\x72', '\x41', '\x63', '\x74', '\x69', '\x76', '\x65', '\x28', '\x29', '\x20', '\x26', '\x26', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x20', '\x21', '\x28', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x5f', '\x5f', '\x44', '\x4a', '\x47', '\x50', '\x50', '\x5f', '\x5f', '\x29', '\x20', '\x26', '\x26', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x5f', '\x5f', '\x53', '\x54', '\x52', '\x49', '\x43', '\x54', '\x5f', '\x41', '\x4e', '\x53', '\x49', '\x5f', '\x5f', '\x29', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x73', '\x61', '\x74', '\x74', '\x79', '\x28', '\x53', '\x54', '\x44', '\x4f', '\x55', '\x54', '\x5f', '\x46', '\x49', '\x4c', '\x45', '\x4e', '\x4f', '\x29', '\x0d', '\x0a', '\x23', '\x65', '\x6c', '\x73', '\x65', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x66', '\x61', '\x6c', '\x73', '\x65', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x49', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x49', '\x6d', '\x70', '\x6c', '\x2a', '\x20', '\x70', '\x6c', '\x61', '\x74', '\x66', '\x6f', '\x72', '\x6d', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x49', '\x6e', '\x73', '\x74', '\x61', '\x6e', '\x63', '\x65', '\x28', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x45', '\x72', '\x72', '\x6e', '\x6f', '\x47', '\x75', '\x61', '\x72', '\x64', '\x20', '\x67', '\x75', '\x61', '\x72', '\x64', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x49', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x50', '\x74', '\x72', '\x20', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x20', '\x3d', '\x20', '\x67', '\x65', '\x74', '\x43', '\x75', '\x72', '\x72', '\x65', '\x6e', '\x74', '\x43', '\x6f', '\x6e', '\x74', '\x65', '\x78', '\x74', '\x28', '\x29', '\x2e', '\x67', '\x65', '\x74', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x55', '\x73', '\x65', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x3a', '\x3a', '\x59', '\x65', '\x73', '\x4f', '\x72', '\x4e', '\x6f', '\x20', '\x63', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x4d', '\x6f', '\x64', '\x65', '\x20', '\x3d', '\x20', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x3f', '\x20', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x2d', '\x3e', '\x75', '\x73', '\x65', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x28', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x3a', '\x20', '\x55', '\x73', '\x65', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x3a', '\x3a', '\x41', '\x75', '\x74', '\x6f', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x63', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x4d', '\x6f', '\x64', '\x65', '\x20', '\x3d', '\x3d', '\x20', '\x55', '\x73', '\x65', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x3a', '\x3a', '\x41', '\x75', '\x74', '\x6f', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x4d', '\x6f', '\x64', '\x65', '\x20', '\x3d', '\x20', '\x75', '\x73', '\x65', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x4f', '\x6e', '\x50', '\x6c', '\x61', '\x74', '\x66', '\x6f', '\x72', '\x6d', '\x28', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x3f', '\x20', '\x55', '\x73', '\x65', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x3a', '\x3a', '\x59', '\x65', '\x73', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x3a', '\x20', '\x55', '\x73', '\x65', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x3a', '\x3a', '\x4e', '\x6f', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x63', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x4d', '\x6f', '\x64', '\x65', '\x20', '\x3d', '\x3d', '\x20', '\x55', '\x73', '\x65', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x3a', '\x3a', '\x59', '\x65', '\x73', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x3f', '\x20', '\x50', '\x6f', '\x73', '\x69', '\x78', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x49', '\x6d', '\x70', '\x6c', '\x3a', '\x3a', '\x69', '\x6e', '\x73', '\x74', '\x61', '\x6e', '\x63', '\x65', '\x28', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x3a', '\x20', '\x4e', '\x6f', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x49', '\x6d', '\x70', '\x6c', '\x3a', '\x3a', '\x69', '\x6e', '\x73', '\x74', '\x61', '\x6e', '\x63', '\x65', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x61', '\x6e', '\x6f', '\x6e', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x0d', '\x0a', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x65', '\x6c', '\x73', '\x65', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x6e', '\x6f', '\x74', '\x20', '\x57', '\x69', '\x6e', '\x64', '\x6f', '\x77', '\x73', '\x20', '\x6f', '\x72', '\x20', '\x41', '\x4e', '\x53', '\x49', '\x20', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x0d', '\x0a', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x20', '\x49', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x49', '\x6d', '\x70', '\x6c', '\x2a', '\x20', '\x70', '\x6c', '\x61', '\x74', '\x66', '\x6f', '\x72', '\x6d', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x49', '\x6e', '\x73', '\x74', '\x61', '\x6e', '\x63', '\x65', '\x28', '\x29', '\x20', '\x7b', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x4e', '\x6f', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x49', '\x6d', '\x70', '\x6c', '\x3a', '\x3a', '\x69', '\x6e', '\x73', '\x74', '\x61', '\x6e', '\x63', '\x65', '\x28', '\x29', '\x3b', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x20', '\x2f', '\x2f', '\x20', '\x57', '\x69', '\x6e', '\x64', '\x6f', '\x77', '\x73', '\x2f', '\x20', '\x41', '\x4e', '\x53', '\x49', '\x2f', '\x20', '\x4e', '\x6f', '\x6e', '\x65', '\x0d', '\x0a', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x3a', '\x3a', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x28', '\x20', '\x43', '\x6f', '\x64', '\x65', '\x20', '\x5f', '\x63', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x43', '\x6f', '\x64', '\x65', '\x20', '\x29', '\x20', '\x7b', '\x20', '\x75', '\x73', '\x65', '\x28', '\x20', '\x5f', '\x63', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x43', '\x6f', '\x64', '\x65', '\x20', '\x29', '\x3b', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x3a', '\x3a', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x28', '\x20', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x26', '\x26', '\x20', '\x72', '\x68', '\x73', '\x20', '\x29', '\x20', '\x6e', '\x6f', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x6d', '\x6f', '\x76', '\x65', '\x64', '\x20', '\x3d', '\x20', '\x72', '\x68', '\x73', '\x2e', '\x6d', '\x5f', '\x6d', '\x6f', '\x76', '\x65', '\x64', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x68', '\x73', '\x2e', '\x6d', '\x5f', '\x6d', '\x6f', '\x76', '\x65', '\x64', '\x20', '\x3d', '\x20', '\x74', '\x72', '\x75', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x26', '\x20', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x3a', '\x3a', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x3d', '\x28', '\x20', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x26', '\x26', '\x20', '\x72', '\x68', '\x73', '\x20', '\x29', '\x20', '\x6e', '\x6f', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x6d', '\x6f', '\x76', '\x65', '\x64', '\x20', '\x3d', '\x20', '\x72', '\x68', '\x73', '\x2e', '\x6d', '\x5f', '\x6d', '\x6f', '\x76', '\x65', '\x64', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x68', '\x73', '\x2e', '\x6d', '\x5f', '\x6d', '\x6f', '\x76', '\x65', '\x64', '\x20', '\x20', '\x3d', '\x20', '\x74', '\x72', '\x75', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x2a', '\x74', '\x68', '\x69', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x3a', '\x3a', '\x7e', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x28', '\x29', '\x7b', '\x20', '\x69', '\x66', '\x28', '\x20', '\x21', '\x6d', '\x5f', '\x6d', '\x6f', '\x76', '\x65', '\x64', '\x20', '\x29', '\x20', '\x75', '\x73', '\x65', '\x28', '\x20', '\x4e', '\x6f', '\x6e', '\x65', '\x20', '\x29', '\x3b', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x3a', '\x3a', '\x75', '\x73', '\x65', '\x28', '\x20', '\x43', '\x6f', '\x64', '\x65', '\x20', '\x5f', '\x63', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x43', '\x6f', '\x64', '\x65', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x20', '\x49', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x49', '\x6d', '\x70', '\x6c', '\x2a', '\x20', '\x69', '\x6d', '\x70', '\x6c', '\x20', '\x3d', '\x20', '\x70', '\x6c', '\x61', '\x74', '\x66', '\x6f', '\x72', '\x6d', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x49', '\x6e', '\x73', '\x74', '\x61', '\x6e', '\x63', '\x65', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x53', '\x74', '\x72', '\x69', '\x63', '\x74', '\x6c', '\x79', '\x20', '\x73', '\x70', '\x65', '\x61', '\x6b', '\x69', '\x6e', '\x67', '\x2c', '\x20', '\x74', '\x68', '\x69', '\x73', '\x20', '\x63', '\x61', '\x6e', '\x6e', '\x6f', '\x74', '\x20', '\x70', '\x6f', '\x73', '\x73', '\x69', '\x62', '\x6c', '\x79', '\x20', '\x68', '\x61', '\x70', '\x70', '\x65', '\x6e', '\x2e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x48', '\x6f', '\x77', '\x65', '\x76', '\x65', '\x72', '\x2c', '\x20', '\x75', '\x6e', '\x64', '\x65', '\x72', '\x20', '\x73', '\x6f', '\x6d', '\x65', '\x20', '\x63', '\x6f', '\x6e', '\x64', '\x69', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x20', '\x69', '\x74', '\x20', '\x64', '\x6f', '\x65', '\x73', '\x20', '\x68', '\x61', '\x70', '\x70', '\x65', '\x6e', '\x20', '\x28', '\x73', '\x65', '\x65', '\x20', '\x23', '\x31', '\x36', '\x32', '\x36', '\x29', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x61', '\x6e', '\x64', '\x20', '\x74', '\x68', '\x69', '\x73', '\x20', '\x63', '\x68', '\x61', '\x6e', '\x67', '\x65', '\x20', '\x69', '\x73', '\x20', '\x73', '\x6d', '\x61', '\x6c', '\x6c', '\x20', '\x65', '\x6e', '\x6f', '\x75', '\x67', '\x68', '\x20', '\x74', '\x68', '\x61', '\x74', '\x20', '\x77', '\x65', '\x20', '\x63', '\x61', '\x6e', '\x20', '\x6c', '\x65', '\x74', '\x20', '\x70', '\x72', '\x61', '\x63', '\x74', '\x69', '\x63', '\x61', '\x6c', '\x69', '\x74', '\x79', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x74', '\x72', '\x69', '\x75', '\x6d', '\x70', '\x68', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x20', '\x70', '\x75', '\x72', '\x69', '\x74', '\x79', '\x20', '\x69', '\x6e', '\x20', '\x74', '\x68', '\x69', '\x73', '\x20', '\x63', '\x61', '\x73', '\x65', '\x2e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x69', '\x6d', '\x70', '\x6c', '\x20', '\x21', '\x3d', '\x20', '\x4e', '\x55', '\x4c', '\x4c', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x6d', '\x70', '\x6c', '\x2d', '\x3e', '\x75', '\x73', '\x65', '\x28', '\x20', '\x5f', '\x63', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x43', '\x6f', '\x64', '\x65', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6f', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x26', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x3c', '\x3c', '\x20', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6f', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x26', '\x20', '\x6f', '\x73', '\x2c', '\x20', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6f', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x5f', '\x5f', '\x63', '\x6c', '\x61', '\x6e', '\x67', '\x5f', '\x5f', '\x29', '\x0d', '\x0a', '\x23', '\x20', '\x20', '\x20', '\x20', '\x70', '\x72', '\x61', '\x67', '\x6d', '\x61', '\x20', '\x63', '\x6c', '\x61', '\x6e', '\x67', '\x20', '\x64', '\x69', '\x61', '\x67', '\x6e', '\x6f', '\x73', '\x74', '\x69', '\x63', '\x20', '\x70', '\x6f', '\x70', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x63', '\x6f', '\x6e', '\x73', '\x6f', '\x6c', '\x65', '\x5f', '\x63', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x2e', '\x63', '\x70', '\x70', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x63', '\x6f', '\x6e', '\x74', '\x65', '\x78', '\x74', '\x2e', '\x63', '\x70', '\x70', '\x0d', '\x0a', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x20', '\x43', '\x6f', '\x6e', '\x74', '\x65', '\x78', '\x74', '\x20', '\x3a', '\x20', '\x70', '\x75', '\x62', '\x6c', '\x69', '\x63', '\x20', '\x49', '\x4d', '\x75', '\x74', '\x61', '\x62', '\x6c', '\x65', '\x43', '\x6f', '\x6e', '\x74', '\x65', '\x78', '\x74', '\x2c', '\x20', '\x4e', '\x6f', '\x6e', '\x43', '\x6f', '\x70', '\x79', '\x61', '\x62', '\x6c', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x70', '\x75', '\x62', '\x6c', '\x69', '\x63', '\x3a', '\x20', '\x2f', '\x2f', '\x20', '\x49', '\x43', '\x6f', '\x6e', '\x74', '\x65', '\x78', '\x74', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x49', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x43', '\x61', '\x70', '\x74', '\x75', '\x72', '\x65', '\x2a', '\x20', '\x67', '\x65', '\x74', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x43', '\x61', '\x70', '\x74', '\x75', '\x72', '\x65', '\x28', '\x29', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6d', '\x5f', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x43', '\x61', '\x70', '\x74', '\x75', '\x72', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x49', '\x52', '\x75', '\x6e', '\x6e', '\x65', '\x72', '\x2a', '\x20', '\x67', '\x65', '\x74', '\x52', '\x75', '\x6e', '\x6e', '\x65', '\x72', '\x28', '\x29', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6d', '\x5f', '\x72', '\x75', '\x6e', '\x6e', '\x65', '\x72', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x49', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x50', '\x74', '\x72', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x67', '\x65', '\x74', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6d', '\x5f', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7e', '\x43', '\x6f', '\x6e', '\x74', '\x65', '\x78', '\x74', '\x28', '\x29', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x70', '\x75', '\x62', '\x6c', '\x69', '\x63', '\x3a', '\x20', '\x2f', '\x2f', '\x20', '\x49', '\x4d', '\x75', '\x74', '\x61', '\x62', '\x6c', '\x65', '\x43', '\x6f', '\x6e', '\x74', '\x65', '\x78', '\x74', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x73', '\x65', '\x74', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x43', '\x61', '\x70', '\x74', '\x75', '\x72', '\x65', '\x28', '\x20', '\x49', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x43', '\x61', '\x70', '\x74', '\x75', '\x72', '\x65', '\x2a', '\x20', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x43', '\x61', '\x70', '\x74', '\x75', '\x72', '\x65', '\x20', '\x29', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x43', '\x61', '\x70', '\x74', '\x75', '\x72', '\x65', '\x20', '\x3d', '\x20', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x43', '\x61', '\x70', '\x74', '\x75', '\x72', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x73', '\x65', '\x74', '\x52', '\x75', '\x6e', '\x6e', '\x65', '\x72', '\x28', '\x20', '\x49', '\x52', '\x75', '\x6e', '\x6e', '\x65', '\x72', '\x2a', '\x20', '\x72', '\x75', '\x6e', '\x6e', '\x65', '\x72', '\x20', '\x29', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x72', '\x75', '\x6e', '\x6e', '\x65', '\x72', '\x20', '\x3d', '\x20', '\x72', '\x75', '\x6e', '\x6e', '\x65', '\x72', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x73', '\x65', '\x74', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x28', '\x20', '\x49', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x50', '\x74', '\x72', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x20', '\x29', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x20', '\x3d', '\x20', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x66', '\x72', '\x69', '\x65', '\x6e', '\x64', '\x20', '\x49', '\x4d', '\x75', '\x74', '\x61', '\x62', '\x6c', '\x65', '\x43', '\x6f', '\x6e', '\x74', '\x65', '\x78', '\x74', '\x26', '\x20', '\x67', '\x65', '\x74', '\x43', '\x75', '\x72', '\x72', '\x65', '\x6e', '\x74', '\x4d', '\x75', '\x74', '\x61', '\x62', '\x6c', '\x65', '\x43', '\x6f', '\x6e', '\x74', '\x65', '\x78', '\x74', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x70', '\x72', '\x69', '\x76', '\x61', '\x74', '\x65', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x49', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x50', '\x74', '\x72', '\x20', '\x6d', '\x5f', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x49', '\x52', '\x75', '\x6e', '\x6e', '\x65', '\x72', '\x2a', '\x20', '\x6d', '\x5f', '\x72', '\x75', '\x6e', '\x6e', '\x65', '\x72', '\x20', '\x3d', '\x20', '\x6e', '\x75', '\x6c', '\x6c', '\x70', '\x74', '\x72', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x49', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x43', '\x61', '\x70', '\x74', '\x75', '\x72', '\x65', '\x2a', '\x20', '\x6d', '\x5f', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x43', '\x61', '\x70', '\x74', '\x75', '\x72', '\x65', '\x20', '\x3d', '\x20', '\x6e', '\x75', '\x6c', '\x6c', '\x70', '\x74', '\x72', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x49', '\x4d', '\x75', '\x74', '\x61', '\x62', '\x6c', '\x65', '\x43', '\x6f', '\x6e', '\x74', '\x65', '\x78', '\x74', '\x20', '\x2a', '\x49', '\x4d', '\x75', '\x74', '\x61', '\x62', '\x6c', '\x65', '\x43', '\x6f', '\x6e', '\x74', '\x65', '\x78', '\x74', '\x3a', '\x3a', '\x63', '\x75', '\x72', '\x72', '\x65', '\x6e', '\x74', '\x43', '\x6f', '\x6e', '\x74', '\x65', '\x78', '\x74', '\x20', '\x3d', '\x20', '\x6e', '\x75', '\x6c', '\x6c', '\x70', '\x74', '\x72', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x49', '\x4d', '\x75', '\x74', '\x61', '\x62', '\x6c', '\x65', '\x43', '\x6f', '\x6e', '\x74', '\x65', '\x78', '\x74', '\x3a', '\x3a', '\x63', '\x72', '\x65', '\x61', '\x74', '\x65', '\x43', '\x6f', '\x6e', '\x74', '\x65', '\x78', '\x74', '\x28', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x75', '\x72', '\x72', '\x65', '\x6e', '\x74', '\x43', '\x6f', '\x6e', '\x74', '\x65', '\x78', '\x74', '\x20', '\x3d', '\x20', '\x6e', '\x65', '\x77', '\x20', '\x43', '\x6f', '\x6e', '\x74', '\x65', '\x78', '\x74', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x63', '\x6c', '\x65', '\x61', '\x6e', '\x55', '\x70', '\x43', '\x6f', '\x6e', '\x74', '\x65', '\x78', '\x74', '\x28', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x64', '\x65', '\x6c', '\x65', '\x74', '\x65', '\x20', '\x49', '\x4d', '\x75', '\x74', '\x61', '\x62', '\x6c', '\x65', '\x43', '\x6f', '\x6e', '\x74', '\x65', '\x78', '\x74', '\x3a', '\x3a', '\x63', '\x75', '\x72', '\x72', '\x65', '\x6e', '\x74', '\x43', '\x6f', '\x6e', '\x74', '\x65', '\x78', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x49', '\x4d', '\x75', '\x74', '\x61', '\x62', '\x6c', '\x65', '\x43', '\x6f', '\x6e', '\x74', '\x65', '\x78', '\x74', '\x3a', '\x3a', '\x63', '\x75', '\x72', '\x72', '\x65', '\x6e', '\x74', '\x43', '\x6f', '\x6e', '\x74', '\x65', '\x78', '\x74', '\x20', '\x3d', '\x20', '\x6e', '\x75', '\x6c', '\x6c', '\x70', '\x74', '\x72', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x49', '\x43', '\x6f', '\x6e', '\x74', '\x65', '\x78', '\x74', '\x3a', '\x3a', '\x7e', '\x49', '\x43', '\x6f', '\x6e', '\x74', '\x65', '\x78', '\x74', '\x28', '\x29', '\x20', '\x3d', '\x20', '\x64', '\x65', '\x66', '\x61', '\x75', '\x6c', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x49', '\x4d', '\x75', '\x74', '\x61', '\x62', '\x6c', '\x65', '\x43', '\x6f', '\x6e', '\x74', '\x65', '\x78', '\x74', '\x3a', '\x3a', '\x7e', '\x49', '\x4d', '\x75', '\x74', '\x61', '\x62', '\x6c', '\x65', '\x43', '\x6f', '\x6e', '\x74', '\x65', '\x78', '\x74', '\x28', '\x29', '\x20', '\x3d', '\x20', '\x64', '\x65', '\x66', '\x61', '\x75', '\x6c', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x43', '\x6f', '\x6e', '\x74', '\x65', '\x78', '\x74', '\x3a', '\x3a', '\x7e', '\x43', '\x6f', '\x6e', '\x74', '\x65', '\x78', '\x74', '\x28', '\x29', '\x20', '\x3d', '\x20', '\x64', '\x65', '\x66', '\x61', '\x75', '\x6c', '\x74', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x53', '\x69', '\x6d', '\x70', '\x6c', '\x65', '\x50', '\x63', '\x67', '\x33', '\x32', '\x26', '\x20', '\x72', '\x6e', '\x67', '\x28', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x20', '\x53', '\x69', '\x6d', '\x70', '\x6c', '\x65', '\x50', '\x63', '\x67', '\x33', '\x32', '\x20', '\x73', '\x5f', '\x72', '\x6e', '\x67', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x73', '\x5f', '\x72', '\x6e', '\x67', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x7d', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x63', '\x6f', '\x6e', '\x74', '\x65', '\x78', '\x74', '\x2e', '\x63', '\x70', '\x70', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x64', '\x65', '\x62', '\x75', '\x67', '\x5f', '\x63', '\x6f', '\x6e', '\x73', '\x6f', '\x6c', '\x65', '\x2e', '\x63', '\x70', '\x70', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x64', '\x65', '\x62', '\x75', '\x67', '\x5f', '\x63', '\x6f', '\x6e', '\x73', '\x6f', '\x6c', '\x65', '\x2e', '\x68', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x3e', '\x0d', '\x0a', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x77', '\x72', '\x69', '\x74', '\x65', '\x54', '\x6f', '\x44', '\x65', '\x62', '\x75', '\x67', '\x43', '\x6f', '\x6e', '\x73', '\x6f', '\x6c', '\x65', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x74', '\x65', '\x78', '\x74', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x64', '\x65', '\x62', '\x75', '\x67', '\x5f', '\x63', '\x6f', '\x6e', '\x73', '\x6f', '\x6c', '\x65', '\x2e', '\x68', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x41', '\x4e', '\x44', '\x52', '\x4f', '\x49', '\x44', '\x5f', '\x4c', '\x4f', '\x47', '\x57', '\x52', '\x49', '\x54', '\x45', '\x29', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x61', '\x6e', '\x64', '\x72', '\x6f', '\x69', '\x64', '\x2f', '\x6c', '\x6f', '\x67', '\x2e', '\x68', '\x3e', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x77', '\x72', '\x69', '\x74', '\x65', '\x54', '\x6f', '\x44', '\x65', '\x62', '\x75', '\x67', '\x43', '\x6f', '\x6e', '\x73', '\x6f', '\x6c', '\x65', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x74', '\x65', '\x78', '\x74', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x5f', '\x5f', '\x61', '\x6e', '\x64', '\x72', '\x6f', '\x69', '\x64', '\x5f', '\x6c', '\x6f', '\x67', '\x5f', '\x77', '\x72', '\x69', '\x74', '\x65', '\x28', '\x20', '\x41', '\x4e', '\x44', '\x52', '\x4f', '\x49', '\x44', '\x5f', '\x4c', '\x4f', '\x47', '\x5f', '\x44', '\x45', '\x42', '\x55', '\x47', '\x2c', '\x20', '\x22', '\x43', '\x61', '\x74', '\x63', '\x68', '\x22', '\x2c', '\x20', '\x74', '\x65', '\x78', '\x74', '\x2e', '\x63', '\x5f', '\x73', '\x74', '\x72', '\x28', '\x29', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x65', '\x6c', '\x69', '\x66', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x50', '\x4c', '\x41', '\x54', '\x46', '\x4f', '\x52', '\x4d', '\x5f', '\x57', '\x49', '\x4e', '\x44', '\x4f', '\x57', '\x53', '\x29', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x77', '\x72', '\x69', '\x74', '\x65', '\x54', '\x6f', '\x44', '\x65', '\x62', '\x75', '\x67', '\x43', '\x6f', '\x6e', '\x73', '\x6f', '\x6c', '\x65', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x74', '\x65', '\x78', '\x74', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x3a', '\x3a', '\x4f', '\x75', '\x74', '\x70', '\x75', '\x74', '\x44', '\x65', '\x62', '\x75', '\x67', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x41', '\x28', '\x20', '\x74', '\x65', '\x78', '\x74', '\x2e', '\x63', '\x5f', '\x73', '\x74', '\x72', '\x28', '\x29', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x65', '\x6c', '\x73', '\x65', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x77', '\x72', '\x69', '\x74', '\x65', '\x54', '\x6f', '\x44', '\x65', '\x62', '\x75', '\x67', '\x43', '\x6f', '\x6e', '\x73', '\x6f', '\x6c', '\x65', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x74', '\x65', '\x78', '\x74', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x21', '\x54', '\x42', '\x44', '\x3a', '\x20', '\x4e', '\x65', '\x65', '\x64', '\x20', '\x61', '\x20', '\x76', '\x65', '\x72', '\x73', '\x69', '\x6f', '\x6e', '\x20', '\x66', '\x6f', '\x72', '\x20', '\x4d', '\x61', '\x63', '\x2f', '\x20', '\x58', '\x43', '\x6f', '\x64', '\x65', '\x20', '\x61', '\x6e', '\x64', '\x20', '\x6f', '\x74', '\x68', '\x65', '\x72', '\x20', '\x49', '\x44', '\x45', '\x73', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x63', '\x6f', '\x75', '\x74', '\x28', '\x29', '\x20', '\x3c', '\x3c', '\x20', '\x74', '\x65', '\x78', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x20', '\x2f', '\x2f', '\x20', '\x50', '\x6c', '\x61', '\x74', '\x66', '\x6f', '\x72', '\x6d', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x64', '\x65', '\x62', '\x75', '\x67', '\x5f', '\x63', '\x6f', '\x6e', '\x73', '\x6f', '\x6c', '\x65', '\x2e', '\x63', '\x70', '\x70', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x64', '\x65', '\x62', '\x75', '\x67', '\x67', '\x65', '\x72', '\x2e', '\x63', '\x70', '\x70', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x64', '\x65', '\x66', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x50', '\x4c', '\x41', '\x54', '\x46', '\x4f', '\x52', '\x4d', '\x5f', '\x4d', '\x41', '\x43', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x20', '\x20', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x2e', '\x68', '\x3e', '\x0d', '\x0a', '\x23', '\x20', '\x20', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x73', '\x74', '\x64', '\x62', '\x6f', '\x6f', '\x6c', '\x2e', '\x68', '\x3e', '\x0d', '\x0a', '\x23', '\x20', '\x20', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x73', '\x79', '\x73', '\x2f', '\x74', '\x79', '\x70', '\x65', '\x73', '\x2e', '\x68', '\x3e', '\x0d', '\x0a', '\x23', '\x20', '\x20', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x75', '\x6e', '\x69', '\x73', '\x74', '\x64', '\x2e', '\x68', '\x3e', '\x0d', '\x0a', '\x23', '\x20', '\x20', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x63', '\x73', '\x74', '\x64', '\x64', '\x65', '\x66', '\x3e', '\x0d', '\x0a', '\x23', '\x20', '\x20', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x6f', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x3e', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x64', '\x65', '\x66', '\x20', '\x5f', '\x5f', '\x61', '\x70', '\x70', '\x6c', '\x65', '\x5f', '\x62', '\x75', '\x69', '\x6c', '\x64', '\x5f', '\x76', '\x65', '\x72', '\x73', '\x69', '\x6f', '\x6e', '\x5f', '\x5f', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x54', '\x68', '\x65', '\x73', '\x65', '\x20', '\x68', '\x65', '\x61', '\x64', '\x65', '\x72', '\x73', '\x20', '\x77', '\x69', '\x6c', '\x6c', '\x20', '\x6f', '\x6e', '\x6c', '\x79', '\x20', '\x63', '\x6f', '\x6d', '\x70', '\x69', '\x6c', '\x65', '\x20', '\x77', '\x69', '\x74', '\x68', '\x20', '\x41', '\x70', '\x70', '\x6c', '\x65', '\x43', '\x6c', '\x61', '\x6e', '\x67', '\x20', '\x28', '\x58', '\x43', '\x6f', '\x64', '\x65', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x46', '\x6f', '\x72', '\x20', '\x6f', '\x74', '\x68', '\x65', '\x72', '\x20', '\x63', '\x6f', '\x6d', '\x70', '\x69', '\x6c', '\x65', '\x72', '\x73', '\x20', '\x28', '\x43', '\x6c', '\x61', '\x6e', '\x67', '\x2c', '\x20', '\x47', '\x43', '\x43', '\x2c', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x77', '\x65', '\x20', '\x6e', '\x65', '\x65', '\x64', '\x20', '\x74', '\x6f', '\x20', '\x65', '\x78', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x74', '\x68', '\x65', '\x6d', '\x0d', '\x0a', '\x23', '\x20', '\x20', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x73', '\x79', '\x73', '\x2f', '\x73', '\x79', '\x73', '\x63', '\x74', '\x6c', '\x2e', '\x68', '\x3e', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x23', '\x69', '\x66', '\x64', '\x65', '\x66', '\x20', '\x5f', '\x5f', '\x61', '\x70', '\x70', '\x6c', '\x65', '\x5f', '\x62', '\x75', '\x69', '\x6c', '\x64', '\x5f', '\x76', '\x65', '\x72', '\x73', '\x69', '\x6f', '\x6e', '\x5f', '\x5f', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x54', '\x68', '\x65', '\x20', '\x66', '\x6f', '\x6c', '\x6c', '\x6f', '\x77', '\x69', '\x6e', '\x67', '\x20', '\x66', '\x75', '\x6e', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x69', '\x73', '\x20', '\x74', '\x61', '\x6b', '\x65', '\x6e', '\x20', '\x64', '\x69', '\x72', '\x65', '\x63', '\x74', '\x6c', '\x79', '\x20', '\x66', '\x72', '\x6f', '\x6d', '\x20', '\x74', '\x68', '\x65', '\x20', '\x66', '\x6f', '\x6c', '\x6c', '\x6f', '\x77', '\x69', '\x6e', '\x67', '\x20', '\x74', '\x65', '\x63', '\x68', '\x6e', '\x69', '\x63', '\x61', '\x6c', '\x20', '\x6e', '\x6f', '\x74', '\x65', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x68', '\x74', '\x74', '\x70', '\x73', '\x3a', '\x2f', '\x2f', '\x64', '\x65', '\x76', '\x65', '\x6c', '\x6f', '\x70', '\x65', '\x72', '\x2e', '\x61', '\x70', '\x70', '\x6c', '\x65', '\x2e', '\x63', '\x6f', '\x6d', '\x2f', '\x6c', '\x69', '\x62', '\x72', '\x61', '\x72', '\x79', '\x2f', '\x61', '\x72', '\x63', '\x68', '\x69', '\x76', '\x65', '\x2f', '\x71', '\x61', '\x2f', '\x71', '\x61', '\x31', '\x33', '\x36', '\x31', '\x2f', '\x5f', '\x69', '\x6e', '\x64', '\x65', '\x78', '\x2e', '\x68', '\x74', '\x6d', '\x6c', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x52', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x73', '\x20', '\x74', '\x72', '\x75', '\x65', '\x20', '\x69', '\x66', '\x20', '\x74', '\x68', '\x65', '\x20', '\x63', '\x75', '\x72', '\x72', '\x65', '\x6e', '\x74', '\x20', '\x70', '\x72', '\x6f', '\x63', '\x65', '\x73', '\x73', '\x20', '\x69', '\x73', '\x20', '\x62', '\x65', '\x69', '\x6e', '\x67', '\x20', '\x64', '\x65', '\x62', '\x75', '\x67', '\x67', '\x65', '\x64', '\x20', '\x28', '\x65', '\x69', '\x74', '\x68', '\x65', '\x72', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x72', '\x75', '\x6e', '\x6e', '\x69', '\x6e', '\x67', '\x20', '\x75', '\x6e', '\x64', '\x65', '\x72', '\x20', '\x74', '\x68', '\x65', '\x20', '\x64', '\x65', '\x62', '\x75', '\x67', '\x67', '\x65', '\x72', '\x20', '\x6f', '\x72', '\x20', '\x68', '\x61', '\x73', '\x20', '\x61', '\x20', '\x64', '\x65', '\x62', '\x75', '\x67', '\x67', '\x65', '\x72', '\x20', '\x61', '\x74', '\x74', '\x61', '\x63', '\x68', '\x65', '\x64', '\x20', '\x70', '\x6f', '\x73', '\x74', '\x20', '\x66', '\x61', '\x63', '\x74', '\x6f', '\x29', '\x2e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x69', '\x73', '\x44', '\x65', '\x62', '\x75', '\x67', '\x67', '\x65', '\x72', '\x41', '\x63', '\x74', '\x69', '\x76', '\x65', '\x28', '\x29', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x6e', '\x74', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x69', '\x62', '\x5b', '\x34', '\x5d', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x6b', '\x69', '\x6e', '\x66', '\x6f', '\x5f', '\x70', '\x72', '\x6f', '\x63', '\x20', '\x20', '\x20', '\x69', '\x6e', '\x66', '\x6f', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x69', '\x7a', '\x65', '\x5f', '\x74', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x69', '\x7a', '\x65', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x49', '\x6e', '\x69', '\x74', '\x69', '\x61', '\x6c', '\x69', '\x7a', '\x65', '\x20', '\x74', '\x68', '\x65', '\x20', '\x66', '\x6c', '\x61', '\x67', '\x73', '\x20', '\x73', '\x6f', '\x20', '\x74', '\x68', '\x61', '\x74', '\x2c', '\x20', '\x69', '\x66', '\x20', '\x73', '\x79', '\x73', '\x63', '\x74', '\x6c', '\x20', '\x66', '\x61', '\x69', '\x6c', '\x73', '\x20', '\x66', '\x6f', '\x72', '\x20', '\x73', '\x6f', '\x6d', '\x65', '\x20', '\x62', '\x69', '\x7a', '\x61', '\x72', '\x72', '\x65', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x72', '\x65', '\x61', '\x73', '\x6f', '\x6e', '\x2c', '\x20', '\x77', '\x65', '\x20', '\x67', '\x65', '\x74', '\x20', '\x61', '\x20', '\x70', '\x72', '\x65', '\x64', '\x69', '\x63', '\x74', '\x61', '\x62', '\x6c', '\x65', '\x20', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x2e', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x6e', '\x66', '\x6f', '\x2e', '\x6b', '\x70', '\x5f', '\x70', '\x72', '\x6f', '\x63', '\x2e', '\x70', '\x5f', '\x66', '\x6c', '\x61', '\x67', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x49', '\x6e', '\x69', '\x74', '\x69', '\x61', '\x6c', '\x69', '\x7a', '\x65', '\x20', '\x6d', '\x69', '\x62', '\x2c', '\x20', '\x77', '\x68', '\x69', '\x63', '\x68', '\x20', '\x74', '\x65', '\x6c', '\x6c', '\x73', '\x20', '\x73', '\x79', '\x73', '\x63', '\x74', '\x6c', '\x20', '\x74', '\x68', '\x65', '\x20', '\x69', '\x6e', '\x66', '\x6f', '\x20', '\x77', '\x65', '\x20', '\x77', '\x61', '\x6e', '\x74', '\x2c', '\x20', '\x69', '\x6e', '\x20', '\x74', '\x68', '\x69', '\x73', '\x20', '\x63', '\x61', '\x73', '\x65', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x77', '\x65', '\x27', '\x72', '\x65', '\x20', '\x6c', '\x6f', '\x6f', '\x6b', '\x69', '\x6e', '\x67', '\x20', '\x66', '\x6f', '\x72', '\x20', '\x69', '\x6e', '\x66', '\x6f', '\x72', '\x6d', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x61', '\x62', '\x6f', '\x75', '\x74', '\x20', '\x61', '\x20', '\x73', '\x70', '\x65', '\x63', '\x69', '\x66', '\x69', '\x63', '\x20', '\x70', '\x72', '\x6f', '\x63', '\x65', '\x73', '\x73', '\x20', '\x49', '\x44', '\x2e', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x69', '\x62', '\x5b', '\x30', '\x5d', '\x20', '\x3d', '\x20', '\x43', '\x54', '\x4c', '\x5f', '\x4b', '\x45', '\x52', '\x4e', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x69', '\x62', '\x5b', '\x31', '\x5d', '\x20', '\x3d', '\x20', '\x4b', '\x45', '\x52', '\x4e', '\x5f', '\x50', '\x52', '\x4f', '\x43', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x69', '\x62', '\x5b', '\x32', '\x5d', '\x20', '\x3d', '\x20', '\x4b', '\x45', '\x52', '\x4e', '\x5f', '\x50', '\x52', '\x4f', '\x43', '\x5f', '\x50', '\x49', '\x44', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x69', '\x62', '\x5b', '\x33', '\x5d', '\x20', '\x3d', '\x20', '\x67', '\x65', '\x74', '\x70', '\x69', '\x64', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x43', '\x61', '\x6c', '\x6c', '\x20', '\x73', '\x79', '\x73', '\x63', '\x74', '\x6c', '\x2e', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x69', '\x7a', '\x65', '\x20', '\x3d', '\x20', '\x73', '\x69', '\x7a', '\x65', '\x6f', '\x66', '\x28', '\x69', '\x6e', '\x66', '\x6f', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x73', '\x79', '\x73', '\x63', '\x74', '\x6c', '\x28', '\x6d', '\x69', '\x62', '\x2c', '\x20', '\x73', '\x69', '\x7a', '\x65', '\x6f', '\x66', '\x28', '\x6d', '\x69', '\x62', '\x29', '\x20', '\x2f', '\x20', '\x73', '\x69', '\x7a', '\x65', '\x6f', '\x66', '\x28', '\x2a', '\x6d', '\x69', '\x62', '\x29', '\x2c', '\x20', '\x26', '\x69', '\x6e', '\x66', '\x6f', '\x2c', '\x20', '\x26', '\x73', '\x69', '\x7a', '\x65', '\x2c', '\x20', '\x6e', '\x75', '\x6c', '\x6c', '\x70', '\x74', '\x72', '\x2c', '\x20', '\x30', '\x29', '\x20', '\x21', '\x3d', '\x20', '\x30', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x63', '\x65', '\x72', '\x72', '\x28', '\x29', '\x20', '\x3c', '\x3c', '\x20', '\x22', '\x5c', '\x6e', '\x2a', '\x2a', '\x20', '\x43', '\x61', '\x6c', '\x6c', '\x20', '\x74', '\x6f', '\x20', '\x73', '\x79', '\x73', '\x63', '\x74', '\x6c', '\x20', '\x66', '\x61', '\x69', '\x6c', '\x65', '\x64', '\x20', '\x2d', '\x20', '\x75', '\x6e', '\x61', '\x62', '\x6c', '\x65', '\x20', '\x74', '\x6f', '\x20', '\x64', '\x65', '\x74', '\x65', '\x72', '\x6d', '\x69', '\x6e', '\x65', '\x20', '\x69', '\x66', '\x20', '\x64', '\x65', '\x62', '\x75', '\x67', '\x67', '\x65', '\x72', '\x20', '\x69', '\x73', '\x20', '\x61', '\x63', '\x74', '\x69', '\x76', '\x65', '\x20', '\x2a', '\x2a', '\x5c', '\x6e', '\x22', '\x20', '\x3c', '\x3c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x65', '\x6e', '\x64', '\x6c', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x66', '\x61', '\x6c', '\x73', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x57', '\x65', '\x27', '\x72', '\x65', '\x20', '\x62', '\x65', '\x69', '\x6e', '\x67', '\x20', '\x64', '\x65', '\x62', '\x75', '\x67', '\x67', '\x65', '\x64', '\x20', '\x69', '\x66', '\x20', '\x74', '\x68', '\x65', '\x20', '\x50', '\x5f', '\x54', '\x52', '\x41', '\x43', '\x45', '\x44', '\x20', '\x66', '\x6c', '\x61', '\x67', '\x20', '\x69', '\x73', '\x20', '\x73', '\x65', '\x74', '\x2e', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x28', '\x20', '\x28', '\x69', '\x6e', '\x66', '\x6f', '\x2e', '\x6b', '\x70', '\x5f', '\x70', '\x72', '\x6f', '\x63', '\x2e', '\x70', '\x5f', '\x66', '\x6c', '\x61', '\x67', '\x20', '\x26', '\x20', '\x50', '\x5f', '\x54', '\x52', '\x41', '\x43', '\x45', '\x44', '\x29', '\x20', '\x21', '\x3d', '\x20', '\x30', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x23', '\x65', '\x6c', '\x73', '\x65', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x69', '\x73', '\x44', '\x65', '\x62', '\x75', '\x67', '\x67', '\x65', '\x72', '\x41', '\x63', '\x74', '\x69', '\x76', '\x65', '\x28', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x57', '\x65', '\x20', '\x6e', '\x65', '\x65', '\x64', '\x20', '\x74', '\x6f', '\x20', '\x66', '\x69', '\x6e', '\x64', '\x20', '\x61', '\x6e', '\x6f', '\x74', '\x68', '\x65', '\x72', '\x20', '\x77', '\x61', '\x79', '\x20', '\x74', '\x6f', '\x20', '\x64', '\x65', '\x74', '\x65', '\x72', '\x6d', '\x69', '\x6e', '\x65', '\x20', '\x74', '\x68', '\x69', '\x73', '\x20', '\x66', '\x6f', '\x72', '\x20', '\x6e', '\x6f', '\x6e', '\x2d', '\x61', '\x70', '\x70', '\x6c', '\x65', '\x63', '\x6c', '\x61', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6d', '\x70', '\x69', '\x6c', '\x65', '\x72', '\x73', '\x20', '\x6f', '\x6e', '\x20', '\x6d', '\x61', '\x63', '\x4f', '\x53', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x66', '\x61', '\x6c', '\x73', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x65', '\x6c', '\x69', '\x66', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x50', '\x4c', '\x41', '\x54', '\x46', '\x4f', '\x52', '\x4d', '\x5f', '\x4c', '\x49', '\x4e', '\x55', '\x58', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x66', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x3e', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x54', '\x68', '\x65', '\x20', '\x73', '\x74', '\x61', '\x6e', '\x64', '\x61', '\x72', '\x64', '\x20', '\x50', '\x4f', '\x53', '\x49', '\x58', '\x20', '\x77', '\x61', '\x79', '\x20', '\x6f', '\x66', '\x20', '\x64', '\x65', '\x74', '\x65', '\x63', '\x74', '\x69', '\x6e', '\x67', '\x20', '\x61', '\x20', '\x64', '\x65', '\x62', '\x75', '\x67', '\x67', '\x65', '\x72', '\x20', '\x69', '\x73', '\x20', '\x74', '\x6f', '\x20', '\x61', '\x74', '\x74', '\x65', '\x6d', '\x70', '\x74', '\x20', '\x74', '\x6f', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x70', '\x74', '\x72', '\x61', '\x63', '\x65', '\x28', '\x29', '\x20', '\x74', '\x68', '\x65', '\x20', '\x70', '\x72', '\x6f', '\x63', '\x65', '\x73', '\x73', '\x2c', '\x20', '\x62', '\x75', '\x74', '\x20', '\x74', '\x68', '\x69', '\x73', '\x20', '\x6e', '\x65', '\x65', '\x64', '\x73', '\x20', '\x74', '\x6f', '\x20', '\x62', '\x65', '\x20', '\x64', '\x6f', '\x6e', '\x65', '\x20', '\x66', '\x72', '\x6f', '\x6d', '\x20', '\x61', '\x20', '\x63', '\x68', '\x69', '\x6c', '\x64', '\x20', '\x61', '\x6e', '\x64', '\x20', '\x6e', '\x6f', '\x74', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x74', '\x68', '\x69', '\x73', '\x20', '\x70', '\x72', '\x6f', '\x63', '\x65', '\x73', '\x73', '\x20', '\x69', '\x74', '\x73', '\x65', '\x6c', '\x66', '\x20', '\x74', '\x6f', '\x20', '\x73', '\x74', '\x69', '\x6c', '\x6c', '\x20', '\x61', '\x6c', '\x6c', '\x6f', '\x77', '\x20', '\x61', '\x74', '\x74', '\x61', '\x63', '\x68', '\x69', '\x6e', '\x67', '\x20', '\x74', '\x6f', '\x20', '\x74', '\x68', '\x69', '\x73', '\x20', '\x70', '\x72', '\x6f', '\x63', '\x65', '\x73', '\x73', '\x20', '\x6c', '\x61', '\x74', '\x65', '\x72', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x69', '\x66', '\x20', '\x77', '\x61', '\x6e', '\x74', '\x65', '\x64', '\x2c', '\x20', '\x73', '\x6f', '\x20', '\x69', '\x73', '\x20', '\x72', '\x61', '\x74', '\x68', '\x65', '\x72', '\x20', '\x68', '\x65', '\x61', '\x76', '\x79', '\x2e', '\x20', '\x55', '\x6e', '\x64', '\x65', '\x72', '\x20', '\x4c', '\x69', '\x6e', '\x75', '\x78', '\x20', '\x77', '\x65', '\x20', '\x68', '\x61', '\x76', '\x65', '\x20', '\x74', '\x68', '\x65', '\x20', '\x50', '\x49', '\x44', '\x20', '\x6f', '\x66', '\x20', '\x74', '\x68', '\x65', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x22', '\x64', '\x65', '\x62', '\x75', '\x67', '\x67', '\x65', '\x72', '\x22', '\x20', '\x28', '\x77', '\x68', '\x69', '\x63', '\x68', '\x20', '\x64', '\x6f', '\x65', '\x73', '\x6e', '\x27', '\x74', '\x20', '\x6e', '\x65', '\x65', '\x64', '\x20', '\x74', '\x6f', '\x20', '\x62', '\x65', '\x20', '\x67', '\x64', '\x62', '\x2c', '\x20', '\x6f', '\x66', '\x20', '\x63', '\x6f', '\x75', '\x72', '\x73', '\x65', '\x2c', '\x20', '\x69', '\x74', '\x20', '\x63', '\x6f', '\x75', '\x6c', '\x64', '\x20', '\x61', '\x6c', '\x73', '\x6f', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x62', '\x65', '\x20', '\x73', '\x74', '\x72', '\x61', '\x63', '\x65', '\x2c', '\x20', '\x66', '\x6f', '\x72', '\x20', '\x65', '\x78', '\x61', '\x6d', '\x70', '\x6c', '\x65', '\x29', '\x20', '\x69', '\x6e', '\x20', '\x2f', '\x70', '\x72', '\x6f', '\x63', '\x2f', '\x24', '\x50', '\x49', '\x44', '\x2f', '\x73', '\x74', '\x61', '\x74', '\x75', '\x73', '\x2c', '\x20', '\x73', '\x6f', '\x20', '\x6a', '\x75', '\x73', '\x74', '\x20', '\x67', '\x65', '\x74', '\x20', '\x69', '\x74', '\x20', '\x66', '\x72', '\x6f', '\x6d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x74', '\x68', '\x65', '\x72', '\x65', '\x20', '\x69', '\x6e', '\x73', '\x74', '\x65', '\x61', '\x64', '\x2e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x69', '\x73', '\x44', '\x65', '\x62', '\x75', '\x67', '\x67', '\x65', '\x72', '\x41', '\x63', '\x74', '\x69', '\x76', '\x65', '\x28', '\x29', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x4c', '\x69', '\x62', '\x73', '\x74', '\x64', '\x63', '\x2b', '\x2b', '\x20', '\x68', '\x61', '\x73', '\x20', '\x61', '\x20', '\x62', '\x75', '\x67', '\x2c', '\x20', '\x77', '\x68', '\x65', '\x72', '\x65', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x69', '\x66', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x20', '\x73', '\x65', '\x74', '\x73', '\x20', '\x65', '\x72', '\x72', '\x6e', '\x6f', '\x20', '\x74', '\x6f', '\x20', '\x30', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x54', '\x68', '\x69', '\x73', '\x20', '\x77', '\x61', '\x79', '\x20', '\x6f', '\x75', '\x72', '\x20', '\x75', '\x73', '\x65', '\x72', '\x73', '\x20', '\x63', '\x61', '\x6e', '\x20', '\x70', '\x72', '\x6f', '\x70', '\x65', '\x72', '\x6c', '\x79', '\x20', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x20', '\x65', '\x72', '\x72', '\x6e', '\x6f', '\x20', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x73', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x45', '\x72', '\x72', '\x6e', '\x6f', '\x47', '\x75', '\x61', '\x72', '\x64', '\x20', '\x67', '\x75', '\x61', '\x72', '\x64', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x69', '\x66', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x20', '\x69', '\x6e', '\x28', '\x22', '\x2f', '\x70', '\x72', '\x6f', '\x63', '\x2f', '\x73', '\x65', '\x6c', '\x66', '\x2f', '\x73', '\x74', '\x61', '\x74', '\x75', '\x73', '\x22', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x66', '\x6f', '\x72', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x6c', '\x69', '\x6e', '\x65', '\x3b', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x67', '\x65', '\x74', '\x6c', '\x69', '\x6e', '\x65', '\x28', '\x69', '\x6e', '\x2c', '\x20', '\x6c', '\x69', '\x6e', '\x65', '\x29', '\x3b', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x69', '\x6e', '\x74', '\x20', '\x50', '\x52', '\x45', '\x46', '\x49', '\x58', '\x5f', '\x4c', '\x45', '\x4e', '\x20', '\x3d', '\x20', '\x31', '\x31', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x6c', '\x69', '\x6e', '\x65', '\x2e', '\x63', '\x6f', '\x6d', '\x70', '\x61', '\x72', '\x65', '\x28', '\x30', '\x2c', '\x20', '\x50', '\x52', '\x45', '\x46', '\x49', '\x58', '\x5f', '\x4c', '\x45', '\x4e', '\x2c', '\x20', '\x22', '\x54', '\x72', '\x61', '\x63', '\x65', '\x72', '\x50', '\x69', '\x64', '\x3a', '\x5c', '\x74', '\x22', '\x29', '\x20', '\x3d', '\x3d', '\x20', '\x30', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x57', '\x65', '\x27', '\x72', '\x65', '\x20', '\x74', '\x72', '\x61', '\x63', '\x65', '\x64', '\x20', '\x69', '\x66', '\x20', '\x74', '\x68', '\x65', '\x20', '\x50', '\x49', '\x44', '\x20', '\x69', '\x73', '\x20', '\x6e', '\x6f', '\x74', '\x20', '\x30', '\x20', '\x61', '\x6e', '\x64', '\x20', '\x6e', '\x6f', '\x20', '\x6f', '\x74', '\x68', '\x65', '\x72', '\x20', '\x50', '\x49', '\x44', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x73', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x77', '\x69', '\x74', '\x68', '\x20', '\x30', '\x20', '\x64', '\x69', '\x67', '\x69', '\x74', '\x2c', '\x20', '\x73', '\x6f', '\x20', '\x69', '\x74', '\x27', '\x73', '\x20', '\x65', '\x6e', '\x6f', '\x75', '\x67', '\x68', '\x20', '\x74', '\x6f', '\x20', '\x63', '\x68', '\x65', '\x63', '\x6b', '\x20', '\x66', '\x6f', '\x72', '\x20', '\x6a', '\x75', '\x73', '\x74', '\x20', '\x61', '\x20', '\x73', '\x69', '\x6e', '\x67', '\x6c', '\x65', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x63', '\x68', '\x61', '\x72', '\x61', '\x63', '\x74', '\x65', '\x72', '\x2e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6c', '\x69', '\x6e', '\x65', '\x2e', '\x6c', '\x65', '\x6e', '\x67', '\x74', '\x68', '\x28', '\x29', '\x20', '\x3e', '\x20', '\x50', '\x52', '\x45', '\x46', '\x49', '\x58', '\x5f', '\x4c', '\x45', '\x4e', '\x20', '\x26', '\x26', '\x20', '\x6c', '\x69', '\x6e', '\x65', '\x5b', '\x50', '\x52', '\x45', '\x46', '\x49', '\x58', '\x5f', '\x4c', '\x45', '\x4e', '\x5d', '\x20', '\x21', '\x3d', '\x20', '\x27', '\x30', '\x27', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x66', '\x61', '\x6c', '\x73', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x0d', '\x0a', '\x23', '\x65', '\x6c', '\x69', '\x66', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x5f', '\x4d', '\x53', '\x43', '\x5f', '\x56', '\x45', '\x52', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x65', '\x78', '\x74', '\x65', '\x72', '\x6e', '\x20', '\x22', '\x43', '\x22', '\x20', '\x5f', '\x5f', '\x64', '\x65', '\x63', '\x6c', '\x73', '\x70', '\x65', '\x63', '\x28', '\x64', '\x6c', '\x6c', '\x69', '\x6d', '\x70', '\x6f', '\x72', '\x74', '\x29', '\x20', '\x69', '\x6e', '\x74', '\x20', '\x5f', '\x5f', '\x73', '\x74', '\x64', '\x63', '\x61', '\x6c', '\x6c', '\x20', '\x49', '\x73', '\x44', '\x65', '\x62', '\x75', '\x67', '\x67', '\x65', '\x72', '\x50', '\x72', '\x65', '\x73', '\x65', '\x6e', '\x74', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x69', '\x73', '\x44', '\x65', '\x62', '\x75', '\x67', '\x67', '\x65', '\x72', '\x41', '\x63', '\x74', '\x69', '\x76', '\x65', '\x28', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x49', '\x73', '\x44', '\x65', '\x62', '\x75', '\x67', '\x67', '\x65', '\x72', '\x50', '\x72', '\x65', '\x73', '\x65', '\x6e', '\x74', '\x28', '\x29', '\x20', '\x21', '\x3d', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x23', '\x65', '\x6c', '\x69', '\x66', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x5f', '\x5f', '\x4d', '\x49', '\x4e', '\x47', '\x57', '\x33', '\x32', '\x5f', '\x5f', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x65', '\x78', '\x74', '\x65', '\x72', '\x6e', '\x20', '\x22', '\x43', '\x22', '\x20', '\x5f', '\x5f', '\x64', '\x65', '\x63', '\x6c', '\x73', '\x70', '\x65', '\x63', '\x28', '\x64', '\x6c', '\x6c', '\x69', '\x6d', '\x70', '\x6f', '\x72', '\x74', '\x29', '\x20', '\x69', '\x6e', '\x74', '\x20', '\x5f', '\x5f', '\x73', '\x74', '\x64', '\x63', '\x61', '\x6c', '\x6c', '\x20', '\x49', '\x73', '\x44', '\x65', '\x62', '\x75', '\x67', '\x67', '\x65', '\x72', '\x50', '\x72', '\x65', '\x73', '\x65', '\x6e', '\x74', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x69', '\x73', '\x44', '\x65', '\x62', '\x75', '\x67', '\x67', '\x65', '\x72', '\x41', '\x63', '\x74', '\x69', '\x76', '\x65', '\x28', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x49', '\x73', '\x44', '\x65', '\x62', '\x75', '\x67', '\x67', '\x65', '\x72', '\x50', '\x72', '\x65', '\x73', '\x65', '\x6e', '\x74', '\x28', '\x29', '\x20', '\x21', '\x3d', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x23', '\x65', '\x6c', '\x73', '\x65', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x69', '\x73', '\x44', '\x65', '\x62', '\x75', '\x67', '\x67', '\x65', '\x72', '\x41', '\x63', '\x74', '\x69', '\x76', '\x65', '\x28', '\x29', '\x20', '\x7b', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x66', '\x61', '\x6c', '\x73', '\x65', '\x3b', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x20', '\x2f', '\x2f', '\x20', '\x50', '\x6c', '\x61', '\x74', '\x66', '\x6f', '\x72', '\x6d', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x64', '\x65', '\x62', '\x75', '\x67', '\x67', '\x65', '\x72', '\x2e', '\x63', '\x70', '\x70', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x64', '\x65', '\x63', '\x6f', '\x6d', '\x70', '\x6f', '\x73', '\x65', '\x72', '\x2e', '\x63', '\x70', '\x70', '\x0d', '\x0a', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x49', '\x54', '\x72', '\x61', '\x6e', '\x73', '\x69', '\x65', '\x6e', '\x74', '\x45', '\x78', '\x70', '\x72', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x3a', '\x3a', '\x7e', '\x49', '\x54', '\x72', '\x61', '\x6e', '\x73', '\x69', '\x65', '\x6e', '\x74', '\x45', '\x78', '\x70', '\x72', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x28', '\x29', '\x20', '\x3d', '\x20', '\x64', '\x65', '\x66', '\x61', '\x75', '\x6c', '\x74', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x66', '\x6f', '\x72', '\x6d', '\x61', '\x74', '\x52', '\x65', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x65', '\x64', '\x45', '\x78', '\x70', '\x72', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6f', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x20', '\x26', '\x6f', '\x73', '\x2c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6c', '\x68', '\x73', '\x2c', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x66', '\x20', '\x6f', '\x70', '\x2c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x72', '\x68', '\x73', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x6c', '\x68', '\x73', '\x2e', '\x73', '\x69', '\x7a', '\x65', '\x28', '\x29', '\x20', '\x2b', '\x20', '\x72', '\x68', '\x73', '\x2e', '\x73', '\x69', '\x7a', '\x65', '\x28', '\x29', '\x20', '\x3c', '\x20', '\x34', '\x30', '\x20', '\x26', '\x26', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6c', '\x68', '\x73', '\x2e', '\x66', '\x69', '\x6e', '\x64', '\x28', '\x27', '\x5c', '\x6e', '\x27', '\x29', '\x20', '\x3d', '\x3d', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x3a', '\x3a', '\x6e', '\x70', '\x6f', '\x73', '\x20', '\x26', '\x26', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x68', '\x73', '\x2e', '\x66', '\x69', '\x6e', '\x64', '\x28', '\x27', '\x5c', '\x6e', '\x27', '\x29', '\x20', '\x3d', '\x3d', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x3a', '\x3a', '\x6e', '\x70', '\x6f', '\x73', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6f', '\x73', '\x20', '\x3c', '\x3c', '\x20', '\x6c', '\x68', '\x73', '\x20', '\x3c', '\x3c', '\x20', '\x22', '\x20', '\x22', '\x20', '\x3c', '\x3c', '\x20', '\x6f', '\x70', '\x20', '\x3c', '\x3c', '\x20', '\x22', '\x20', '\x22', '\x20', '\x3c', '\x3c', '\x20', '\x72', '\x68', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x6c', '\x73', '\x65', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6f', '\x73', '\x20', '\x3c', '\x3c', '\x20', '\x6c', '\x68', '\x73', '\x20', '\x3c', '\x3c', '\x20', '\x22', '\x5c', '\x6e', '\x22', '\x20', '\x3c', '\x3c', '\x20', '\x6f', '\x70', '\x20', '\x3c', '\x3c', '\x20', '\x22', '\x5c', '\x6e', '\x22', '\x20', '\x3c', '\x3c', '\x20', '\x72', '\x68', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x7d', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x64', '\x65', '\x63', '\x6f', '\x6d', '\x70', '\x6f', '\x73', '\x65', '\x72', '\x2e', '\x63', '\x70', '\x70', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x65', '\x6e', '\x66', '\x6f', '\x72', '\x63', '\x65', '\x2e', '\x63', '\x70', '\x70', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x73', '\x74', '\x64', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x3e', '\x0d', '\x0a', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x44', '\x49', '\x53', '\x41', '\x42', '\x4c', '\x45', '\x5f', '\x45', '\x58', '\x43', '\x45', '\x50', '\x54', '\x49', '\x4f', '\x4e', '\x53', '\x29', '\x20', '\x26', '\x26', '\x20', '\x21', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x44', '\x49', '\x53', '\x41', '\x42', '\x4c', '\x45', '\x5f', '\x45', '\x58', '\x43', '\x45', '\x50', '\x54', '\x49', '\x4f', '\x4e', '\x53', '\x5f', '\x43', '\x55', '\x53', '\x54', '\x4f', '\x4d', '\x5f', '\x48', '\x41', '\x4e', '\x44', '\x4c', '\x45', '\x52', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x5b', '\x5b', '\x6e', '\x6f', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x5d', '\x5d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x74', '\x68', '\x72', '\x6f', '\x77', '\x5f', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x65', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x63', '\x65', '\x72', '\x72', '\x28', '\x29', '\x20', '\x3c', '\x3c', '\x20', '\x22', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x77', '\x69', '\x6c', '\x6c', '\x20', '\x74', '\x65', '\x72', '\x6d', '\x69', '\x6e', '\x61', '\x74', '\x65', '\x20', '\x62', '\x65', '\x63', '\x61', '\x75', '\x73', '\x65', '\x20', '\x69', '\x74', '\x20', '\x6e', '\x65', '\x65', '\x64', '\x65', '\x64', '\x20', '\x74', '\x6f', '\x20', '\x74', '\x68', '\x72', '\x6f', '\x77', '\x20', '\x61', '\x6e', '\x20', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x2e', '\x5c', '\x6e', '\x22', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x3c', '\x3c', '\x20', '\x22', '\x54', '\x68', '\x65', '\x20', '\x6d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x20', '\x77', '\x61', '\x73', '\x3a', '\x20', '\x22', '\x20', '\x3c', '\x3c', '\x20', '\x65', '\x2e', '\x77', '\x68', '\x61', '\x74', '\x28', '\x29', '\x20', '\x3c', '\x3c', '\x20', '\x27', '\x5c', '\x6e', '\x27', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x74', '\x65', '\x72', '\x6d', '\x69', '\x6e', '\x61', '\x74', '\x65', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x5b', '\x5b', '\x6e', '\x6f', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x5d', '\x5d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x74', '\x68', '\x72', '\x6f', '\x77', '\x5f', '\x6c', '\x6f', '\x67', '\x69', '\x63', '\x5f', '\x65', '\x72', '\x72', '\x6f', '\x72', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6d', '\x73', '\x67', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x68', '\x72', '\x6f', '\x77', '\x5f', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6c', '\x6f', '\x67', '\x69', '\x63', '\x5f', '\x65', '\x72', '\x72', '\x6f', '\x72', '\x28', '\x6d', '\x73', '\x67', '\x29', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x5b', '\x5b', '\x6e', '\x6f', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x5d', '\x5d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x74', '\x68', '\x72', '\x6f', '\x77', '\x5f', '\x64', '\x6f', '\x6d', '\x61', '\x69', '\x6e', '\x5f', '\x65', '\x72', '\x72', '\x6f', '\x72', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6d', '\x73', '\x67', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x68', '\x72', '\x6f', '\x77', '\x5f', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x64', '\x6f', '\x6d', '\x61', '\x69', '\x6e', '\x5f', '\x65', '\x72', '\x72', '\x6f', '\x72', '\x28', '\x6d', '\x73', '\x67', '\x29', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x5b', '\x5b', '\x6e', '\x6f', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x5d', '\x5d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x74', '\x68', '\x72', '\x6f', '\x77', '\x5f', '\x72', '\x75', '\x6e', '\x74', '\x69', '\x6d', '\x65', '\x5f', '\x65', '\x72', '\x72', '\x6f', '\x72', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6d', '\x73', '\x67', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x68', '\x72', '\x6f', '\x77', '\x5f', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x72', '\x75', '\x6e', '\x74', '\x69', '\x6d', '\x65', '\x5f', '\x65', '\x72', '\x72', '\x6f', '\x72', '\x28', '\x6d', '\x73', '\x67', '\x29', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3b', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x65', '\x6e', '\x66', '\x6f', '\x72', '\x63', '\x65', '\x2e', '\x63', '\x70', '\x70', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x65', '\x6e', '\x75', '\x6d', '\x5f', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x73', '\x5f', '\x72', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x2e', '\x63', '\x70', '\x70', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x65', '\x6e', '\x75', '\x6d', '\x5f', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x73', '\x5f', '\x72', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x2e', '\x68', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3e', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x6d', '\x65', '\x6d', '\x6f', '\x72', '\x79', '\x3e', '\x0d', '\x0a', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x44', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x75', '\x6e', '\x69', '\x71', '\x75', '\x65', '\x5f', '\x70', '\x74', '\x72', '\x3c', '\x45', '\x6e', '\x75', '\x6d', '\x49', '\x6e', '\x66', '\x6f', '\x3e', '\x20', '\x6d', '\x61', '\x6b', '\x65', '\x45', '\x6e', '\x75', '\x6d', '\x49', '\x6e', '\x66', '\x6f', '\x28', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x66', '\x20', '\x65', '\x6e', '\x75', '\x6d', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x66', '\x20', '\x61', '\x6c', '\x6c', '\x56', '\x61', '\x6c', '\x75', '\x65', '\x4e', '\x61', '\x6d', '\x65', '\x73', '\x2c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x69', '\x6e', '\x74', '\x3e', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x73', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x20', '\x45', '\x6e', '\x75', '\x6d', '\x56', '\x61', '\x6c', '\x75', '\x65', '\x73', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x20', '\x3a', '\x20', '\x70', '\x75', '\x62', '\x6c', '\x69', '\x63', '\x20', '\x49', '\x4d', '\x75', '\x74', '\x61', '\x62', '\x6c', '\x65', '\x45', '\x6e', '\x75', '\x6d', '\x56', '\x61', '\x6c', '\x75', '\x65', '\x73', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x75', '\x6e', '\x69', '\x71', '\x75', '\x65', '\x5f', '\x70', '\x74', '\x72', '\x3c', '\x45', '\x6e', '\x75', '\x6d', '\x49', '\x6e', '\x66', '\x6f', '\x3e', '\x3e', '\x20', '\x6d', '\x5f', '\x65', '\x6e', '\x75', '\x6d', '\x49', '\x6e', '\x66', '\x6f', '\x73', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x45', '\x6e', '\x75', '\x6d', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x72', '\x65', '\x67', '\x69', '\x73', '\x74', '\x65', '\x72', '\x45', '\x6e', '\x75', '\x6d', '\x28', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x66', '\x20', '\x65', '\x6e', '\x75', '\x6d', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x66', '\x20', '\x61', '\x6c', '\x6c', '\x45', '\x6e', '\x75', '\x6d', '\x73', '\x2c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x69', '\x6e', '\x74', '\x3e', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x73', '\x29', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x66', '\x3e', '\x20', '\x70', '\x61', '\x72', '\x73', '\x65', '\x45', '\x6e', '\x75', '\x6d', '\x73', '\x28', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x66', '\x20', '\x65', '\x6e', '\x75', '\x6d', '\x73', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x44', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x0d', '\x0a', '\x0d', '\x0a', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x65', '\x6e', '\x75', '\x6d', '\x5f', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x73', '\x5f', '\x72', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x2e', '\x68', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x6d', '\x61', '\x70', '\x3e', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x63', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x3e', '\x0d', '\x0a', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x49', '\x4d', '\x75', '\x74', '\x61', '\x62', '\x6c', '\x65', '\x45', '\x6e', '\x75', '\x6d', '\x56', '\x61', '\x6c', '\x75', '\x65', '\x73', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x3a', '\x3a', '\x7e', '\x49', '\x4d', '\x75', '\x74', '\x61', '\x62', '\x6c', '\x65', '\x45', '\x6e', '\x75', '\x6d', '\x56', '\x61', '\x6c', '\x75', '\x65', '\x73', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x28', '\x29', '\x20', '\x7b', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x44', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x45', '\x78', '\x74', '\x72', '\x61', '\x63', '\x74', '\x73', '\x20', '\x74', '\x68', '\x65', '\x20', '\x61', '\x63', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x70', '\x61', '\x72', '\x74', '\x20', '\x6f', '\x66', '\x20', '\x61', '\x6e', '\x20', '\x65', '\x6e', '\x75', '\x6d', '\x20', '\x69', '\x6e', '\x73', '\x74', '\x61', '\x6e', '\x63', '\x65', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x49', '\x6e', '\x20', '\x6f', '\x74', '\x68', '\x65', '\x72', '\x20', '\x77', '\x6f', '\x72', '\x64', '\x73', '\x2c', '\x20', '\x69', '\x74', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x73', '\x20', '\x74', '\x68', '\x65', '\x20', '\x42', '\x6c', '\x75', '\x65', '\x20', '\x70', '\x61', '\x72', '\x74', '\x20', '\x6f', '\x66', '\x20', '\x42', '\x69', '\x6b', '\x65', '\x73', '\x68', '\x65', '\x64', '\x3a', '\x3a', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x3a', '\x3a', '\x42', '\x6c', '\x75', '\x65', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x66', '\x20', '\x65', '\x78', '\x74', '\x72', '\x61', '\x63', '\x74', '\x49', '\x6e', '\x73', '\x74', '\x61', '\x6e', '\x63', '\x65', '\x4e', '\x61', '\x6d', '\x65', '\x28', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x66', '\x20', '\x65', '\x6e', '\x75', '\x6d', '\x49', '\x6e', '\x73', '\x74', '\x61', '\x6e', '\x63', '\x65', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x46', '\x69', '\x6e', '\x64', '\x20', '\x6c', '\x61', '\x73', '\x74', '\x20', '\x6f', '\x63', '\x63', '\x75', '\x72', '\x65', '\x6e', '\x63', '\x65', '\x20', '\x6f', '\x66', '\x20', '\x22', '\x3a', '\x22', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x69', '\x7a', '\x65', '\x5f', '\x74', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x5f', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x3d', '\x20', '\x65', '\x6e', '\x75', '\x6d', '\x49', '\x6e', '\x73', '\x74', '\x61', '\x6e', '\x63', '\x65', '\x2e', '\x73', '\x69', '\x7a', '\x65', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x77', '\x68', '\x69', '\x6c', '\x65', '\x20', '\x28', '\x6e', '\x61', '\x6d', '\x65', '\x5f', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x3e', '\x20', '\x30', '\x20', '\x26', '\x26', '\x20', '\x65', '\x6e', '\x75', '\x6d', '\x49', '\x6e', '\x73', '\x74', '\x61', '\x6e', '\x63', '\x65', '\x5b', '\x6e', '\x61', '\x6d', '\x65', '\x5f', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x2d', '\x20', '\x31', '\x5d', '\x20', '\x21', '\x3d', '\x20', '\x27', '\x3a', '\x27', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2d', '\x2d', '\x6e', '\x61', '\x6d', '\x65', '\x5f', '\x73', '\x74', '\x61', '\x72', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x65', '\x6e', '\x75', '\x6d', '\x49', '\x6e', '\x73', '\x74', '\x61', '\x6e', '\x63', '\x65', '\x2e', '\x73', '\x75', '\x62', '\x73', '\x74', '\x72', '\x28', '\x6e', '\x61', '\x6d', '\x65', '\x5f', '\x73', '\x74', '\x61', '\x72', '\x74', '\x2c', '\x20', '\x65', '\x6e', '\x75', '\x6d', '\x49', '\x6e', '\x73', '\x74', '\x61', '\x6e', '\x63', '\x65', '\x2e', '\x73', '\x69', '\x7a', '\x65', '\x28', '\x29', '\x20', '\x2d', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x5f', '\x73', '\x74', '\x61', '\x72', '\x74', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x66', '\x3e', '\x20', '\x70', '\x61', '\x72', '\x73', '\x65', '\x45', '\x6e', '\x75', '\x6d', '\x73', '\x28', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x66', '\x20', '\x65', '\x6e', '\x75', '\x6d', '\x73', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x65', '\x6e', '\x75', '\x6d', '\x56', '\x61', '\x6c', '\x75', '\x65', '\x73', '\x20', '\x3d', '\x20', '\x73', '\x70', '\x6c', '\x69', '\x74', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x66', '\x28', '\x20', '\x65', '\x6e', '\x75', '\x6d', '\x73', '\x2c', '\x20', '\x27', '\x2c', '\x27', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x66', '\x3e', '\x20', '\x70', '\x61', '\x72', '\x73', '\x65', '\x64', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x61', '\x72', '\x73', '\x65', '\x64', '\x2e', '\x72', '\x65', '\x73', '\x65', '\x72', '\x76', '\x65', '\x28', '\x20', '\x65', '\x6e', '\x75', '\x6d', '\x56', '\x61', '\x6c', '\x75', '\x65', '\x73', '\x2e', '\x73', '\x69', '\x7a', '\x65', '\x28', '\x29', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x66', '\x6f', '\x72', '\x28', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x65', '\x6e', '\x75', '\x6d', '\x56', '\x61', '\x6c', '\x75', '\x65', '\x20', '\x3a', '\x20', '\x65', '\x6e', '\x75', '\x6d', '\x56', '\x61', '\x6c', '\x75', '\x65', '\x73', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x61', '\x72', '\x73', '\x65', '\x64', '\x2e', '\x70', '\x75', '\x73', '\x68', '\x5f', '\x62', '\x61', '\x63', '\x6b', '\x28', '\x74', '\x72', '\x69', '\x6d', '\x28', '\x65', '\x78', '\x74', '\x72', '\x61', '\x63', '\x74', '\x49', '\x6e', '\x73', '\x74', '\x61', '\x6e', '\x63', '\x65', '\x4e', '\x61', '\x6d', '\x65', '\x28', '\x65', '\x6e', '\x75', '\x6d', '\x56', '\x61', '\x6c', '\x75', '\x65', '\x29', '\x29', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x70', '\x61', '\x72', '\x73', '\x65', '\x64', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x45', '\x6e', '\x75', '\x6d', '\x49', '\x6e', '\x66', '\x6f', '\x3a', '\x3a', '\x7e', '\x45', '\x6e', '\x75', '\x6d', '\x49', '\x6e', '\x66', '\x6f', '\x28', '\x29', '\x20', '\x7b', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x66', '\x20', '\x45', '\x6e', '\x75', '\x6d', '\x49', '\x6e', '\x66', '\x6f', '\x3a', '\x3a', '\x6c', '\x6f', '\x6f', '\x6b', '\x75', '\x70', '\x28', '\x20', '\x69', '\x6e', '\x74', '\x20', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x20', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x66', '\x6f', '\x72', '\x28', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x54', '\x6f', '\x4e', '\x61', '\x6d', '\x65', '\x20', '\x3a', '\x20', '\x6d', '\x5f', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x73', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x54', '\x6f', '\x4e', '\x61', '\x6d', '\x65', '\x2e', '\x66', '\x69', '\x72', '\x73', '\x74', '\x20', '\x3d', '\x3d', '\x20', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x54', '\x6f', '\x4e', '\x61', '\x6d', '\x65', '\x2e', '\x73', '\x65', '\x63', '\x6f', '\x6e', '\x64', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x22', '\x7b', '\x2a', '\x2a', '\x20', '\x75', '\x6e', '\x65', '\x78', '\x70', '\x65', '\x63', '\x74', '\x65', '\x64', '\x20', '\x65', '\x6e', '\x75', '\x6d', '\x20', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x20', '\x2a', '\x2a', '\x7d', '\x22', '\x5f', '\x73', '\x72', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x75', '\x6e', '\x69', '\x71', '\x75', '\x65', '\x5f', '\x70', '\x74', '\x72', '\x3c', '\x45', '\x6e', '\x75', '\x6d', '\x49', '\x6e', '\x66', '\x6f', '\x3e', '\x20', '\x6d', '\x61', '\x6b', '\x65', '\x45', '\x6e', '\x75', '\x6d', '\x49', '\x6e', '\x66', '\x6f', '\x28', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x66', '\x20', '\x65', '\x6e', '\x75', '\x6d', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x66', '\x20', '\x61', '\x6c', '\x6c', '\x56', '\x61', '\x6c', '\x75', '\x65', '\x4e', '\x61', '\x6d', '\x65', '\x73', '\x2c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x69', '\x6e', '\x74', '\x3e', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x73', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x75', '\x6e', '\x69', '\x71', '\x75', '\x65', '\x5f', '\x70', '\x74', '\x72', '\x3c', '\x45', '\x6e', '\x75', '\x6d', '\x49', '\x6e', '\x66', '\x6f', '\x3e', '\x20', '\x65', '\x6e', '\x75', '\x6d', '\x49', '\x6e', '\x66', '\x6f', '\x28', '\x20', '\x6e', '\x65', '\x77', '\x20', '\x45', '\x6e', '\x75', '\x6d', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x6e', '\x75', '\x6d', '\x49', '\x6e', '\x66', '\x6f', '\x2d', '\x3e', '\x6d', '\x5f', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x3d', '\x20', '\x65', '\x6e', '\x75', '\x6d', '\x4e', '\x61', '\x6d', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x6e', '\x75', '\x6d', '\x49', '\x6e', '\x66', '\x6f', '\x2d', '\x3e', '\x6d', '\x5f', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x73', '\x2e', '\x72', '\x65', '\x73', '\x65', '\x72', '\x76', '\x65', '\x28', '\x20', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x73', '\x2e', '\x73', '\x69', '\x7a', '\x65', '\x28', '\x29', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x4e', '\x61', '\x6d', '\x65', '\x73', '\x20', '\x3d', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x44', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x3a', '\x3a', '\x70', '\x61', '\x72', '\x73', '\x65', '\x45', '\x6e', '\x75', '\x6d', '\x73', '\x28', '\x20', '\x61', '\x6c', '\x6c', '\x56', '\x61', '\x6c', '\x75', '\x65', '\x4e', '\x61', '\x6d', '\x65', '\x73', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x28', '\x20', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x4e', '\x61', '\x6d', '\x65', '\x73', '\x2e', '\x73', '\x69', '\x7a', '\x65', '\x28', '\x29', '\x20', '\x3d', '\x3d', '\x20', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x73', '\x2e', '\x73', '\x69', '\x7a', '\x65', '\x28', '\x29', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x69', '\x7a', '\x65', '\x5f', '\x74', '\x20', '\x69', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x66', '\x6f', '\x72', '\x28', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x20', '\x3a', '\x20', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x73', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x6e', '\x75', '\x6d', '\x49', '\x6e', '\x66', '\x6f', '\x2d', '\x3e', '\x6d', '\x5f', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x73', '\x2e', '\x70', '\x75', '\x73', '\x68', '\x5f', '\x62', '\x61', '\x63', '\x6b', '\x28', '\x7b', '\x20', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x2c', '\x20', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x4e', '\x61', '\x6d', '\x65', '\x73', '\x5b', '\x69', '\x2b', '\x2b', '\x5d', '\x20', '\x7d', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x65', '\x6e', '\x75', '\x6d', '\x49', '\x6e', '\x66', '\x6f', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x45', '\x6e', '\x75', '\x6d', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x45', '\x6e', '\x75', '\x6d', '\x56', '\x61', '\x6c', '\x75', '\x65', '\x73', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x3a', '\x3a', '\x72', '\x65', '\x67', '\x69', '\x73', '\x74', '\x65', '\x72', '\x45', '\x6e', '\x75', '\x6d', '\x28', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x66', '\x20', '\x65', '\x6e', '\x75', '\x6d', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x66', '\x20', '\x61', '\x6c', '\x6c', '\x56', '\x61', '\x6c', '\x75', '\x65', '\x4e', '\x61', '\x6d', '\x65', '\x73', '\x2c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x69', '\x6e', '\x74', '\x3e', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x73', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x65', '\x6e', '\x75', '\x6d', '\x49', '\x6e', '\x66', '\x6f', '\x73', '\x2e', '\x70', '\x75', '\x73', '\x68', '\x5f', '\x62', '\x61', '\x63', '\x6b', '\x28', '\x6d', '\x61', '\x6b', '\x65', '\x45', '\x6e', '\x75', '\x6d', '\x49', '\x6e', '\x66', '\x6f', '\x28', '\x65', '\x6e', '\x75', '\x6d', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x61', '\x6c', '\x6c', '\x56', '\x61', '\x6c', '\x75', '\x65', '\x4e', '\x61', '\x6d', '\x65', '\x73', '\x2c', '\x20', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x73', '\x29', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x2a', '\x6d', '\x5f', '\x65', '\x6e', '\x75', '\x6d', '\x49', '\x6e', '\x66', '\x6f', '\x73', '\x2e', '\x62', '\x61', '\x63', '\x6b', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x44', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x0d', '\x0a', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x65', '\x6e', '\x75', '\x6d', '\x5f', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x73', '\x5f', '\x72', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x2e', '\x63', '\x70', '\x70', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x65', '\x72', '\x72', '\x6e', '\x6f', '\x5f', '\x67', '\x75', '\x61', '\x72', '\x64', '\x2e', '\x63', '\x70', '\x70', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x63', '\x65', '\x72', '\x72', '\x6e', '\x6f', '\x3e', '\x0d', '\x0a', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x45', '\x72', '\x72', '\x6e', '\x6f', '\x47', '\x75', '\x61', '\x72', '\x64', '\x3a', '\x3a', '\x45', '\x72', '\x72', '\x6e', '\x6f', '\x47', '\x75', '\x61', '\x72', '\x64', '\x28', '\x29', '\x3a', '\x6d', '\x5f', '\x6f', '\x6c', '\x64', '\x45', '\x72', '\x72', '\x6e', '\x6f', '\x28', '\x65', '\x72', '\x72', '\x6e', '\x6f', '\x29', '\x7b', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x45', '\x72', '\x72', '\x6e', '\x6f', '\x47', '\x75', '\x61', '\x72', '\x64', '\x3a', '\x3a', '\x7e', '\x45', '\x72', '\x72', '\x6e', '\x6f', '\x47', '\x75', '\x61', '\x72', '\x64', '\x28', '\x29', '\x20', '\x7b', '\x20', '\x65', '\x72', '\x72', '\x6e', '\x6f', '\x20', '\x3d', '\x20', '\x6d', '\x5f', '\x6f', '\x6c', '\x64', '\x45', '\x72', '\x72', '\x6e', '\x6f', '\x3b', '\x20', '\x7d', '\x0d', '\x0a', '\x7d', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x65', '\x72', '\x72', '\x6e', '\x6f', '\x5f', '\x67', '\x75', '\x61', '\x72', '\x64', '\x2e', '\x63', '\x70', '\x70', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x5f', '\x74', '\x72', '\x61', '\x6e', '\x73', '\x6c', '\x61', '\x74', '\x6f', '\x72', '\x5f', '\x72', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x2e', '\x63', '\x70', '\x70', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x5f', '\x74', '\x72', '\x61', '\x6e', '\x73', '\x6c', '\x61', '\x74', '\x6f', '\x72', '\x5f', '\x72', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x2e', '\x68', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3e', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x3e', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x6d', '\x65', '\x6d', '\x6f', '\x72', '\x79', '\x3e', '\x0d', '\x0a', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x20', '\x45', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x54', '\x72', '\x61', '\x6e', '\x73', '\x6c', '\x61', '\x74', '\x6f', '\x72', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x20', '\x3a', '\x20', '\x70', '\x75', '\x62', '\x6c', '\x69', '\x63', '\x20', '\x49', '\x45', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x54', '\x72', '\x61', '\x6e', '\x73', '\x6c', '\x61', '\x74', '\x6f', '\x72', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x70', '\x75', '\x62', '\x6c', '\x69', '\x63', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7e', '\x45', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x54', '\x72', '\x61', '\x6e', '\x73', '\x6c', '\x61', '\x74', '\x6f', '\x72', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x69', '\x72', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x72', '\x65', '\x67', '\x69', '\x73', '\x74', '\x65', '\x72', '\x54', '\x72', '\x61', '\x6e', '\x73', '\x6c', '\x61', '\x74', '\x6f', '\x72', '\x28', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x49', '\x45', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x54', '\x72', '\x61', '\x6e', '\x73', '\x6c', '\x61', '\x74', '\x6f', '\x72', '\x2a', '\x20', '\x74', '\x72', '\x61', '\x6e', '\x73', '\x6c', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x74', '\x72', '\x61', '\x6e', '\x73', '\x6c', '\x61', '\x74', '\x65', '\x41', '\x63', '\x74', '\x69', '\x76', '\x65', '\x45', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x74', '\x72', '\x79', '\x54', '\x72', '\x61', '\x6e', '\x73', '\x6c', '\x61', '\x74', '\x6f', '\x72', '\x73', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x70', '\x72', '\x69', '\x76', '\x61', '\x74', '\x65', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x75', '\x6e', '\x69', '\x71', '\x75', '\x65', '\x5f', '\x70', '\x74', '\x72', '\x3c', '\x49', '\x45', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x54', '\x72', '\x61', '\x6e', '\x73', '\x6c', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x3e', '\x3e', '\x20', '\x6d', '\x5f', '\x74', '\x72', '\x61', '\x6e', '\x73', '\x6c', '\x61', '\x74', '\x6f', '\x72', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x5f', '\x74', '\x72', '\x61', '\x6e', '\x73', '\x6c', '\x61', '\x74', '\x6f', '\x72', '\x5f', '\x72', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x2e', '\x68', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x64', '\x65', '\x66', '\x20', '\x5f', '\x5f', '\x4f', '\x42', '\x4a', '\x43', '\x5f', '\x5f', '\x0d', '\x0a', '\x23', '\x69', '\x6d', '\x70', '\x6f', '\x72', '\x74', '\x20', '\x22', '\x46', '\x6f', '\x75', '\x6e', '\x64', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x2f', '\x46', '\x6f', '\x75', '\x6e', '\x64', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x2e', '\x68', '\x22', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x45', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x54', '\x72', '\x61', '\x6e', '\x73', '\x6c', '\x61', '\x74', '\x6f', '\x72', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x3a', '\x3a', '\x7e', '\x45', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x54', '\x72', '\x61', '\x6e', '\x73', '\x6c', '\x61', '\x74', '\x6f', '\x72', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x28', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x45', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x54', '\x72', '\x61', '\x6e', '\x73', '\x6c', '\x61', '\x74', '\x6f', '\x72', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x3a', '\x3a', '\x72', '\x65', '\x67', '\x69', '\x73', '\x74', '\x65', '\x72', '\x54', '\x72', '\x61', '\x6e', '\x73', '\x6c', '\x61', '\x74', '\x6f', '\x72', '\x28', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x49', '\x45', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x54', '\x72', '\x61', '\x6e', '\x73', '\x6c', '\x61', '\x74', '\x6f', '\x72', '\x2a', '\x20', '\x74', '\x72', '\x61', '\x6e', '\x73', '\x6c', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x74', '\x72', '\x61', '\x6e', '\x73', '\x6c', '\x61', '\x74', '\x6f', '\x72', '\x73', '\x2e', '\x70', '\x75', '\x73', '\x68', '\x5f', '\x62', '\x61', '\x63', '\x6b', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x75', '\x6e', '\x69', '\x71', '\x75', '\x65', '\x5f', '\x70', '\x74', '\x72', '\x3c', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x49', '\x45', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x54', '\x72', '\x61', '\x6e', '\x73', '\x6c', '\x61', '\x74', '\x6f', '\x72', '\x3e', '\x28', '\x20', '\x74', '\x72', '\x61', '\x6e', '\x73', '\x6c', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x29', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x20', '\x21', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x44', '\x49', '\x53', '\x41', '\x42', '\x4c', '\x45', '\x5f', '\x45', '\x58', '\x43', '\x45', '\x50', '\x54', '\x49', '\x4f', '\x4e', '\x53', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x45', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x54', '\x72', '\x61', '\x6e', '\x73', '\x6c', '\x61', '\x74', '\x6f', '\x72', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x3a', '\x3a', '\x74', '\x72', '\x61', '\x6e', '\x73', '\x6c', '\x61', '\x74', '\x65', '\x41', '\x63', '\x74', '\x69', '\x76', '\x65', '\x45', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x72', '\x79', '\x20', '\x7b', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x64', '\x65', '\x66', '\x20', '\x5f', '\x5f', '\x4f', '\x42', '\x4a', '\x43', '\x5f', '\x5f', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x49', '\x6e', '\x20', '\x4f', '\x62', '\x6a', '\x65', '\x63', '\x74', '\x69', '\x76', '\x65', '\x2d', '\x43', '\x20', '\x74', '\x72', '\x79', '\x20', '\x6f', '\x62', '\x6a', '\x65', '\x63', '\x74', '\x69', '\x76', '\x65', '\x2d', '\x63', '\x20', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x20', '\x66', '\x69', '\x72', '\x73', '\x74', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x40', '\x74', '\x72', '\x79', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x74', '\x72', '\x79', '\x54', '\x72', '\x61', '\x6e', '\x73', '\x6c', '\x61', '\x74', '\x6f', '\x72', '\x73', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x40', '\x63', '\x61', '\x74', '\x63', '\x68', '\x20', '\x28', '\x4e', '\x53', '\x45', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x2a', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x44', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x69', '\x66', '\x79', '\x28', '\x20', '\x5b', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x64', '\x65', '\x73', '\x63', '\x72', '\x69', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x5d', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x23', '\x65', '\x6c', '\x73', '\x65', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x43', '\x6f', '\x6d', '\x70', '\x69', '\x6c', '\x69', '\x6e', '\x67', '\x20', '\x61', '\x20', '\x6d', '\x69', '\x78', '\x65', '\x64', '\x20', '\x6d', '\x6f', '\x64', '\x65', '\x20', '\x70', '\x72', '\x6f', '\x6a', '\x65', '\x63', '\x74', '\x20', '\x77', '\x69', '\x74', '\x68', '\x20', '\x4d', '\x53', '\x56', '\x43', '\x20', '\x6d', '\x65', '\x61', '\x6e', '\x73', '\x20', '\x74', '\x68', '\x61', '\x74', '\x20', '\x43', '\x4c', '\x52', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x20', '\x77', '\x69', '\x6c', '\x6c', '\x20', '\x62', '\x65', '\x20', '\x63', '\x61', '\x75', '\x67', '\x68', '\x74', '\x20', '\x69', '\x6e', '\x20', '\x28', '\x2e', '\x2e', '\x2e', '\x29', '\x20', '\x61', '\x73', '\x20', '\x77', '\x65', '\x6c', '\x6c', '\x2e', '\x20', '\x48', '\x6f', '\x77', '\x65', '\x76', '\x65', '\x72', '\x2c', '\x20', '\x74', '\x68', '\x65', '\x73', '\x65', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x64', '\x6f', '\x20', '\x6e', '\x6f', '\x74', '\x20', '\x66', '\x69', '\x6c', '\x6c', '\x2d', '\x69', '\x6e', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x63', '\x75', '\x72', '\x72', '\x65', '\x6e', '\x74', '\x5f', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x61', '\x6e', '\x64', '\x20', '\x74', '\x68', '\x75', '\x73', '\x20', '\x6c', '\x65', '\x61', '\x64', '\x20', '\x74', '\x6f', '\x20', '\x63', '\x72', '\x61', '\x73', '\x68', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x77', '\x68', '\x65', '\x6e', '\x20', '\x61', '\x74', '\x74', '\x65', '\x6d', '\x70', '\x74', '\x69', '\x6e', '\x67', '\x20', '\x72', '\x65', '\x74', '\x68', '\x72', '\x6f', '\x77', '\x2e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x2f', '\x45', '\x48', '\x61', '\x20', '\x73', '\x77', '\x69', '\x74', '\x63', '\x68', '\x20', '\x61', '\x6c', '\x73', '\x6f', '\x20', '\x63', '\x61', '\x75', '\x73', '\x65', '\x73', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x75', '\x72', '\x65', '\x64', '\x20', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x20', '\x74', '\x6f', '\x20', '\x62', '\x65', '\x20', '\x63', '\x61', '\x75', '\x67', '\x68', '\x74', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x68', '\x65', '\x72', '\x65', '\x2c', '\x20', '\x62', '\x75', '\x74', '\x20', '\x74', '\x68', '\x65', '\x79', '\x20', '\x66', '\x69', '\x6c', '\x6c', '\x2d', '\x69', '\x6e', '\x20', '\x63', '\x75', '\x72', '\x72', '\x65', '\x6e', '\x74', '\x5f', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x70', '\x72', '\x6f', '\x70', '\x65', '\x72', '\x6c', '\x79', '\x2c', '\x20', '\x73', '\x6f', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x61', '\x74', '\x20', '\x77', '\x6f', '\x72', '\x73', '\x74', '\x20', '\x74', '\x68', '\x65', '\x20', '\x6f', '\x75', '\x74', '\x70', '\x75', '\x74', '\x20', '\x73', '\x68', '\x6f', '\x75', '\x6c', '\x64', '\x20', '\x62', '\x65', '\x20', '\x61', '\x20', '\x6c', '\x69', '\x74', '\x74', '\x6c', '\x65', '\x20', '\x77', '\x65', '\x69', '\x72', '\x64', '\x2c', '\x20', '\x69', '\x6e', '\x73', '\x74', '\x65', '\x61', '\x64', '\x20', '\x6f', '\x66', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x63', '\x61', '\x75', '\x73', '\x69', '\x6e', '\x67', '\x20', '\x61', '\x20', '\x63', '\x72', '\x61', '\x73', '\x68', '\x2e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x63', '\x75', '\x72', '\x72', '\x65', '\x6e', '\x74', '\x5f', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x28', '\x29', '\x20', '\x3d', '\x3d', '\x20', '\x6e', '\x75', '\x6c', '\x6c', '\x70', '\x74', '\x72', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x22', '\x4e', '\x6f', '\x6e', '\x20', '\x43', '\x2b', '\x2b', '\x20', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x2e', '\x20', '\x50', '\x6f', '\x73', '\x73', '\x69', '\x62', '\x6c', '\x79', '\x20', '\x61', '\x20', '\x43', '\x4c', '\x52', '\x20', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x2e', '\x22', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x74', '\x72', '\x79', '\x54', '\x72', '\x61', '\x6e', '\x73', '\x6c', '\x61', '\x74', '\x6f', '\x72', '\x73', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x28', '\x20', '\x54', '\x65', '\x73', '\x74', '\x46', '\x61', '\x69', '\x6c', '\x75', '\x72', '\x65', '\x45', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x26', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x72', '\x65', '\x74', '\x68', '\x72', '\x6f', '\x77', '\x5f', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x63', '\x75', '\x72', '\x72', '\x65', '\x6e', '\x74', '\x5f', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x28', '\x29', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x26', '\x20', '\x65', '\x78', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x65', '\x78', '\x2e', '\x77', '\x68', '\x61', '\x74', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x26', '\x20', '\x6d', '\x73', '\x67', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6d', '\x73', '\x67', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x28', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x63', '\x68', '\x61', '\x72', '\x2a', '\x20', '\x6d', '\x73', '\x67', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6d', '\x73', '\x67', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x28', '\x2e', '\x2e', '\x2e', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x22', '\x55', '\x6e', '\x6b', '\x6e', '\x6f', '\x77', '\x6e', '\x20', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x22', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x45', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x54', '\x72', '\x61', '\x6e', '\x73', '\x6c', '\x61', '\x74', '\x6f', '\x72', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x3a', '\x3a', '\x74', '\x72', '\x79', '\x54', '\x72', '\x61', '\x6e', '\x73', '\x6c', '\x61', '\x74', '\x6f', '\x72', '\x73', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x6d', '\x5f', '\x74', '\x72', '\x61', '\x6e', '\x73', '\x6c', '\x61', '\x74', '\x6f', '\x72', '\x73', '\x2e', '\x65', '\x6d', '\x70', '\x74', '\x79', '\x28', '\x29', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x72', '\x65', '\x74', '\x68', '\x72', '\x6f', '\x77', '\x5f', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x63', '\x75', '\x72', '\x72', '\x65', '\x6e', '\x74', '\x5f', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x28', '\x29', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x20', '\x65', '\x6c', '\x73', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6d', '\x5f', '\x74', '\x72', '\x61', '\x6e', '\x73', '\x6c', '\x61', '\x74', '\x6f', '\x72', '\x73', '\x5b', '\x30', '\x5d', '\x2d', '\x3e', '\x74', '\x72', '\x61', '\x6e', '\x73', '\x6c', '\x61', '\x74', '\x65', '\x28', '\x6d', '\x5f', '\x74', '\x72', '\x61', '\x6e', '\x73', '\x6c', '\x61', '\x74', '\x6f', '\x72', '\x73', '\x2e', '\x62', '\x65', '\x67', '\x69', '\x6e', '\x28', '\x29', '\x20', '\x2b', '\x20', '\x31', '\x2c', '\x20', '\x6d', '\x5f', '\x74', '\x72', '\x61', '\x6e', '\x73', '\x6c', '\x61', '\x74', '\x6f', '\x72', '\x73', '\x2e', '\x65', '\x6e', '\x64', '\x28', '\x29', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x65', '\x6c', '\x73', '\x65', '\x20', '\x2f', '\x2f', '\x20', '\x5e', '\x5e', '\x20', '\x45', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x20', '\x61', '\x72', '\x65', '\x20', '\x65', '\x6e', '\x61', '\x62', '\x6c', '\x65', '\x64', '\x20', '\x2f', '\x2f', '\x20', '\x45', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x20', '\x61', '\x72', '\x65', '\x20', '\x64', '\x69', '\x73', '\x61', '\x62', '\x6c', '\x65', '\x64', '\x20', '\x76', '\x76', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x45', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x54', '\x72', '\x61', '\x6e', '\x73', '\x6c', '\x61', '\x74', '\x6f', '\x72', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x3a', '\x3a', '\x74', '\x72', '\x61', '\x6e', '\x73', '\x6c', '\x61', '\x74', '\x65', '\x41', '\x63', '\x74', '\x69', '\x76', '\x65', '\x45', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x45', '\x52', '\x52', '\x4f', '\x52', '\x28', '\x22', '\x41', '\x74', '\x74', '\x65', '\x6d', '\x70', '\x74', '\x65', '\x64', '\x20', '\x74', '\x6f', '\x20', '\x74', '\x72', '\x61', '\x6e', '\x73', '\x6c', '\x61', '\x74', '\x65', '\x20', '\x61', '\x63', '\x74', '\x69', '\x76', '\x65', '\x20', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x75', '\x6e', '\x64', '\x65', '\x72', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x44', '\x49', '\x53', '\x41', '\x42', '\x4c', '\x45', '\x5f', '\x45', '\x58', '\x43', '\x45', '\x50', '\x54', '\x49', '\x4f', '\x4e', '\x53', '\x21', '\x22', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x45', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x54', '\x72', '\x61', '\x6e', '\x73', '\x6c', '\x61', '\x74', '\x6f', '\x72', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x3a', '\x3a', '\x74', '\x72', '\x79', '\x54', '\x72', '\x61', '\x6e', '\x73', '\x6c', '\x61', '\x74', '\x6f', '\x72', '\x73', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x45', '\x52', '\x52', '\x4f', '\x52', '\x28', '\x22', '\x41', '\x74', '\x74', '\x65', '\x6d', '\x70', '\x74', '\x65', '\x64', '\x20', '\x74', '\x6f', '\x20', '\x75', '\x73', '\x65', '\x20', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x74', '\x72', '\x61', '\x6e', '\x73', '\x6c', '\x61', '\x74', '\x6f', '\x72', '\x73', '\x20', '\x75', '\x6e', '\x64', '\x65', '\x72', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x44', '\x49', '\x53', '\x41', '\x42', '\x4c', '\x45', '\x5f', '\x45', '\x58', '\x43', '\x45', '\x50', '\x54', '\x49', '\x4f', '\x4e', '\x53', '\x21', '\x22', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x0d', '\x0a', '\x7d', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x5f', '\x74', '\x72', '\x61', '\x6e', '\x73', '\x6c', '\x61', '\x74', '\x6f', '\x72', '\x5f', '\x72', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x2e', '\x63', '\x70', '\x70', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x66', '\x61', '\x74', '\x61', '\x6c', '\x5f', '\x63', '\x6f', '\x6e', '\x64', '\x69', '\x74', '\x69', '\x6f', '\x6e', '\x2e', '\x63', '\x70', '\x70', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x5f', '\x5f', '\x47', '\x4e', '\x55', '\x43', '\x5f', '\x5f', '\x29', '\x0d', '\x0a', '\x23', '\x20', '\x20', '\x20', '\x20', '\x70', '\x72', '\x61', '\x67', '\x6d', '\x61', '\x20', '\x47', '\x43', '\x43', '\x20', '\x64', '\x69', '\x61', '\x67', '\x6e', '\x6f', '\x73', '\x74', '\x69', '\x63', '\x20', '\x70', '\x75', '\x73', '\x68', '\x0d', '\x0a', '\x23', '\x20', '\x20', '\x20', '\x20', '\x70', '\x72', '\x61', '\x67', '\x6d', '\x61', '\x20', '\x47', '\x43', '\x43', '\x20', '\x64', '\x69', '\x61', '\x67', '\x6e', '\x6f', '\x73', '\x74', '\x69', '\x63', '\x20', '\x69', '\x67', '\x6e', '\x6f', '\x72', '\x65', '\x64', '\x20', '\x22', '\x2d', '\x57', '\x6d', '\x69', '\x73', '\x73', '\x69', '\x6e', '\x67', '\x2d', '\x66', '\x69', '\x65', '\x6c', '\x64', '\x2d', '\x69', '\x6e', '\x69', '\x74', '\x69', '\x61', '\x6c', '\x69', '\x7a', '\x65', '\x72', '\x73', '\x22', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x57', '\x49', '\x4e', '\x44', '\x4f', '\x57', '\x53', '\x5f', '\x53', '\x45', '\x48', '\x20', '\x29', '\x20', '\x7c', '\x7c', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x50', '\x4f', '\x53', '\x49', '\x58', '\x5f', '\x53', '\x49', '\x47', '\x4e', '\x41', '\x4c', '\x53', '\x20', '\x29', '\x0d', '\x0a', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x20', '\x74', '\x68', '\x65', '\x20', '\x65', '\x72', '\x72', '\x6f', '\x72', '\x20', '\x63', '\x6f', '\x6e', '\x64', '\x69', '\x74', '\x69', '\x6f', '\x6e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x72', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x46', '\x61', '\x74', '\x61', '\x6c', '\x28', '\x20', '\x63', '\x68', '\x61', '\x72', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x2a', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x6d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x67', '\x65', '\x74', '\x43', '\x75', '\x72', '\x72', '\x65', '\x6e', '\x74', '\x43', '\x6f', '\x6e', '\x74', '\x65', '\x78', '\x74', '\x28', '\x29', '\x2e', '\x67', '\x65', '\x74', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x43', '\x61', '\x70', '\x74', '\x75', '\x72', '\x65', '\x28', '\x29', '\x2d', '\x3e', '\x68', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x46', '\x61', '\x74', '\x61', '\x6c', '\x45', '\x72', '\x72', '\x6f', '\x72', '\x43', '\x6f', '\x6e', '\x64', '\x69', '\x74', '\x69', '\x6f', '\x6e', '\x28', '\x20', '\x6d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x20', '\x2f', '\x2f', '\x20', '\x73', '\x69', '\x67', '\x6e', '\x61', '\x6c', '\x73', '\x2f', '\x53', '\x45', '\x48', '\x20', '\x68', '\x61', '\x6e', '\x64', '\x6c', '\x69', '\x6e', '\x67', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x57', '\x49', '\x4e', '\x44', '\x4f', '\x57', '\x53', '\x5f', '\x53', '\x45', '\x48', '\x20', '\x29', '\x0d', '\x0a', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x53', '\x69', '\x67', '\x6e', '\x61', '\x6c', '\x44', '\x65', '\x66', '\x73', '\x20', '\x7b', '\x20', '\x44', '\x57', '\x4f', '\x52', '\x44', '\x20', '\x69', '\x64', '\x3b', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x63', '\x68', '\x61', '\x72', '\x2a', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x3b', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x54', '\x68', '\x65', '\x72', '\x65', '\x20', '\x69', '\x73', '\x20', '\x6e', '\x6f', '\x20', '\x31', '\x2d', '\x31', '\x20', '\x6d', '\x61', '\x70', '\x70', '\x69', '\x6e', '\x67', '\x20', '\x62', '\x65', '\x74', '\x77', '\x65', '\x65', '\x6e', '\x20', '\x73', '\x69', '\x67', '\x6e', '\x61', '\x6c', '\x73', '\x20', '\x61', '\x6e', '\x64', '\x20', '\x77', '\x69', '\x6e', '\x64', '\x6f', '\x77', '\x73', '\x20', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x2e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x57', '\x69', '\x6e', '\x64', '\x6f', '\x77', '\x73', '\x20', '\x63', '\x61', '\x6e', '\x20', '\x65', '\x61', '\x73', '\x69', '\x6c', '\x79', '\x20', '\x64', '\x69', '\x73', '\x74', '\x69', '\x6e', '\x67', '\x75', '\x69', '\x73', '\x68', '\x20', '\x62', '\x65', '\x74', '\x77', '\x65', '\x65', '\x6e', '\x20', '\x53', '\x4f', '\x20', '\x61', '\x6e', '\x64', '\x20', '\x53', '\x69', '\x67', '\x53', '\x65', '\x67', '\x56', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x62', '\x75', '\x74', '\x20', '\x53', '\x69', '\x67', '\x49', '\x6e', '\x74', '\x2c', '\x20', '\x53', '\x69', '\x67', '\x54', '\x65', '\x72', '\x6d', '\x2c', '\x20', '\x65', '\x74', '\x63', '\x20', '\x61', '\x72', '\x65', '\x20', '\x68', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x64', '\x20', '\x64', '\x69', '\x66', '\x66', '\x65', '\x72', '\x65', '\x6e', '\x74', '\x6c', '\x79', '\x2e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x20', '\x53', '\x69', '\x67', '\x6e', '\x61', '\x6c', '\x44', '\x65', '\x66', '\x73', '\x20', '\x73', '\x69', '\x67', '\x6e', '\x61', '\x6c', '\x44', '\x65', '\x66', '\x73', '\x5b', '\x5d', '\x20', '\x3d', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7b', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x5f', '\x63', '\x61', '\x73', '\x74', '\x3c', '\x44', '\x57', '\x4f', '\x52', '\x44', '\x3e', '\x28', '\x45', '\x58', '\x43', '\x45', '\x50', '\x54', '\x49', '\x4f', '\x4e', '\x5f', '\x49', '\x4c', '\x4c', '\x45', '\x47', '\x41', '\x4c', '\x5f', '\x49', '\x4e', '\x53', '\x54', '\x52', '\x55', '\x43', '\x54', '\x49', '\x4f', '\x4e', '\x29', '\x2c', '\x20', '\x20', '\x22', '\x53', '\x49', '\x47', '\x49', '\x4c', '\x4c', '\x20', '\x2d', '\x20', '\x49', '\x6c', '\x6c', '\x65', '\x67', '\x61', '\x6c', '\x20', '\x69', '\x6e', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x73', '\x69', '\x67', '\x6e', '\x61', '\x6c', '\x22', '\x20', '\x7d', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7b', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x5f', '\x63', '\x61', '\x73', '\x74', '\x3c', '\x44', '\x57', '\x4f', '\x52', '\x44', '\x3e', '\x28', '\x45', '\x58', '\x43', '\x45', '\x50', '\x54', '\x49', '\x4f', '\x4e', '\x5f', '\x53', '\x54', '\x41', '\x43', '\x4b', '\x5f', '\x4f', '\x56', '\x45', '\x52', '\x46', '\x4c', '\x4f', '\x57', '\x29', '\x2c', '\x20', '\x22', '\x53', '\x49', '\x47', '\x53', '\x45', '\x47', '\x56', '\x20', '\x2d', '\x20', '\x53', '\x74', '\x61', '\x63', '\x6b', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x66', '\x6c', '\x6f', '\x77', '\x22', '\x20', '\x7d', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7b', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x5f', '\x63', '\x61', '\x73', '\x74', '\x3c', '\x44', '\x57', '\x4f', '\x52', '\x44', '\x3e', '\x28', '\x45', '\x58', '\x43', '\x45', '\x50', '\x54', '\x49', '\x4f', '\x4e', '\x5f', '\x41', '\x43', '\x43', '\x45', '\x53', '\x53', '\x5f', '\x56', '\x49', '\x4f', '\x4c', '\x41', '\x54', '\x49', '\x4f', '\x4e', '\x29', '\x2c', '\x20', '\x22', '\x53', '\x49', '\x47', '\x53', '\x45', '\x47', '\x56', '\x20', '\x2d', '\x20', '\x53', '\x65', '\x67', '\x6d', '\x65', '\x6e', '\x74', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x76', '\x69', '\x6f', '\x6c', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x73', '\x69', '\x67', '\x6e', '\x61', '\x6c', '\x22', '\x20', '\x7d', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7b', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x5f', '\x63', '\x61', '\x73', '\x74', '\x3c', '\x44', '\x57', '\x4f', '\x52', '\x44', '\x3e', '\x28', '\x45', '\x58', '\x43', '\x45', '\x50', '\x54', '\x49', '\x4f', '\x4e', '\x5f', '\x49', '\x4e', '\x54', '\x5f', '\x44', '\x49', '\x56', '\x49', '\x44', '\x45', '\x5f', '\x42', '\x59', '\x5f', '\x5a', '\x45', '\x52', '\x4f', '\x29', '\x2c', '\x20', '\x22', '\x44', '\x69', '\x76', '\x69', '\x64', '\x65', '\x20', '\x62', '\x79', '\x20', '\x7a', '\x65', '\x72', '\x6f', '\x20', '\x65', '\x72', '\x72', '\x6f', '\x72', '\x22', '\x20', '\x7d', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x4c', '\x4f', '\x4e', '\x47', '\x20', '\x43', '\x41', '\x4c', '\x4c', '\x42', '\x41', '\x43', '\x4b', '\x20', '\x46', '\x61', '\x74', '\x61', '\x6c', '\x43', '\x6f', '\x6e', '\x64', '\x69', '\x74', '\x69', '\x6f', '\x6e', '\x48', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x72', '\x3a', '\x3a', '\x68', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x56', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x65', '\x64', '\x45', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x28', '\x50', '\x45', '\x58', '\x43', '\x45', '\x50', '\x54', '\x49', '\x4f', '\x4e', '\x5f', '\x50', '\x4f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x53', '\x20', '\x45', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x66', '\x6f', '\x72', '\x20', '\x28', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x64', '\x65', '\x66', '\x20', '\x3a', '\x20', '\x73', '\x69', '\x67', '\x6e', '\x61', '\x6c', '\x44', '\x65', '\x66', '\x73', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x45', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x2d', '\x3e', '\x45', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x52', '\x65', '\x63', '\x6f', '\x72', '\x64', '\x2d', '\x3e', '\x45', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x43', '\x6f', '\x64', '\x65', '\x20', '\x3d', '\x3d', '\x20', '\x64', '\x65', '\x66', '\x2e', '\x69', '\x64', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x46', '\x61', '\x74', '\x61', '\x6c', '\x28', '\x64', '\x65', '\x66', '\x2e', '\x6e', '\x61', '\x6d', '\x65', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x49', '\x66', '\x20', '\x69', '\x74', '\x73', '\x20', '\x6e', '\x6f', '\x74', '\x20', '\x61', '\x6e', '\x20', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x77', '\x65', '\x20', '\x63', '\x61', '\x72', '\x65', '\x20', '\x61', '\x62', '\x6f', '\x75', '\x74', '\x2c', '\x20', '\x70', '\x61', '\x73', '\x73', '\x20', '\x69', '\x74', '\x20', '\x61', '\x6c', '\x6f', '\x6e', '\x67', '\x2e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x54', '\x68', '\x69', '\x73', '\x20', '\x73', '\x74', '\x6f', '\x70', '\x73', '\x20', '\x75', '\x73', '\x20', '\x66', '\x72', '\x6f', '\x6d', '\x20', '\x65', '\x61', '\x74', '\x69', '\x6e', '\x67', '\x20', '\x64', '\x65', '\x62', '\x75', '\x67', '\x67', '\x65', '\x72', '\x20', '\x62', '\x72', '\x65', '\x61', '\x6b', '\x73', '\x20', '\x65', '\x74', '\x63', '\x2e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x45', '\x58', '\x43', '\x45', '\x50', '\x54', '\x49', '\x4f', '\x4e', '\x5f', '\x43', '\x4f', '\x4e', '\x54', '\x49', '\x4e', '\x55', '\x45', '\x5f', '\x53', '\x45', '\x41', '\x52', '\x43', '\x48', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x46', '\x61', '\x74', '\x61', '\x6c', '\x43', '\x6f', '\x6e', '\x64', '\x69', '\x74', '\x69', '\x6f', '\x6e', '\x48', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x72', '\x3a', '\x3a', '\x46', '\x61', '\x74', '\x61', '\x6c', '\x43', '\x6f', '\x6e', '\x64', '\x69', '\x74', '\x69', '\x6f', '\x6e', '\x48', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x72', '\x28', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x73', '\x53', '\x65', '\x74', '\x20', '\x3d', '\x20', '\x74', '\x72', '\x75', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x33', '\x32', '\x6b', '\x20', '\x73', '\x65', '\x65', '\x6d', '\x73', '\x20', '\x65', '\x6e', '\x6f', '\x75', '\x67', '\x68', '\x20', '\x66', '\x6f', '\x72', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x74', '\x6f', '\x20', '\x68', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x20', '\x73', '\x74', '\x61', '\x63', '\x6b', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x66', '\x6c', '\x6f', '\x77', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x62', '\x75', '\x74', '\x20', '\x74', '\x68', '\x65', '\x20', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x20', '\x77', '\x61', '\x73', '\x20', '\x66', '\x6f', '\x75', '\x6e', '\x64', '\x20', '\x65', '\x78', '\x70', '\x65', '\x72', '\x69', '\x6d', '\x65', '\x6e', '\x74', '\x61', '\x6c', '\x6c', '\x79', '\x2c', '\x20', '\x73', '\x6f', '\x20', '\x74', '\x68', '\x65', '\x72', '\x65', '\x20', '\x69', '\x73', '\x20', '\x6e', '\x6f', '\x20', '\x73', '\x74', '\x72', '\x6f', '\x6e', '\x67', '\x20', '\x67', '\x75', '\x61', '\x72', '\x61', '\x6e', '\x74', '\x65', '\x65', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x67', '\x75', '\x61', '\x72', '\x61', '\x6e', '\x74', '\x65', '\x65', '\x53', '\x69', '\x7a', '\x65', '\x20', '\x3d', '\x20', '\x33', '\x32', '\x20', '\x2a', '\x20', '\x31', '\x30', '\x32', '\x34', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x48', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x72', '\x48', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x20', '\x3d', '\x20', '\x6e', '\x75', '\x6c', '\x6c', '\x70', '\x74', '\x72', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x65', '\x72', '\x20', '\x61', '\x73', '\x20', '\x66', '\x69', '\x72', '\x73', '\x74', '\x20', '\x68', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x72', '\x20', '\x69', '\x6e', '\x20', '\x63', '\x75', '\x72', '\x72', '\x65', '\x6e', '\x74', '\x20', '\x63', '\x68', '\x61', '\x69', '\x6e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x48', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x72', '\x48', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x20', '\x3d', '\x20', '\x41', '\x64', '\x64', '\x56', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x65', '\x64', '\x45', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x48', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x72', '\x28', '\x31', '\x2c', '\x20', '\x68', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x56', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x65', '\x64', '\x45', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x50', '\x61', '\x73', '\x73', '\x20', '\x69', '\x6e', '\x20', '\x67', '\x75', '\x61', '\x72', '\x61', '\x6e', '\x74', '\x65', '\x65', '\x20', '\x73', '\x69', '\x7a', '\x65', '\x20', '\x74', '\x6f', '\x20', '\x62', '\x65', '\x20', '\x66', '\x69', '\x6c', '\x6c', '\x65', '\x64', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x53', '\x65', '\x74', '\x54', '\x68', '\x72', '\x65', '\x61', '\x64', '\x53', '\x74', '\x61', '\x63', '\x6b', '\x47', '\x75', '\x61', '\x72', '\x61', '\x6e', '\x74', '\x65', '\x65', '\x28', '\x26', '\x67', '\x75', '\x61', '\x72', '\x61', '\x6e', '\x74', '\x65', '\x65', '\x53', '\x69', '\x7a', '\x65', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x46', '\x61', '\x74', '\x61', '\x6c', '\x43', '\x6f', '\x6e', '\x64', '\x69', '\x74', '\x69', '\x6f', '\x6e', '\x48', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x72', '\x3a', '\x3a', '\x72', '\x65', '\x73', '\x65', '\x74', '\x28', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x69', '\x73', '\x53', '\x65', '\x74', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x52', '\x65', '\x6d', '\x6f', '\x76', '\x65', '\x56', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x65', '\x64', '\x45', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x48', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x72', '\x28', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x48', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x72', '\x48', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x53', '\x65', '\x74', '\x54', '\x68', '\x72', '\x65', '\x61', '\x64', '\x53', '\x74', '\x61', '\x63', '\x6b', '\x47', '\x75', '\x61', '\x72', '\x61', '\x6e', '\x74', '\x65', '\x65', '\x28', '\x26', '\x67', '\x75', '\x61', '\x72', '\x61', '\x6e', '\x74', '\x65', '\x65', '\x53', '\x69', '\x7a', '\x65', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x48', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x72', '\x48', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x20', '\x3d', '\x20', '\x6e', '\x75', '\x6c', '\x6c', '\x70', '\x74', '\x72', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x73', '\x53', '\x65', '\x74', '\x20', '\x3d', '\x20', '\x66', '\x61', '\x6c', '\x73', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x46', '\x61', '\x74', '\x61', '\x6c', '\x43', '\x6f', '\x6e', '\x64', '\x69', '\x74', '\x69', '\x6f', '\x6e', '\x48', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x72', '\x3a', '\x3a', '\x7e', '\x46', '\x61', '\x74', '\x61', '\x6c', '\x43', '\x6f', '\x6e', '\x64', '\x69', '\x74', '\x69', '\x6f', '\x6e', '\x48', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x72', '\x28', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x73', '\x65', '\x74', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x46', '\x61', '\x74', '\x61', '\x6c', '\x43', '\x6f', '\x6e', '\x64', '\x69', '\x74', '\x69', '\x6f', '\x6e', '\x48', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x72', '\x3a', '\x3a', '\x69', '\x73', '\x53', '\x65', '\x74', '\x20', '\x3d', '\x20', '\x66', '\x61', '\x6c', '\x73', '\x65', '\x3b', '\x0d', '\x0a', '\x55', '\x4c', '\x4f', '\x4e', '\x47', '\x20', '\x46', '\x61', '\x74', '\x61', '\x6c', '\x43', '\x6f', '\x6e', '\x64', '\x69', '\x74', '\x69', '\x6f', '\x6e', '\x48', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x72', '\x3a', '\x3a', '\x67', '\x75', '\x61', '\x72', '\x61', '\x6e', '\x74', '\x65', '\x65', '\x53', '\x69', '\x7a', '\x65', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x50', '\x56', '\x4f', '\x49', '\x44', '\x20', '\x46', '\x61', '\x74', '\x61', '\x6c', '\x43', '\x6f', '\x6e', '\x64', '\x69', '\x74', '\x69', '\x6f', '\x6e', '\x48', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x72', '\x3a', '\x3a', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x48', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x72', '\x48', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x20', '\x3d', '\x20', '\x6e', '\x75', '\x6c', '\x6c', '\x70', '\x74', '\x72', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x65', '\x6c', '\x69', '\x66', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x50', '\x4f', '\x53', '\x49', '\x58', '\x5f', '\x53', '\x49', '\x47', '\x4e', '\x41', '\x4c', '\x53', '\x20', '\x29', '\x0d', '\x0a', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x53', '\x69', '\x67', '\x6e', '\x61', '\x6c', '\x44', '\x65', '\x66', '\x73', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x6e', '\x74', '\x20', '\x69', '\x64', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x63', '\x68', '\x61', '\x72', '\x2a', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x33', '\x32', '\x6b', '\x62', '\x20', '\x66', '\x6f', '\x72', '\x20', '\x74', '\x68', '\x65', '\x20', '\x61', '\x6c', '\x74', '\x65', '\x72', '\x6e', '\x61', '\x74', '\x65', '\x20', '\x73', '\x74', '\x61', '\x63', '\x6b', '\x20', '\x73', '\x65', '\x65', '\x6d', '\x73', '\x20', '\x74', '\x6f', '\x20', '\x62', '\x65', '\x20', '\x73', '\x75', '\x66', '\x66', '\x69', '\x63', '\x69', '\x65', '\x6e', '\x74', '\x2e', '\x20', '\x48', '\x6f', '\x77', '\x65', '\x76', '\x65', '\x72', '\x2c', '\x20', '\x74', '\x68', '\x69', '\x73', '\x20', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x69', '\x73', '\x20', '\x65', '\x78', '\x70', '\x65', '\x72', '\x69', '\x6d', '\x65', '\x6e', '\x74', '\x61', '\x6c', '\x6c', '\x79', '\x20', '\x64', '\x65', '\x74', '\x65', '\x72', '\x6d', '\x69', '\x6e', '\x65', '\x64', '\x2c', '\x20', '\x73', '\x6f', '\x20', '\x74', '\x68', '\x61', '\x74', '\x27', '\x73', '\x20', '\x6e', '\x6f', '\x74', '\x20', '\x67', '\x75', '\x61', '\x72', '\x61', '\x6e', '\x74', '\x65', '\x65', '\x64', '\x2e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x65', '\x78', '\x70', '\x72', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x69', '\x7a', '\x65', '\x5f', '\x74', '\x20', '\x73', '\x69', '\x67', '\x53', '\x74', '\x61', '\x63', '\x6b', '\x53', '\x69', '\x7a', '\x65', '\x20', '\x3d', '\x20', '\x33', '\x32', '\x37', '\x36', '\x38', '\x20', '\x3e', '\x3d', '\x20', '\x4d', '\x49', '\x4e', '\x53', '\x49', '\x47', '\x53', '\x54', '\x4b', '\x53', '\x5a', '\x20', '\x3f', '\x20', '\x33', '\x32', '\x37', '\x36', '\x38', '\x20', '\x3a', '\x20', '\x4d', '\x49', '\x4e', '\x53', '\x49', '\x47', '\x53', '\x54', '\x4b', '\x53', '\x5a', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x20', '\x53', '\x69', '\x67', '\x6e', '\x61', '\x6c', '\x44', '\x65', '\x66', '\x73', '\x20', '\x73', '\x69', '\x67', '\x6e', '\x61', '\x6c', '\x44', '\x65', '\x66', '\x73', '\x5b', '\x5d', '\x20', '\x3d', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7b', '\x20', '\x53', '\x49', '\x47', '\x49', '\x4e', '\x54', '\x2c', '\x20', '\x20', '\x22', '\x53', '\x49', '\x47', '\x49', '\x4e', '\x54', '\x20', '\x2d', '\x20', '\x54', '\x65', '\x72', '\x6d', '\x69', '\x6e', '\x61', '\x6c', '\x20', '\x69', '\x6e', '\x74', '\x65', '\x72', '\x72', '\x75', '\x70', '\x74', '\x20', '\x73', '\x69', '\x67', '\x6e', '\x61', '\x6c', '\x22', '\x20', '\x7d', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7b', '\x20', '\x53', '\x49', '\x47', '\x49', '\x4c', '\x4c', '\x2c', '\x20', '\x20', '\x22', '\x53', '\x49', '\x47', '\x49', '\x4c', '\x4c', '\x20', '\x2d', '\x20', '\x49', '\x6c', '\x6c', '\x65', '\x67', '\x61', '\x6c', '\x20', '\x69', '\x6e', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x73', '\x69', '\x67', '\x6e', '\x61', '\x6c', '\x22', '\x20', '\x7d', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7b', '\x20', '\x53', '\x49', '\x47', '\x46', '\x50', '\x45', '\x2c', '\x20', '\x20', '\x22', '\x53', '\x49', '\x47', '\x46', '\x50', '\x45', '\x20', '\x2d', '\x20', '\x46', '\x6c', '\x6f', '\x61', '\x74', '\x69', '\x6e', '\x67', '\x20', '\x70', '\x6f', '\x69', '\x6e', '\x74', '\x20', '\x65', '\x72', '\x72', '\x6f', '\x72', '\x20', '\x73', '\x69', '\x67', '\x6e', '\x61', '\x6c', '\x22', '\x20', '\x7d', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7b', '\x20', '\x53', '\x49', '\x47', '\x53', '\x45', '\x47', '\x56', '\x2c', '\x20', '\x22', '\x53', '\x49', '\x47', '\x53', '\x45', '\x47', '\x56', '\x20', '\x2d', '\x20', '\x53', '\x65', '\x67', '\x6d', '\x65', '\x6e', '\x74', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x76', '\x69', '\x6f', '\x6c', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x73', '\x69', '\x67', '\x6e', '\x61', '\x6c', '\x22', '\x20', '\x7d', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7b', '\x20', '\x53', '\x49', '\x47', '\x54', '\x45', '\x52', '\x4d', '\x2c', '\x20', '\x22', '\x53', '\x49', '\x47', '\x54', '\x45', '\x52', '\x4d', '\x20', '\x2d', '\x20', '\x54', '\x65', '\x72', '\x6d', '\x69', '\x6e', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x72', '\x65', '\x71', '\x75', '\x65', '\x73', '\x74', '\x20', '\x73', '\x69', '\x67', '\x6e', '\x61', '\x6c', '\x22', '\x20', '\x7d', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7b', '\x20', '\x53', '\x49', '\x47', '\x41', '\x42', '\x52', '\x54', '\x2c', '\x20', '\x22', '\x53', '\x49', '\x47', '\x41', '\x42', '\x52', '\x54', '\x20', '\x2d', '\x20', '\x41', '\x62', '\x6f', '\x72', '\x74', '\x20', '\x28', '\x61', '\x62', '\x6e', '\x6f', '\x72', '\x6d', '\x61', '\x6c', '\x20', '\x74', '\x65', '\x72', '\x6d', '\x69', '\x6e', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x29', '\x20', '\x73', '\x69', '\x67', '\x6e', '\x61', '\x6c', '\x22', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x46', '\x61', '\x74', '\x61', '\x6c', '\x43', '\x6f', '\x6e', '\x64', '\x69', '\x74', '\x69', '\x6f', '\x6e', '\x48', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x72', '\x3a', '\x3a', '\x68', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x53', '\x69', '\x67', '\x6e', '\x61', '\x6c', '\x28', '\x20', '\x69', '\x6e', '\x74', '\x20', '\x73', '\x69', '\x67', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x68', '\x61', '\x72', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x2a', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x3d', '\x20', '\x22', '\x3c', '\x75', '\x6e', '\x6b', '\x6e', '\x6f', '\x77', '\x6e', '\x20', '\x73', '\x69', '\x67', '\x6e', '\x61', '\x6c', '\x3e', '\x22', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x66', '\x6f', '\x72', '\x20', '\x28', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x64', '\x65', '\x66', '\x20', '\x3a', '\x20', '\x73', '\x69', '\x67', '\x6e', '\x61', '\x6c', '\x44', '\x65', '\x66', '\x73', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x73', '\x69', '\x67', '\x20', '\x3d', '\x3d', '\x20', '\x64', '\x65', '\x66', '\x2e', '\x69', '\x64', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x3d', '\x20', '\x64', '\x65', '\x66', '\x2e', '\x6e', '\x61', '\x6d', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x72', '\x65', '\x61', '\x6b', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x73', '\x65', '\x74', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x46', '\x61', '\x74', '\x61', '\x6c', '\x28', '\x6e', '\x61', '\x6d', '\x65', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x61', '\x69', '\x73', '\x65', '\x28', '\x20', '\x73', '\x69', '\x67', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x46', '\x61', '\x74', '\x61', '\x6c', '\x43', '\x6f', '\x6e', '\x64', '\x69', '\x74', '\x69', '\x6f', '\x6e', '\x48', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x72', '\x3a', '\x3a', '\x46', '\x61', '\x74', '\x61', '\x6c', '\x43', '\x6f', '\x6e', '\x64', '\x69', '\x74', '\x69', '\x6f', '\x6e', '\x48', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x72', '\x28', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x73', '\x53', '\x65', '\x74', '\x20', '\x3d', '\x20', '\x74', '\x72', '\x75', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x63', '\x6b', '\x5f', '\x74', '\x20', '\x73', '\x69', '\x67', '\x53', '\x74', '\x61', '\x63', '\x6b', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x69', '\x67', '\x53', '\x74', '\x61', '\x63', '\x6b', '\x2e', '\x73', '\x73', '\x5f', '\x73', '\x70', '\x20', '\x3d', '\x20', '\x61', '\x6c', '\x74', '\x53', '\x74', '\x61', '\x63', '\x6b', '\x4d', '\x65', '\x6d', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x69', '\x67', '\x53', '\x74', '\x61', '\x63', '\x6b', '\x2e', '\x73', '\x73', '\x5f', '\x73', '\x69', '\x7a', '\x65', '\x20', '\x3d', '\x20', '\x73', '\x69', '\x67', '\x53', '\x74', '\x61', '\x63', '\x6b', '\x53', '\x69', '\x7a', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x69', '\x67', '\x53', '\x74', '\x61', '\x63', '\x6b', '\x2e', '\x73', '\x73', '\x5f', '\x66', '\x6c', '\x61', '\x67', '\x73', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x69', '\x67', '\x61', '\x6c', '\x74', '\x73', '\x74', '\x61', '\x63', '\x6b', '\x28', '\x26', '\x73', '\x69', '\x67', '\x53', '\x74', '\x61', '\x63', '\x6b', '\x2c', '\x20', '\x26', '\x6f', '\x6c', '\x64', '\x53', '\x69', '\x67', '\x53', '\x74', '\x61', '\x63', '\x6b', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x73', '\x69', '\x67', '\x61', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x73', '\x61', '\x20', '\x3d', '\x20', '\x7b', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x61', '\x2e', '\x73', '\x61', '\x5f', '\x68', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x72', '\x20', '\x3d', '\x20', '\x68', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x53', '\x69', '\x67', '\x6e', '\x61', '\x6c', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x61', '\x2e', '\x73', '\x61', '\x5f', '\x66', '\x6c', '\x61', '\x67', '\x73', '\x20', '\x3d', '\x20', '\x53', '\x41', '\x5f', '\x4f', '\x4e', '\x53', '\x54', '\x41', '\x43', '\x4b', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x66', '\x6f', '\x72', '\x20', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x69', '\x7a', '\x65', '\x5f', '\x74', '\x20', '\x69', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x20', '\x69', '\x20', '\x3c', '\x20', '\x73', '\x69', '\x7a', '\x65', '\x6f', '\x66', '\x28', '\x73', '\x69', '\x67', '\x6e', '\x61', '\x6c', '\x44', '\x65', '\x66', '\x73', '\x29', '\x2f', '\x73', '\x69', '\x7a', '\x65', '\x6f', '\x66', '\x28', '\x53', '\x69', '\x67', '\x6e', '\x61', '\x6c', '\x44', '\x65', '\x66', '\x73', '\x29', '\x3b', '\x20', '\x2b', '\x2b', '\x69', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x69', '\x67', '\x61', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x28', '\x73', '\x69', '\x67', '\x6e', '\x61', '\x6c', '\x44', '\x65', '\x66', '\x73', '\x5b', '\x69', '\x5d', '\x2e', '\x69', '\x64', '\x2c', '\x20', '\x26', '\x73', '\x61', '\x2c', '\x20', '\x26', '\x6f', '\x6c', '\x64', '\x53', '\x69', '\x67', '\x41', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x5b', '\x69', '\x5d', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x46', '\x61', '\x74', '\x61', '\x6c', '\x43', '\x6f', '\x6e', '\x64', '\x69', '\x74', '\x69', '\x6f', '\x6e', '\x48', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x72', '\x3a', '\x3a', '\x7e', '\x46', '\x61', '\x74', '\x61', '\x6c', '\x43', '\x6f', '\x6e', '\x64', '\x69', '\x74', '\x69', '\x6f', '\x6e', '\x48', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x72', '\x28', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x73', '\x65', '\x74', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x46', '\x61', '\x74', '\x61', '\x6c', '\x43', '\x6f', '\x6e', '\x64', '\x69', '\x74', '\x69', '\x6f', '\x6e', '\x48', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x72', '\x3a', '\x3a', '\x72', '\x65', '\x73', '\x65', '\x74', '\x28', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x69', '\x73', '\x53', '\x65', '\x74', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x53', '\x65', '\x74', '\x20', '\x73', '\x69', '\x67', '\x6e', '\x61', '\x6c', '\x73', '\x20', '\x62', '\x61', '\x63', '\x6b', '\x20', '\x74', '\x6f', '\x20', '\x70', '\x72', '\x65', '\x76', '\x69', '\x6f', '\x75', '\x73', '\x20', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x73', '\x20', '\x2d', '\x2d', '\x20', '\x68', '\x6f', '\x70', '\x65', '\x66', '\x75', '\x6c', '\x6c', '\x79', '\x20', '\x6e', '\x6f', '\x62', '\x6f', '\x64', '\x79', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x77', '\x72', '\x6f', '\x74', '\x65', '\x20', '\x74', '\x68', '\x65', '\x6d', '\x20', '\x69', '\x6e', '\x20', '\x74', '\x68', '\x65', '\x20', '\x6d', '\x65', '\x61', '\x6e', '\x74', '\x69', '\x6d', '\x65', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x66', '\x6f', '\x72', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x69', '\x7a', '\x65', '\x5f', '\x74', '\x20', '\x69', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x20', '\x69', '\x20', '\x3c', '\x20', '\x73', '\x69', '\x7a', '\x65', '\x6f', '\x66', '\x28', '\x73', '\x69', '\x67', '\x6e', '\x61', '\x6c', '\x44', '\x65', '\x66', '\x73', '\x29', '\x2f', '\x73', '\x69', '\x7a', '\x65', '\x6f', '\x66', '\x28', '\x53', '\x69', '\x67', '\x6e', '\x61', '\x6c', '\x44', '\x65', '\x66', '\x73', '\x29', '\x3b', '\x20', '\x2b', '\x2b', '\x69', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x69', '\x67', '\x61', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x28', '\x73', '\x69', '\x67', '\x6e', '\x61', '\x6c', '\x44', '\x65', '\x66', '\x73', '\x5b', '\x69', '\x5d', '\x2e', '\x69', '\x64', '\x2c', '\x20', '\x26', '\x6f', '\x6c', '\x64', '\x53', '\x69', '\x67', '\x41', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x5b', '\x69', '\x5d', '\x2c', '\x20', '\x6e', '\x75', '\x6c', '\x6c', '\x70', '\x74', '\x72', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x52', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x74', '\x68', '\x65', '\x20', '\x6f', '\x6c', '\x64', '\x20', '\x73', '\x74', '\x61', '\x63', '\x6b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x69', '\x67', '\x61', '\x6c', '\x74', '\x73', '\x74', '\x61', '\x63', '\x6b', '\x28', '\x26', '\x6f', '\x6c', '\x64', '\x53', '\x69', '\x67', '\x53', '\x74', '\x61', '\x63', '\x6b', '\x2c', '\x20', '\x6e', '\x75', '\x6c', '\x6c', '\x70', '\x74', '\x72', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x73', '\x53', '\x65', '\x74', '\x20', '\x3d', '\x20', '\x66', '\x61', '\x6c', '\x73', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x46', '\x61', '\x74', '\x61', '\x6c', '\x43', '\x6f', '\x6e', '\x64', '\x69', '\x74', '\x69', '\x6f', '\x6e', '\x48', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x72', '\x3a', '\x3a', '\x69', '\x73', '\x53', '\x65', '\x74', '\x20', '\x3d', '\x20', '\x66', '\x61', '\x6c', '\x73', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x73', '\x69', '\x67', '\x61', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x46', '\x61', '\x74', '\x61', '\x6c', '\x43', '\x6f', '\x6e', '\x64', '\x69', '\x74', '\x69', '\x6f', '\x6e', '\x48', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x72', '\x3a', '\x3a', '\x6f', '\x6c', '\x64', '\x53', '\x69', '\x67', '\x41', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x5b', '\x73', '\x69', '\x7a', '\x65', '\x6f', '\x66', '\x28', '\x73', '\x69', '\x67', '\x6e', '\x61', '\x6c', '\x44', '\x65', '\x66', '\x73', '\x29', '\x2f', '\x73', '\x69', '\x7a', '\x65', '\x6f', '\x66', '\x28', '\x53', '\x69', '\x67', '\x6e', '\x61', '\x6c', '\x44', '\x65', '\x66', '\x73', '\x29', '\x5d', '\x20', '\x3d', '\x20', '\x7b', '\x7d', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x63', '\x6b', '\x5f', '\x74', '\x20', '\x46', '\x61', '\x74', '\x61', '\x6c', '\x43', '\x6f', '\x6e', '\x64', '\x69', '\x74', '\x69', '\x6f', '\x6e', '\x48', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x72', '\x3a', '\x3a', '\x6f', '\x6c', '\x64', '\x53', '\x69', '\x67', '\x53', '\x74', '\x61', '\x63', '\x6b', '\x20', '\x3d', '\x20', '\x7b', '\x7d', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x63', '\x68', '\x61', '\x72', '\x20', '\x46', '\x61', '\x74', '\x61', '\x6c', '\x43', '\x6f', '\x6e', '\x64', '\x69', '\x74', '\x69', '\x6f', '\x6e', '\x48', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x72', '\x3a', '\x3a', '\x61', '\x6c', '\x74', '\x53', '\x74', '\x61', '\x63', '\x6b', '\x4d', '\x65', '\x6d', '\x5b', '\x73', '\x69', '\x67', '\x53', '\x74', '\x61', '\x63', '\x6b', '\x53', '\x69', '\x7a', '\x65', '\x5d', '\x20', '\x3d', '\x20', '\x7b', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x65', '\x6c', '\x73', '\x65', '\x0d', '\x0a', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x46', '\x61', '\x74', '\x61', '\x6c', '\x43', '\x6f', '\x6e', '\x64', '\x69', '\x74', '\x69', '\x6f', '\x6e', '\x48', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x72', '\x3a', '\x3a', '\x72', '\x65', '\x73', '\x65', '\x74', '\x28', '\x29', '\x20', '\x7b', '\x7d', '\x0d', '\x0a', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x20', '\x2f', '\x2f', '\x20', '\x73', '\x69', '\x67', '\x6e', '\x61', '\x6c', '\x73', '\x2f', '\x53', '\x45', '\x48', '\x20', '\x68', '\x61', '\x6e', '\x64', '\x6c', '\x69', '\x6e', '\x67', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x5f', '\x5f', '\x47', '\x4e', '\x55', '\x43', '\x5f', '\x5f', '\x29', '\x0d', '\x0a', '\x23', '\x20', '\x20', '\x20', '\x20', '\x70', '\x72', '\x61', '\x67', '\x6d', '\x61', '\x20', '\x47', '\x43', '\x43', '\x20', '\x64', '\x69', '\x61', '\x67', '\x6e', '\x6f', '\x73', '\x74', '\x69', '\x63', '\x20', '\x70', '\x6f', '\x70', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x66', '\x61', '\x74', '\x61', '\x6c', '\x5f', '\x63', '\x6f', '\x6e', '\x64', '\x69', '\x74', '\x69', '\x6f', '\x6e', '\x2e', '\x63', '\x70', '\x70', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x67', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x73', '\x2e', '\x63', '\x70', '\x70', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x6c', '\x69', '\x6d', '\x69', '\x74', '\x73', '\x3e', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x73', '\x65', '\x74', '\x3e', '\x0d', '\x0a', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x49', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x3a', '\x3a', '\x7e', '\x49', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x28', '\x29', '\x20', '\x7b', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x63', '\x68', '\x61', '\x72', '\x2a', '\x20', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x45', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x3a', '\x3a', '\x77', '\x68', '\x61', '\x74', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x6e', '\x6f', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6d', '\x5f', '\x6d', '\x73', '\x67', '\x3b', '\x0d', '\x0a', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x73', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x55', '\x6e', '\x74', '\x79', '\x70', '\x65', '\x64', '\x42', '\x61', '\x73', '\x65', '\x3a', '\x3a', '\x7e', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x55', '\x6e', '\x74', '\x79', '\x70', '\x65', '\x64', '\x42', '\x61', '\x73', '\x65', '\x28', '\x29', '\x20', '\x7b', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x61', '\x63', '\x71', '\x75', '\x69', '\x72', '\x65', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x28', '\x20', '\x53', '\x6f', '\x75', '\x72', '\x63', '\x65', '\x4c', '\x69', '\x6e', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6c', '\x69', '\x6e', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x29', '\x20', '\x2d', '\x3e', '\x20', '\x49', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x26', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x67', '\x65', '\x74', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x43', '\x61', '\x70', '\x74', '\x75', '\x72', '\x65', '\x28', '\x29', '\x2e', '\x61', '\x63', '\x71', '\x75', '\x69', '\x72', '\x65', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x28', '\x20', '\x6c', '\x69', '\x6e', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x73', '\x0d', '\x0a', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x67', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x73', '\x2e', '\x63', '\x70', '\x70', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x69', '\x6e', '\x74', '\x65', '\x72', '\x66', '\x61', '\x63', '\x65', '\x73', '\x5f', '\x63', '\x61', '\x70', '\x74', '\x75', '\x72', '\x65', '\x2e', '\x63', '\x70', '\x70', '\x0d', '\x0a', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x49', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x43', '\x61', '\x70', '\x74', '\x75', '\x72', '\x65', '\x3a', '\x3a', '\x7e', '\x49', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x43', '\x61', '\x70', '\x74', '\x75', '\x72', '\x65', '\x28', '\x29', '\x20', '\x3d', '\x20', '\x64', '\x65', '\x66', '\x61', '\x75', '\x6c', '\x74', '\x3b', '\x0d', '\x0a', '\x7d', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x69', '\x6e', '\x74', '\x65', '\x72', '\x66', '\x61', '\x63', '\x65', '\x73', '\x5f', '\x63', '\x61', '\x70', '\x74', '\x75', '\x72', '\x65', '\x2e', '\x63', '\x70', '\x70', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x69', '\x6e', '\x74', '\x65', '\x72', '\x66', '\x61', '\x63', '\x65', '\x73', '\x5f', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x2e', '\x63', '\x70', '\x70', '\x0d', '\x0a', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x49', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x3a', '\x3a', '\x7e', '\x49', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x28', '\x29', '\x20', '\x3d', '\x20', '\x64', '\x65', '\x66', '\x61', '\x75', '\x6c', '\x74', '\x3b', '\x0d', '\x0a', '\x7d', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x69', '\x6e', '\x74', '\x65', '\x72', '\x66', '\x61', '\x63', '\x65', '\x73', '\x5f', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x2e', '\x63', '\x70', '\x70', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x69', '\x6e', '\x74', '\x65', '\x72', '\x66', '\x61', '\x63', '\x65', '\x73', '\x5f', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x2e', '\x63', '\x70', '\x70', '\x0d', '\x0a', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x49', '\x45', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x54', '\x72', '\x61', '\x6e', '\x73', '\x6c', '\x61', '\x74', '\x6f', '\x72', '\x3a', '\x3a', '\x7e', '\x49', '\x45', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x54', '\x72', '\x61', '\x6e', '\x73', '\x6c', '\x61', '\x74', '\x6f', '\x72', '\x28', '\x29', '\x20', '\x3d', '\x20', '\x64', '\x65', '\x66', '\x61', '\x75', '\x6c', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x49', '\x45', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x54', '\x72', '\x61', '\x6e', '\x73', '\x6c', '\x61', '\x74', '\x6f', '\x72', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x3a', '\x3a', '\x7e', '\x49', '\x45', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x54', '\x72', '\x61', '\x6e', '\x73', '\x6c', '\x61', '\x74', '\x6f', '\x72', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x28', '\x29', '\x20', '\x3d', '\x20', '\x64', '\x65', '\x66', '\x61', '\x75', '\x6c', '\x74', '\x3b', '\x0d', '\x0a', '\x7d', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x69', '\x6e', '\x74', '\x65', '\x72', '\x66', '\x61', '\x63', '\x65', '\x73', '\x5f', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x2e', '\x63', '\x70', '\x70', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x69', '\x6e', '\x74', '\x65', '\x72', '\x66', '\x61', '\x63', '\x65', '\x73', '\x5f', '\x72', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x5f', '\x68', '\x75', '\x62', '\x2e', '\x63', '\x70', '\x70', '\x0d', '\x0a', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x49', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x48', '\x75', '\x62', '\x3a', '\x3a', '\x7e', '\x49', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x48', '\x75', '\x62', '\x28', '\x29', '\x20', '\x3d', '\x20', '\x64', '\x65', '\x66', '\x61', '\x75', '\x6c', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x49', '\x4d', '\x75', '\x74', '\x61', '\x62', '\x6c', '\x65', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x48', '\x75', '\x62', '\x3a', '\x3a', '\x7e', '\x49', '\x4d', '\x75', '\x74', '\x61', '\x62', '\x6c', '\x65', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x48', '\x75', '\x62', '\x28', '\x29', '\x20', '\x3d', '\x20', '\x64', '\x65', '\x66', '\x61', '\x75', '\x6c', '\x74', '\x3b', '\x0d', '\x0a', '\x7d', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x69', '\x6e', '\x74', '\x65', '\x72', '\x66', '\x61', '\x63', '\x65', '\x73', '\x5f', '\x72', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x5f', '\x68', '\x75', '\x62', '\x2e', '\x63', '\x70', '\x70', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x69', '\x6e', '\x74', '\x65', '\x72', '\x66', '\x61', '\x63', '\x65', '\x73', '\x5f', '\x72', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x2e', '\x63', '\x70', '\x70', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x72', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x5f', '\x6c', '\x69', '\x73', '\x74', '\x65', '\x6e', '\x69', '\x6e', '\x67', '\x2e', '\x68', '\x0d', '\x0a', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x20', '\x4c', '\x69', '\x73', '\x74', '\x65', '\x6e', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x20', '\x3a', '\x20', '\x70', '\x75', '\x62', '\x6c', '\x69', '\x63', '\x20', '\x49', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x75', '\x73', '\x69', '\x6e', '\x67', '\x20', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x73', '\x20', '\x3d', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x49', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x50', '\x74', '\x72', '\x3e', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x73', '\x20', '\x6d', '\x5f', '\x6c', '\x69', '\x73', '\x74', '\x65', '\x6e', '\x65', '\x72', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x49', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x50', '\x74', '\x72', '\x20', '\x6d', '\x5f', '\x72', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x20', '\x3d', '\x20', '\x6e', '\x75', '\x6c', '\x6c', '\x70', '\x74', '\x72', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x50', '\x72', '\x65', '\x66', '\x65', '\x72', '\x65', '\x6e', '\x63', '\x65', '\x73', '\x20', '\x6d', '\x5f', '\x70', '\x72', '\x65', '\x66', '\x65', '\x72', '\x65', '\x6e', '\x63', '\x65', '\x73', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x70', '\x75', '\x62', '\x6c', '\x69', '\x63', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x4c', '\x69', '\x73', '\x74', '\x65', '\x6e', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x61', '\x64', '\x64', '\x4c', '\x69', '\x73', '\x74', '\x65', '\x6e', '\x65', '\x72', '\x28', '\x20', '\x49', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x50', '\x74', '\x72', '\x26', '\x26', '\x20', '\x6c', '\x69', '\x73', '\x74', '\x65', '\x6e', '\x65', '\x72', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x61', '\x64', '\x64', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x28', '\x20', '\x49', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x50', '\x74', '\x72', '\x26', '\x26', '\x20', '\x72', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x70', '\x75', '\x62', '\x6c', '\x69', '\x63', '\x3a', '\x20', '\x2f', '\x2f', '\x20', '\x49', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x50', '\x72', '\x65', '\x66', '\x65', '\x72', '\x65', '\x6e', '\x63', '\x65', '\x73', '\x20', '\x67', '\x65', '\x74', '\x50', '\x72', '\x65', '\x66', '\x65', '\x72', '\x65', '\x6e', '\x63', '\x65', '\x73', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x6e', '\x6f', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x69', '\x6e', '\x67', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x73', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x73', '\x70', '\x65', '\x63', '\x20', '\x29', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x72', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x49', '\x6e', '\x76', '\x61', '\x6c', '\x69', '\x64', '\x41', '\x72', '\x67', '\x75', '\x6d', '\x65', '\x6e', '\x74', '\x73', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x61', '\x72', '\x67', '\x29', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x65', '\x74', '\x3c', '\x56', '\x65', '\x72', '\x62', '\x6f', '\x73', '\x69', '\x74', '\x79', '\x3e', '\x20', '\x67', '\x65', '\x74', '\x53', '\x75', '\x70', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x64', '\x56', '\x65', '\x72', '\x62', '\x6f', '\x73', '\x69', '\x74', '\x69', '\x65', '\x73', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x45', '\x4e', '\x41', '\x42', '\x4c', '\x45', '\x5f', '\x42', '\x45', '\x4e', '\x43', '\x48', '\x4d', '\x41', '\x52', '\x4b', '\x49', '\x4e', '\x47', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x62', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x50', '\x72', '\x65', '\x70', '\x61', '\x72', '\x69', '\x6e', '\x67', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x29', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x62', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x53', '\x74', '\x61', '\x72', '\x74', '\x69', '\x6e', '\x67', '\x28', '\x20', '\x42', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x62', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x29', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x62', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x45', '\x6e', '\x64', '\x65', '\x64', '\x28', '\x20', '\x42', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x53', '\x74', '\x61', '\x74', '\x73', '\x3c', '\x3e', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x62', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x53', '\x74', '\x61', '\x74', '\x73', '\x20', '\x29', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x62', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x46', '\x61', '\x69', '\x6c', '\x65', '\x64', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x29', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x3b', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x20', '\x2f', '\x2f', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x45', '\x4e', '\x41', '\x42', '\x4c', '\x45', '\x5f', '\x42', '\x45', '\x4e', '\x43', '\x48', '\x4d', '\x41', '\x52', '\x4b', '\x49', '\x4e', '\x47', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x74', '\x65', '\x73', '\x74', '\x52', '\x75', '\x6e', '\x53', '\x74', '\x61', '\x72', '\x74', '\x69', '\x6e', '\x67', '\x28', '\x20', '\x54', '\x65', '\x73', '\x74', '\x52', '\x75', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x74', '\x65', '\x73', '\x74', '\x52', '\x75', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x29', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x74', '\x65', '\x73', '\x74', '\x47', '\x72', '\x6f', '\x75', '\x70', '\x53', '\x74', '\x61', '\x72', '\x74', '\x69', '\x6e', '\x67', '\x28', '\x20', '\x47', '\x72', '\x6f', '\x75', '\x70', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x67', '\x72', '\x6f', '\x75', '\x70', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x29', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x53', '\x74', '\x61', '\x72', '\x74', '\x69', '\x6e', '\x67', '\x28', '\x20', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x74', '\x65', '\x73', '\x74', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x29', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x53', '\x74', '\x61', '\x72', '\x74', '\x69', '\x6e', '\x67', '\x28', '\x20', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x29', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x53', '\x74', '\x61', '\x72', '\x74', '\x69', '\x6e', '\x67', '\x28', '\x20', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x29', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x54', '\x68', '\x65', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x20', '\x69', '\x6e', '\x64', '\x69', '\x63', '\x61', '\x74', '\x65', '\x73', '\x20', '\x69', '\x66', '\x20', '\x74', '\x68', '\x65', '\x20', '\x6d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x73', '\x20', '\x62', '\x75', '\x66', '\x66', '\x65', '\x72', '\x20', '\x73', '\x68', '\x6f', '\x75', '\x6c', '\x64', '\x20', '\x62', '\x65', '\x20', '\x63', '\x6c', '\x65', '\x61', '\x72', '\x65', '\x64', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x45', '\x6e', '\x64', '\x65', '\x64', '\x28', '\x20', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x73', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x73', '\x20', '\x29', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x45', '\x6e', '\x64', '\x65', '\x64', '\x28', '\x20', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x73', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x73', '\x20', '\x29', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x45', '\x6e', '\x64', '\x65', '\x64', '\x28', '\x20', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x53', '\x74', '\x61', '\x74', '\x73', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x53', '\x74', '\x61', '\x74', '\x73', '\x20', '\x29', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x74', '\x65', '\x73', '\x74', '\x47', '\x72', '\x6f', '\x75', '\x70', '\x45', '\x6e', '\x64', '\x65', '\x64', '\x28', '\x20', '\x54', '\x65', '\x73', '\x74', '\x47', '\x72', '\x6f', '\x75', '\x70', '\x53', '\x74', '\x61', '\x74', '\x73', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x74', '\x65', '\x73', '\x74', '\x47', '\x72', '\x6f', '\x75', '\x70', '\x53', '\x74', '\x61', '\x74', '\x73', '\x20', '\x29', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x74', '\x65', '\x73', '\x74', '\x52', '\x75', '\x6e', '\x45', '\x6e', '\x64', '\x65', '\x64', '\x28', '\x20', '\x54', '\x65', '\x73', '\x74', '\x52', '\x75', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x73', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x74', '\x65', '\x73', '\x74', '\x52', '\x75', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x73', '\x20', '\x29', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x73', '\x6b', '\x69', '\x70', '\x54', '\x65', '\x73', '\x74', '\x28', '\x20', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x74', '\x65', '\x73', '\x74', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x29', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x69', '\x73', '\x4d', '\x75', '\x6c', '\x74', '\x69', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x72', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x5f', '\x6c', '\x69', '\x73', '\x74', '\x65', '\x6e', '\x69', '\x6e', '\x67', '\x2e', '\x68', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x3a', '\x3a', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x28', '\x20', '\x49', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x50', '\x74', '\x72', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x5f', '\x66', '\x75', '\x6c', '\x6c', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x3a', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x28', '\x20', '\x26', '\x5f', '\x66', '\x75', '\x6c', '\x6c', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x2d', '\x3e', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x28', '\x29', '\x20', '\x29', '\x2c', '\x20', '\x6d', '\x5f', '\x66', '\x75', '\x6c', '\x6c', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x28', '\x20', '\x5f', '\x66', '\x75', '\x6c', '\x6c', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x20', '\x29', '\x20', '\x7b', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x3a', '\x3a', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x28', '\x20', '\x49', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x50', '\x74', '\x72', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x5f', '\x66', '\x75', '\x6c', '\x6c', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x2c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6f', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x26', '\x20', '\x5f', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x3a', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x28', '\x20', '\x26', '\x5f', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x20', '\x29', '\x2c', '\x20', '\x6d', '\x5f', '\x66', '\x75', '\x6c', '\x6c', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x28', '\x20', '\x5f', '\x66', '\x75', '\x6c', '\x6c', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x20', '\x29', '\x20', '\x7b', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6f', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x26', '\x20', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x7b', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x2a', '\x6d', '\x5f', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x3b', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x49', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x50', '\x74', '\x72', '\x20', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x3a', '\x3a', '\x66', '\x75', '\x6c', '\x6c', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x7b', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6d', '\x5f', '\x66', '\x75', '\x6c', '\x6c', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x3b', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x54', '\x65', '\x73', '\x74', '\x52', '\x75', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x3a', '\x3a', '\x54', '\x65', '\x73', '\x74', '\x52', '\x75', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x5f', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x29', '\x20', '\x3a', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x28', '\x20', '\x5f', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x29', '\x20', '\x7b', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x47', '\x72', '\x6f', '\x75', '\x70', '\x49', '\x6e', '\x66', '\x6f', '\x3a', '\x3a', '\x47', '\x72', '\x6f', '\x75', '\x70', '\x49', '\x6e', '\x66', '\x6f', '\x28', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x5f', '\x6e', '\x61', '\x6d', '\x65', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x69', '\x7a', '\x65', '\x5f', '\x74', '\x20', '\x5f', '\x67', '\x72', '\x6f', '\x75', '\x70', '\x49', '\x6e', '\x64', '\x65', '\x78', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x69', '\x7a', '\x65', '\x5f', '\x74', '\x20', '\x5f', '\x67', '\x72', '\x6f', '\x75', '\x70', '\x73', '\x43', '\x6f', '\x75', '\x6e', '\x74', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x3a', '\x20', '\x20', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x28', '\x20', '\x5f', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x29', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x67', '\x72', '\x6f', '\x75', '\x70', '\x49', '\x6e', '\x64', '\x65', '\x78', '\x28', '\x20', '\x5f', '\x67', '\x72', '\x6f', '\x75', '\x70', '\x49', '\x6e', '\x64', '\x65', '\x78', '\x20', '\x29', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x67', '\x72', '\x6f', '\x75', '\x70', '\x73', '\x43', '\x6f', '\x75', '\x6e', '\x74', '\x73', '\x28', '\x20', '\x5f', '\x67', '\x72', '\x6f', '\x75', '\x70', '\x73', '\x43', '\x6f', '\x75', '\x6e', '\x74', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7b', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x73', '\x3a', '\x3a', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x73', '\x28', '\x20', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x5f', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x4d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x3e', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x5f', '\x69', '\x6e', '\x66', '\x6f', '\x4d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x73', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x54', '\x6f', '\x74', '\x61', '\x6c', '\x73', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x5f', '\x74', '\x6f', '\x74', '\x61', '\x6c', '\x73', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x3a', '\x20', '\x20', '\x20', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x28', '\x20', '\x5f', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x20', '\x29', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x6e', '\x66', '\x6f', '\x4d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x73', '\x28', '\x20', '\x5f', '\x69', '\x6e', '\x66', '\x6f', '\x4d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x73', '\x20', '\x29', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x6f', '\x74', '\x61', '\x6c', '\x73', '\x28', '\x20', '\x5f', '\x74', '\x6f', '\x74', '\x61', '\x6c', '\x73', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x2e', '\x6d', '\x5f', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x44', '\x61', '\x74', '\x61', '\x2e', '\x6c', '\x61', '\x7a', '\x79', '\x45', '\x78', '\x70', '\x72', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x2e', '\x6d', '\x5f', '\x74', '\x72', '\x61', '\x6e', '\x73', '\x69', '\x65', '\x6e', '\x74', '\x45', '\x78', '\x70', '\x72', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x20', '\x3d', '\x20', '\x5f', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x2e', '\x6d', '\x5f', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x44', '\x61', '\x74', '\x61', '\x2e', '\x6c', '\x61', '\x7a', '\x79', '\x45', '\x78', '\x70', '\x72', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x2e', '\x6d', '\x5f', '\x74', '\x72', '\x61', '\x6e', '\x73', '\x69', '\x65', '\x6e', '\x74', '\x45', '\x78', '\x70', '\x72', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x2e', '\x68', '\x61', '\x73', '\x4d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x28', '\x29', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x43', '\x6f', '\x70', '\x79', '\x20', '\x6d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x20', '\x69', '\x6e', '\x74', '\x6f', '\x20', '\x6d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x73', '\x20', '\x6c', '\x69', '\x73', '\x74', '\x2e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x21', '\x54', '\x42', '\x44', '\x20', '\x54', '\x68', '\x69', '\x73', '\x20', '\x73', '\x68', '\x6f', '\x75', '\x6c', '\x64', '\x20', '\x68', '\x61', '\x76', '\x65', '\x20', '\x62', '\x65', '\x65', '\x6e', '\x20', '\x64', '\x6f', '\x6e', '\x65', '\x20', '\x65', '\x61', '\x72', '\x6c', '\x69', '\x65', '\x72', '\x2c', '\x20', '\x73', '\x6f', '\x6d', '\x65', '\x77', '\x68', '\x65', '\x72', '\x65', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x4d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x42', '\x75', '\x69', '\x6c', '\x64', '\x65', '\x72', '\x20', '\x62', '\x75', '\x69', '\x6c', '\x64', '\x65', '\x72', '\x28', '\x20', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x2e', '\x67', '\x65', '\x74', '\x54', '\x65', '\x73', '\x74', '\x4d', '\x61', '\x63', '\x72', '\x6f', '\x4e', '\x61', '\x6d', '\x65', '\x28', '\x29', '\x2c', '\x20', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x2e', '\x67', '\x65', '\x74', '\x53', '\x6f', '\x75', '\x72', '\x63', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x28', '\x29', '\x2c', '\x20', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x2e', '\x67', '\x65', '\x74', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x54', '\x79', '\x70', '\x65', '\x28', '\x29', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x75', '\x69', '\x6c', '\x64', '\x65', '\x72', '\x20', '\x3c', '\x3c', '\x20', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x2e', '\x67', '\x65', '\x74', '\x4d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x75', '\x69', '\x6c', '\x64', '\x65', '\x72', '\x2e', '\x6d', '\x5f', '\x69', '\x6e', '\x66', '\x6f', '\x2e', '\x6d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x20', '\x3d', '\x20', '\x62', '\x75', '\x69', '\x6c', '\x64', '\x65', '\x72', '\x2e', '\x6d', '\x5f', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x2e', '\x73', '\x74', '\x72', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x6e', '\x66', '\x6f', '\x4d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x73', '\x2e', '\x70', '\x75', '\x73', '\x68', '\x5f', '\x62', '\x61', '\x63', '\x6b', '\x28', '\x20', '\x62', '\x75', '\x69', '\x6c', '\x64', '\x65', '\x72', '\x2e', '\x6d', '\x5f', '\x69', '\x6e', '\x66', '\x6f', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x73', '\x3a', '\x3a', '\x7e', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x73', '\x28', '\x29', '\x20', '\x3d', '\x20', '\x64', '\x65', '\x66', '\x61', '\x75', '\x6c', '\x74', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x73', '\x3a', '\x3a', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x73', '\x28', '\x20', '\x20', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x5f', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x6f', '\x75', '\x6e', '\x74', '\x73', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x5f', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x20', '\x5f', '\x64', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x49', '\x6e', '\x53', '\x65', '\x63', '\x6f', '\x6e', '\x64', '\x73', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x5f', '\x6d', '\x69', '\x73', '\x73', '\x69', '\x6e', '\x67', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x3a', '\x20', '\x20', '\x20', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x28', '\x20', '\x5f', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x29', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x28', '\x20', '\x5f', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x20', '\x29', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x64', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x49', '\x6e', '\x53', '\x65', '\x63', '\x6f', '\x6e', '\x64', '\x73', '\x28', '\x20', '\x5f', '\x64', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x49', '\x6e', '\x53', '\x65', '\x63', '\x6f', '\x6e', '\x64', '\x73', '\x20', '\x29', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x69', '\x73', '\x73', '\x69', '\x6e', '\x67', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x28', '\x20', '\x5f', '\x6d', '\x69', '\x73', '\x73', '\x69', '\x6e', '\x67', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7b', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x73', '\x3a', '\x3a', '\x7e', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x73', '\x28', '\x29', '\x20', '\x3d', '\x20', '\x64', '\x65', '\x66', '\x61', '\x75', '\x6c', '\x74', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x53', '\x74', '\x61', '\x74', '\x73', '\x3a', '\x3a', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x53', '\x74', '\x61', '\x74', '\x73', '\x28', '\x20', '\x20', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x5f', '\x74', '\x65', '\x73', '\x74', '\x49', '\x6e', '\x66', '\x6f', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x54', '\x6f', '\x74', '\x61', '\x6c', '\x73', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x5f', '\x74', '\x6f', '\x74', '\x61', '\x6c', '\x73', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x5f', '\x73', '\x74', '\x64', '\x4f', '\x75', '\x74', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x5f', '\x73', '\x74', '\x64', '\x45', '\x72', '\x72', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x5f', '\x61', '\x62', '\x6f', '\x72', '\x74', '\x69', '\x6e', '\x67', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x3a', '\x20', '\x74', '\x65', '\x73', '\x74', '\x49', '\x6e', '\x66', '\x6f', '\x28', '\x20', '\x5f', '\x74', '\x65', '\x73', '\x74', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x29', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x6f', '\x74', '\x61', '\x6c', '\x73', '\x28', '\x20', '\x5f', '\x74', '\x6f', '\x74', '\x61', '\x6c', '\x73', '\x20', '\x29', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x4f', '\x75', '\x74', '\x28', '\x20', '\x5f', '\x73', '\x74', '\x64', '\x4f', '\x75', '\x74', '\x20', '\x29', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x45', '\x72', '\x72', '\x28', '\x20', '\x5f', '\x73', '\x74', '\x64', '\x45', '\x72', '\x72', '\x20', '\x29', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x62', '\x6f', '\x72', '\x74', '\x69', '\x6e', '\x67', '\x28', '\x20', '\x5f', '\x61', '\x62', '\x6f', '\x72', '\x74', '\x69', '\x6e', '\x67', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7b', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x53', '\x74', '\x61', '\x74', '\x73', '\x3a', '\x3a', '\x7e', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x53', '\x74', '\x61', '\x74', '\x73', '\x28', '\x29', '\x20', '\x3d', '\x20', '\x64', '\x65', '\x66', '\x61', '\x75', '\x6c', '\x74', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x54', '\x65', '\x73', '\x74', '\x47', '\x72', '\x6f', '\x75', '\x70', '\x53', '\x74', '\x61', '\x74', '\x73', '\x3a', '\x3a', '\x54', '\x65', '\x73', '\x74', '\x47', '\x72', '\x6f', '\x75', '\x70', '\x53', '\x74', '\x61', '\x74', '\x73', '\x28', '\x20', '\x47', '\x72', '\x6f', '\x75', '\x70', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x5f', '\x67', '\x72', '\x6f', '\x75', '\x70', '\x49', '\x6e', '\x66', '\x6f', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x54', '\x6f', '\x74', '\x61', '\x6c', '\x73', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x5f', '\x74', '\x6f', '\x74', '\x61', '\x6c', '\x73', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x5f', '\x61', '\x62', '\x6f', '\x72', '\x74', '\x69', '\x6e', '\x67', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x3a', '\x20', '\x20', '\x20', '\x67', '\x72', '\x6f', '\x75', '\x70', '\x49', '\x6e', '\x66', '\x6f', '\x28', '\x20', '\x5f', '\x67', '\x72', '\x6f', '\x75', '\x70', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x29', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x6f', '\x74', '\x61', '\x6c', '\x73', '\x28', '\x20', '\x5f', '\x74', '\x6f', '\x74', '\x61', '\x6c', '\x73', '\x20', '\x29', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x62', '\x6f', '\x72', '\x74', '\x69', '\x6e', '\x67', '\x28', '\x20', '\x5f', '\x61', '\x62', '\x6f', '\x72', '\x74', '\x69', '\x6e', '\x67', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7b', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x54', '\x65', '\x73', '\x74', '\x47', '\x72', '\x6f', '\x75', '\x70', '\x53', '\x74', '\x61', '\x74', '\x73', '\x3a', '\x3a', '\x54', '\x65', '\x73', '\x74', '\x47', '\x72', '\x6f', '\x75', '\x70', '\x53', '\x74', '\x61', '\x74', '\x73', '\x28', '\x20', '\x47', '\x72', '\x6f', '\x75', '\x70', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x5f', '\x67', '\x72', '\x6f', '\x75', '\x70', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x3a', '\x20', '\x20', '\x20', '\x67', '\x72', '\x6f', '\x75', '\x70', '\x49', '\x6e', '\x66', '\x6f', '\x28', '\x20', '\x5f', '\x67', '\x72', '\x6f', '\x75', '\x70', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x29', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x62', '\x6f', '\x72', '\x74', '\x69', '\x6e', '\x67', '\x28', '\x20', '\x66', '\x61', '\x6c', '\x73', '\x65', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7b', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x54', '\x65', '\x73', '\x74', '\x47', '\x72', '\x6f', '\x75', '\x70', '\x53', '\x74', '\x61', '\x74', '\x73', '\x3a', '\x3a', '\x7e', '\x54', '\x65', '\x73', '\x74', '\x47', '\x72', '\x6f', '\x75', '\x70', '\x53', '\x74', '\x61', '\x74', '\x73', '\x28', '\x29', '\x20', '\x3d', '\x20', '\x64', '\x65', '\x66', '\x61', '\x75', '\x6c', '\x74', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x54', '\x65', '\x73', '\x74', '\x52', '\x75', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x73', '\x3a', '\x3a', '\x54', '\x65', '\x73', '\x74', '\x52', '\x75', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x73', '\x28', '\x20', '\x20', '\x20', '\x54', '\x65', '\x73', '\x74', '\x52', '\x75', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x5f', '\x72', '\x75', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x54', '\x6f', '\x74', '\x61', '\x6c', '\x73', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x5f', '\x74', '\x6f', '\x74', '\x61', '\x6c', '\x73', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x5f', '\x61', '\x62', '\x6f', '\x72', '\x74', '\x69', '\x6e', '\x67', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x3a', '\x20', '\x20', '\x20', '\x72', '\x75', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x28', '\x20', '\x5f', '\x72', '\x75', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x29', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x6f', '\x74', '\x61', '\x6c', '\x73', '\x28', '\x20', '\x5f', '\x74', '\x6f', '\x74', '\x61', '\x6c', '\x73', '\x20', '\x29', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x62', '\x6f', '\x72', '\x74', '\x69', '\x6e', '\x67', '\x28', '\x20', '\x5f', '\x61', '\x62', '\x6f', '\x72', '\x74', '\x69', '\x6e', '\x67', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7b', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x54', '\x65', '\x73', '\x74', '\x52', '\x75', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x73', '\x3a', '\x3a', '\x7e', '\x54', '\x65', '\x73', '\x74', '\x52', '\x75', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x73', '\x28', '\x29', '\x20', '\x3d', '\x20', '\x64', '\x65', '\x66', '\x61', '\x75', '\x6c', '\x74', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x49', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x3a', '\x3a', '\x66', '\x61', '\x74', '\x61', '\x6c', '\x45', '\x72', '\x72', '\x6f', '\x72', '\x45', '\x6e', '\x63', '\x6f', '\x75', '\x6e', '\x74', '\x65', '\x72', '\x65', '\x64', '\x28', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x66', '\x20', '\x29', '\x20', '\x7b', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x49', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x3a', '\x3a', '\x69', '\x73', '\x4d', '\x75', '\x6c', '\x74', '\x69', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x7b', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x66', '\x61', '\x6c', '\x73', '\x65', '\x3b', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x49', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x46', '\x61', '\x63', '\x74', '\x6f', '\x72', '\x79', '\x3a', '\x3a', '\x7e', '\x49', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x46', '\x61', '\x63', '\x74', '\x6f', '\x72', '\x79', '\x28', '\x29', '\x20', '\x3d', '\x20', '\x64', '\x65', '\x66', '\x61', '\x75', '\x6c', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x49', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x3a', '\x3a', '\x7e', '\x49', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x28', '\x29', '\x20', '\x3d', '\x20', '\x64', '\x65', '\x66', '\x61', '\x75', '\x6c', '\x74', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x69', '\x6e', '\x74', '\x65', '\x72', '\x66', '\x61', '\x63', '\x65', '\x73', '\x5f', '\x72', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x2e', '\x63', '\x70', '\x70', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x69', '\x6e', '\x74', '\x65', '\x72', '\x66', '\x61', '\x63', '\x65', '\x73', '\x5f', '\x72', '\x75', '\x6e', '\x6e', '\x65', '\x72', '\x2e', '\x63', '\x70', '\x70', '\x0d', '\x0a', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x49', '\x52', '\x75', '\x6e', '\x6e', '\x65', '\x72', '\x3a', '\x3a', '\x7e', '\x49', '\x52', '\x75', '\x6e', '\x6e', '\x65', '\x72', '\x28', '\x29', '\x20', '\x3d', '\x20', '\x64', '\x65', '\x66', '\x61', '\x75', '\x6c', '\x74', '\x3b', '\x0d', '\x0a', '\x7d', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x69', '\x6e', '\x74', '\x65', '\x72', '\x66', '\x61', '\x63', '\x65', '\x73', '\x5f', '\x72', '\x75', '\x6e', '\x6e', '\x65', '\x72', '\x2e', '\x63', '\x70', '\x70', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x69', '\x6e', '\x74', '\x65', '\x72', '\x66', '\x61', '\x63', '\x65', '\x73', '\x5f', '\x74', '\x65', '\x73', '\x74', '\x63', '\x61', '\x73', '\x65', '\x2e', '\x63', '\x70', '\x70', '\x0d', '\x0a', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x49', '\x54', '\x65', '\x73', '\x74', '\x49', '\x6e', '\x76', '\x6f', '\x6b', '\x65', '\x72', '\x3a', '\x3a', '\x7e', '\x49', '\x54', '\x65', '\x73', '\x74', '\x49', '\x6e', '\x76', '\x6f', '\x6b', '\x65', '\x72', '\x28', '\x29', '\x20', '\x3d', '\x20', '\x64', '\x65', '\x66', '\x61', '\x75', '\x6c', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x49', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x3a', '\x3a', '\x7e', '\x49', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x28', '\x29', '\x20', '\x3d', '\x20', '\x64', '\x65', '\x66', '\x61', '\x75', '\x6c', '\x74', '\x3b', '\x0d', '\x0a', '\x7d', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x69', '\x6e', '\x74', '\x65', '\x72', '\x66', '\x61', '\x63', '\x65', '\x73', '\x5f', '\x74', '\x65', '\x73', '\x74', '\x63', '\x61', '\x73', '\x65', '\x2e', '\x63', '\x70', '\x70', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x6c', '\x65', '\x61', '\x6b', '\x5f', '\x64', '\x65', '\x74', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x2e', '\x63', '\x70', '\x70', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x64', '\x65', '\x66', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x57', '\x49', '\x4e', '\x44', '\x4f', '\x57', '\x53', '\x5f', '\x43', '\x52', '\x54', '\x44', '\x42', '\x47', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x63', '\x72', '\x74', '\x64', '\x62', '\x67', '\x2e', '\x68', '\x3e', '\x0d', '\x0a', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x4c', '\x65', '\x61', '\x6b', '\x44', '\x65', '\x74', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3a', '\x3a', '\x4c', '\x65', '\x61', '\x6b', '\x44', '\x65', '\x74', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x28', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x6e', '\x74', '\x20', '\x66', '\x6c', '\x61', '\x67', '\x20', '\x3d', '\x20', '\x5f', '\x43', '\x72', '\x74', '\x53', '\x65', '\x74', '\x44', '\x62', '\x67', '\x46', '\x6c', '\x61', '\x67', '\x28', '\x5f', '\x43', '\x52', '\x54', '\x44', '\x42', '\x47', '\x5f', '\x52', '\x45', '\x50', '\x4f', '\x52', '\x54', '\x5f', '\x46', '\x4c', '\x41', '\x47', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x66', '\x6c', '\x61', '\x67', '\x20', '\x7c', '\x3d', '\x20', '\x5f', '\x43', '\x52', '\x54', '\x44', '\x42', '\x47', '\x5f', '\x4c', '\x45', '\x41', '\x4b', '\x5f', '\x43', '\x48', '\x45', '\x43', '\x4b', '\x5f', '\x44', '\x46', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x66', '\x6c', '\x61', '\x67', '\x20', '\x7c', '\x3d', '\x20', '\x5f', '\x43', '\x52', '\x54', '\x44', '\x42', '\x47', '\x5f', '\x41', '\x4c', '\x4c', '\x4f', '\x43', '\x5f', '\x4d', '\x45', '\x4d', '\x5f', '\x44', '\x46', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x5f', '\x43', '\x72', '\x74', '\x53', '\x65', '\x74', '\x44', '\x62', '\x67', '\x46', '\x6c', '\x61', '\x67', '\x28', '\x66', '\x6c', '\x61', '\x67', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x5f', '\x43', '\x72', '\x74', '\x53', '\x65', '\x74', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x4d', '\x6f', '\x64', '\x65', '\x28', '\x5f', '\x43', '\x52', '\x54', '\x5f', '\x57', '\x41', '\x52', '\x4e', '\x2c', '\x20', '\x5f', '\x43', '\x52', '\x54', '\x44', '\x42', '\x47', '\x5f', '\x4d', '\x4f', '\x44', '\x45', '\x5f', '\x46', '\x49', '\x4c', '\x45', '\x20', '\x7c', '\x20', '\x5f', '\x43', '\x52', '\x54', '\x44', '\x42', '\x47', '\x5f', '\x4d', '\x4f', '\x44', '\x45', '\x5f', '\x44', '\x45', '\x42', '\x55', '\x47', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x5f', '\x43', '\x72', '\x74', '\x53', '\x65', '\x74', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x46', '\x69', '\x6c', '\x65', '\x28', '\x5f', '\x43', '\x52', '\x54', '\x5f', '\x57', '\x41', '\x52', '\x4e', '\x2c', '\x20', '\x5f', '\x43', '\x52', '\x54', '\x44', '\x42', '\x47', '\x5f', '\x46', '\x49', '\x4c', '\x45', '\x5f', '\x53', '\x54', '\x44', '\x45', '\x52', '\x52', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x43', '\x68', '\x61', '\x6e', '\x67', '\x65', '\x20', '\x74', '\x68', '\x69', '\x73', '\x20', '\x74', '\x6f', '\x20', '\x6c', '\x65', '\x61', '\x6b', '\x69', '\x6e', '\x67', '\x20', '\x61', '\x6c', '\x6c', '\x6f', '\x63', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x27', '\x73', '\x20', '\x6e', '\x75', '\x6d', '\x62', '\x65', '\x72', '\x20', '\x74', '\x6f', '\x20', '\x62', '\x72', '\x65', '\x61', '\x6b', '\x20', '\x74', '\x68', '\x65', '\x72', '\x65', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x5f', '\x43', '\x72', '\x74', '\x53', '\x65', '\x74', '\x42', '\x72', '\x65', '\x61', '\x6b', '\x41', '\x6c', '\x6c', '\x6f', '\x63', '\x28', '\x2d', '\x31', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x65', '\x6c', '\x73', '\x65', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x4c', '\x65', '\x61', '\x6b', '\x44', '\x65', '\x74', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3a', '\x3a', '\x4c', '\x65', '\x61', '\x6b', '\x44', '\x65', '\x74', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x28', '\x29', '\x20', '\x7b', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x0d', '\x0a', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x4c', '\x65', '\x61', '\x6b', '\x44', '\x65', '\x74', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3a', '\x3a', '\x7e', '\x4c', '\x65', '\x61', '\x6b', '\x44', '\x65', '\x74', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x28', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x63', '\x6c', '\x65', '\x61', '\x6e', '\x55', '\x70', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x7d', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x6c', '\x65', '\x61', '\x6b', '\x5f', '\x64', '\x65', '\x74', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x2e', '\x63', '\x70', '\x70', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x6c', '\x69', '\x73', '\x74', '\x2e', '\x63', '\x70', '\x70', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x6c', '\x69', '\x73', '\x74', '\x2e', '\x68', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x73', '\x65', '\x74', '\x3e', '\x0d', '\x0a', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x69', '\x7a', '\x65', '\x5f', '\x74', '\x20', '\x6c', '\x69', '\x73', '\x74', '\x54', '\x65', '\x73', '\x74', '\x73', '\x28', '\x20', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x69', '\x7a', '\x65', '\x5f', '\x74', '\x20', '\x6c', '\x69', '\x73', '\x74', '\x54', '\x65', '\x73', '\x74', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x73', '\x4f', '\x6e', '\x6c', '\x79', '\x28', '\x20', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x54', '\x61', '\x67', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x61', '\x64', '\x64', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x73', '\x70', '\x65', '\x6c', '\x6c', '\x69', '\x6e', '\x67', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x61', '\x6c', '\x6c', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x65', '\x74', '\x3c', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x3e', '\x20', '\x73', '\x70', '\x65', '\x6c', '\x6c', '\x69', '\x6e', '\x67', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x69', '\x7a', '\x65', '\x5f', '\x74', '\x20', '\x63', '\x6f', '\x75', '\x6e', '\x74', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x69', '\x7a', '\x65', '\x5f', '\x74', '\x20', '\x6c', '\x69', '\x73', '\x74', '\x54', '\x61', '\x67', '\x73', '\x28', '\x20', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x69', '\x7a', '\x65', '\x5f', '\x74', '\x20', '\x6c', '\x69', '\x73', '\x74', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x73', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x4f', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x3c', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x69', '\x7a', '\x65', '\x5f', '\x74', '\x3e', '\x20', '\x6c', '\x69', '\x73', '\x74', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x68', '\x61', '\x72', '\x65', '\x64', '\x5f', '\x70', '\x74', '\x72', '\x3c', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x3e', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x6c', '\x69', '\x73', '\x74', '\x2e', '\x68', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x74', '\x65', '\x78', '\x74', '\x2e', '\x68', '\x0d', '\x0a', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x75', '\x73', '\x69', '\x6e', '\x67', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x63', '\x6c', '\x61', '\x72', '\x61', '\x3a', '\x3a', '\x54', '\x65', '\x78', '\x74', '\x46', '\x6c', '\x6f', '\x77', '\x3b', '\x0d', '\x0a', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x74', '\x65', '\x78', '\x74', '\x2e', '\x68', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x6c', '\x69', '\x6d', '\x69', '\x74', '\x73', '\x3e', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x61', '\x6c', '\x67', '\x6f', '\x72', '\x69', '\x74', '\x68', '\x6d', '\x3e', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x69', '\x6f', '\x6d', '\x61', '\x6e', '\x69', '\x70', '\x3e', '\x0d', '\x0a', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x69', '\x7a', '\x65', '\x5f', '\x74', '\x20', '\x6c', '\x69', '\x73', '\x74', '\x54', '\x65', '\x73', '\x74', '\x73', '\x28', '\x20', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x54', '\x65', '\x73', '\x74', '\x53', '\x70', '\x65', '\x63', '\x20', '\x74', '\x65', '\x73', '\x74', '\x53', '\x70', '\x65', '\x63', '\x20', '\x3d', '\x20', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x2e', '\x74', '\x65', '\x73', '\x74', '\x53', '\x70', '\x65', '\x63', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x2e', '\x68', '\x61', '\x73', '\x54', '\x65', '\x73', '\x74', '\x46', '\x69', '\x6c', '\x74', '\x65', '\x72', '\x73', '\x28', '\x29', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x63', '\x6f', '\x75', '\x74', '\x28', '\x29', '\x20', '\x3c', '\x3c', '\x20', '\x22', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x69', '\x6e', '\x67', '\x20', '\x74', '\x65', '\x73', '\x74', '\x20', '\x63', '\x61', '\x73', '\x65', '\x73', '\x3a', '\x5c', '\x6e', '\x22', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x6c', '\x73', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x63', '\x6f', '\x75', '\x74', '\x28', '\x29', '\x20', '\x3c', '\x3c', '\x20', '\x22', '\x41', '\x6c', '\x6c', '\x20', '\x61', '\x76', '\x61', '\x69', '\x6c', '\x61', '\x62', '\x6c', '\x65', '\x20', '\x74', '\x65', '\x73', '\x74', '\x20', '\x63', '\x61', '\x73', '\x65', '\x73', '\x3a', '\x5c', '\x6e', '\x22', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x64', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x73', '\x20', '\x3d', '\x20', '\x66', '\x69', '\x6c', '\x74', '\x65', '\x72', '\x54', '\x65', '\x73', '\x74', '\x73', '\x28', '\x20', '\x67', '\x65', '\x74', '\x41', '\x6c', '\x6c', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x73', '\x53', '\x6f', '\x72', '\x74', '\x65', '\x64', '\x28', '\x20', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x20', '\x29', '\x2c', '\x20', '\x74', '\x65', '\x73', '\x74', '\x53', '\x70', '\x65', '\x63', '\x2c', '\x20', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x66', '\x6f', '\x72', '\x28', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x3a', '\x20', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x64', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x73', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x3a', '\x3a', '\x43', '\x6f', '\x64', '\x65', '\x20', '\x63', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x20', '\x3d', '\x20', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x2e', '\x69', '\x73', '\x48', '\x69', '\x64', '\x64', '\x65', '\x6e', '\x28', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x3f', '\x20', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x3a', '\x3a', '\x53', '\x65', '\x63', '\x6f', '\x6e', '\x64', '\x61', '\x72', '\x79', '\x54', '\x65', '\x78', '\x74', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x3a', '\x20', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x3a', '\x3a', '\x4e', '\x6f', '\x6e', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x20', '\x63', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x47', '\x75', '\x61', '\x72', '\x64', '\x28', '\x20', '\x63', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x63', '\x6f', '\x75', '\x74', '\x28', '\x29', '\x20', '\x3c', '\x3c', '\x20', '\x43', '\x6f', '\x6c', '\x75', '\x6d', '\x6e', '\x28', '\x20', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x2e', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x29', '\x2e', '\x69', '\x6e', '\x69', '\x74', '\x69', '\x61', '\x6c', '\x49', '\x6e', '\x64', '\x65', '\x6e', '\x74', '\x28', '\x20', '\x32', '\x20', '\x29', '\x2e', '\x69', '\x6e', '\x64', '\x65', '\x6e', '\x74', '\x28', '\x20', '\x34', '\x20', '\x29', '\x20', '\x3c', '\x3c', '\x20', '\x22', '\x5c', '\x6e', '\x22', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x2e', '\x76', '\x65', '\x72', '\x62', '\x6f', '\x73', '\x69', '\x74', '\x79', '\x28', '\x29', '\x20', '\x3e', '\x3d', '\x20', '\x56', '\x65', '\x72', '\x62', '\x6f', '\x73', '\x69', '\x74', '\x79', '\x3a', '\x3a', '\x48', '\x69', '\x67', '\x68', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x63', '\x6f', '\x75', '\x74', '\x28', '\x29', '\x20', '\x3c', '\x3c', '\x20', '\x43', '\x6f', '\x6c', '\x75', '\x6d', '\x6e', '\x28', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x44', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x69', '\x66', '\x79', '\x28', '\x20', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x2e', '\x6c', '\x69', '\x6e', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x29', '\x20', '\x29', '\x2e', '\x69', '\x6e', '\x64', '\x65', '\x6e', '\x74', '\x28', '\x34', '\x29', '\x20', '\x3c', '\x3c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x65', '\x6e', '\x64', '\x6c', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x64', '\x65', '\x73', '\x63', '\x72', '\x69', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x3d', '\x20', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x2e', '\x64', '\x65', '\x73', '\x63', '\x72', '\x69', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x64', '\x65', '\x73', '\x63', '\x72', '\x69', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x2e', '\x65', '\x6d', '\x70', '\x74', '\x79', '\x28', '\x29', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x64', '\x65', '\x73', '\x63', '\x72', '\x69', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x3d', '\x20', '\x22', '\x28', '\x4e', '\x4f', '\x20', '\x44', '\x45', '\x53', '\x43', '\x52', '\x49', '\x50', '\x54', '\x49', '\x4f', '\x4e', '\x29', '\x22', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x63', '\x6f', '\x75', '\x74', '\x28', '\x29', '\x20', '\x3c', '\x3c', '\x20', '\x43', '\x6f', '\x6c', '\x75', '\x6d', '\x6e', '\x28', '\x20', '\x64', '\x65', '\x73', '\x63', '\x72', '\x69', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x29', '\x2e', '\x69', '\x6e', '\x64', '\x65', '\x6e', '\x74', '\x28', '\x34', '\x29', '\x20', '\x3c', '\x3c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x65', '\x6e', '\x64', '\x6c', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x21', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x2e', '\x74', '\x61', '\x67', '\x73', '\x2e', '\x65', '\x6d', '\x70', '\x74', '\x79', '\x28', '\x29', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x63', '\x6f', '\x75', '\x74', '\x28', '\x29', '\x20', '\x3c', '\x3c', '\x20', '\x43', '\x6f', '\x6c', '\x75', '\x6d', '\x6e', '\x28', '\x20', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x2e', '\x74', '\x61', '\x67', '\x73', '\x41', '\x73', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x28', '\x29', '\x20', '\x29', '\x2e', '\x69', '\x6e', '\x64', '\x65', '\x6e', '\x74', '\x28', '\x20', '\x36', '\x20', '\x29', '\x20', '\x3c', '\x3c', '\x20', '\x22', '\x5c', '\x6e', '\x22', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x21', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x2e', '\x68', '\x61', '\x73', '\x54', '\x65', '\x73', '\x74', '\x46', '\x69', '\x6c', '\x74', '\x65', '\x72', '\x73', '\x28', '\x29', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x63', '\x6f', '\x75', '\x74', '\x28', '\x29', '\x20', '\x3c', '\x3c', '\x20', '\x70', '\x6c', '\x75', '\x72', '\x61', '\x6c', '\x69', '\x73', '\x65', '\x28', '\x20', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x64', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x73', '\x2e', '\x73', '\x69', '\x7a', '\x65', '\x28', '\x29', '\x2c', '\x20', '\x22', '\x74', '\x65', '\x73', '\x74', '\x20', '\x63', '\x61', '\x73', '\x65', '\x22', '\x20', '\x29', '\x20', '\x3c', '\x3c', '\x20', '\x27', '\x5c', '\x6e', '\x27', '\x20', '\x3c', '\x3c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x65', '\x6e', '\x64', '\x6c', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x6c', '\x73', '\x65', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x63', '\x6f', '\x75', '\x74', '\x28', '\x29', '\x20', '\x3c', '\x3c', '\x20', '\x70', '\x6c', '\x75', '\x72', '\x61', '\x6c', '\x69', '\x73', '\x65', '\x28', '\x20', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x64', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x73', '\x2e', '\x73', '\x69', '\x7a', '\x65', '\x28', '\x29', '\x2c', '\x20', '\x22', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x69', '\x6e', '\x67', '\x20', '\x74', '\x65', '\x73', '\x74', '\x20', '\x63', '\x61', '\x73', '\x65', '\x22', '\x20', '\x29', '\x20', '\x3c', '\x3c', '\x20', '\x27', '\x5c', '\x6e', '\x27', '\x20', '\x3c', '\x3c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x65', '\x6e', '\x64', '\x6c', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x64', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x73', '\x2e', '\x73', '\x69', '\x7a', '\x65', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x69', '\x7a', '\x65', '\x5f', '\x74', '\x20', '\x6c', '\x69', '\x73', '\x74', '\x54', '\x65', '\x73', '\x74', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x73', '\x4f', '\x6e', '\x6c', '\x79', '\x28', '\x20', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x54', '\x65', '\x73', '\x74', '\x53', '\x70', '\x65', '\x63', '\x20', '\x74', '\x65', '\x73', '\x74', '\x53', '\x70', '\x65', '\x63', '\x20', '\x3d', '\x20', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x2e', '\x74', '\x65', '\x73', '\x74', '\x53', '\x70', '\x65', '\x63', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x69', '\x7a', '\x65', '\x5f', '\x74', '\x20', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x64', '\x54', '\x65', '\x73', '\x74', '\x73', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x3e', '\x20', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x64', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x73', '\x20', '\x3d', '\x20', '\x66', '\x69', '\x6c', '\x74', '\x65', '\x72', '\x54', '\x65', '\x73', '\x74', '\x73', '\x28', '\x20', '\x67', '\x65', '\x74', '\x41', '\x6c', '\x6c', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x73', '\x53', '\x6f', '\x72', '\x74', '\x65', '\x64', '\x28', '\x20', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x20', '\x29', '\x2c', '\x20', '\x74', '\x65', '\x73', '\x74', '\x53', '\x70', '\x65', '\x63', '\x2c', '\x20', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x66', '\x6f', '\x72', '\x28', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x3a', '\x20', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x64', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x73', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x64', '\x54', '\x65', '\x73', '\x74', '\x73', '\x2b', '\x2b', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x73', '\x57', '\x69', '\x74', '\x68', '\x28', '\x20', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x2e', '\x6e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x27', '\x23', '\x27', '\x20', '\x29', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x63', '\x6f', '\x75', '\x74', '\x28', '\x29', '\x20', '\x3c', '\x3c', '\x20', '\x27', '\x22', '\x27', '\x20', '\x3c', '\x3c', '\x20', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x2e', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x3c', '\x3c', '\x20', '\x27', '\x22', '\x27', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x6c', '\x73', '\x65', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x63', '\x6f', '\x75', '\x74', '\x28', '\x29', '\x20', '\x3c', '\x3c', '\x20', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x2e', '\x6e', '\x61', '\x6d', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x20', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x2e', '\x76', '\x65', '\x72', '\x62', '\x6f', '\x73', '\x69', '\x74', '\x79', '\x28', '\x29', '\x20', '\x3e', '\x3d', '\x20', '\x56', '\x65', '\x72', '\x62', '\x6f', '\x73', '\x69', '\x74', '\x79', '\x3a', '\x3a', '\x48', '\x69', '\x67', '\x68', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x63', '\x6f', '\x75', '\x74', '\x28', '\x29', '\x20', '\x3c', '\x3c', '\x20', '\x22', '\x5c', '\x74', '\x40', '\x22', '\x20', '\x3c', '\x3c', '\x20', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x2e', '\x6c', '\x69', '\x6e', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x63', '\x6f', '\x75', '\x74', '\x28', '\x29', '\x20', '\x3c', '\x3c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x65', '\x6e', '\x64', '\x6c', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x64', '\x54', '\x65', '\x73', '\x74', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x54', '\x61', '\x67', '\x49', '\x6e', '\x66', '\x6f', '\x3a', '\x3a', '\x61', '\x64', '\x64', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x73', '\x70', '\x65', '\x6c', '\x6c', '\x69', '\x6e', '\x67', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2b', '\x2b', '\x63', '\x6f', '\x75', '\x6e', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x70', '\x65', '\x6c', '\x6c', '\x69', '\x6e', '\x67', '\x73', '\x2e', '\x69', '\x6e', '\x73', '\x65', '\x72', '\x74', '\x28', '\x20', '\x73', '\x70', '\x65', '\x6c', '\x6c', '\x69', '\x6e', '\x67', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x54', '\x61', '\x67', '\x49', '\x6e', '\x66', '\x6f', '\x3a', '\x3a', '\x61', '\x6c', '\x6c', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x69', '\x7a', '\x65', '\x5f', '\x74', '\x20', '\x73', '\x69', '\x7a', '\x65', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x66', '\x6f', '\x72', '\x20', '\x28', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x73', '\x70', '\x65', '\x6c', '\x6c', '\x69', '\x6e', '\x67', '\x20', '\x3a', '\x20', '\x73', '\x70', '\x65', '\x6c', '\x6c', '\x69', '\x6e', '\x67', '\x73', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x41', '\x64', '\x64', '\x20', '\x32', '\x20', '\x66', '\x6f', '\x72', '\x20', '\x74', '\x68', '\x65', '\x20', '\x62', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x73', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x69', '\x7a', '\x65', '\x20', '\x2b', '\x3d', '\x20', '\x73', '\x70', '\x65', '\x6c', '\x6c', '\x69', '\x6e', '\x67', '\x2e', '\x73', '\x69', '\x7a', '\x65', '\x28', '\x29', '\x20', '\x2b', '\x20', '\x32', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x6f', '\x75', '\x74', '\x3b', '\x20', '\x6f', '\x75', '\x74', '\x2e', '\x72', '\x65', '\x73', '\x65', '\x72', '\x76', '\x65', '\x28', '\x73', '\x69', '\x7a', '\x65', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x66', '\x6f', '\x72', '\x20', '\x28', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x73', '\x70', '\x65', '\x6c', '\x6c', '\x69', '\x6e', '\x67', '\x20', '\x3a', '\x20', '\x73', '\x70', '\x65', '\x6c', '\x6c', '\x69', '\x6e', '\x67', '\x73', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6f', '\x75', '\x74', '\x20', '\x2b', '\x3d', '\x20', '\x27', '\x5b', '\x27', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6f', '\x75', '\x74', '\x20', '\x2b', '\x3d', '\x20', '\x73', '\x70', '\x65', '\x6c', '\x6c', '\x69', '\x6e', '\x67', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6f', '\x75', '\x74', '\x20', '\x2b', '\x3d', '\x20', '\x27', '\x5d', '\x27', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6f', '\x75', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x69', '\x7a', '\x65', '\x5f', '\x74', '\x20', '\x6c', '\x69', '\x73', '\x74', '\x54', '\x61', '\x67', '\x73', '\x28', '\x20', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x54', '\x65', '\x73', '\x74', '\x53', '\x70', '\x65', '\x63', '\x20', '\x74', '\x65', '\x73', '\x74', '\x53', '\x70', '\x65', '\x63', '\x20', '\x3d', '\x20', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x2e', '\x74', '\x65', '\x73', '\x74', '\x53', '\x70', '\x65', '\x63', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x2e', '\x68', '\x61', '\x73', '\x54', '\x65', '\x73', '\x74', '\x46', '\x69', '\x6c', '\x74', '\x65', '\x72', '\x73', '\x28', '\x29', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x63', '\x6f', '\x75', '\x74', '\x28', '\x29', '\x20', '\x3c', '\x3c', '\x20', '\x22', '\x54', '\x61', '\x67', '\x73', '\x20', '\x66', '\x6f', '\x72', '\x20', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x69', '\x6e', '\x67', '\x20', '\x74', '\x65', '\x73', '\x74', '\x20', '\x63', '\x61', '\x73', '\x65', '\x73', '\x3a', '\x5c', '\x6e', '\x22', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x6c', '\x73', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x63', '\x6f', '\x75', '\x74', '\x28', '\x29', '\x20', '\x3c', '\x3c', '\x20', '\x22', '\x41', '\x6c', '\x6c', '\x20', '\x61', '\x76', '\x61', '\x69', '\x6c', '\x61', '\x62', '\x6c', '\x65', '\x20', '\x74', '\x61', '\x67', '\x73', '\x3a', '\x5c', '\x6e', '\x22', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6d', '\x61', '\x70', '\x3c', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x2c', '\x20', '\x54', '\x61', '\x67', '\x49', '\x6e', '\x66', '\x6f', '\x3e', '\x20', '\x74', '\x61', '\x67', '\x43', '\x6f', '\x75', '\x6e', '\x74', '\x73', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x3e', '\x20', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x64', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x73', '\x20', '\x3d', '\x20', '\x66', '\x69', '\x6c', '\x74', '\x65', '\x72', '\x54', '\x65', '\x73', '\x74', '\x73', '\x28', '\x20', '\x67', '\x65', '\x74', '\x41', '\x6c', '\x6c', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x73', '\x53', '\x6f', '\x72', '\x74', '\x65', '\x64', '\x28', '\x20', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x20', '\x29', '\x2c', '\x20', '\x74', '\x65', '\x73', '\x74', '\x53', '\x70', '\x65', '\x63', '\x2c', '\x20', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x66', '\x6f', '\x72', '\x28', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x20', '\x3a', '\x20', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x64', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x73', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x66', '\x6f', '\x72', '\x28', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x74', '\x61', '\x67', '\x4e', '\x61', '\x6d', '\x65', '\x20', '\x3a', '\x20', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x2e', '\x67', '\x65', '\x74', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x28', '\x29', '\x2e', '\x74', '\x61', '\x67', '\x73', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x6c', '\x63', '\x61', '\x73', '\x65', '\x54', '\x61', '\x67', '\x4e', '\x61', '\x6d', '\x65', '\x20', '\x3d', '\x20', '\x74', '\x6f', '\x4c', '\x6f', '\x77', '\x65', '\x72', '\x28', '\x20', '\x74', '\x61', '\x67', '\x4e', '\x61', '\x6d', '\x65', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x63', '\x6f', '\x75', '\x6e', '\x74', '\x49', '\x74', '\x20', '\x3d', '\x20', '\x74', '\x61', '\x67', '\x43', '\x6f', '\x75', '\x6e', '\x74', '\x73', '\x2e', '\x66', '\x69', '\x6e', '\x64', '\x28', '\x20', '\x6c', '\x63', '\x61', '\x73', '\x65', '\x54', '\x61', '\x67', '\x4e', '\x61', '\x6d', '\x65', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x63', '\x6f', '\x75', '\x6e', '\x74', '\x49', '\x74', '\x20', '\x3d', '\x3d', '\x20', '\x74', '\x61', '\x67', '\x43', '\x6f', '\x75', '\x6e', '\x74', '\x73', '\x2e', '\x65', '\x6e', '\x64', '\x28', '\x29', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6f', '\x75', '\x6e', '\x74', '\x49', '\x74', '\x20', '\x3d', '\x20', '\x74', '\x61', '\x67', '\x43', '\x6f', '\x75', '\x6e', '\x74', '\x73', '\x2e', '\x69', '\x6e', '\x73', '\x65', '\x72', '\x74', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6d', '\x61', '\x6b', '\x65', '\x5f', '\x70', '\x61', '\x69', '\x72', '\x28', '\x20', '\x6c', '\x63', '\x61', '\x73', '\x65', '\x54', '\x61', '\x67', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x54', '\x61', '\x67', '\x49', '\x6e', '\x66', '\x6f', '\x28', '\x29', '\x20', '\x29', '\x20', '\x29', '\x2e', '\x66', '\x69', '\x72', '\x73', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6f', '\x75', '\x6e', '\x74', '\x49', '\x74', '\x2d', '\x3e', '\x73', '\x65', '\x63', '\x6f', '\x6e', '\x64', '\x2e', '\x61', '\x64', '\x64', '\x28', '\x20', '\x74', '\x61', '\x67', '\x4e', '\x61', '\x6d', '\x65', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x66', '\x6f', '\x72', '\x28', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x74', '\x61', '\x67', '\x43', '\x6f', '\x75', '\x6e', '\x74', '\x20', '\x3a', '\x20', '\x74', '\x61', '\x67', '\x43', '\x6f', '\x75', '\x6e', '\x74', '\x73', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x52', '\x65', '\x75', '\x73', '\x61', '\x62', '\x6c', '\x65', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x20', '\x72', '\x73', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x73', '\x73', '\x20', '\x3c', '\x3c', '\x20', '\x22', '\x20', '\x20', '\x22', '\x20', '\x3c', '\x3c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x65', '\x74', '\x77', '\x28', '\x32', '\x29', '\x20', '\x3c', '\x3c', '\x20', '\x74', '\x61', '\x67', '\x43', '\x6f', '\x75', '\x6e', '\x74', '\x2e', '\x73', '\x65', '\x63', '\x6f', '\x6e', '\x64', '\x2e', '\x63', '\x6f', '\x75', '\x6e', '\x74', '\x20', '\x3c', '\x3c', '\x20', '\x22', '\x20', '\x20', '\x22', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x73', '\x74', '\x72', '\x20', '\x3d', '\x20', '\x72', '\x73', '\x73', '\x2e', '\x73', '\x74', '\x72', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x77', '\x72', '\x61', '\x70', '\x70', '\x65', '\x72', '\x20', '\x3d', '\x20', '\x43', '\x6f', '\x6c', '\x75', '\x6d', '\x6e', '\x28', '\x20', '\x74', '\x61', '\x67', '\x43', '\x6f', '\x75', '\x6e', '\x74', '\x2e', '\x73', '\x65', '\x63', '\x6f', '\x6e', '\x64', '\x2e', '\x61', '\x6c', '\x6c', '\x28', '\x29', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2e', '\x69', '\x6e', '\x69', '\x74', '\x69', '\x61', '\x6c', '\x49', '\x6e', '\x64', '\x65', '\x6e', '\x74', '\x28', '\x20', '\x30', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2e', '\x69', '\x6e', '\x64', '\x65', '\x6e', '\x74', '\x28', '\x20', '\x73', '\x74', '\x72', '\x2e', '\x73', '\x69', '\x7a', '\x65', '\x28', '\x29', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2e', '\x77', '\x69', '\x64', '\x74', '\x68', '\x28', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x43', '\x4f', '\x4e', '\x53', '\x4f', '\x4c', '\x45', '\x5f', '\x57', '\x49', '\x44', '\x54', '\x48', '\x2d', '\x31', '\x30', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x63', '\x6f', '\x75', '\x74', '\x28', '\x29', '\x20', '\x3c', '\x3c', '\x20', '\x73', '\x74', '\x72', '\x20', '\x3c', '\x3c', '\x20', '\x77', '\x72', '\x61', '\x70', '\x70', '\x65', '\x72', '\x20', '\x3c', '\x3c', '\x20', '\x27', '\x5c', '\x6e', '\x27', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x63', '\x6f', '\x75', '\x74', '\x28', '\x29', '\x20', '\x3c', '\x3c', '\x20', '\x70', '\x6c', '\x75', '\x72', '\x61', '\x6c', '\x69', '\x73', '\x65', '\x28', '\x20', '\x74', '\x61', '\x67', '\x43', '\x6f', '\x75', '\x6e', '\x74', '\x73', '\x2e', '\x73', '\x69', '\x7a', '\x65', '\x28', '\x29', '\x2c', '\x20', '\x22', '\x74', '\x61', '\x67', '\x22', '\x20', '\x29', '\x20', '\x3c', '\x3c', '\x20', '\x27', '\x5c', '\x6e', '\x27', '\x20', '\x3c', '\x3c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x65', '\x6e', '\x64', '\x6c', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x74', '\x61', '\x67', '\x43', '\x6f', '\x75', '\x6e', '\x74', '\x73', '\x2e', '\x73', '\x69', '\x7a', '\x65', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x69', '\x7a', '\x65', '\x5f', '\x74', '\x20', '\x6c', '\x69', '\x73', '\x74', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x73', '\x28', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x63', '\x6f', '\x75', '\x74', '\x28', '\x29', '\x20', '\x3c', '\x3c', '\x20', '\x22', '\x41', '\x76', '\x61', '\x69', '\x6c', '\x61', '\x62', '\x6c', '\x65', '\x20', '\x72', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x73', '\x3a', '\x5c', '\x6e', '\x22', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x49', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x3a', '\x3a', '\x46', '\x61', '\x63', '\x74', '\x6f', '\x72', '\x79', '\x4d', '\x61', '\x70', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x66', '\x61', '\x63', '\x74', '\x6f', '\x72', '\x69', '\x65', '\x73', '\x20', '\x3d', '\x20', '\x67', '\x65', '\x74', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x48', '\x75', '\x62', '\x28', '\x29', '\x2e', '\x67', '\x65', '\x74', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x28', '\x29', '\x2e', '\x67', '\x65', '\x74', '\x46', '\x61', '\x63', '\x74', '\x6f', '\x72', '\x69', '\x65', '\x73', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x69', '\x7a', '\x65', '\x5f', '\x74', '\x20', '\x6d', '\x61', '\x78', '\x4e', '\x61', '\x6d', '\x65', '\x4c', '\x65', '\x6e', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x66', '\x6f', '\x72', '\x28', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x66', '\x61', '\x63', '\x74', '\x6f', '\x72', '\x79', '\x4b', '\x76', '\x70', '\x20', '\x3a', '\x20', '\x66', '\x61', '\x63', '\x74', '\x6f', '\x72', '\x69', '\x65', '\x73', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x61', '\x78', '\x4e', '\x61', '\x6d', '\x65', '\x4c', '\x65', '\x6e', '\x20', '\x3d', '\x20', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6d', '\x61', '\x78', '\x29', '\x28', '\x20', '\x6d', '\x61', '\x78', '\x4e', '\x61', '\x6d', '\x65', '\x4c', '\x65', '\x6e', '\x2c', '\x20', '\x66', '\x61', '\x63', '\x74', '\x6f', '\x72', '\x79', '\x4b', '\x76', '\x70', '\x2e', '\x66', '\x69', '\x72', '\x73', '\x74', '\x2e', '\x73', '\x69', '\x7a', '\x65', '\x28', '\x29', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x66', '\x6f', '\x72', '\x28', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x66', '\x61', '\x63', '\x74', '\x6f', '\x72', '\x79', '\x4b', '\x76', '\x70', '\x20', '\x3a', '\x20', '\x66', '\x61', '\x63', '\x74', '\x6f', '\x72', '\x69', '\x65', '\x73', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x63', '\x6f', '\x75', '\x74', '\x28', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x3c', '\x3c', '\x20', '\x43', '\x6f', '\x6c', '\x75', '\x6d', '\x6e', '\x28', '\x20', '\x66', '\x61', '\x63', '\x74', '\x6f', '\x72', '\x79', '\x4b', '\x76', '\x70', '\x2e', '\x66', '\x69', '\x72', '\x73', '\x74', '\x20', '\x2b', '\x20', '\x22', '\x3a', '\x22', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2e', '\x69', '\x6e', '\x64', '\x65', '\x6e', '\x74', '\x28', '\x32', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2e', '\x77', '\x69', '\x64', '\x74', '\x68', '\x28', '\x20', '\x35', '\x2b', '\x6d', '\x61', '\x78', '\x4e', '\x61', '\x6d', '\x65', '\x4c', '\x65', '\x6e', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2b', '\x20', '\x20', '\x43', '\x6f', '\x6c', '\x75', '\x6d', '\x6e', '\x28', '\x20', '\x66', '\x61', '\x63', '\x74', '\x6f', '\x72', '\x79', '\x4b', '\x76', '\x70', '\x2e', '\x73', '\x65', '\x63', '\x6f', '\x6e', '\x64', '\x2d', '\x3e', '\x67', '\x65', '\x74', '\x44', '\x65', '\x73', '\x63', '\x72', '\x69', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x28', '\x29', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2e', '\x69', '\x6e', '\x69', '\x74', '\x69', '\x61', '\x6c', '\x49', '\x6e', '\x64', '\x65', '\x6e', '\x74', '\x28', '\x30', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2e', '\x69', '\x6e', '\x64', '\x65', '\x6e', '\x74', '\x28', '\x32', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2e', '\x77', '\x69', '\x64', '\x74', '\x68', '\x28', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x43', '\x4f', '\x4e', '\x53', '\x4f', '\x4c', '\x45', '\x5f', '\x57', '\x49', '\x44', '\x54', '\x48', '\x20', '\x2d', '\x20', '\x6d', '\x61', '\x78', '\x4e', '\x61', '\x6d', '\x65', '\x4c', '\x65', '\x6e', '\x2d', '\x38', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x3c', '\x3c', '\x20', '\x22', '\x5c', '\x6e', '\x22', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x63', '\x6f', '\x75', '\x74', '\x28', '\x29', '\x20', '\x3c', '\x3c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x65', '\x6e', '\x64', '\x6c', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x66', '\x61', '\x63', '\x74', '\x6f', '\x72', '\x69', '\x65', '\x73', '\x2e', '\x73', '\x69', '\x7a', '\x65', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x4f', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x3c', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x69', '\x7a', '\x65', '\x5f', '\x74', '\x3e', '\x20', '\x6c', '\x69', '\x73', '\x74', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x68', '\x61', '\x72', '\x65', '\x64', '\x5f', '\x70', '\x74', '\x72', '\x3c', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x3e', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x4f', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x3c', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x69', '\x7a', '\x65', '\x5f', '\x74', '\x3e', '\x20', '\x6c', '\x69', '\x73', '\x74', '\x65', '\x64', '\x43', '\x6f', '\x75', '\x6e', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x67', '\x65', '\x74', '\x43', '\x75', '\x72', '\x72', '\x65', '\x6e', '\x74', '\x4d', '\x75', '\x74', '\x61', '\x62', '\x6c', '\x65', '\x43', '\x6f', '\x6e', '\x74', '\x65', '\x78', '\x74', '\x28', '\x29', '\x2e', '\x73', '\x65', '\x74', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x28', '\x20', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x2d', '\x3e', '\x6c', '\x69', '\x73', '\x74', '\x54', '\x65', '\x73', '\x74', '\x73', '\x28', '\x29', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6c', '\x69', '\x73', '\x74', '\x65', '\x64', '\x43', '\x6f', '\x75', '\x6e', '\x74', '\x20', '\x3d', '\x20', '\x6c', '\x69', '\x73', '\x74', '\x65', '\x64', '\x43', '\x6f', '\x75', '\x6e', '\x74', '\x2e', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x4f', '\x72', '\x28', '\x30', '\x29', '\x20', '\x2b', '\x20', '\x6c', '\x69', '\x73', '\x74', '\x54', '\x65', '\x73', '\x74', '\x73', '\x28', '\x20', '\x2a', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x2d', '\x3e', '\x6c', '\x69', '\x73', '\x74', '\x54', '\x65', '\x73', '\x74', '\x4e', '\x61', '\x6d', '\x65', '\x73', '\x4f', '\x6e', '\x6c', '\x79', '\x28', '\x29', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6c', '\x69', '\x73', '\x74', '\x65', '\x64', '\x43', '\x6f', '\x75', '\x6e', '\x74', '\x20', '\x3d', '\x20', '\x6c', '\x69', '\x73', '\x74', '\x65', '\x64', '\x43', '\x6f', '\x75', '\x6e', '\x74', '\x2e', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x4f', '\x72', '\x28', '\x30', '\x29', '\x20', '\x2b', '\x20', '\x6c', '\x69', '\x73', '\x74', '\x54', '\x65', '\x73', '\x74', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x73', '\x4f', '\x6e', '\x6c', '\x79', '\x28', '\x20', '\x2a', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x2d', '\x3e', '\x6c', '\x69', '\x73', '\x74', '\x54', '\x61', '\x67', '\x73', '\x28', '\x29', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6c', '\x69', '\x73', '\x74', '\x65', '\x64', '\x43', '\x6f', '\x75', '\x6e', '\x74', '\x20', '\x3d', '\x20', '\x6c', '\x69', '\x73', '\x74', '\x65', '\x64', '\x43', '\x6f', '\x75', '\x6e', '\x74', '\x2e', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x4f', '\x72', '\x28', '\x30', '\x29', '\x20', '\x2b', '\x20', '\x6c', '\x69', '\x73', '\x74', '\x54', '\x61', '\x67', '\x73', '\x28', '\x20', '\x2a', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x2d', '\x3e', '\x6c', '\x69', '\x73', '\x74', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x73', '\x28', '\x29', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6c', '\x69', '\x73', '\x74', '\x65', '\x64', '\x43', '\x6f', '\x75', '\x6e', '\x74', '\x20', '\x3d', '\x20', '\x6c', '\x69', '\x73', '\x74', '\x65', '\x64', '\x43', '\x6f', '\x75', '\x6e', '\x74', '\x2e', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x4f', '\x72', '\x28', '\x30', '\x29', '\x20', '\x2b', '\x20', '\x6c', '\x69', '\x73', '\x74', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x73', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6c', '\x69', '\x73', '\x74', '\x65', '\x64', '\x43', '\x6f', '\x75', '\x6e', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x6c', '\x69', '\x73', '\x74', '\x2e', '\x63', '\x70', '\x70', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x73', '\x2e', '\x63', '\x70', '\x70', '\x0d', '\x0a', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x73', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x49', '\x6d', '\x70', '\x6c', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x55', '\x6e', '\x74', '\x79', '\x70', '\x65', '\x64', '\x42', '\x61', '\x73', '\x65', '\x3a', '\x3a', '\x74', '\x6f', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x6d', '\x5f', '\x63', '\x61', '\x63', '\x68', '\x65', '\x64', '\x54', '\x6f', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x2e', '\x65', '\x6d', '\x70', '\x74', '\x79', '\x28', '\x29', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x63', '\x61', '\x63', '\x68', '\x65', '\x64', '\x54', '\x6f', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x3d', '\x20', '\x64', '\x65', '\x73', '\x63', '\x72', '\x69', '\x62', '\x65', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6d', '\x5f', '\x63', '\x61', '\x63', '\x68', '\x65', '\x64', '\x54', '\x6f', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x55', '\x6e', '\x74', '\x79', '\x70', '\x65', '\x64', '\x42', '\x61', '\x73', '\x65', '\x3a', '\x3a', '\x7e', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x55', '\x6e', '\x74', '\x79', '\x70', '\x65', '\x64', '\x42', '\x61', '\x73', '\x65', '\x28', '\x29', '\x20', '\x3d', '\x20', '\x64', '\x65', '\x66', '\x61', '\x75', '\x6c', '\x74', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x49', '\x6d', '\x70', '\x6c', '\x0d', '\x0a', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x73', '\x0d', '\x0a', '\x0d', '\x0a', '\x75', '\x73', '\x69', '\x6e', '\x67', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x73', '\x3b', '\x0d', '\x0a', '\x75', '\x73', '\x69', '\x6e', '\x67', '\x20', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x73', '\x3a', '\x3a', '\x49', '\x6d', '\x70', '\x6c', '\x3a', '\x3a', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x42', '\x61', '\x73', '\x65', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x73', '\x2e', '\x63', '\x70', '\x70', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x73', '\x5f', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x2e', '\x63', '\x70', '\x70', '\x0d', '\x0a', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x73', '\x20', '\x7b', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x45', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x45', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x4d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x3a', '\x3a', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x65', '\x78', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x65', '\x78', '\x2e', '\x77', '\x68', '\x61', '\x74', '\x28', '\x29', '\x20', '\x3d', '\x3d', '\x20', '\x6d', '\x5f', '\x6d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x3b', '\x0d', '\x0a', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x45', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x4d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x3a', '\x3a', '\x64', '\x65', '\x73', '\x63', '\x72', '\x69', '\x62', '\x65', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x22', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x6d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x20', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x73', '\x20', '\x5c', '\x22', '\x22', '\x20', '\x2b', '\x20', '\x6d', '\x5f', '\x6d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x20', '\x2b', '\x20', '\x22', '\x5c', '\x22', '\x22', '\x3b', '\x0d', '\x0a', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x7d', '\x0d', '\x0a', '\x45', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x3a', '\x3a', '\x45', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x4d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x20', '\x4d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x45', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x3a', '\x3a', '\x45', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x4d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x28', '\x6d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x29', '\x3b', '\x0d', '\x0a', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x45', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x0d', '\x0a', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x73', '\x0d', '\x0a', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x73', '\x5f', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x2e', '\x63', '\x70', '\x70', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x73', '\x5f', '\x66', '\x6c', '\x6f', '\x61', '\x74', '\x69', '\x6e', '\x67', '\x2e', '\x63', '\x70', '\x70', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x70', '\x6f', '\x6c', '\x79', '\x66', '\x69', '\x6c', '\x6c', '\x73', '\x2e', '\x68', '\x70', '\x70', '\x0d', '\x0a', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x69', '\x73', '\x6e', '\x61', '\x6e', '\x28', '\x66', '\x6c', '\x6f', '\x61', '\x74', '\x20', '\x66', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x69', '\x73', '\x6e', '\x61', '\x6e', '\x28', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x20', '\x64', '\x29', '\x3b', '\x0d', '\x0a', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x70', '\x6f', '\x6c', '\x79', '\x66', '\x69', '\x6c', '\x6c', '\x73', '\x2e', '\x68', '\x70', '\x70', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x74', '\x6f', '\x5f', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x2e', '\x68', '\x70', '\x70', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x3e', '\x0d', '\x0a', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x20', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x54', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x74', '\x6f', '\x5f', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x28', '\x54', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x74', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x43', '\x50', '\x50', '\x31', '\x31', '\x5f', '\x54', '\x4f', '\x5f', '\x53', '\x54', '\x52', '\x49', '\x4e', '\x47', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x74', '\x6f', '\x5f', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x28', '\x74', '\x29', '\x3b', '\x0d', '\x0a', '\x23', '\x65', '\x6c', '\x73', '\x65', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x52', '\x65', '\x75', '\x73', '\x61', '\x62', '\x6c', '\x65', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x20', '\x72', '\x73', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x73', '\x73', '\x20', '\x3c', '\x3c', '\x20', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x72', '\x73', '\x73', '\x2e', '\x73', '\x74', '\x72', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x74', '\x6f', '\x5f', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x2e', '\x68', '\x70', '\x70', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x61', '\x6c', '\x67', '\x6f', '\x72', '\x69', '\x74', '\x68', '\x6d', '\x3e', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x63', '\x6d', '\x61', '\x74', '\x68', '\x3e', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x63', '\x73', '\x74', '\x64', '\x6c', '\x69', '\x62', '\x3e', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x63', '\x73', '\x74', '\x64', '\x69', '\x6e', '\x74', '\x3e', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x63', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x3e', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x73', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x3e', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x5f', '\x74', '\x72', '\x61', '\x69', '\x74', '\x73', '\x3e', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x69', '\x6f', '\x6d', '\x61', '\x6e', '\x69', '\x70', '\x3e', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x6c', '\x69', '\x6d', '\x69', '\x74', '\x73', '\x3e', '\x0d', '\x0a', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x69', '\x6e', '\x74', '\x33', '\x32', '\x5f', '\x74', '\x20', '\x63', '\x6f', '\x6e', '\x76', '\x65', '\x72', '\x74', '\x28', '\x66', '\x6c', '\x6f', '\x61', '\x74', '\x20', '\x66', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x5f', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x28', '\x73', '\x69', '\x7a', '\x65', '\x6f', '\x66', '\x28', '\x66', '\x6c', '\x6f', '\x61', '\x74', '\x29', '\x20', '\x3d', '\x3d', '\x20', '\x73', '\x69', '\x7a', '\x65', '\x6f', '\x66', '\x28', '\x69', '\x6e', '\x74', '\x33', '\x32', '\x5f', '\x74', '\x29', '\x2c', '\x20', '\x22', '\x49', '\x6d', '\x70', '\x6f', '\x72', '\x74', '\x61', '\x6e', '\x74', '\x20', '\x55', '\x4c', '\x50', '\x20', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x20', '\x61', '\x73', '\x73', '\x75', '\x6d', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x76', '\x69', '\x6f', '\x6c', '\x61', '\x74', '\x65', '\x64', '\x22', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x6e', '\x74', '\x33', '\x32', '\x5f', '\x74', '\x20', '\x69', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6d', '\x65', '\x6d', '\x63', '\x70', '\x79', '\x28', '\x26', '\x69', '\x2c', '\x20', '\x26', '\x66', '\x2c', '\x20', '\x73', '\x69', '\x7a', '\x65', '\x6f', '\x66', '\x28', '\x66', '\x29', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x69', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x69', '\x6e', '\x74', '\x36', '\x34', '\x5f', '\x74', '\x20', '\x63', '\x6f', '\x6e', '\x76', '\x65', '\x72', '\x74', '\x28', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x20', '\x64', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x5f', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x28', '\x73', '\x69', '\x7a', '\x65', '\x6f', '\x66', '\x28', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x29', '\x20', '\x3d', '\x3d', '\x20', '\x73', '\x69', '\x7a', '\x65', '\x6f', '\x66', '\x28', '\x69', '\x6e', '\x74', '\x36', '\x34', '\x5f', '\x74', '\x29', '\x2c', '\x20', '\x22', '\x49', '\x6d', '\x70', '\x6f', '\x72', '\x74', '\x61', '\x6e', '\x74', '\x20', '\x55', '\x4c', '\x50', '\x20', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x20', '\x61', '\x73', '\x73', '\x75', '\x6d', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x76', '\x69', '\x6f', '\x6c', '\x61', '\x74', '\x65', '\x64', '\x22', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x6e', '\x74', '\x36', '\x34', '\x5f', '\x74', '\x20', '\x69', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6d', '\x65', '\x6d', '\x63', '\x70', '\x79', '\x28', '\x26', '\x69', '\x2c', '\x20', '\x26', '\x64', '\x2c', '\x20', '\x73', '\x69', '\x7a', '\x65', '\x6f', '\x66', '\x28', '\x64', '\x29', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x69', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x20', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x46', '\x50', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x61', '\x6c', '\x6d', '\x6f', '\x73', '\x74', '\x45', '\x71', '\x75', '\x61', '\x6c', '\x55', '\x6c', '\x70', '\x73', '\x28', '\x46', '\x50', '\x20', '\x6c', '\x68', '\x73', '\x2c', '\x20', '\x46', '\x50', '\x20', '\x72', '\x68', '\x73', '\x2c', '\x20', '\x75', '\x69', '\x6e', '\x74', '\x36', '\x34', '\x5f', '\x74', '\x20', '\x6d', '\x61', '\x78', '\x55', '\x6c', '\x70', '\x44', '\x69', '\x66', '\x66', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x43', '\x6f', '\x6d', '\x70', '\x61', '\x72', '\x69', '\x73', '\x6f', '\x6e', '\x20', '\x77', '\x69', '\x74', '\x68', '\x20', '\x4e', '\x61', '\x4e', '\x20', '\x73', '\x68', '\x6f', '\x75', '\x6c', '\x64', '\x20', '\x61', '\x6c', '\x77', '\x61', '\x79', '\x73', '\x20', '\x62', '\x65', '\x20', '\x66', '\x61', '\x6c', '\x73', '\x65', '\x2e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x54', '\x68', '\x69', '\x73', '\x20', '\x77', '\x61', '\x79', '\x20', '\x77', '\x65', '\x20', '\x63', '\x61', '\x6e', '\x20', '\x72', '\x75', '\x6c', '\x65', '\x20', '\x69', '\x74', '\x20', '\x6f', '\x75', '\x74', '\x20', '\x62', '\x65', '\x66', '\x6f', '\x72', '\x65', '\x20', '\x67', '\x65', '\x74', '\x74', '\x69', '\x6e', '\x67', '\x20', '\x69', '\x6e', '\x74', '\x6f', '\x20', '\x74', '\x68', '\x65', '\x20', '\x75', '\x67', '\x6c', '\x79', '\x20', '\x64', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x73', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x69', '\x73', '\x6e', '\x61', '\x6e', '\x28', '\x6c', '\x68', '\x73', '\x29', '\x20', '\x7c', '\x7c', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x69', '\x73', '\x6e', '\x61', '\x6e', '\x28', '\x72', '\x68', '\x73', '\x29', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x66', '\x61', '\x6c', '\x73', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x6c', '\x63', '\x20', '\x3d', '\x20', '\x63', '\x6f', '\x6e', '\x76', '\x65', '\x72', '\x74', '\x28', '\x6c', '\x68', '\x73', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x72', '\x63', '\x20', '\x3d', '\x20', '\x63', '\x6f', '\x6e', '\x76', '\x65', '\x72', '\x74', '\x28', '\x72', '\x68', '\x73', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x28', '\x6c', '\x63', '\x20', '\x3c', '\x20', '\x30', '\x29', '\x20', '\x21', '\x3d', '\x20', '\x28', '\x72', '\x63', '\x20', '\x3c', '\x20', '\x30', '\x29', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x50', '\x6f', '\x74', '\x65', '\x6e', '\x74', '\x69', '\x61', '\x6c', '\x6c', '\x79', '\x20', '\x77', '\x65', '\x20', '\x63', '\x61', '\x6e', '\x20', '\x68', '\x61', '\x76', '\x65', '\x20', '\x2b', '\x30', '\x20', '\x61', '\x6e', '\x64', '\x20', '\x2d', '\x30', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6c', '\x68', '\x73', '\x20', '\x3d', '\x3d', '\x20', '\x72', '\x68', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x75', '\x6c', '\x70', '\x44', '\x69', '\x66', '\x66', '\x20', '\x3d', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x61', '\x62', '\x73', '\x28', '\x6c', '\x63', '\x20', '\x2d', '\x20', '\x72', '\x63', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x5f', '\x63', '\x61', '\x73', '\x74', '\x3c', '\x75', '\x69', '\x6e', '\x74', '\x36', '\x34', '\x5f', '\x74', '\x3e', '\x28', '\x75', '\x6c', '\x70', '\x44', '\x69', '\x66', '\x66', '\x29', '\x20', '\x3c', '\x3d', '\x20', '\x6d', '\x61', '\x78', '\x55', '\x6c', '\x70', '\x44', '\x69', '\x66', '\x66', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x7d', '\x20', '\x2f', '\x2f', '\x65', '\x6e', '\x64', '\x20', '\x61', '\x6e', '\x6f', '\x6e', '\x79', '\x6d', '\x6f', '\x75', '\x73', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x47', '\x4c', '\x4f', '\x42', '\x41', '\x4c', '\x5f', '\x4e', '\x45', '\x58', '\x54', '\x41', '\x46', '\x54', '\x45', '\x52', '\x29', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x5f', '\x5f', '\x63', '\x6c', '\x61', '\x6e', '\x67', '\x5f', '\x5f', '\x29', '\x0d', '\x0a', '\x23', '\x70', '\x72', '\x61', '\x67', '\x6d', '\x61', '\x20', '\x63', '\x6c', '\x61', '\x6e', '\x67', '\x20', '\x64', '\x69', '\x61', '\x67', '\x6e', '\x6f', '\x73', '\x74', '\x69', '\x63', '\x20', '\x70', '\x75', '\x73', '\x68', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x54', '\x68', '\x65', '\x20', '\x6c', '\x6f', '\x6e', '\x67', '\x20', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x6c', '\x6f', '\x61', '\x64', '\x20', '\x69', '\x73', '\x20', '\x63', '\x75', '\x72', '\x72', '\x65', '\x6e', '\x74', '\x6c', '\x79', '\x20', '\x75', '\x6e', '\x75', '\x73', '\x65', '\x64', '\x0d', '\x0a', '\x23', '\x70', '\x72', '\x61', '\x67', '\x6d', '\x61', '\x20', '\x63', '\x6c', '\x61', '\x6e', '\x67', '\x20', '\x64', '\x69', '\x61', '\x67', '\x6e', '\x6f', '\x73', '\x74', '\x69', '\x63', '\x20', '\x69', '\x67', '\x6e', '\x6f', '\x72', '\x65', '\x64', '\x20', '\x22', '\x2d', '\x57', '\x75', '\x6e', '\x75', '\x73', '\x65', '\x64', '\x2d', '\x66', '\x75', '\x6e', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x22', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x66', '\x6c', '\x6f', '\x61', '\x74', '\x20', '\x6e', '\x65', '\x78', '\x74', '\x61', '\x66', '\x74', '\x65', '\x72', '\x28', '\x66', '\x6c', '\x6f', '\x61', '\x74', '\x20', '\x78', '\x2c', '\x20', '\x66', '\x6c', '\x6f', '\x61', '\x74', '\x20', '\x79', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x3a', '\x3a', '\x6e', '\x65', '\x78', '\x74', '\x61', '\x66', '\x74', '\x65', '\x72', '\x66', '\x28', '\x78', '\x2c', '\x20', '\x79', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x20', '\x6e', '\x65', '\x78', '\x74', '\x61', '\x66', '\x74', '\x65', '\x72', '\x28', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x20', '\x78', '\x2c', '\x20', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x20', '\x79', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x3a', '\x3a', '\x6e', '\x65', '\x78', '\x74', '\x61', '\x66', '\x74', '\x65', '\x72', '\x28', '\x78', '\x2c', '\x20', '\x79', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x6c', '\x6f', '\x6e', '\x67', '\x20', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x20', '\x6e', '\x65', '\x78', '\x74', '\x61', '\x66', '\x74', '\x65', '\x72', '\x28', '\x6c', '\x6f', '\x6e', '\x67', '\x20', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x20', '\x78', '\x2c', '\x20', '\x6c', '\x6f', '\x6e', '\x67', '\x20', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x20', '\x79', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x3a', '\x3a', '\x6e', '\x65', '\x78', '\x74', '\x61', '\x66', '\x74', '\x65', '\x72', '\x6c', '\x28', '\x78', '\x2c', '\x20', '\x79', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x5f', '\x5f', '\x63', '\x6c', '\x61', '\x6e', '\x67', '\x5f', '\x5f', '\x29', '\x0d', '\x0a', '\x23', '\x70', '\x72', '\x61', '\x67', '\x6d', '\x61', '\x20', '\x63', '\x6c', '\x61', '\x6e', '\x67', '\x20', '\x64', '\x69', '\x61', '\x67', '\x6e', '\x6f', '\x73', '\x74', '\x69', '\x63', '\x20', '\x70', '\x6f', '\x70', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x20', '\x2f', '\x2f', '\x20', '\x5e', '\x5e', '\x5e', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x47', '\x4c', '\x4f', '\x42', '\x41', '\x4c', '\x5f', '\x4e', '\x45', '\x58', '\x54', '\x41', '\x46', '\x54', '\x45', '\x52', '\x20', '\x5e', '\x5e', '\x5e', '\x0d', '\x0a', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x20', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x46', '\x50', '\x3e', '\x0d', '\x0a', '\x46', '\x50', '\x20', '\x73', '\x74', '\x65', '\x70', '\x28', '\x46', '\x50', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x2c', '\x20', '\x46', '\x50', '\x20', '\x64', '\x69', '\x72', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x2c', '\x20', '\x75', '\x69', '\x6e', '\x74', '\x36', '\x34', '\x5f', '\x74', '\x20', '\x73', '\x74', '\x65', '\x70', '\x73', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x66', '\x6f', '\x72', '\x20', '\x28', '\x75', '\x69', '\x6e', '\x74', '\x36', '\x34', '\x5f', '\x74', '\x20', '\x69', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x20', '\x69', '\x20', '\x3c', '\x20', '\x73', '\x74', '\x65', '\x70', '\x73', '\x3b', '\x20', '\x2b', '\x2b', '\x69', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x47', '\x4c', '\x4f', '\x42', '\x41', '\x4c', '\x5f', '\x4e', '\x45', '\x58', '\x54', '\x41', '\x46', '\x54', '\x45', '\x52', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x3d', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x6e', '\x65', '\x78', '\x74', '\x61', '\x66', '\x74', '\x65', '\x72', '\x28', '\x73', '\x74', '\x61', '\x72', '\x74', '\x2c', '\x20', '\x64', '\x69', '\x72', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x29', '\x3b', '\x0d', '\x0a', '\x23', '\x65', '\x6c', '\x73', '\x65', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x3d', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6e', '\x65', '\x78', '\x74', '\x61', '\x66', '\x74', '\x65', '\x72', '\x28', '\x73', '\x74', '\x61', '\x72', '\x74', '\x2c', '\x20', '\x64', '\x69', '\x72', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x29', '\x3b', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x3b', '\x0d', '\x0a', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x50', '\x65', '\x72', '\x66', '\x6f', '\x72', '\x6d', '\x73', '\x20', '\x65', '\x71', '\x75', '\x69', '\x76', '\x61', '\x6c', '\x65', '\x6e', '\x74', '\x20', '\x63', '\x68', '\x65', '\x63', '\x6b', '\x20', '\x6f', '\x66', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x66', '\x61', '\x62', '\x73', '\x28', '\x6c', '\x68', '\x73', '\x20', '\x2d', '\x20', '\x72', '\x68', '\x73', '\x29', '\x20', '\x3c', '\x3d', '\x20', '\x6d', '\x61', '\x72', '\x67', '\x69', '\x6e', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x42', '\x75', '\x74', '\x20', '\x77', '\x69', '\x74', '\x68', '\x6f', '\x75', '\x74', '\x20', '\x74', '\x68', '\x65', '\x20', '\x73', '\x75', '\x62', '\x74', '\x72', '\x61', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x74', '\x6f', '\x20', '\x61', '\x6c', '\x6c', '\x6f', '\x77', '\x20', '\x66', '\x6f', '\x72', '\x20', '\x49', '\x4e', '\x46', '\x49', '\x4e', '\x49', '\x54', '\x59', '\x20', '\x69', '\x6e', '\x20', '\x63', '\x6f', '\x6d', '\x70', '\x61', '\x72', '\x69', '\x73', '\x6f', '\x6e', '\x0d', '\x0a', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x6d', '\x61', '\x72', '\x67', '\x69', '\x6e', '\x43', '\x6f', '\x6d', '\x70', '\x61', '\x72', '\x69', '\x73', '\x6f', '\x6e', '\x28', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x20', '\x6c', '\x68', '\x73', '\x2c', '\x20', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x20', '\x72', '\x68', '\x73', '\x2c', '\x20', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x20', '\x6d', '\x61', '\x72', '\x67', '\x69', '\x6e', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x28', '\x6c', '\x68', '\x73', '\x20', '\x2b', '\x20', '\x6d', '\x61', '\x72', '\x67', '\x69', '\x6e', '\x20', '\x3e', '\x3d', '\x20', '\x72', '\x68', '\x73', '\x29', '\x20', '\x26', '\x26', '\x20', '\x28', '\x72', '\x68', '\x73', '\x20', '\x2b', '\x20', '\x6d', '\x61', '\x72', '\x67', '\x69', '\x6e', '\x20', '\x3e', '\x3d', '\x20', '\x6c', '\x68', '\x73', '\x29', '\x3b', '\x0d', '\x0a', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x20', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x46', '\x6c', '\x6f', '\x61', '\x74', '\x69', '\x6e', '\x67', '\x50', '\x6f', '\x69', '\x6e', '\x74', '\x3e', '\x0d', '\x0a', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x77', '\x72', '\x69', '\x74', '\x65', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6f', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x26', '\x20', '\x6f', '\x75', '\x74', '\x2c', '\x20', '\x46', '\x6c', '\x6f', '\x61', '\x74', '\x69', '\x6e', '\x67', '\x50', '\x6f', '\x69', '\x6e', '\x74', '\x20', '\x6e', '\x75', '\x6d', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x6f', '\x75', '\x74', '\x20', '\x3c', '\x3c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x63', '\x69', '\x65', '\x6e', '\x74', '\x69', '\x66', '\x69', '\x63', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x3c', '\x3c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x65', '\x74', '\x70', '\x72', '\x65', '\x63', '\x69', '\x73', '\x69', '\x6f', '\x6e', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6e', '\x75', '\x6d', '\x65', '\x72', '\x69', '\x63', '\x5f', '\x6c', '\x69', '\x6d', '\x69', '\x74', '\x73', '\x3c', '\x46', '\x6c', '\x6f', '\x61', '\x74', '\x69', '\x6e', '\x67', '\x50', '\x6f', '\x69', '\x6e', '\x74', '\x3e', '\x3a', '\x3a', '\x6d', '\x61', '\x78', '\x5f', '\x64', '\x69', '\x67', '\x69', '\x74', '\x73', '\x31', '\x30', '\x20', '\x2d', '\x20', '\x31', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x3c', '\x3c', '\x20', '\x6e', '\x75', '\x6d', '\x3b', '\x0d', '\x0a', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x61', '\x6e', '\x6f', '\x6e', '\x79', '\x6d', '\x6f', '\x75', '\x73', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x0d', '\x0a', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x73', '\x20', '\x7b', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x46', '\x6c', '\x6f', '\x61', '\x74', '\x69', '\x6e', '\x67', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x65', '\x6e', '\x75', '\x6d', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x20', '\x46', '\x6c', '\x6f', '\x61', '\x74', '\x69', '\x6e', '\x67', '\x50', '\x6f', '\x69', '\x6e', '\x74', '\x4b', '\x69', '\x6e', '\x64', '\x20', '\x3a', '\x20', '\x75', '\x69', '\x6e', '\x74', '\x38', '\x5f', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x46', '\x6c', '\x6f', '\x61', '\x74', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x44', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x57', '\x69', '\x74', '\x68', '\x69', '\x6e', '\x41', '\x62', '\x73', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x3a', '\x3a', '\x57', '\x69', '\x74', '\x68', '\x69', '\x6e', '\x41', '\x62', '\x73', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x28', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x20', '\x74', '\x61', '\x72', '\x67', '\x65', '\x74', '\x2c', '\x20', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x20', '\x6d', '\x61', '\x72', '\x67', '\x69', '\x6e', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x3a', '\x6d', '\x5f', '\x74', '\x61', '\x72', '\x67', '\x65', '\x74', '\x7b', '\x20', '\x74', '\x61', '\x72', '\x67', '\x65', '\x74', '\x20', '\x7d', '\x2c', '\x20', '\x6d', '\x5f', '\x6d', '\x61', '\x72', '\x67', '\x69', '\x6e', '\x7b', '\x20', '\x6d', '\x61', '\x72', '\x67', '\x69', '\x6e', '\x20', '\x7d', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x45', '\x4e', '\x46', '\x4f', '\x52', '\x43', '\x45', '\x28', '\x6d', '\x61', '\x72', '\x67', '\x69', '\x6e', '\x20', '\x3e', '\x3d', '\x20', '\x30', '\x2c', '\x20', '\x22', '\x49', '\x6e', '\x76', '\x61', '\x6c', '\x69', '\x64', '\x20', '\x6d', '\x61', '\x72', '\x67', '\x69', '\x6e', '\x3a', '\x20', '\x22', '\x20', '\x3c', '\x3c', '\x20', '\x6d', '\x61', '\x72', '\x67', '\x69', '\x6e', '\x20', '\x3c', '\x3c', '\x20', '\x27', '\x2e', '\x27', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x3c', '\x3c', '\x20', '\x22', '\x20', '\x4d', '\x61', '\x72', '\x67', '\x69', '\x6e', '\x20', '\x68', '\x61', '\x73', '\x20', '\x74', '\x6f', '\x20', '\x62', '\x65', '\x20', '\x6e', '\x6f', '\x6e', '\x2d', '\x6e', '\x65', '\x67', '\x61', '\x74', '\x69', '\x76', '\x65', '\x2e', '\x22', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x50', '\x65', '\x72', '\x66', '\x6f', '\x72', '\x6d', '\x73', '\x20', '\x65', '\x71', '\x75', '\x69', '\x76', '\x61', '\x6c', '\x65', '\x6e', '\x74', '\x20', '\x63', '\x68', '\x65', '\x63', '\x6b', '\x20', '\x6f', '\x66', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x66', '\x61', '\x62', '\x73', '\x28', '\x6c', '\x68', '\x73', '\x20', '\x2d', '\x20', '\x72', '\x68', '\x73', '\x29', '\x20', '\x3c', '\x3d', '\x20', '\x6d', '\x61', '\x72', '\x67', '\x69', '\x6e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x42', '\x75', '\x74', '\x20', '\x77', '\x69', '\x74', '\x68', '\x6f', '\x75', '\x74', '\x20', '\x74', '\x68', '\x65', '\x20', '\x73', '\x75', '\x62', '\x74', '\x72', '\x61', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x74', '\x6f', '\x20', '\x61', '\x6c', '\x6c', '\x6f', '\x77', '\x20', '\x66', '\x6f', '\x72', '\x20', '\x49', '\x4e', '\x46', '\x49', '\x4e', '\x49', '\x54', '\x59', '\x20', '\x69', '\x6e', '\x20', '\x63', '\x6f', '\x6d', '\x70', '\x61', '\x72', '\x69', '\x73', '\x6f', '\x6e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x57', '\x69', '\x74', '\x68', '\x69', '\x6e', '\x41', '\x62', '\x73', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x3a', '\x3a', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x28', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x65', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x28', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x65', '\x20', '\x2b', '\x20', '\x6d', '\x5f', '\x6d', '\x61', '\x72', '\x67', '\x69', '\x6e', '\x20', '\x3e', '\x3d', '\x20', '\x6d', '\x5f', '\x74', '\x61', '\x72', '\x67', '\x65', '\x74', '\x29', '\x20', '\x26', '\x26', '\x20', '\x28', '\x6d', '\x5f', '\x74', '\x61', '\x72', '\x67', '\x65', '\x74', '\x20', '\x2b', '\x20', '\x6d', '\x5f', '\x6d', '\x61', '\x72', '\x67', '\x69', '\x6e', '\x20', '\x3e', '\x3d', '\x20', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x65', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x57', '\x69', '\x74', '\x68', '\x69', '\x6e', '\x41', '\x62', '\x73', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x3a', '\x3a', '\x64', '\x65', '\x73', '\x63', '\x72', '\x69', '\x62', '\x65', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x22', '\x69', '\x73', '\x20', '\x77', '\x69', '\x74', '\x68', '\x69', '\x6e', '\x20', '\x22', '\x20', '\x2b', '\x20', '\x3a', '\x3a', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x44', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x69', '\x66', '\x79', '\x28', '\x6d', '\x5f', '\x6d', '\x61', '\x72', '\x67', '\x69', '\x6e', '\x29', '\x20', '\x2b', '\x20', '\x22', '\x20', '\x6f', '\x66', '\x20', '\x22', '\x20', '\x2b', '\x20', '\x3a', '\x3a', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x44', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x69', '\x66', '\x79', '\x28', '\x6d', '\x5f', '\x74', '\x61', '\x72', '\x67', '\x65', '\x74', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x57', '\x69', '\x74', '\x68', '\x69', '\x6e', '\x55', '\x6c', '\x70', '\x73', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x3a', '\x3a', '\x57', '\x69', '\x74', '\x68', '\x69', '\x6e', '\x55', '\x6c', '\x70', '\x73', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x28', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x20', '\x74', '\x61', '\x72', '\x67', '\x65', '\x74', '\x2c', '\x20', '\x75', '\x69', '\x6e', '\x74', '\x36', '\x34', '\x5f', '\x74', '\x20', '\x75', '\x6c', '\x70', '\x73', '\x2c', '\x20', '\x46', '\x6c', '\x6f', '\x61', '\x74', '\x69', '\x6e', '\x67', '\x50', '\x6f', '\x69', '\x6e', '\x74', '\x4b', '\x69', '\x6e', '\x64', '\x20', '\x62', '\x61', '\x73', '\x65', '\x54', '\x79', '\x70', '\x65', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x3a', '\x6d', '\x5f', '\x74', '\x61', '\x72', '\x67', '\x65', '\x74', '\x7b', '\x20', '\x74', '\x61', '\x72', '\x67', '\x65', '\x74', '\x20', '\x7d', '\x2c', '\x20', '\x6d', '\x5f', '\x75', '\x6c', '\x70', '\x73', '\x7b', '\x20', '\x75', '\x6c', '\x70', '\x73', '\x20', '\x7d', '\x2c', '\x20', '\x6d', '\x5f', '\x74', '\x79', '\x70', '\x65', '\x7b', '\x20', '\x62', '\x61', '\x73', '\x65', '\x54', '\x79', '\x70', '\x65', '\x20', '\x7d', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x45', '\x4e', '\x46', '\x4f', '\x52', '\x43', '\x45', '\x28', '\x6d', '\x5f', '\x74', '\x79', '\x70', '\x65', '\x20', '\x3d', '\x3d', '\x20', '\x46', '\x6c', '\x6f', '\x61', '\x74', '\x69', '\x6e', '\x67', '\x50', '\x6f', '\x69', '\x6e', '\x74', '\x4b', '\x69', '\x6e', '\x64', '\x3a', '\x3a', '\x44', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7c', '\x7c', '\x20', '\x6d', '\x5f', '\x75', '\x6c', '\x70', '\x73', '\x20', '\x3c', '\x20', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6e', '\x75', '\x6d', '\x65', '\x72', '\x69', '\x63', '\x5f', '\x6c', '\x69', '\x6d', '\x69', '\x74', '\x73', '\x3c', '\x75', '\x69', '\x6e', '\x74', '\x33', '\x32', '\x5f', '\x74', '\x3e', '\x3a', '\x3a', '\x6d', '\x61', '\x78', '\x29', '\x28', '\x29', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x22', '\x50', '\x72', '\x6f', '\x76', '\x69', '\x64', '\x65', '\x64', '\x20', '\x55', '\x4c', '\x50', '\x20', '\x69', '\x73', '\x20', '\x69', '\x6d', '\x70', '\x6f', '\x73', '\x73', '\x69', '\x62', '\x6c', '\x79', '\x20', '\x6c', '\x61', '\x72', '\x67', '\x65', '\x20', '\x66', '\x6f', '\x72', '\x20', '\x61', '\x20', '\x66', '\x6c', '\x6f', '\x61', '\x74', '\x20', '\x63', '\x6f', '\x6d', '\x70', '\x61', '\x72', '\x69', '\x73', '\x6f', '\x6e', '\x2e', '\x22', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x5f', '\x5f', '\x63', '\x6c', '\x61', '\x6e', '\x67', '\x5f', '\x5f', '\x29', '\x0d', '\x0a', '\x23', '\x70', '\x72', '\x61', '\x67', '\x6d', '\x61', '\x20', '\x63', '\x6c', '\x61', '\x6e', '\x67', '\x20', '\x64', '\x69', '\x61', '\x67', '\x6e', '\x6f', '\x73', '\x74', '\x69', '\x63', '\x20', '\x70', '\x75', '\x73', '\x68', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x43', '\x6c', '\x61', '\x6e', '\x67', '\x20', '\x3c', '\x33', '\x2e', '\x35', '\x20', '\x72', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x73', '\x20', '\x6f', '\x6e', '\x20', '\x74', '\x68', '\x65', '\x20', '\x64', '\x65', '\x66', '\x61', '\x75', '\x6c', '\x74', '\x20', '\x62', '\x72', '\x61', '\x6e', '\x63', '\x68', '\x20', '\x69', '\x6e', '\x20', '\x74', '\x68', '\x65', '\x20', '\x73', '\x77', '\x69', '\x74', '\x63', '\x68', '\x20', '\x62', '\x65', '\x6c', '\x6f', '\x77', '\x0d', '\x0a', '\x23', '\x70', '\x72', '\x61', '\x67', '\x6d', '\x61', '\x20', '\x63', '\x6c', '\x61', '\x6e', '\x67', '\x20', '\x64', '\x69', '\x61', '\x67', '\x6e', '\x6f', '\x73', '\x74', '\x69', '\x63', '\x20', '\x69', '\x67', '\x6e', '\x6f', '\x72', '\x65', '\x64', '\x20', '\x22', '\x2d', '\x57', '\x75', '\x6e', '\x72', '\x65', '\x61', '\x63', '\x68', '\x61', '\x62', '\x6c', '\x65', '\x2d', '\x63', '\x6f', '\x64', '\x65', '\x22', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x57', '\x69', '\x74', '\x68', '\x69', '\x6e', '\x55', '\x6c', '\x70', '\x73', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x3a', '\x3a', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x28', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x65', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x77', '\x69', '\x74', '\x63', '\x68', '\x20', '\x28', '\x6d', '\x5f', '\x74', '\x79', '\x70', '\x65', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x61', '\x73', '\x65', '\x20', '\x46', '\x6c', '\x6f', '\x61', '\x74', '\x69', '\x6e', '\x67', '\x50', '\x6f', '\x69', '\x6e', '\x74', '\x4b', '\x69', '\x6e', '\x64', '\x3a', '\x3a', '\x46', '\x6c', '\x6f', '\x61', '\x74', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x61', '\x6c', '\x6d', '\x6f', '\x73', '\x74', '\x45', '\x71', '\x75', '\x61', '\x6c', '\x55', '\x6c', '\x70', '\x73', '\x3c', '\x66', '\x6c', '\x6f', '\x61', '\x74', '\x3e', '\x28', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x5f', '\x63', '\x61', '\x73', '\x74', '\x3c', '\x66', '\x6c', '\x6f', '\x61', '\x74', '\x3e', '\x28', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x65', '\x29', '\x2c', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x5f', '\x63', '\x61', '\x73', '\x74', '\x3c', '\x66', '\x6c', '\x6f', '\x61', '\x74', '\x3e', '\x28', '\x6d', '\x5f', '\x74', '\x61', '\x72', '\x67', '\x65', '\x74', '\x29', '\x2c', '\x20', '\x6d', '\x5f', '\x75', '\x6c', '\x70', '\x73', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x61', '\x73', '\x65', '\x20', '\x46', '\x6c', '\x6f', '\x61', '\x74', '\x69', '\x6e', '\x67', '\x50', '\x6f', '\x69', '\x6e', '\x74', '\x4b', '\x69', '\x6e', '\x64', '\x3a', '\x3a', '\x44', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x61', '\x6c', '\x6d', '\x6f', '\x73', '\x74', '\x45', '\x71', '\x75', '\x61', '\x6c', '\x55', '\x6c', '\x70', '\x73', '\x3c', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x3e', '\x28', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x65', '\x2c', '\x20', '\x6d', '\x5f', '\x74', '\x61', '\x72', '\x67', '\x65', '\x74', '\x2c', '\x20', '\x6d', '\x5f', '\x75', '\x6c', '\x70', '\x73', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x64', '\x65', '\x66', '\x61', '\x75', '\x6c', '\x74', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x45', '\x52', '\x52', '\x4f', '\x52', '\x28', '\x20', '\x22', '\x55', '\x6e', '\x6b', '\x6e', '\x6f', '\x77', '\x6e', '\x20', '\x46', '\x6c', '\x6f', '\x61', '\x74', '\x69', '\x6e', '\x67', '\x50', '\x6f', '\x69', '\x6e', '\x74', '\x4b', '\x69', '\x6e', '\x64', '\x20', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x22', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x5f', '\x5f', '\x63', '\x6c', '\x61', '\x6e', '\x67', '\x5f', '\x5f', '\x29', '\x0d', '\x0a', '\x23', '\x70', '\x72', '\x61', '\x67', '\x6d', '\x61', '\x20', '\x63', '\x6c', '\x61', '\x6e', '\x67', '\x20', '\x64', '\x69', '\x61', '\x67', '\x6e', '\x6f', '\x73', '\x74', '\x69', '\x63', '\x20', '\x70', '\x6f', '\x70', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x57', '\x69', '\x74', '\x68', '\x69', '\x6e', '\x55', '\x6c', '\x70', '\x73', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x3a', '\x3a', '\x64', '\x65', '\x73', '\x63', '\x72', '\x69', '\x62', '\x65', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x20', '\x72', '\x65', '\x74', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x20', '\x3c', '\x3c', '\x20', '\x22', '\x69', '\x73', '\x20', '\x77', '\x69', '\x74', '\x68', '\x69', '\x6e', '\x20', '\x22', '\x20', '\x3c', '\x3c', '\x20', '\x6d', '\x5f', '\x75', '\x6c', '\x70', '\x73', '\x20', '\x3c', '\x3c', '\x20', '\x22', '\x20', '\x55', '\x4c', '\x50', '\x73', '\x20', '\x6f', '\x66', '\x20', '\x22', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x6d', '\x5f', '\x74', '\x79', '\x70', '\x65', '\x20', '\x3d', '\x3d', '\x20', '\x46', '\x6c', '\x6f', '\x61', '\x74', '\x69', '\x6e', '\x67', '\x50', '\x6f', '\x69', '\x6e', '\x74', '\x4b', '\x69', '\x6e', '\x64', '\x3a', '\x3a', '\x46', '\x6c', '\x6f', '\x61', '\x74', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x77', '\x72', '\x69', '\x74', '\x65', '\x28', '\x72', '\x65', '\x74', '\x2c', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x5f', '\x63', '\x61', '\x73', '\x74', '\x3c', '\x66', '\x6c', '\x6f', '\x61', '\x74', '\x3e', '\x28', '\x6d', '\x5f', '\x74', '\x61', '\x72', '\x67', '\x65', '\x74', '\x29', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x20', '\x3c', '\x3c', '\x20', '\x27', '\x66', '\x27', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x20', '\x65', '\x6c', '\x73', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x77', '\x72', '\x69', '\x74', '\x65', '\x28', '\x72', '\x65', '\x74', '\x2c', '\x20', '\x6d', '\x5f', '\x74', '\x61', '\x72', '\x67', '\x65', '\x74', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x20', '\x3c', '\x3c', '\x20', '\x22', '\x20', '\x28', '\x5b', '\x22', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x6d', '\x5f', '\x74', '\x79', '\x70', '\x65', '\x20', '\x3d', '\x3d', '\x20', '\x46', '\x6c', '\x6f', '\x61', '\x74', '\x69', '\x6e', '\x67', '\x50', '\x6f', '\x69', '\x6e', '\x74', '\x4b', '\x69', '\x6e', '\x64', '\x3a', '\x3a', '\x44', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x77', '\x72', '\x69', '\x74', '\x65', '\x28', '\x72', '\x65', '\x74', '\x2c', '\x20', '\x73', '\x74', '\x65', '\x70', '\x28', '\x6d', '\x5f', '\x74', '\x61', '\x72', '\x67', '\x65', '\x74', '\x2c', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x5f', '\x63', '\x61', '\x73', '\x74', '\x3c', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x3e', '\x28', '\x2d', '\x49', '\x4e', '\x46', '\x49', '\x4e', '\x49', '\x54', '\x59', '\x29', '\x2c', '\x20', '\x6d', '\x5f', '\x75', '\x6c', '\x70', '\x73', '\x29', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x20', '\x3c', '\x3c', '\x20', '\x22', '\x2c', '\x20', '\x22', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x77', '\x72', '\x69', '\x74', '\x65', '\x28', '\x72', '\x65', '\x74', '\x2c', '\x20', '\x73', '\x74', '\x65', '\x70', '\x28', '\x6d', '\x5f', '\x74', '\x61', '\x72', '\x67', '\x65', '\x74', '\x2c', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x5f', '\x63', '\x61', '\x73', '\x74', '\x3c', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x3e', '\x28', '\x20', '\x49', '\x4e', '\x46', '\x49', '\x4e', '\x49', '\x54', '\x59', '\x29', '\x2c', '\x20', '\x6d', '\x5f', '\x75', '\x6c', '\x70', '\x73', '\x29', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x20', '\x65', '\x6c', '\x73', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x57', '\x65', '\x20', '\x68', '\x61', '\x76', '\x65', '\x20', '\x74', '\x6f', '\x20', '\x63', '\x61', '\x73', '\x74', '\x20', '\x49', '\x4e', '\x46', '\x49', '\x4e', '\x49', '\x54', '\x59', '\x20', '\x74', '\x6f', '\x20', '\x66', '\x6c', '\x6f', '\x61', '\x74', '\x20', '\x62', '\x65', '\x63', '\x61', '\x75', '\x73', '\x65', '\x20', '\x6f', '\x66', '\x20', '\x4d', '\x69', '\x6e', '\x47', '\x57', '\x2c', '\x20', '\x73', '\x65', '\x65', '\x20', '\x23', '\x31', '\x37', '\x38', '\x32', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x77', '\x72', '\x69', '\x74', '\x65', '\x28', '\x72', '\x65', '\x74', '\x2c', '\x20', '\x73', '\x74', '\x65', '\x70', '\x28', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x5f', '\x63', '\x61', '\x73', '\x74', '\x3c', '\x66', '\x6c', '\x6f', '\x61', '\x74', '\x3e', '\x28', '\x6d', '\x5f', '\x74', '\x61', '\x72', '\x67', '\x65', '\x74', '\x29', '\x2c', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x5f', '\x63', '\x61', '\x73', '\x74', '\x3c', '\x66', '\x6c', '\x6f', '\x61', '\x74', '\x3e', '\x28', '\x2d', '\x49', '\x4e', '\x46', '\x49', '\x4e', '\x49', '\x54', '\x59', '\x29', '\x2c', '\x20', '\x6d', '\x5f', '\x75', '\x6c', '\x70', '\x73', '\x29', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x20', '\x3c', '\x3c', '\x20', '\x22', '\x2c', '\x20', '\x22', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x77', '\x72', '\x69', '\x74', '\x65', '\x28', '\x72', '\x65', '\x74', '\x2c', '\x20', '\x73', '\x74', '\x65', '\x70', '\x28', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x5f', '\x63', '\x61', '\x73', '\x74', '\x3c', '\x66', '\x6c', '\x6f', '\x61', '\x74', '\x3e', '\x28', '\x6d', '\x5f', '\x74', '\x61', '\x72', '\x67', '\x65', '\x74', '\x29', '\x2c', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x5f', '\x63', '\x61', '\x73', '\x74', '\x3c', '\x66', '\x6c', '\x6f', '\x61', '\x74', '\x3e', '\x28', '\x20', '\x49', '\x4e', '\x46', '\x49', '\x4e', '\x49', '\x54', '\x59', '\x29', '\x2c', '\x20', '\x6d', '\x5f', '\x75', '\x6c', '\x70', '\x73', '\x29', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x20', '\x3c', '\x3c', '\x20', '\x22', '\x5d', '\x29', '\x22', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x72', '\x65', '\x74', '\x2e', '\x73', '\x74', '\x72', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x57', '\x69', '\x74', '\x68', '\x69', '\x6e', '\x52', '\x65', '\x6c', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x3a', '\x3a', '\x57', '\x69', '\x74', '\x68', '\x69', '\x6e', '\x52', '\x65', '\x6c', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x28', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x20', '\x74', '\x61', '\x72', '\x67', '\x65', '\x74', '\x2c', '\x20', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x20', '\x65', '\x70', '\x73', '\x69', '\x6c', '\x6f', '\x6e', '\x29', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x74', '\x61', '\x72', '\x67', '\x65', '\x74', '\x28', '\x74', '\x61', '\x72', '\x67', '\x65', '\x74', '\x29', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x65', '\x70', '\x73', '\x69', '\x6c', '\x6f', '\x6e', '\x28', '\x65', '\x70', '\x73', '\x69', '\x6c', '\x6f', '\x6e', '\x29', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x45', '\x4e', '\x46', '\x4f', '\x52', '\x43', '\x45', '\x28', '\x6d', '\x5f', '\x65', '\x70', '\x73', '\x69', '\x6c', '\x6f', '\x6e', '\x20', '\x3e', '\x3d', '\x20', '\x30', '\x2e', '\x2c', '\x20', '\x22', '\x52', '\x65', '\x6c', '\x61', '\x74', '\x69', '\x76', '\x65', '\x20', '\x63', '\x6f', '\x6d', '\x70', '\x61', '\x72', '\x69', '\x73', '\x6f', '\x6e', '\x20', '\x77', '\x69', '\x74', '\x68', '\x20', '\x65', '\x70', '\x73', '\x69', '\x6c', '\x6f', '\x6e', '\x20', '\x3c', '\x20', '\x20', '\x30', '\x20', '\x64', '\x6f', '\x65', '\x73', '\x20', '\x6e', '\x6f', '\x74', '\x20', '\x6d', '\x61', '\x6b', '\x65', '\x20', '\x73', '\x65', '\x6e', '\x73', '\x65', '\x2e', '\x22', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x45', '\x4e', '\x46', '\x4f', '\x52', '\x43', '\x45', '\x28', '\x6d', '\x5f', '\x65', '\x70', '\x73', '\x69', '\x6c', '\x6f', '\x6e', '\x20', '\x20', '\x3c', '\x20', '\x31', '\x2e', '\x2c', '\x20', '\x22', '\x52', '\x65', '\x6c', '\x61', '\x74', '\x69', '\x76', '\x65', '\x20', '\x63', '\x6f', '\x6d', '\x70', '\x61', '\x72', '\x69', '\x73', '\x6f', '\x6e', '\x20', '\x77', '\x69', '\x74', '\x68', '\x20', '\x65', '\x70', '\x73', '\x69', '\x6c', '\x6f', '\x6e', '\x20', '\x3e', '\x3d', '\x20', '\x31', '\x20', '\x64', '\x6f', '\x65', '\x73', '\x20', '\x6e', '\x6f', '\x74', '\x20', '\x6d', '\x61', '\x6b', '\x65', '\x20', '\x73', '\x65', '\x6e', '\x73', '\x65', '\x2e', '\x22', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x57', '\x69', '\x74', '\x68', '\x69', '\x6e', '\x52', '\x65', '\x6c', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x3a', '\x3a', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x28', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x65', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x72', '\x65', '\x6c', '\x4d', '\x61', '\x72', '\x67', '\x69', '\x6e', '\x20', '\x3d', '\x20', '\x6d', '\x5f', '\x65', '\x70', '\x73', '\x69', '\x6c', '\x6f', '\x6e', '\x20', '\x2a', '\x20', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6d', '\x61', '\x78', '\x29', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x66', '\x61', '\x62', '\x73', '\x28', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x65', '\x29', '\x2c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x66', '\x61', '\x62', '\x73', '\x28', '\x6d', '\x5f', '\x74', '\x61', '\x72', '\x67', '\x65', '\x74', '\x29', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6d', '\x61', '\x72', '\x67', '\x69', '\x6e', '\x43', '\x6f', '\x6d', '\x70', '\x61', '\x72', '\x69', '\x73', '\x6f', '\x6e', '\x28', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x65', '\x2c', '\x20', '\x6d', '\x5f', '\x74', '\x61', '\x72', '\x67', '\x65', '\x74', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x69', '\x73', '\x69', '\x6e', '\x66', '\x28', '\x72', '\x65', '\x6c', '\x4d', '\x61', '\x72', '\x67', '\x69', '\x6e', '\x29', '\x3f', '\x20', '\x30', '\x20', '\x3a', '\x20', '\x72', '\x65', '\x6c', '\x4d', '\x61', '\x72', '\x67', '\x69', '\x6e', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x57', '\x69', '\x74', '\x68', '\x69', '\x6e', '\x52', '\x65', '\x6c', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x3a', '\x3a', '\x64', '\x65', '\x73', '\x63', '\x72', '\x69', '\x62', '\x65', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x52', '\x65', '\x75', '\x73', '\x61', '\x62', '\x6c', '\x65', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x20', '\x73', '\x73', '\x74', '\x72', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x73', '\x74', '\x72', '\x20', '\x3c', '\x3c', '\x20', '\x22', '\x61', '\x6e', '\x64', '\x20', '\x22', '\x20', '\x3c', '\x3c', '\x20', '\x6d', '\x5f', '\x74', '\x61', '\x72', '\x67', '\x65', '\x74', '\x20', '\x3c', '\x3c', '\x20', '\x22', '\x20', '\x61', '\x72', '\x65', '\x20', '\x77', '\x69', '\x74', '\x68', '\x69', '\x6e', '\x20', '\x22', '\x20', '\x3c', '\x3c', '\x20', '\x6d', '\x5f', '\x65', '\x70', '\x73', '\x69', '\x6c', '\x6f', '\x6e', '\x20', '\x2a', '\x20', '\x31', '\x30', '\x30', '\x2e', '\x20', '\x3c', '\x3c', '\x20', '\x22', '\x25', '\x20', '\x6f', '\x66', '\x20', '\x65', '\x61', '\x63', '\x68', '\x20', '\x6f', '\x74', '\x68', '\x65', '\x72', '\x22', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x73', '\x73', '\x74', '\x72', '\x2e', '\x73', '\x74', '\x72', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x7d', '\x2f', '\x2f', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x46', '\x6c', '\x6f', '\x61', '\x74', '\x69', '\x6e', '\x67', '\x0d', '\x0a', '\x0d', '\x0a', '\x46', '\x6c', '\x6f', '\x61', '\x74', '\x69', '\x6e', '\x67', '\x3a', '\x3a', '\x57', '\x69', '\x74', '\x68', '\x69', '\x6e', '\x55', '\x6c', '\x70', '\x73', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x20', '\x57', '\x69', '\x74', '\x68', '\x69', '\x6e', '\x55', '\x4c', '\x50', '\x28', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x20', '\x74', '\x61', '\x72', '\x67', '\x65', '\x74', '\x2c', '\x20', '\x75', '\x69', '\x6e', '\x74', '\x36', '\x34', '\x5f', '\x74', '\x20', '\x6d', '\x61', '\x78', '\x55', '\x6c', '\x70', '\x44', '\x69', '\x66', '\x66', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x46', '\x6c', '\x6f', '\x61', '\x74', '\x69', '\x6e', '\x67', '\x3a', '\x3a', '\x57', '\x69', '\x74', '\x68', '\x69', '\x6e', '\x55', '\x6c', '\x70', '\x73', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x28', '\x74', '\x61', '\x72', '\x67', '\x65', '\x74', '\x2c', '\x20', '\x6d', '\x61', '\x78', '\x55', '\x6c', '\x70', '\x44', '\x69', '\x66', '\x66', '\x2c', '\x20', '\x46', '\x6c', '\x6f', '\x61', '\x74', '\x69', '\x6e', '\x67', '\x3a', '\x3a', '\x46', '\x6c', '\x6f', '\x61', '\x74', '\x69', '\x6e', '\x67', '\x50', '\x6f', '\x69', '\x6e', '\x74', '\x4b', '\x69', '\x6e', '\x64', '\x3a', '\x3a', '\x44', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x29', '\x3b', '\x0d', '\x0a', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x46', '\x6c', '\x6f', '\x61', '\x74', '\x69', '\x6e', '\x67', '\x3a', '\x3a', '\x57', '\x69', '\x74', '\x68', '\x69', '\x6e', '\x55', '\x6c', '\x70', '\x73', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x20', '\x57', '\x69', '\x74', '\x68', '\x69', '\x6e', '\x55', '\x4c', '\x50', '\x28', '\x66', '\x6c', '\x6f', '\x61', '\x74', '\x20', '\x74', '\x61', '\x72', '\x67', '\x65', '\x74', '\x2c', '\x20', '\x75', '\x69', '\x6e', '\x74', '\x36', '\x34', '\x5f', '\x74', '\x20', '\x6d', '\x61', '\x78', '\x55', '\x6c', '\x70', '\x44', '\x69', '\x66', '\x66', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x46', '\x6c', '\x6f', '\x61', '\x74', '\x69', '\x6e', '\x67', '\x3a', '\x3a', '\x57', '\x69', '\x74', '\x68', '\x69', '\x6e', '\x55', '\x6c', '\x70', '\x73', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x28', '\x74', '\x61', '\x72', '\x67', '\x65', '\x74', '\x2c', '\x20', '\x6d', '\x61', '\x78', '\x55', '\x6c', '\x70', '\x44', '\x69', '\x66', '\x66', '\x2c', '\x20', '\x46', '\x6c', '\x6f', '\x61', '\x74', '\x69', '\x6e', '\x67', '\x3a', '\x3a', '\x46', '\x6c', '\x6f', '\x61', '\x74', '\x69', '\x6e', '\x67', '\x50', '\x6f', '\x69', '\x6e', '\x74', '\x4b', '\x69', '\x6e', '\x64', '\x3a', '\x3a', '\x46', '\x6c', '\x6f', '\x61', '\x74', '\x29', '\x3b', '\x0d', '\x0a', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x46', '\x6c', '\x6f', '\x61', '\x74', '\x69', '\x6e', '\x67', '\x3a', '\x3a', '\x57', '\x69', '\x74', '\x68', '\x69', '\x6e', '\x41', '\x62', '\x73', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x20', '\x57', '\x69', '\x74', '\x68', '\x69', '\x6e', '\x41', '\x62', '\x73', '\x28', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x20', '\x74', '\x61', '\x72', '\x67', '\x65', '\x74', '\x2c', '\x20', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x20', '\x6d', '\x61', '\x72', '\x67', '\x69', '\x6e', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x46', '\x6c', '\x6f', '\x61', '\x74', '\x69', '\x6e', '\x67', '\x3a', '\x3a', '\x57', '\x69', '\x74', '\x68', '\x69', '\x6e', '\x41', '\x62', '\x73', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x28', '\x74', '\x61', '\x72', '\x67', '\x65', '\x74', '\x2c', '\x20', '\x6d', '\x61', '\x72', '\x67', '\x69', '\x6e', '\x29', '\x3b', '\x0d', '\x0a', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x46', '\x6c', '\x6f', '\x61', '\x74', '\x69', '\x6e', '\x67', '\x3a', '\x3a', '\x57', '\x69', '\x74', '\x68', '\x69', '\x6e', '\x52', '\x65', '\x6c', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x20', '\x57', '\x69', '\x74', '\x68', '\x69', '\x6e', '\x52', '\x65', '\x6c', '\x28', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x20', '\x74', '\x61', '\x72', '\x67', '\x65', '\x74', '\x2c', '\x20', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x20', '\x65', '\x70', '\x73', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x46', '\x6c', '\x6f', '\x61', '\x74', '\x69', '\x6e', '\x67', '\x3a', '\x3a', '\x57', '\x69', '\x74', '\x68', '\x69', '\x6e', '\x52', '\x65', '\x6c', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x28', '\x74', '\x61', '\x72', '\x67', '\x65', '\x74', '\x2c', '\x20', '\x65', '\x70', '\x73', '\x29', '\x3b', '\x0d', '\x0a', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x46', '\x6c', '\x6f', '\x61', '\x74', '\x69', '\x6e', '\x67', '\x3a', '\x3a', '\x57', '\x69', '\x74', '\x68', '\x69', '\x6e', '\x52', '\x65', '\x6c', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x20', '\x57', '\x69', '\x74', '\x68', '\x69', '\x6e', '\x52', '\x65', '\x6c', '\x28', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x20', '\x74', '\x61', '\x72', '\x67', '\x65', '\x74', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x46', '\x6c', '\x6f', '\x61', '\x74', '\x69', '\x6e', '\x67', '\x3a', '\x3a', '\x57', '\x69', '\x74', '\x68', '\x69', '\x6e', '\x52', '\x65', '\x6c', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x28', '\x74', '\x61', '\x72', '\x67', '\x65', '\x74', '\x2c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6e', '\x75', '\x6d', '\x65', '\x72', '\x69', '\x63', '\x5f', '\x6c', '\x69', '\x6d', '\x69', '\x74', '\x73', '\x3c', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x3e', '\x3a', '\x3a', '\x65', '\x70', '\x73', '\x69', '\x6c', '\x6f', '\x6e', '\x28', '\x29', '\x20', '\x2a', '\x20', '\x31', '\x30', '\x30', '\x29', '\x3b', '\x0d', '\x0a', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x46', '\x6c', '\x6f', '\x61', '\x74', '\x69', '\x6e', '\x67', '\x3a', '\x3a', '\x57', '\x69', '\x74', '\x68', '\x69', '\x6e', '\x52', '\x65', '\x6c', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x20', '\x57', '\x69', '\x74', '\x68', '\x69', '\x6e', '\x52', '\x65', '\x6c', '\x28', '\x66', '\x6c', '\x6f', '\x61', '\x74', '\x20', '\x74', '\x61', '\x72', '\x67', '\x65', '\x74', '\x2c', '\x20', '\x66', '\x6c', '\x6f', '\x61', '\x74', '\x20', '\x65', '\x70', '\x73', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x46', '\x6c', '\x6f', '\x61', '\x74', '\x69', '\x6e', '\x67', '\x3a', '\x3a', '\x57', '\x69', '\x74', '\x68', '\x69', '\x6e', '\x52', '\x65', '\x6c', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x28', '\x74', '\x61', '\x72', '\x67', '\x65', '\x74', '\x2c', '\x20', '\x65', '\x70', '\x73', '\x29', '\x3b', '\x0d', '\x0a', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x46', '\x6c', '\x6f', '\x61', '\x74', '\x69', '\x6e', '\x67', '\x3a', '\x3a', '\x57', '\x69', '\x74', '\x68', '\x69', '\x6e', '\x52', '\x65', '\x6c', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x20', '\x57', '\x69', '\x74', '\x68', '\x69', '\x6e', '\x52', '\x65', '\x6c', '\x28', '\x66', '\x6c', '\x6f', '\x61', '\x74', '\x20', '\x74', '\x61', '\x72', '\x67', '\x65', '\x74', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x46', '\x6c', '\x6f', '\x61', '\x74', '\x69', '\x6e', '\x67', '\x3a', '\x3a', '\x57', '\x69', '\x74', '\x68', '\x69', '\x6e', '\x52', '\x65', '\x6c', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x28', '\x74', '\x61', '\x72', '\x67', '\x65', '\x74', '\x2c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6e', '\x75', '\x6d', '\x65', '\x72', '\x69', '\x63', '\x5f', '\x6c', '\x69', '\x6d', '\x69', '\x74', '\x73', '\x3c', '\x66', '\x6c', '\x6f', '\x61', '\x74', '\x3e', '\x3a', '\x3a', '\x65', '\x70', '\x73', '\x69', '\x6c', '\x6f', '\x6e', '\x28', '\x29', '\x20', '\x2a', '\x20', '\x31', '\x30', '\x30', '\x29', '\x3b', '\x0d', '\x0a', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x73', '\x0d', '\x0a', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x73', '\x5f', '\x66', '\x6c', '\x6f', '\x61', '\x74', '\x69', '\x6e', '\x67', '\x2e', '\x63', '\x70', '\x70', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x73', '\x5f', '\x67', '\x65', '\x6e', '\x65', '\x72', '\x69', '\x63', '\x2e', '\x63', '\x70', '\x70', '\x0d', '\x0a', '\x0d', '\x0a', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x73', '\x3a', '\x3a', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x69', '\x63', '\x3a', '\x3a', '\x44', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x3a', '\x3a', '\x66', '\x69', '\x6e', '\x61', '\x6c', '\x69', '\x7a', '\x65', '\x44', '\x65', '\x73', '\x63', '\x72', '\x69', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x28', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x26', '\x20', '\x64', '\x65', '\x73', '\x63', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x64', '\x65', '\x73', '\x63', '\x2e', '\x65', '\x6d', '\x70', '\x74', '\x79', '\x28', '\x29', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x22', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x73', '\x20', '\x75', '\x6e', '\x64', '\x65', '\x73', '\x63', '\x72', '\x69', '\x62', '\x65', '\x64', '\x20', '\x70', '\x72', '\x65', '\x64', '\x69', '\x63', '\x61', '\x74', '\x65', '\x22', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x20', '\x65', '\x6c', '\x73', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x22', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x73', '\x20', '\x70', '\x72', '\x65', '\x64', '\x69', '\x63', '\x61', '\x74', '\x65', '\x3a', '\x20', '\x5c', '\x22', '\x22', '\x20', '\x2b', '\x20', '\x64', '\x65', '\x73', '\x63', '\x20', '\x2b', '\x20', '\x27', '\x22', '\x27', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x7d', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x73', '\x5f', '\x67', '\x65', '\x6e', '\x65', '\x72', '\x69', '\x63', '\x2e', '\x63', '\x70', '\x70', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x73', '\x5f', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x2e', '\x63', '\x70', '\x70', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x72', '\x65', '\x67', '\x65', '\x78', '\x3e', '\x0d', '\x0a', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x73', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x53', '\x74', '\x64', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x61', '\x73', '\x65', '\x64', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x3a', '\x3a', '\x43', '\x61', '\x73', '\x65', '\x64', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x73', '\x74', '\x72', '\x2c', '\x20', '\x43', '\x61', '\x73', '\x65', '\x53', '\x65', '\x6e', '\x73', '\x69', '\x74', '\x69', '\x76', '\x65', '\x3a', '\x3a', '\x43', '\x68', '\x6f', '\x69', '\x63', '\x65', '\x20', '\x63', '\x61', '\x73', '\x65', '\x53', '\x65', '\x6e', '\x73', '\x69', '\x74', '\x69', '\x76', '\x69', '\x74', '\x79', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x3a', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x63', '\x61', '\x73', '\x65', '\x53', '\x65', '\x6e', '\x73', '\x69', '\x74', '\x69', '\x76', '\x69', '\x74', '\x79', '\x28', '\x20', '\x63', '\x61', '\x73', '\x65', '\x53', '\x65', '\x6e', '\x73', '\x69', '\x74', '\x69', '\x76', '\x69', '\x74', '\x79', '\x20', '\x29', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x73', '\x74', '\x72', '\x28', '\x20', '\x61', '\x64', '\x6a', '\x75', '\x73', '\x74', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x28', '\x20', '\x73', '\x74', '\x72', '\x20', '\x29', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7b', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x43', '\x61', '\x73', '\x65', '\x64', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x3a', '\x3a', '\x61', '\x64', '\x6a', '\x75', '\x73', '\x74', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x73', '\x74', '\x72', '\x20', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6d', '\x5f', '\x63', '\x61', '\x73', '\x65', '\x53', '\x65', '\x6e', '\x73', '\x69', '\x74', '\x69', '\x76', '\x69', '\x74', '\x79', '\x20', '\x3d', '\x3d', '\x20', '\x43', '\x61', '\x73', '\x65', '\x53', '\x65', '\x6e', '\x73', '\x69', '\x74', '\x69', '\x76', '\x65', '\x3a', '\x3a', '\x4e', '\x6f', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x3f', '\x20', '\x74', '\x6f', '\x4c', '\x6f', '\x77', '\x65', '\x72', '\x28', '\x20', '\x73', '\x74', '\x72', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x3a', '\x20', '\x73', '\x74', '\x72', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x43', '\x61', '\x73', '\x65', '\x64', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x3a', '\x3a', '\x63', '\x61', '\x73', '\x65', '\x53', '\x65', '\x6e', '\x73', '\x69', '\x74', '\x69', '\x76', '\x69', '\x74', '\x79', '\x53', '\x75', '\x66', '\x66', '\x69', '\x78', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6d', '\x5f', '\x63', '\x61', '\x73', '\x65', '\x53', '\x65', '\x6e', '\x73', '\x69', '\x74', '\x69', '\x76', '\x69', '\x74', '\x79', '\x20', '\x3d', '\x3d', '\x20', '\x43', '\x61', '\x73', '\x65', '\x53', '\x65', '\x6e', '\x73', '\x69', '\x74', '\x69', '\x76', '\x65', '\x3a', '\x3a', '\x4e', '\x6f', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x3f', '\x20', '\x22', '\x20', '\x28', '\x63', '\x61', '\x73', '\x65', '\x20', '\x69', '\x6e', '\x73', '\x65', '\x6e', '\x73', '\x69', '\x74', '\x69', '\x76', '\x65', '\x29', '\x22', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x3a', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x42', '\x61', '\x73', '\x65', '\x3a', '\x3a', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x42', '\x61', '\x73', '\x65', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x2c', '\x20', '\x43', '\x61', '\x73', '\x65', '\x64', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x63', '\x6f', '\x6d', '\x70', '\x61', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x3a', '\x20', '\x6d', '\x5f', '\x63', '\x6f', '\x6d', '\x70', '\x61', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x28', '\x20', '\x63', '\x6f', '\x6d', '\x70', '\x61', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x29', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x28', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x42', '\x61', '\x73', '\x65', '\x3a', '\x3a', '\x64', '\x65', '\x73', '\x63', '\x72', '\x69', '\x62', '\x65', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x64', '\x65', '\x73', '\x63', '\x72', '\x69', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x64', '\x65', '\x73', '\x63', '\x72', '\x69', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x2e', '\x72', '\x65', '\x73', '\x65', '\x72', '\x76', '\x65', '\x28', '\x35', '\x20', '\x2b', '\x20', '\x6d', '\x5f', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x2e', '\x73', '\x69', '\x7a', '\x65', '\x28', '\x29', '\x20', '\x2b', '\x20', '\x6d', '\x5f', '\x63', '\x6f', '\x6d', '\x70', '\x61', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x2e', '\x6d', '\x5f', '\x73', '\x74', '\x72', '\x2e', '\x73', '\x69', '\x7a', '\x65', '\x28', '\x29', '\x20', '\x2b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x63', '\x6f', '\x6d', '\x70', '\x61', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x2e', '\x63', '\x61', '\x73', '\x65', '\x53', '\x65', '\x6e', '\x73', '\x69', '\x74', '\x69', '\x76', '\x69', '\x74', '\x79', '\x53', '\x75', '\x66', '\x66', '\x69', '\x78', '\x28', '\x29', '\x2e', '\x73', '\x69', '\x7a', '\x65', '\x28', '\x29', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x64', '\x65', '\x73', '\x63', '\x72', '\x69', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x2b', '\x3d', '\x20', '\x6d', '\x5f', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x64', '\x65', '\x73', '\x63', '\x72', '\x69', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x2b', '\x3d', '\x20', '\x22', '\x3a', '\x20', '\x5c', '\x22', '\x22', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x64', '\x65', '\x73', '\x63', '\x72', '\x69', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x2b', '\x3d', '\x20', '\x6d', '\x5f', '\x63', '\x6f', '\x6d', '\x70', '\x61', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x2e', '\x6d', '\x5f', '\x73', '\x74', '\x72', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x64', '\x65', '\x73', '\x63', '\x72', '\x69', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x2b', '\x3d', '\x20', '\x22', '\x5c', '\x22', '\x22', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x64', '\x65', '\x73', '\x63', '\x72', '\x69', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x2b', '\x3d', '\x20', '\x6d', '\x5f', '\x63', '\x6f', '\x6d', '\x70', '\x61', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x2e', '\x63', '\x61', '\x73', '\x65', '\x53', '\x65', '\x6e', '\x73', '\x69', '\x74', '\x69', '\x76', '\x69', '\x74', '\x79', '\x53', '\x75', '\x66', '\x66', '\x69', '\x78', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x64', '\x65', '\x73', '\x63', '\x72', '\x69', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x45', '\x71', '\x75', '\x61', '\x6c', '\x73', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x3a', '\x3a', '\x45', '\x71', '\x75', '\x61', '\x6c', '\x73', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x28', '\x20', '\x43', '\x61', '\x73', '\x65', '\x64', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x63', '\x6f', '\x6d', '\x70', '\x61', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x29', '\x20', '\x3a', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x42', '\x61', '\x73', '\x65', '\x28', '\x20', '\x22', '\x65', '\x71', '\x75', '\x61', '\x6c', '\x73', '\x22', '\x2c', '\x20', '\x63', '\x6f', '\x6d', '\x70', '\x61', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x29', '\x20', '\x7b', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x45', '\x71', '\x75', '\x61', '\x6c', '\x73', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x3a', '\x3a', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x73', '\x6f', '\x75', '\x72', '\x63', '\x65', '\x20', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6d', '\x5f', '\x63', '\x6f', '\x6d', '\x70', '\x61', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x2e', '\x61', '\x64', '\x6a', '\x75', '\x73', '\x74', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x28', '\x20', '\x73', '\x6f', '\x75', '\x72', '\x63', '\x65', '\x20', '\x29', '\x20', '\x3d', '\x3d', '\x20', '\x6d', '\x5f', '\x63', '\x6f', '\x6d', '\x70', '\x61', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x2e', '\x6d', '\x5f', '\x73', '\x74', '\x72', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x6f', '\x6e', '\x74', '\x61', '\x69', '\x6e', '\x73', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x3a', '\x3a', '\x43', '\x6f', '\x6e', '\x74', '\x61', '\x69', '\x6e', '\x73', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x28', '\x20', '\x43', '\x61', '\x73', '\x65', '\x64', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x63', '\x6f', '\x6d', '\x70', '\x61', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x29', '\x20', '\x3a', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x42', '\x61', '\x73', '\x65', '\x28', '\x20', '\x22', '\x63', '\x6f', '\x6e', '\x74', '\x61', '\x69', '\x6e', '\x73', '\x22', '\x2c', '\x20', '\x63', '\x6f', '\x6d', '\x70', '\x61', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x29', '\x20', '\x7b', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x43', '\x6f', '\x6e', '\x74', '\x61', '\x69', '\x6e', '\x73', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x3a', '\x3a', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x73', '\x6f', '\x75', '\x72', '\x63', '\x65', '\x20', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x63', '\x6f', '\x6e', '\x74', '\x61', '\x69', '\x6e', '\x73', '\x28', '\x20', '\x6d', '\x5f', '\x63', '\x6f', '\x6d', '\x70', '\x61', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x2e', '\x61', '\x64', '\x6a', '\x75', '\x73', '\x74', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x28', '\x20', '\x73', '\x6f', '\x75', '\x72', '\x63', '\x65', '\x20', '\x29', '\x2c', '\x20', '\x6d', '\x5f', '\x63', '\x6f', '\x6d', '\x70', '\x61', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x2e', '\x6d', '\x5f', '\x73', '\x74', '\x72', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x53', '\x74', '\x61', '\x72', '\x74', '\x73', '\x57', '\x69', '\x74', '\x68', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x3a', '\x3a', '\x53', '\x74', '\x61', '\x72', '\x74', '\x73', '\x57', '\x69', '\x74', '\x68', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x28', '\x20', '\x43', '\x61', '\x73', '\x65', '\x64', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x63', '\x6f', '\x6d', '\x70', '\x61', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x29', '\x20', '\x3a', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x42', '\x61', '\x73', '\x65', '\x28', '\x20', '\x22', '\x73', '\x74', '\x61', '\x72', '\x74', '\x73', '\x20', '\x77', '\x69', '\x74', '\x68', '\x22', '\x2c', '\x20', '\x63', '\x6f', '\x6d', '\x70', '\x61', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x29', '\x20', '\x7b', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x53', '\x74', '\x61', '\x72', '\x74', '\x73', '\x57', '\x69', '\x74', '\x68', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x3a', '\x3a', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x73', '\x6f', '\x75', '\x72', '\x63', '\x65', '\x20', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x73', '\x57', '\x69', '\x74', '\x68', '\x28', '\x20', '\x6d', '\x5f', '\x63', '\x6f', '\x6d', '\x70', '\x61', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x2e', '\x61', '\x64', '\x6a', '\x75', '\x73', '\x74', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x28', '\x20', '\x73', '\x6f', '\x75', '\x72', '\x63', '\x65', '\x20', '\x29', '\x2c', '\x20', '\x6d', '\x5f', '\x63', '\x6f', '\x6d', '\x70', '\x61', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x2e', '\x6d', '\x5f', '\x73', '\x74', '\x72', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x45', '\x6e', '\x64', '\x73', '\x57', '\x69', '\x74', '\x68', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x3a', '\x3a', '\x45', '\x6e', '\x64', '\x73', '\x57', '\x69', '\x74', '\x68', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x28', '\x20', '\x43', '\x61', '\x73', '\x65', '\x64', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x63', '\x6f', '\x6d', '\x70', '\x61', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x29', '\x20', '\x3a', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x42', '\x61', '\x73', '\x65', '\x28', '\x20', '\x22', '\x65', '\x6e', '\x64', '\x73', '\x20', '\x77', '\x69', '\x74', '\x68', '\x22', '\x2c', '\x20', '\x63', '\x6f', '\x6d', '\x70', '\x61', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x29', '\x20', '\x7b', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x45', '\x6e', '\x64', '\x73', '\x57', '\x69', '\x74', '\x68', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x3a', '\x3a', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x73', '\x6f', '\x75', '\x72', '\x63', '\x65', '\x20', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x65', '\x6e', '\x64', '\x73', '\x57', '\x69', '\x74', '\x68', '\x28', '\x20', '\x6d', '\x5f', '\x63', '\x6f', '\x6d', '\x70', '\x61', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x2e', '\x61', '\x64', '\x6a', '\x75', '\x73', '\x74', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x28', '\x20', '\x73', '\x6f', '\x75', '\x72', '\x63', '\x65', '\x20', '\x29', '\x2c', '\x20', '\x6d', '\x5f', '\x63', '\x6f', '\x6d', '\x70', '\x61', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x2e', '\x6d', '\x5f', '\x73', '\x74', '\x72', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x52', '\x65', '\x67', '\x65', '\x78', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x3a', '\x3a', '\x52', '\x65', '\x67', '\x65', '\x78', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x72', '\x65', '\x67', '\x65', '\x78', '\x2c', '\x20', '\x43', '\x61', '\x73', '\x65', '\x53', '\x65', '\x6e', '\x73', '\x69', '\x74', '\x69', '\x76', '\x65', '\x3a', '\x3a', '\x43', '\x68', '\x6f', '\x69', '\x63', '\x65', '\x20', '\x63', '\x61', '\x73', '\x65', '\x53', '\x65', '\x6e', '\x73', '\x69', '\x74', '\x69', '\x76', '\x69', '\x74', '\x79', '\x29', '\x3a', '\x20', '\x6d', '\x5f', '\x72', '\x65', '\x67', '\x65', '\x78', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6d', '\x6f', '\x76', '\x65', '\x28', '\x72', '\x65', '\x67', '\x65', '\x78', '\x29', '\x29', '\x2c', '\x20', '\x6d', '\x5f', '\x63', '\x61', '\x73', '\x65', '\x53', '\x65', '\x6e', '\x73', '\x69', '\x74', '\x69', '\x76', '\x69', '\x74', '\x79', '\x28', '\x63', '\x61', '\x73', '\x65', '\x53', '\x65', '\x6e', '\x73', '\x69', '\x74', '\x69', '\x76', '\x69', '\x74', '\x79', '\x29', '\x20', '\x7b', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x52', '\x65', '\x67', '\x65', '\x78', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x3a', '\x3a', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x65', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x66', '\x6c', '\x61', '\x67', '\x73', '\x20', '\x3d', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x72', '\x65', '\x67', '\x65', '\x78', '\x3a', '\x3a', '\x45', '\x43', '\x4d', '\x41', '\x53', '\x63', '\x72', '\x69', '\x70', '\x74', '\x3b', '\x20', '\x2f', '\x2f', '\x20', '\x45', '\x43', '\x4d', '\x41', '\x53', '\x63', '\x72', '\x69', '\x70', '\x74', '\x20', '\x69', '\x73', '\x20', '\x74', '\x68', '\x65', '\x20', '\x64', '\x65', '\x66', '\x61', '\x75', '\x6c', '\x74', '\x20', '\x73', '\x79', '\x6e', '\x74', '\x61', '\x78', '\x20', '\x6f', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x61', '\x6e', '\x79', '\x77', '\x61', '\x79', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x6d', '\x5f', '\x63', '\x61', '\x73', '\x65', '\x53', '\x65', '\x6e', '\x73', '\x69', '\x74', '\x69', '\x76', '\x69', '\x74', '\x79', '\x20', '\x3d', '\x3d', '\x20', '\x43', '\x61', '\x73', '\x65', '\x53', '\x65', '\x6e', '\x73', '\x69', '\x74', '\x69', '\x76', '\x65', '\x3a', '\x3a', '\x43', '\x68', '\x6f', '\x69', '\x63', '\x65', '\x3a', '\x3a', '\x4e', '\x6f', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x66', '\x6c', '\x61', '\x67', '\x73', '\x20', '\x7c', '\x3d', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x72', '\x65', '\x67', '\x65', '\x78', '\x3a', '\x3a', '\x69', '\x63', '\x61', '\x73', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x72', '\x65', '\x67', '\x20', '\x3d', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x72', '\x65', '\x67', '\x65', '\x78', '\x28', '\x6d', '\x5f', '\x72', '\x65', '\x67', '\x65', '\x78', '\x2c', '\x20', '\x66', '\x6c', '\x61', '\x67', '\x73', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x72', '\x65', '\x67', '\x65', '\x78', '\x5f', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x28', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x65', '\x2c', '\x20', '\x72', '\x65', '\x67', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x52', '\x65', '\x67', '\x65', '\x78', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x3a', '\x3a', '\x64', '\x65', '\x73', '\x63', '\x72', '\x69', '\x62', '\x65', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x22', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x73', '\x20', '\x22', '\x20', '\x2b', '\x20', '\x3a', '\x3a', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x44', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x69', '\x66', '\x79', '\x28', '\x6d', '\x5f', '\x72', '\x65', '\x67', '\x65', '\x78', '\x29', '\x20', '\x2b', '\x20', '\x28', '\x28', '\x6d', '\x5f', '\x63', '\x61', '\x73', '\x65', '\x53', '\x65', '\x6e', '\x73', '\x69', '\x74', '\x69', '\x76', '\x69', '\x74', '\x79', '\x20', '\x3d', '\x3d', '\x20', '\x43', '\x61', '\x73', '\x65', '\x53', '\x65', '\x6e', '\x73', '\x69', '\x74', '\x69', '\x76', '\x65', '\x3a', '\x3a', '\x43', '\x68', '\x6f', '\x69', '\x63', '\x65', '\x3a', '\x3a', '\x59', '\x65', '\x73', '\x29', '\x3f', '\x20', '\x22', '\x20', '\x63', '\x61', '\x73', '\x65', '\x20', '\x73', '\x65', '\x6e', '\x73', '\x69', '\x74', '\x69', '\x76', '\x65', '\x6c', '\x79', '\x22', '\x20', '\x3a', '\x20', '\x22', '\x20', '\x63', '\x61', '\x73', '\x65', '\x20', '\x69', '\x6e', '\x73', '\x65', '\x6e', '\x73', '\x69', '\x74', '\x69', '\x76', '\x65', '\x6c', '\x79', '\x22', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x53', '\x74', '\x64', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x53', '\x74', '\x64', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x3a', '\x3a', '\x45', '\x71', '\x75', '\x61', '\x6c', '\x73', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x20', '\x45', '\x71', '\x75', '\x61', '\x6c', '\x73', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x73', '\x74', '\x72', '\x2c', '\x20', '\x43', '\x61', '\x73', '\x65', '\x53', '\x65', '\x6e', '\x73', '\x69', '\x74', '\x69', '\x76', '\x65', '\x3a', '\x3a', '\x43', '\x68', '\x6f', '\x69', '\x63', '\x65', '\x20', '\x63', '\x61', '\x73', '\x65', '\x53', '\x65', '\x6e', '\x73', '\x69', '\x74', '\x69', '\x76', '\x69', '\x74', '\x79', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x53', '\x74', '\x64', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x3a', '\x3a', '\x45', '\x71', '\x75', '\x61', '\x6c', '\x73', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x28', '\x20', '\x53', '\x74', '\x64', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x3a', '\x3a', '\x43', '\x61', '\x73', '\x65', '\x64', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x28', '\x20', '\x73', '\x74', '\x72', '\x2c', '\x20', '\x63', '\x61', '\x73', '\x65', '\x53', '\x65', '\x6e', '\x73', '\x69', '\x74', '\x69', '\x76', '\x69', '\x74', '\x79', '\x29', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x53', '\x74', '\x64', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x3a', '\x3a', '\x43', '\x6f', '\x6e', '\x74', '\x61', '\x69', '\x6e', '\x73', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x20', '\x43', '\x6f', '\x6e', '\x74', '\x61', '\x69', '\x6e', '\x73', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x73', '\x74', '\x72', '\x2c', '\x20', '\x43', '\x61', '\x73', '\x65', '\x53', '\x65', '\x6e', '\x73', '\x69', '\x74', '\x69', '\x76', '\x65', '\x3a', '\x3a', '\x43', '\x68', '\x6f', '\x69', '\x63', '\x65', '\x20', '\x63', '\x61', '\x73', '\x65', '\x53', '\x65', '\x6e', '\x73', '\x69', '\x74', '\x69', '\x76', '\x69', '\x74', '\x79', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x53', '\x74', '\x64', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x3a', '\x3a', '\x43', '\x6f', '\x6e', '\x74', '\x61', '\x69', '\x6e', '\x73', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x28', '\x20', '\x53', '\x74', '\x64', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x3a', '\x3a', '\x43', '\x61', '\x73', '\x65', '\x64', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x28', '\x20', '\x73', '\x74', '\x72', '\x2c', '\x20', '\x63', '\x61', '\x73', '\x65', '\x53', '\x65', '\x6e', '\x73', '\x69', '\x74', '\x69', '\x76', '\x69', '\x74', '\x79', '\x29', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x53', '\x74', '\x64', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x3a', '\x3a', '\x45', '\x6e', '\x64', '\x73', '\x57', '\x69', '\x74', '\x68', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x20', '\x45', '\x6e', '\x64', '\x73', '\x57', '\x69', '\x74', '\x68', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x73', '\x74', '\x72', '\x2c', '\x20', '\x43', '\x61', '\x73', '\x65', '\x53', '\x65', '\x6e', '\x73', '\x69', '\x74', '\x69', '\x76', '\x65', '\x3a', '\x3a', '\x43', '\x68', '\x6f', '\x69', '\x63', '\x65', '\x20', '\x63', '\x61', '\x73', '\x65', '\x53', '\x65', '\x6e', '\x73', '\x69', '\x74', '\x69', '\x76', '\x69', '\x74', '\x79', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x53', '\x74', '\x64', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x3a', '\x3a', '\x45', '\x6e', '\x64', '\x73', '\x57', '\x69', '\x74', '\x68', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x28', '\x20', '\x53', '\x74', '\x64', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x3a', '\x3a', '\x43', '\x61', '\x73', '\x65', '\x64', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x28', '\x20', '\x73', '\x74', '\x72', '\x2c', '\x20', '\x63', '\x61', '\x73', '\x65', '\x53', '\x65', '\x6e', '\x73', '\x69', '\x74', '\x69', '\x76', '\x69', '\x74', '\x79', '\x29', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x53', '\x74', '\x64', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x3a', '\x3a', '\x53', '\x74', '\x61', '\x72', '\x74', '\x73', '\x57', '\x69', '\x74', '\x68', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x20', '\x53', '\x74', '\x61', '\x72', '\x74', '\x73', '\x57', '\x69', '\x74', '\x68', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x73', '\x74', '\x72', '\x2c', '\x20', '\x43', '\x61', '\x73', '\x65', '\x53', '\x65', '\x6e', '\x73', '\x69', '\x74', '\x69', '\x76', '\x65', '\x3a', '\x3a', '\x43', '\x68', '\x6f', '\x69', '\x63', '\x65', '\x20', '\x63', '\x61', '\x73', '\x65', '\x53', '\x65', '\x6e', '\x73', '\x69', '\x74', '\x69', '\x76', '\x69', '\x74', '\x79', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x53', '\x74', '\x64', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x3a', '\x3a', '\x53', '\x74', '\x61', '\x72', '\x74', '\x73', '\x57', '\x69', '\x74', '\x68', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x28', '\x20', '\x53', '\x74', '\x64', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x3a', '\x3a', '\x43', '\x61', '\x73', '\x65', '\x64', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x28', '\x20', '\x73', '\x74', '\x72', '\x2c', '\x20', '\x63', '\x61', '\x73', '\x65', '\x53', '\x65', '\x6e', '\x73', '\x69', '\x74', '\x69', '\x76', '\x69', '\x74', '\x79', '\x29', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x53', '\x74', '\x64', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x3a', '\x3a', '\x52', '\x65', '\x67', '\x65', '\x78', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x20', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x73', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x72', '\x65', '\x67', '\x65', '\x78', '\x2c', '\x20', '\x43', '\x61', '\x73', '\x65', '\x53', '\x65', '\x6e', '\x73', '\x69', '\x74', '\x69', '\x76', '\x65', '\x3a', '\x3a', '\x43', '\x68', '\x6f', '\x69', '\x63', '\x65', '\x20', '\x63', '\x61', '\x73', '\x65', '\x53', '\x65', '\x6e', '\x73', '\x69', '\x74', '\x69', '\x76', '\x69', '\x74', '\x79', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x53', '\x74', '\x64', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x3a', '\x3a', '\x52', '\x65', '\x67', '\x65', '\x78', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x28', '\x72', '\x65', '\x67', '\x65', '\x78', '\x2c', '\x20', '\x63', '\x61', '\x73', '\x65', '\x53', '\x65', '\x6e', '\x73', '\x69', '\x74', '\x69', '\x76', '\x69', '\x74', '\x79', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x73', '\x0d', '\x0a', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x73', '\x5f', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x2e', '\x63', '\x70', '\x70', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x6d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x2e', '\x63', '\x70', '\x70', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x75', '\x6e', '\x63', '\x61', '\x75', '\x67', '\x68', '\x74', '\x5f', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x2e', '\x68', '\x0d', '\x0a', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x75', '\x6e', '\x63', '\x61', '\x75', '\x67', '\x68', '\x74', '\x5f', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x75', '\x6e', '\x63', '\x61', '\x75', '\x67', '\x68', '\x74', '\x5f', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x2e', '\x68', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x63', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x3e', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x73', '\x74', '\x61', '\x63', '\x6b', '\x3e', '\x0d', '\x0a', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x4d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x3a', '\x3a', '\x4d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x28', '\x20', '\x20', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x66', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x5f', '\x6d', '\x61', '\x63', '\x72', '\x6f', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x53', '\x6f', '\x75', '\x72', '\x63', '\x65', '\x4c', '\x69', '\x6e', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x5f', '\x6c', '\x69', '\x6e', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x57', '\x61', '\x73', '\x3a', '\x3a', '\x4f', '\x66', '\x54', '\x79', '\x70', '\x65', '\x20', '\x5f', '\x74', '\x79', '\x70', '\x65', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x3a', '\x20', '\x20', '\x20', '\x6d', '\x61', '\x63', '\x72', '\x6f', '\x4e', '\x61', '\x6d', '\x65', '\x28', '\x20', '\x5f', '\x6d', '\x61', '\x63', '\x72', '\x6f', '\x4e', '\x61', '\x6d', '\x65', '\x20', '\x29', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6c', '\x69', '\x6e', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x28', '\x20', '\x5f', '\x6c', '\x69', '\x6e', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x29', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x79', '\x70', '\x65', '\x28', '\x20', '\x5f', '\x74', '\x79', '\x70', '\x65', '\x20', '\x29', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x65', '\x71', '\x75', '\x65', '\x6e', '\x63', '\x65', '\x28', '\x20', '\x2b', '\x2b', '\x67', '\x6c', '\x6f', '\x62', '\x61', '\x6c', '\x43', '\x6f', '\x75', '\x6e', '\x74', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7b', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x4d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x3a', '\x3a', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x3d', '\x3d', '\x28', '\x20', '\x4d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6f', '\x74', '\x68', '\x65', '\x72', '\x20', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x73', '\x65', '\x71', '\x75', '\x65', '\x6e', '\x63', '\x65', '\x20', '\x3d', '\x3d', '\x20', '\x6f', '\x74', '\x68', '\x65', '\x72', '\x2e', '\x73', '\x65', '\x71', '\x75', '\x65', '\x6e', '\x63', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x4d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x3a', '\x3a', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x3c', '\x28', '\x20', '\x4d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6f', '\x74', '\x68', '\x65', '\x72', '\x20', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x73', '\x65', '\x71', '\x75', '\x65', '\x6e', '\x63', '\x65', '\x20', '\x3c', '\x20', '\x6f', '\x74', '\x68', '\x65', '\x72', '\x2e', '\x73', '\x65', '\x71', '\x75', '\x65', '\x6e', '\x63', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x54', '\x68', '\x69', '\x73', '\x20', '\x6d', '\x61', '\x79', '\x20', '\x6e', '\x65', '\x65', '\x64', '\x20', '\x70', '\x72', '\x6f', '\x74', '\x65', '\x63', '\x74', '\x69', '\x6e', '\x67', '\x20', '\x69', '\x66', '\x20', '\x74', '\x68', '\x72', '\x65', '\x61', '\x64', '\x69', '\x6e', '\x67', '\x20', '\x73', '\x75', '\x70', '\x70', '\x6f', '\x72', '\x74', '\x20', '\x69', '\x73', '\x20', '\x61', '\x64', '\x64', '\x65', '\x64', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x75', '\x6e', '\x73', '\x69', '\x67', '\x6e', '\x65', '\x64', '\x20', '\x69', '\x6e', '\x74', '\x20', '\x4d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x3a', '\x3a', '\x67', '\x6c', '\x6f', '\x62', '\x61', '\x6c', '\x43', '\x6f', '\x75', '\x6e', '\x74', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x4d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x42', '\x75', '\x69', '\x6c', '\x64', '\x65', '\x72', '\x3a', '\x3a', '\x4d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x42', '\x75', '\x69', '\x6c', '\x64', '\x65', '\x72', '\x28', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x66', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6d', '\x61', '\x63', '\x72', '\x6f', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x53', '\x6f', '\x75', '\x72', '\x63', '\x65', '\x4c', '\x69', '\x6e', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6c', '\x69', '\x6e', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x57', '\x61', '\x73', '\x3a', '\x3a', '\x4f', '\x66', '\x54', '\x79', '\x70', '\x65', '\x20', '\x74', '\x79', '\x70', '\x65', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x3a', '\x6d', '\x5f', '\x69', '\x6e', '\x66', '\x6f', '\x28', '\x6d', '\x61', '\x63', '\x72', '\x6f', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x6c', '\x69', '\x6e', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x2c', '\x20', '\x74', '\x79', '\x70', '\x65', '\x29', '\x20', '\x7b', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x53', '\x63', '\x6f', '\x70', '\x65', '\x64', '\x4d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x3a', '\x3a', '\x53', '\x63', '\x6f', '\x70', '\x65', '\x64', '\x4d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x28', '\x20', '\x4d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x42', '\x75', '\x69', '\x6c', '\x64', '\x65', '\x72', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x62', '\x75', '\x69', '\x6c', '\x64', '\x65', '\x72', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x3a', '\x20', '\x6d', '\x5f', '\x69', '\x6e', '\x66', '\x6f', '\x28', '\x20', '\x62', '\x75', '\x69', '\x6c', '\x64', '\x65', '\x72', '\x2e', '\x6d', '\x5f', '\x69', '\x6e', '\x66', '\x6f', '\x20', '\x29', '\x2c', '\x20', '\x6d', '\x5f', '\x6d', '\x6f', '\x76', '\x65', '\x64', '\x28', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x69', '\x6e', '\x66', '\x6f', '\x2e', '\x6d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x20', '\x3d', '\x20', '\x62', '\x75', '\x69', '\x6c', '\x64', '\x65', '\x72', '\x2e', '\x6d', '\x5f', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x2e', '\x73', '\x74', '\x72', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x67', '\x65', '\x74', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x43', '\x61', '\x70', '\x74', '\x75', '\x72', '\x65', '\x28', '\x29', '\x2e', '\x70', '\x75', '\x73', '\x68', '\x53', '\x63', '\x6f', '\x70', '\x65', '\x64', '\x4d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x28', '\x20', '\x6d', '\x5f', '\x69', '\x6e', '\x66', '\x6f', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x53', '\x63', '\x6f', '\x70', '\x65', '\x64', '\x4d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x3a', '\x3a', '\x53', '\x63', '\x6f', '\x70', '\x65', '\x64', '\x4d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x28', '\x20', '\x53', '\x63', '\x6f', '\x70', '\x65', '\x64', '\x4d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x26', '\x26', '\x20', '\x6f', '\x6c', '\x64', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x3a', '\x20', '\x6d', '\x5f', '\x69', '\x6e', '\x66', '\x6f', '\x28', '\x20', '\x6f', '\x6c', '\x64', '\x2e', '\x6d', '\x5f', '\x69', '\x6e', '\x66', '\x6f', '\x20', '\x29', '\x2c', '\x20', '\x6d', '\x5f', '\x6d', '\x6f', '\x76', '\x65', '\x64', '\x28', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6f', '\x6c', '\x64', '\x2e', '\x6d', '\x5f', '\x6d', '\x6f', '\x76', '\x65', '\x64', '\x20', '\x3d', '\x20', '\x74', '\x72', '\x75', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x53', '\x63', '\x6f', '\x70', '\x65', '\x64', '\x4d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x3a', '\x3a', '\x7e', '\x53', '\x63', '\x6f', '\x70', '\x65', '\x64', '\x4d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x28', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x20', '\x21', '\x75', '\x6e', '\x63', '\x61', '\x75', '\x67', '\x68', '\x74', '\x5f', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x28', '\x29', '\x20', '\x26', '\x26', '\x20', '\x21', '\x6d', '\x5f', '\x6d', '\x6f', '\x76', '\x65', '\x64', '\x20', '\x29', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x67', '\x65', '\x74', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x43', '\x61', '\x70', '\x74', '\x75', '\x72', '\x65', '\x28', '\x29', '\x2e', '\x70', '\x6f', '\x70', '\x53', '\x63', '\x6f', '\x70', '\x65', '\x64', '\x4d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x28', '\x6d', '\x5f', '\x69', '\x6e', '\x66', '\x6f', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x43', '\x61', '\x70', '\x74', '\x75', '\x72', '\x65', '\x72', '\x3a', '\x3a', '\x43', '\x61', '\x70', '\x74', '\x75', '\x72', '\x65', '\x72', '\x28', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x66', '\x20', '\x6d', '\x61', '\x63', '\x72', '\x6f', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x53', '\x6f', '\x75', '\x72', '\x63', '\x65', '\x4c', '\x69', '\x6e', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6c', '\x69', '\x6e', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x2c', '\x20', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x57', '\x61', '\x73', '\x3a', '\x3a', '\x4f', '\x66', '\x54', '\x79', '\x70', '\x65', '\x20', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x54', '\x79', '\x70', '\x65', '\x2c', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x66', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x74', '\x72', '\x69', '\x6d', '\x6d', '\x65', '\x64', '\x20', '\x3d', '\x20', '\x5b', '\x26', '\x5d', '\x20', '\x28', '\x73', '\x69', '\x7a', '\x65', '\x5f', '\x74', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x2c', '\x20', '\x73', '\x69', '\x7a', '\x65', '\x5f', '\x74', '\x20', '\x65', '\x6e', '\x64', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x77', '\x68', '\x69', '\x6c', '\x65', '\x20', '\x28', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x5b', '\x73', '\x74', '\x61', '\x72', '\x74', '\x5d', '\x20', '\x3d', '\x3d', '\x20', '\x27', '\x2c', '\x27', '\x20', '\x7c', '\x7c', '\x20', '\x69', '\x73', '\x73', '\x70', '\x61', '\x63', '\x65', '\x28', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x5b', '\x73', '\x74', '\x61', '\x72', '\x74', '\x5d', '\x29', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2b', '\x2b', '\x73', '\x74', '\x61', '\x72', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x77', '\x68', '\x69', '\x6c', '\x65', '\x20', '\x28', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x5b', '\x65', '\x6e', '\x64', '\x5d', '\x20', '\x3d', '\x3d', '\x20', '\x27', '\x2c', '\x27', '\x20', '\x7c', '\x7c', '\x20', '\x69', '\x73', '\x73', '\x70', '\x61', '\x63', '\x65', '\x28', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x5b', '\x65', '\x6e', '\x64', '\x5d', '\x29', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2d', '\x2d', '\x65', '\x6e', '\x64', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x2e', '\x73', '\x75', '\x62', '\x73', '\x74', '\x72', '\x28', '\x73', '\x74', '\x61', '\x72', '\x74', '\x2c', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x2d', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x2b', '\x20', '\x31', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x73', '\x6b', '\x69', '\x70', '\x71', '\x20', '\x3d', '\x20', '\x5b', '\x26', '\x5d', '\x20', '\x28', '\x73', '\x69', '\x7a', '\x65', '\x5f', '\x74', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x2c', '\x20', '\x63', '\x68', '\x61', '\x72', '\x20', '\x71', '\x75', '\x6f', '\x74', '\x65', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x66', '\x6f', '\x72', '\x20', '\x28', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x69', '\x20', '\x3d', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x2b', '\x20', '\x31', '\x3b', '\x20', '\x69', '\x20', '\x3c', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x2e', '\x73', '\x69', '\x7a', '\x65', '\x28', '\x29', '\x20', '\x3b', '\x20', '\x2b', '\x2b', '\x69', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x5b', '\x69', '\x5d', '\x20', '\x3d', '\x3d', '\x20', '\x71', '\x75', '\x6f', '\x74', '\x65', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x69', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x5b', '\x69', '\x5d', '\x20', '\x3d', '\x3d', '\x20', '\x27', '\x5c', '\x5c', '\x27', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2b', '\x2b', '\x69', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x45', '\x52', '\x52', '\x4f', '\x52', '\x28', '\x22', '\x43', '\x41', '\x50', '\x54', '\x55', '\x52', '\x45', '\x20', '\x70', '\x61', '\x72', '\x73', '\x69', '\x6e', '\x67', '\x20', '\x65', '\x6e', '\x63', '\x6f', '\x75', '\x6e', '\x74', '\x65', '\x72', '\x65', '\x64', '\x20', '\x75', '\x6e', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x64', '\x20', '\x71', '\x75', '\x6f', '\x74', '\x65', '\x22', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x69', '\x7a', '\x65', '\x5f', '\x74', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x61', '\x63', '\x6b', '\x3c', '\x63', '\x68', '\x61', '\x72', '\x3e', '\x20', '\x6f', '\x70', '\x65', '\x6e', '\x69', '\x6e', '\x67', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x66', '\x6f', '\x72', '\x20', '\x28', '\x73', '\x69', '\x7a', '\x65', '\x5f', '\x74', '\x20', '\x70', '\x6f', '\x73', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x20', '\x70', '\x6f', '\x73', '\x20', '\x3c', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x2e', '\x73', '\x69', '\x7a', '\x65', '\x28', '\x29', '\x3b', '\x20', '\x2b', '\x2b', '\x70', '\x6f', '\x73', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x68', '\x61', '\x72', '\x20', '\x63', '\x20', '\x3d', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x5b', '\x70', '\x6f', '\x73', '\x5d', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x77', '\x69', '\x74', '\x63', '\x68', '\x20', '\x28', '\x63', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x61', '\x73', '\x65', '\x20', '\x27', '\x5b', '\x27', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x61', '\x73', '\x65', '\x20', '\x27', '\x7b', '\x27', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x61', '\x73', '\x65', '\x20', '\x27', '\x28', '\x27', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x49', '\x74', '\x20', '\x69', '\x73', '\x20', '\x62', '\x61', '\x73', '\x69', '\x63', '\x61', '\x6c', '\x6c', '\x79', '\x20', '\x69', '\x6d', '\x70', '\x6f', '\x73', '\x73', '\x69', '\x62', '\x6c', '\x65', '\x20', '\x74', '\x6f', '\x20', '\x64', '\x69', '\x73', '\x61', '\x6d', '\x62', '\x69', '\x67', '\x75', '\x61', '\x74', '\x65', '\x20', '\x62', '\x65', '\x74', '\x77', '\x65', '\x65', '\x6e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x63', '\x6f', '\x6d', '\x70', '\x61', '\x72', '\x69', '\x73', '\x6f', '\x6e', '\x20', '\x61', '\x6e', '\x64', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x6f', '\x66', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x20', '\x61', '\x72', '\x67', '\x73', '\x20', '\x69', '\x6e', '\x20', '\x74', '\x68', '\x69', '\x73', '\x20', '\x63', '\x6f', '\x6e', '\x74', '\x65', '\x78', '\x74', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x61', '\x73', '\x65', '\x20', '\x27', '\x3c', '\x27', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6f', '\x70', '\x65', '\x6e', '\x69', '\x6e', '\x67', '\x73', '\x2e', '\x70', '\x75', '\x73', '\x68', '\x28', '\x63', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x72', '\x65', '\x61', '\x6b', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x61', '\x73', '\x65', '\x20', '\x27', '\x5d', '\x27', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x61', '\x73', '\x65', '\x20', '\x27', '\x7d', '\x27', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x61', '\x73', '\x65', '\x20', '\x27', '\x29', '\x27', '\x3a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x61', '\x73', '\x65', '\x20', '\x27', '\x3e', '\x27', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6f', '\x70', '\x65', '\x6e', '\x69', '\x6e', '\x67', '\x73', '\x2e', '\x70', '\x6f', '\x70', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x72', '\x65', '\x61', '\x6b', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x61', '\x73', '\x65', '\x20', '\x27', '\x22', '\x27', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x61', '\x73', '\x65', '\x20', '\x27', '\x5c', '\x27', '\x27', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x6f', '\x73', '\x20', '\x3d', '\x20', '\x73', '\x6b', '\x69', '\x70', '\x71', '\x28', '\x70', '\x6f', '\x73', '\x2c', '\x20', '\x63', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x72', '\x65', '\x61', '\x6b', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x61', '\x73', '\x65', '\x20', '\x27', '\x2c', '\x27', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x21', '\x3d', '\x20', '\x70', '\x6f', '\x73', '\x20', '\x26', '\x26', '\x20', '\x6f', '\x70', '\x65', '\x6e', '\x69', '\x6e', '\x67', '\x73', '\x2e', '\x73', '\x69', '\x7a', '\x65', '\x28', '\x29', '\x20', '\x3d', '\x3d', '\x20', '\x30', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x6d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x73', '\x2e', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x63', '\x65', '\x5f', '\x62', '\x61', '\x63', '\x6b', '\x28', '\x6d', '\x61', '\x63', '\x72', '\x6f', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x6c', '\x69', '\x6e', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x2c', '\x20', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x54', '\x79', '\x70', '\x65', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x6d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x73', '\x2e', '\x62', '\x61', '\x63', '\x6b', '\x28', '\x29', '\x2e', '\x6d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x20', '\x3d', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x5f', '\x63', '\x61', '\x73', '\x74', '\x3c', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x3e', '\x28', '\x74', '\x72', '\x69', '\x6d', '\x6d', '\x65', '\x64', '\x28', '\x73', '\x74', '\x61', '\x72', '\x74', '\x2c', '\x20', '\x70', '\x6f', '\x73', '\x29', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x6d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x73', '\x2e', '\x62', '\x61', '\x63', '\x6b', '\x28', '\x29', '\x2e', '\x6d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x20', '\x2b', '\x3d', '\x20', '\x22', '\x20', '\x3a', '\x3d', '\x20', '\x22', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x3d', '\x20', '\x70', '\x6f', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x28', '\x6f', '\x70', '\x65', '\x6e', '\x69', '\x6e', '\x67', '\x73', '\x2e', '\x73', '\x69', '\x7a', '\x65', '\x28', '\x29', '\x20', '\x3d', '\x3d', '\x20', '\x30', '\x20', '\x26', '\x26', '\x20', '\x22', '\x4d', '\x69', '\x73', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x64', '\x20', '\x6f', '\x70', '\x65', '\x6e', '\x69', '\x6e', '\x67', '\x73', '\x22', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x6d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x73', '\x2e', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x63', '\x65', '\x5f', '\x62', '\x61', '\x63', '\x6b', '\x28', '\x6d', '\x61', '\x63', '\x72', '\x6f', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x6c', '\x69', '\x6e', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x2c', '\x20', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x54', '\x79', '\x70', '\x65', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x6d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x73', '\x2e', '\x62', '\x61', '\x63', '\x6b', '\x28', '\x29', '\x2e', '\x6d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x20', '\x3d', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x5f', '\x63', '\x61', '\x73', '\x74', '\x3c', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x3e', '\x28', '\x74', '\x72', '\x69', '\x6d', '\x6d', '\x65', '\x64', '\x28', '\x73', '\x74', '\x61', '\x72', '\x74', '\x2c', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x2e', '\x73', '\x69', '\x7a', '\x65', '\x28', '\x29', '\x20', '\x2d', '\x20', '\x31', '\x29', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x6d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x73', '\x2e', '\x62', '\x61', '\x63', '\x6b', '\x28', '\x29', '\x2e', '\x6d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x20', '\x2b', '\x3d', '\x20', '\x22', '\x20', '\x3a', '\x3d', '\x20', '\x22', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x43', '\x61', '\x70', '\x74', '\x75', '\x72', '\x65', '\x72', '\x3a', '\x3a', '\x7e', '\x43', '\x61', '\x70', '\x74', '\x75', '\x72', '\x65', '\x72', '\x28', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x20', '\x21', '\x75', '\x6e', '\x63', '\x61', '\x75', '\x67', '\x68', '\x74', '\x5f', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x28', '\x29', '\x20', '\x29', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x28', '\x20', '\x6d', '\x5f', '\x63', '\x61', '\x70', '\x74', '\x75', '\x72', '\x65', '\x64', '\x20', '\x3d', '\x3d', '\x20', '\x6d', '\x5f', '\x6d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x73', '\x2e', '\x73', '\x69', '\x7a', '\x65', '\x28', '\x29', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x66', '\x6f', '\x72', '\x28', '\x20', '\x73', '\x69', '\x7a', '\x65', '\x5f', '\x74', '\x20', '\x69', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x20', '\x69', '\x20', '\x3c', '\x20', '\x6d', '\x5f', '\x63', '\x61', '\x70', '\x74', '\x75', '\x72', '\x65', '\x64', '\x3b', '\x20', '\x2b', '\x2b', '\x69', '\x20', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x43', '\x61', '\x70', '\x74', '\x75', '\x72', '\x65', '\x2e', '\x70', '\x6f', '\x70', '\x53', '\x63', '\x6f', '\x70', '\x65', '\x64', '\x4d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x28', '\x20', '\x6d', '\x5f', '\x6d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x73', '\x5b', '\x69', '\x5d', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x43', '\x61', '\x70', '\x74', '\x75', '\x72', '\x65', '\x72', '\x3a', '\x3a', '\x63', '\x61', '\x70', '\x74', '\x75', '\x72', '\x65', '\x56', '\x61', '\x6c', '\x75', '\x65', '\x28', '\x20', '\x73', '\x69', '\x7a', '\x65', '\x5f', '\x74', '\x20', '\x69', '\x6e', '\x64', '\x65', '\x78', '\x2c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x28', '\x20', '\x69', '\x6e', '\x64', '\x65', '\x78', '\x20', '\x3c', '\x20', '\x6d', '\x5f', '\x6d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x73', '\x2e', '\x73', '\x69', '\x7a', '\x65', '\x28', '\x29', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x6d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x73', '\x5b', '\x69', '\x6e', '\x64', '\x65', '\x78', '\x5d', '\x2e', '\x6d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x20', '\x2b', '\x3d', '\x20', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x43', '\x61', '\x70', '\x74', '\x75', '\x72', '\x65', '\x2e', '\x70', '\x75', '\x73', '\x68', '\x53', '\x63', '\x6f', '\x70', '\x65', '\x64', '\x4d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x28', '\x20', '\x6d', '\x5f', '\x6d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x73', '\x5b', '\x69', '\x6e', '\x64', '\x65', '\x78', '\x5d', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x63', '\x61', '\x70', '\x74', '\x75', '\x72', '\x65', '\x64', '\x2b', '\x2b', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x6d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x2e', '\x63', '\x70', '\x70', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x6f', '\x75', '\x74', '\x70', '\x75', '\x74', '\x5f', '\x72', '\x65', '\x64', '\x69', '\x72', '\x65', '\x63', '\x74', '\x2e', '\x63', '\x70', '\x70', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x6f', '\x75', '\x74', '\x70', '\x75', '\x74', '\x5f', '\x72', '\x65', '\x64', '\x69', '\x72', '\x65', '\x63', '\x74', '\x2e', '\x68', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x6e', '\x64', '\x65', '\x66', '\x20', '\x54', '\x57', '\x4f', '\x42', '\x4c', '\x55', '\x45', '\x43', '\x55', '\x42', '\x45', '\x53', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x4f', '\x55', '\x54', '\x50', '\x55', '\x54', '\x5f', '\x52', '\x45', '\x44', '\x49', '\x52', '\x45', '\x43', '\x54', '\x5f', '\x48', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x54', '\x57', '\x4f', '\x42', '\x4c', '\x55', '\x45', '\x43', '\x55', '\x42', '\x45', '\x53', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x4f', '\x55', '\x54', '\x50', '\x55', '\x54', '\x5f', '\x52', '\x45', '\x44', '\x49', '\x52', '\x45', '\x43', '\x54', '\x5f', '\x48', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x63', '\x73', '\x74', '\x64', '\x69', '\x6f', '\x3e', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x69', '\x6f', '\x73', '\x66', '\x77', '\x64', '\x3e', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x3e', '\x0d', '\x0a', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x20', '\x52', '\x65', '\x64', '\x69', '\x72', '\x65', '\x63', '\x74', '\x65', '\x64', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6f', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x26', '\x20', '\x6d', '\x5f', '\x6f', '\x72', '\x69', '\x67', '\x69', '\x6e', '\x61', '\x6c', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6f', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x26', '\x20', '\x6d', '\x5f', '\x72', '\x65', '\x64', '\x69', '\x72', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x62', '\x75', '\x66', '\x2a', '\x20', '\x6d', '\x5f', '\x70', '\x72', '\x65', '\x76', '\x42', '\x75', '\x66', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x70', '\x75', '\x62', '\x6c', '\x69', '\x63', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x52', '\x65', '\x64', '\x69', '\x72', '\x65', '\x63', '\x74', '\x65', '\x64', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6f', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x26', '\x20', '\x6f', '\x72', '\x69', '\x67', '\x69', '\x6e', '\x61', '\x6c', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x2c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6f', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x26', '\x20', '\x72', '\x65', '\x64', '\x69', '\x72', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7e', '\x52', '\x65', '\x64', '\x69', '\x72', '\x65', '\x63', '\x74', '\x65', '\x64', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x20', '\x52', '\x65', '\x64', '\x69', '\x72', '\x65', '\x63', '\x74', '\x65', '\x64', '\x53', '\x74', '\x64', '\x4f', '\x75', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x52', '\x65', '\x75', '\x73', '\x61', '\x62', '\x6c', '\x65', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x20', '\x6d', '\x5f', '\x72', '\x73', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x52', '\x65', '\x64', '\x69', '\x72', '\x65', '\x63', '\x74', '\x65', '\x64', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x20', '\x6d', '\x5f', '\x63', '\x6f', '\x75', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x70', '\x75', '\x62', '\x6c', '\x69', '\x63', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x52', '\x65', '\x64', '\x69', '\x72', '\x65', '\x63', '\x74', '\x65', '\x64', '\x53', '\x74', '\x64', '\x4f', '\x75', '\x74', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x73', '\x74', '\x72', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x2d', '\x3e', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x53', '\x74', '\x64', '\x45', '\x72', '\x72', '\x20', '\x68', '\x61', '\x73', '\x20', '\x74', '\x77', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x69', '\x74', '\x75', '\x65', '\x6e', '\x74', '\x20', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x73', '\x20', '\x69', '\x6e', '\x20', '\x43', '\x2b', '\x2b', '\x2c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x63', '\x65', '\x72', '\x72', '\x20', '\x61', '\x6e', '\x64', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x63', '\x6c', '\x6f', '\x67', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x54', '\x68', '\x69', '\x73', '\x20', '\x6d', '\x65', '\x61', '\x6e', '\x73', '\x20', '\x74', '\x68', '\x61', '\x74', '\x20', '\x77', '\x65', '\x20', '\x6e', '\x65', '\x65', '\x64', '\x20', '\x74', '\x6f', '\x20', '\x72', '\x65', '\x64', '\x69', '\x72', '\x65', '\x63', '\x74', '\x20', '\x32', '\x20', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x73', '\x20', '\x69', '\x6e', '\x74', '\x6f', '\x20', '\x31', '\x20', '\x74', '\x6f', '\x20', '\x6b', '\x65', '\x65', '\x70', '\x20', '\x70', '\x72', '\x6f', '\x70', '\x65', '\x72', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x6f', '\x72', '\x64', '\x65', '\x72', '\x20', '\x6f', '\x66', '\x20', '\x77', '\x72', '\x69', '\x74', '\x65', '\x73', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x20', '\x52', '\x65', '\x64', '\x69', '\x72', '\x65', '\x63', '\x74', '\x65', '\x64', '\x53', '\x74', '\x64', '\x45', '\x72', '\x72', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x52', '\x65', '\x75', '\x73', '\x61', '\x62', '\x6c', '\x65', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x20', '\x6d', '\x5f', '\x72', '\x73', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x52', '\x65', '\x64', '\x69', '\x72', '\x65', '\x63', '\x74', '\x65', '\x64', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x20', '\x6d', '\x5f', '\x63', '\x65', '\x72', '\x72', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x52', '\x65', '\x64', '\x69', '\x72', '\x65', '\x63', '\x74', '\x65', '\x64', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x20', '\x6d', '\x5f', '\x63', '\x6c', '\x6f', '\x67', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x70', '\x75', '\x62', '\x6c', '\x69', '\x63', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x52', '\x65', '\x64', '\x69', '\x72', '\x65', '\x63', '\x74', '\x65', '\x64', '\x53', '\x74', '\x64', '\x45', '\x72', '\x72', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x73', '\x74', '\x72', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x2d', '\x3e', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x20', '\x52', '\x65', '\x64', '\x69', '\x72', '\x65', '\x63', '\x74', '\x65', '\x64', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x73', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x70', '\x75', '\x62', '\x6c', '\x69', '\x63', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x52', '\x65', '\x64', '\x69', '\x72', '\x65', '\x63', '\x74', '\x65', '\x64', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x73', '\x28', '\x52', '\x65', '\x64', '\x69', '\x72', '\x65', '\x63', '\x74', '\x65', '\x64', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x73', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x29', '\x20', '\x3d', '\x20', '\x64', '\x65', '\x6c', '\x65', '\x74', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x52', '\x65', '\x64', '\x69', '\x72', '\x65', '\x63', '\x74', '\x65', '\x64', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x73', '\x26', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x3d', '\x28', '\x52', '\x65', '\x64', '\x69', '\x72', '\x65', '\x63', '\x74', '\x65', '\x64', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x73', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x29', '\x20', '\x3d', '\x20', '\x64', '\x65', '\x6c', '\x65', '\x74', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x52', '\x65', '\x64', '\x69', '\x72', '\x65', '\x63', '\x74', '\x65', '\x64', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x73', '\x28', '\x52', '\x65', '\x64', '\x69', '\x72', '\x65', '\x63', '\x74', '\x65', '\x64', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x73', '\x26', '\x26', '\x29', '\x20', '\x3d', '\x20', '\x64', '\x65', '\x6c', '\x65', '\x74', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x52', '\x65', '\x64', '\x69', '\x72', '\x65', '\x63', '\x74', '\x65', '\x64', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x73', '\x26', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x3d', '\x28', '\x52', '\x65', '\x64', '\x69', '\x72', '\x65', '\x63', '\x74', '\x65', '\x64', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x73', '\x26', '\x26', '\x29', '\x20', '\x3d', '\x20', '\x64', '\x65', '\x6c', '\x65', '\x74', '\x65', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x52', '\x65', '\x64', '\x69', '\x72', '\x65', '\x63', '\x74', '\x65', '\x64', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x73', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x26', '\x20', '\x72', '\x65', '\x64', '\x69', '\x72', '\x65', '\x63', '\x74', '\x65', '\x64', '\x43', '\x6f', '\x75', '\x74', '\x2c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x26', '\x20', '\x72', '\x65', '\x64', '\x69', '\x72', '\x65', '\x63', '\x74', '\x65', '\x64', '\x43', '\x65', '\x72', '\x72', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7e', '\x52', '\x65', '\x64', '\x69', '\x72', '\x65', '\x63', '\x74', '\x65', '\x64', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x73', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x70', '\x72', '\x69', '\x76', '\x61', '\x74', '\x65', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x26', '\x20', '\x6d', '\x5f', '\x72', '\x65', '\x64', '\x69', '\x72', '\x65', '\x63', '\x74', '\x65', '\x64', '\x43', '\x6f', '\x75', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x26', '\x20', '\x6d', '\x5f', '\x72', '\x65', '\x64', '\x69', '\x72', '\x65', '\x63', '\x74', '\x65', '\x64', '\x43', '\x65', '\x72', '\x72', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x52', '\x65', '\x64', '\x69', '\x72', '\x65', '\x63', '\x74', '\x65', '\x64', '\x53', '\x74', '\x64', '\x4f', '\x75', '\x74', '\x20', '\x6d', '\x5f', '\x72', '\x65', '\x64', '\x69', '\x72', '\x65', '\x63', '\x74', '\x65', '\x64', '\x53', '\x74', '\x64', '\x4f', '\x75', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x52', '\x65', '\x64', '\x69', '\x72', '\x65', '\x63', '\x74', '\x65', '\x64', '\x53', '\x74', '\x64', '\x45', '\x72', '\x72', '\x20', '\x6d', '\x5f', '\x72', '\x65', '\x64', '\x69', '\x72', '\x65', '\x63', '\x74', '\x65', '\x64', '\x53', '\x74', '\x64', '\x45', '\x72', '\x72', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x4e', '\x45', '\x57', '\x5f', '\x43', '\x41', '\x50', '\x54', '\x55', '\x52', '\x45', '\x29', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x57', '\x69', '\x6e', '\x64', '\x6f', '\x77', '\x73', '\x27', '\x73', '\x20', '\x69', '\x6d', '\x70', '\x6c', '\x65', '\x6d', '\x65', '\x6e', '\x74', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x6f', '\x66', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x74', '\x6d', '\x70', '\x66', '\x69', '\x6c', '\x65', '\x20', '\x69', '\x73', '\x20', '\x74', '\x65', '\x72', '\x72', '\x69', '\x62', '\x6c', '\x65', '\x20', '\x28', '\x69', '\x74', '\x20', '\x74', '\x72', '\x69', '\x65', '\x73', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x74', '\x6f', '\x20', '\x63', '\x72', '\x65', '\x61', '\x74', '\x65', '\x20', '\x61', '\x20', '\x66', '\x69', '\x6c', '\x65', '\x20', '\x69', '\x6e', '\x73', '\x69', '\x64', '\x65', '\x20', '\x73', '\x79', '\x73', '\x74', '\x65', '\x6d', '\x20', '\x66', '\x6f', '\x6c', '\x64', '\x65', '\x72', '\x2c', '\x20', '\x74', '\x68', '\x75', '\x73', '\x20', '\x72', '\x65', '\x71', '\x75', '\x69', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x65', '\x6c', '\x65', '\x76', '\x61', '\x74', '\x65', '\x64', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x70', '\x72', '\x69', '\x76', '\x69', '\x6c', '\x65', '\x67', '\x65', '\x73', '\x20', '\x66', '\x6f', '\x72', '\x20', '\x74', '\x68', '\x65', '\x20', '\x62', '\x69', '\x6e', '\x61', '\x72', '\x79', '\x29', '\x2c', '\x20', '\x73', '\x6f', '\x20', '\x77', '\x65', '\x20', '\x68', '\x61', '\x76', '\x65', '\x20', '\x74', '\x6f', '\x20', '\x75', '\x73', '\x65', '\x20', '\x74', '\x6d', '\x70', '\x6e', '\x61', '\x6d', '\x28', '\x5f', '\x73', '\x29', '\x20', '\x61', '\x6e', '\x64', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x63', '\x72', '\x65', '\x61', '\x74', '\x65', '\x20', '\x74', '\x68', '\x65', '\x20', '\x66', '\x69', '\x6c', '\x65', '\x20', '\x6f', '\x75', '\x72', '\x73', '\x65', '\x6c', '\x76', '\x65', '\x73', '\x20', '\x74', '\x68', '\x65', '\x72', '\x65', '\x2e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x20', '\x54', '\x65', '\x6d', '\x70', '\x46', '\x69', '\x6c', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x70', '\x75', '\x62', '\x6c', '\x69', '\x63', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x54', '\x65', '\x6d', '\x70', '\x46', '\x69', '\x6c', '\x65', '\x28', '\x54', '\x65', '\x6d', '\x70', '\x46', '\x69', '\x6c', '\x65', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x29', '\x20', '\x3d', '\x20', '\x64', '\x65', '\x6c', '\x65', '\x74', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x54', '\x65', '\x6d', '\x70', '\x46', '\x69', '\x6c', '\x65', '\x26', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x3d', '\x28', '\x54', '\x65', '\x6d', '\x70', '\x46', '\x69', '\x6c', '\x65', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x29', '\x20', '\x3d', '\x20', '\x64', '\x65', '\x6c', '\x65', '\x74', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x54', '\x65', '\x6d', '\x70', '\x46', '\x69', '\x6c', '\x65', '\x28', '\x54', '\x65', '\x6d', '\x70', '\x46', '\x69', '\x6c', '\x65', '\x26', '\x26', '\x29', '\x20', '\x3d', '\x20', '\x64', '\x65', '\x6c', '\x65', '\x74', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x54', '\x65', '\x6d', '\x70', '\x46', '\x69', '\x6c', '\x65', '\x26', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x3d', '\x28', '\x54', '\x65', '\x6d', '\x70', '\x46', '\x69', '\x6c', '\x65', '\x26', '\x26', '\x29', '\x20', '\x3d', '\x20', '\x64', '\x65', '\x6c', '\x65', '\x74', '\x65', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x54', '\x65', '\x6d', '\x70', '\x46', '\x69', '\x6c', '\x65', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7e', '\x54', '\x65', '\x6d', '\x70', '\x46', '\x69', '\x6c', '\x65', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x46', '\x49', '\x4c', '\x45', '\x2a', '\x20', '\x67', '\x65', '\x74', '\x46', '\x69', '\x6c', '\x65', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x67', '\x65', '\x74', '\x43', '\x6f', '\x6e', '\x74', '\x65', '\x6e', '\x74', '\x73', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x70', '\x72', '\x69', '\x76', '\x61', '\x74', '\x65', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x46', '\x49', '\x4c', '\x45', '\x2a', '\x20', '\x6d', '\x5f', '\x66', '\x69', '\x6c', '\x65', '\x20', '\x3d', '\x20', '\x6e', '\x75', '\x6c', '\x6c', '\x70', '\x74', '\x72', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x23', '\x69', '\x66', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x5f', '\x4d', '\x53', '\x43', '\x5f', '\x56', '\x45', '\x52', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x68', '\x61', '\x72', '\x20', '\x6d', '\x5f', '\x62', '\x75', '\x66', '\x66', '\x65', '\x72', '\x5b', '\x4c', '\x5f', '\x74', '\x6d', '\x70', '\x6e', '\x61', '\x6d', '\x5d', '\x20', '\x3d', '\x20', '\x7b', '\x20', '\x30', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x20', '\x4f', '\x75', '\x74', '\x70', '\x75', '\x74', '\x52', '\x65', '\x64', '\x69', '\x72', '\x65', '\x63', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x70', '\x75', '\x62', '\x6c', '\x69', '\x63', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x4f', '\x75', '\x74', '\x70', '\x75', '\x74', '\x52', '\x65', '\x64', '\x69', '\x72', '\x65', '\x63', '\x74', '\x28', '\x4f', '\x75', '\x74', '\x70', '\x75', '\x74', '\x52', '\x65', '\x64', '\x69', '\x72', '\x65', '\x63', '\x74', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x29', '\x20', '\x3d', '\x20', '\x64', '\x65', '\x6c', '\x65', '\x74', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x4f', '\x75', '\x74', '\x70', '\x75', '\x74', '\x52', '\x65', '\x64', '\x69', '\x72', '\x65', '\x63', '\x74', '\x26', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x3d', '\x28', '\x4f', '\x75', '\x74', '\x70', '\x75', '\x74', '\x52', '\x65', '\x64', '\x69', '\x72', '\x65', '\x63', '\x74', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x29', '\x20', '\x3d', '\x20', '\x64', '\x65', '\x6c', '\x65', '\x74', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x4f', '\x75', '\x74', '\x70', '\x75', '\x74', '\x52', '\x65', '\x64', '\x69', '\x72', '\x65', '\x63', '\x74', '\x28', '\x4f', '\x75', '\x74', '\x70', '\x75', '\x74', '\x52', '\x65', '\x64', '\x69', '\x72', '\x65', '\x63', '\x74', '\x26', '\x26', '\x29', '\x20', '\x3d', '\x20', '\x64', '\x65', '\x6c', '\x65', '\x74', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x4f', '\x75', '\x74', '\x70', '\x75', '\x74', '\x52', '\x65', '\x64', '\x69', '\x72', '\x65', '\x63', '\x74', '\x26', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x3d', '\x28', '\x4f', '\x75', '\x74', '\x70', '\x75', '\x74', '\x52', '\x65', '\x64', '\x69', '\x72', '\x65', '\x63', '\x74', '\x26', '\x26', '\x29', '\x20', '\x3d', '\x20', '\x64', '\x65', '\x6c', '\x65', '\x74', '\x65', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x4f', '\x75', '\x74', '\x70', '\x75', '\x74', '\x52', '\x65', '\x64', '\x69', '\x72', '\x65', '\x63', '\x74', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x26', '\x20', '\x73', '\x74', '\x64', '\x6f', '\x75', '\x74', '\x5f', '\x64', '\x65', '\x73', '\x74', '\x2c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x26', '\x20', '\x73', '\x74', '\x64', '\x65', '\x72', '\x72', '\x5f', '\x64', '\x65', '\x73', '\x74', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7e', '\x4f', '\x75', '\x74', '\x70', '\x75', '\x74', '\x52', '\x65', '\x64', '\x69', '\x72', '\x65', '\x63', '\x74', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x70', '\x72', '\x69', '\x76', '\x61', '\x74', '\x65', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x6e', '\x74', '\x20', '\x6d', '\x5f', '\x6f', '\x72', '\x69', '\x67', '\x69', '\x6e', '\x61', '\x6c', '\x53', '\x74', '\x64', '\x6f', '\x75', '\x74', '\x20', '\x3d', '\x20', '\x2d', '\x31', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x6e', '\x74', '\x20', '\x6d', '\x5f', '\x6f', '\x72', '\x69', '\x67', '\x69', '\x6e', '\x61', '\x6c', '\x53', '\x74', '\x64', '\x65', '\x72', '\x72', '\x20', '\x3d', '\x20', '\x2d', '\x31', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x54', '\x65', '\x6d', '\x70', '\x46', '\x69', '\x6c', '\x65', '\x20', '\x6d', '\x5f', '\x73', '\x74', '\x64', '\x6f', '\x75', '\x74', '\x46', '\x69', '\x6c', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x54', '\x65', '\x6d', '\x70', '\x46', '\x69', '\x6c', '\x65', '\x20', '\x6d', '\x5f', '\x73', '\x74', '\x64', '\x65', '\x72', '\x72', '\x46', '\x69', '\x6c', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x26', '\x20', '\x6d', '\x5f', '\x73', '\x74', '\x64', '\x6f', '\x75', '\x74', '\x44', '\x65', '\x73', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x26', '\x20', '\x6d', '\x5f', '\x73', '\x74', '\x64', '\x65', '\x72', '\x72', '\x44', '\x65', '\x73', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x0d', '\x0a', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x20', '\x2f', '\x2f', '\x20', '\x54', '\x57', '\x4f', '\x42', '\x4c', '\x55', '\x45', '\x43', '\x55', '\x42', '\x45', '\x53', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x4f', '\x55', '\x54', '\x50', '\x55', '\x54', '\x5f', '\x52', '\x45', '\x44', '\x49', '\x52', '\x45', '\x43', '\x54', '\x5f', '\x48', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x6f', '\x75', '\x74', '\x70', '\x75', '\x74', '\x5f', '\x72', '\x65', '\x64', '\x69', '\x72', '\x65', '\x63', '\x74', '\x2e', '\x68', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x63', '\x73', '\x74', '\x64', '\x69', '\x6f', '\x3e', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x63', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x3e', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x66', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x3e', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x73', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x3e', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x73', '\x74', '\x64', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x3e', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x4e', '\x45', '\x57', '\x5f', '\x43', '\x41', '\x50', '\x54', '\x55', '\x52', '\x45', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x23', '\x69', '\x66', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x5f', '\x4d', '\x53', '\x43', '\x5f', '\x56', '\x45', '\x52', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x69', '\x6f', '\x2e', '\x68', '\x3e', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x5f', '\x64', '\x75', '\x70', '\x20', '\x61', '\x6e', '\x64', '\x20', '\x5f', '\x64', '\x75', '\x70', '\x32', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x64', '\x75', '\x70', '\x20', '\x5f', '\x64', '\x75', '\x70', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x64', '\x75', '\x70', '\x32', '\x20', '\x5f', '\x64', '\x75', '\x70', '\x32', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x66', '\x69', '\x6c', '\x65', '\x6e', '\x6f', '\x20', '\x5f', '\x66', '\x69', '\x6c', '\x65', '\x6e', '\x6f', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x23', '\x65', '\x6c', '\x73', '\x65', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x75', '\x6e', '\x69', '\x73', '\x74', '\x64', '\x2e', '\x68', '\x3e', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x64', '\x75', '\x70', '\x20', '\x61', '\x6e', '\x64', '\x20', '\x64', '\x75', '\x70', '\x32', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x52', '\x65', '\x64', '\x69', '\x72', '\x65', '\x63', '\x74', '\x65', '\x64', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x3a', '\x3a', '\x52', '\x65', '\x64', '\x69', '\x72', '\x65', '\x63', '\x74', '\x65', '\x64', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6f', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x26', '\x20', '\x6f', '\x72', '\x69', '\x67', '\x69', '\x6e', '\x61', '\x6c', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x2c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6f', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x26', '\x20', '\x72', '\x65', '\x64', '\x69', '\x72', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x3a', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x6f', '\x72', '\x69', '\x67', '\x69', '\x6e', '\x61', '\x6c', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x28', '\x20', '\x6f', '\x72', '\x69', '\x67', '\x69', '\x6e', '\x61', '\x6c', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x20', '\x29', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x72', '\x65', '\x64', '\x69', '\x72', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x28', '\x20', '\x72', '\x65', '\x64', '\x69', '\x72', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x20', '\x29', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x70', '\x72', '\x65', '\x76', '\x42', '\x75', '\x66', '\x28', '\x20', '\x6d', '\x5f', '\x6f', '\x72', '\x69', '\x67', '\x69', '\x6e', '\x61', '\x6c', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x2e', '\x72', '\x64', '\x62', '\x75', '\x66', '\x28', '\x29', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x6f', '\x72', '\x69', '\x67', '\x69', '\x6e', '\x61', '\x6c', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x2e', '\x72', '\x64', '\x62', '\x75', '\x66', '\x28', '\x20', '\x6d', '\x5f', '\x72', '\x65', '\x64', '\x69', '\x72', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x2e', '\x72', '\x64', '\x62', '\x75', '\x66', '\x28', '\x29', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x52', '\x65', '\x64', '\x69', '\x72', '\x65', '\x63', '\x74', '\x65', '\x64', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x3a', '\x3a', '\x7e', '\x52', '\x65', '\x64', '\x69', '\x72', '\x65', '\x63', '\x74', '\x65', '\x64', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x28', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x6f', '\x72', '\x69', '\x67', '\x69', '\x6e', '\x61', '\x6c', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x2e', '\x72', '\x64', '\x62', '\x75', '\x66', '\x28', '\x20', '\x6d', '\x5f', '\x70', '\x72', '\x65', '\x76', '\x42', '\x75', '\x66', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x52', '\x65', '\x64', '\x69', '\x72', '\x65', '\x63', '\x74', '\x65', '\x64', '\x53', '\x74', '\x64', '\x4f', '\x75', '\x74', '\x3a', '\x3a', '\x52', '\x65', '\x64', '\x69', '\x72', '\x65', '\x63', '\x74', '\x65', '\x64', '\x53', '\x74', '\x64', '\x4f', '\x75', '\x74', '\x28', '\x29', '\x20', '\x3a', '\x20', '\x6d', '\x5f', '\x63', '\x6f', '\x75', '\x74', '\x28', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x63', '\x6f', '\x75', '\x74', '\x28', '\x29', '\x2c', '\x20', '\x6d', '\x5f', '\x72', '\x73', '\x73', '\x2e', '\x67', '\x65', '\x74', '\x28', '\x29', '\x20', '\x29', '\x20', '\x7b', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x52', '\x65', '\x64', '\x69', '\x72', '\x65', '\x63', '\x74', '\x65', '\x64', '\x53', '\x74', '\x64', '\x4f', '\x75', '\x74', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x2d', '\x3e', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x7b', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6d', '\x5f', '\x72', '\x73', '\x73', '\x2e', '\x73', '\x74', '\x72', '\x28', '\x29', '\x3b', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x52', '\x65', '\x64', '\x69', '\x72', '\x65', '\x63', '\x74', '\x65', '\x64', '\x53', '\x74', '\x64', '\x45', '\x72', '\x72', '\x3a', '\x3a', '\x52', '\x65', '\x64', '\x69', '\x72', '\x65', '\x63', '\x74', '\x65', '\x64', '\x53', '\x74', '\x64', '\x45', '\x72', '\x72', '\x28', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x3a', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x63', '\x65', '\x72', '\x72', '\x28', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x63', '\x65', '\x72', '\x72', '\x28', '\x29', '\x2c', '\x20', '\x6d', '\x5f', '\x72', '\x73', '\x73', '\x2e', '\x67', '\x65', '\x74', '\x28', '\x29', '\x20', '\x29', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x63', '\x6c', '\x6f', '\x67', '\x28', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x63', '\x6c', '\x6f', '\x67', '\x28', '\x29', '\x2c', '\x20', '\x6d', '\x5f', '\x72', '\x73', '\x73', '\x2e', '\x67', '\x65', '\x74', '\x28', '\x29', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7b', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x52', '\x65', '\x64', '\x69', '\x72', '\x65', '\x63', '\x74', '\x65', '\x64', '\x53', '\x74', '\x64', '\x45', '\x72', '\x72', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x2d', '\x3e', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x7b', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6d', '\x5f', '\x72', '\x73', '\x73', '\x2e', '\x73', '\x74', '\x72', '\x28', '\x29', '\x3b', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x52', '\x65', '\x64', '\x69', '\x72', '\x65', '\x63', '\x74', '\x65', '\x64', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x73', '\x3a', '\x3a', '\x52', '\x65', '\x64', '\x69', '\x72', '\x65', '\x63', '\x74', '\x65', '\x64', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x73', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x26', '\x20', '\x72', '\x65', '\x64', '\x69', '\x72', '\x65', '\x63', '\x74', '\x65', '\x64', '\x43', '\x6f', '\x75', '\x74', '\x2c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x26', '\x20', '\x72', '\x65', '\x64', '\x69', '\x72', '\x65', '\x63', '\x74', '\x65', '\x64', '\x43', '\x65', '\x72', '\x72', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x3a', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x72', '\x65', '\x64', '\x69', '\x72', '\x65', '\x63', '\x74', '\x65', '\x64', '\x43', '\x6f', '\x75', '\x74', '\x28', '\x72', '\x65', '\x64', '\x69', '\x72', '\x65', '\x63', '\x74', '\x65', '\x64', '\x43', '\x6f', '\x75', '\x74', '\x29', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x72', '\x65', '\x64', '\x69', '\x72', '\x65', '\x63', '\x74', '\x65', '\x64', '\x43', '\x65', '\x72', '\x72', '\x28', '\x72', '\x65', '\x64', '\x69', '\x72', '\x65', '\x63', '\x74', '\x65', '\x64', '\x43', '\x65', '\x72', '\x72', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7b', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x52', '\x65', '\x64', '\x69', '\x72', '\x65', '\x63', '\x74', '\x65', '\x64', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x73', '\x3a', '\x3a', '\x7e', '\x52', '\x65', '\x64', '\x69', '\x72', '\x65', '\x63', '\x74', '\x65', '\x64', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x73', '\x28', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x72', '\x65', '\x64', '\x69', '\x72', '\x65', '\x63', '\x74', '\x65', '\x64', '\x43', '\x6f', '\x75', '\x74', '\x20', '\x2b', '\x3d', '\x20', '\x6d', '\x5f', '\x72', '\x65', '\x64', '\x69', '\x72', '\x65', '\x63', '\x74', '\x65', '\x64', '\x53', '\x74', '\x64', '\x4f', '\x75', '\x74', '\x2e', '\x73', '\x74', '\x72', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x72', '\x65', '\x64', '\x69', '\x72', '\x65', '\x63', '\x74', '\x65', '\x64', '\x43', '\x65', '\x72', '\x72', '\x20', '\x2b', '\x3d', '\x20', '\x6d', '\x5f', '\x72', '\x65', '\x64', '\x69', '\x72', '\x65', '\x63', '\x74', '\x65', '\x64', '\x53', '\x74', '\x64', '\x45', '\x72', '\x72', '\x2e', '\x73', '\x74', '\x72', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x4e', '\x45', '\x57', '\x5f', '\x43', '\x41', '\x50', '\x54', '\x55', '\x52', '\x45', '\x29', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x5f', '\x4d', '\x53', '\x43', '\x5f', '\x56', '\x45', '\x52', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x54', '\x65', '\x6d', '\x70', '\x46', '\x69', '\x6c', '\x65', '\x3a', '\x3a', '\x54', '\x65', '\x6d', '\x70', '\x46', '\x69', '\x6c', '\x65', '\x28', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x74', '\x6d', '\x70', '\x6e', '\x61', '\x6d', '\x5f', '\x73', '\x28', '\x6d', '\x5f', '\x62', '\x75', '\x66', '\x66', '\x65', '\x72', '\x29', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x55', '\x4e', '\x54', '\x49', '\x4d', '\x45', '\x5f', '\x45', '\x52', '\x52', '\x4f', '\x52', '\x28', '\x22', '\x43', '\x6f', '\x75', '\x6c', '\x64', '\x20', '\x6e', '\x6f', '\x74', '\x20', '\x67', '\x65', '\x74', '\x20', '\x61', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x20', '\x66', '\x69', '\x6c', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x22', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x66', '\x6f', '\x70', '\x65', '\x6e', '\x5f', '\x73', '\x28', '\x26', '\x6d', '\x5f', '\x66', '\x69', '\x6c', '\x65', '\x2c', '\x20', '\x6d', '\x5f', '\x62', '\x75', '\x66', '\x66', '\x65', '\x72', '\x2c', '\x20', '\x22', '\x77', '\x22', '\x29', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x68', '\x61', '\x72', '\x20', '\x62', '\x75', '\x66', '\x66', '\x65', '\x72', '\x5b', '\x31', '\x30', '\x30', '\x5d', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x73', '\x74', '\x72', '\x65', '\x72', '\x72', '\x6f', '\x72', '\x5f', '\x73', '\x28', '\x62', '\x75', '\x66', '\x66', '\x65', '\x72', '\x2c', '\x20', '\x65', '\x72', '\x72', '\x6e', '\x6f', '\x29', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x55', '\x4e', '\x54', '\x49', '\x4d', '\x45', '\x5f', '\x45', '\x52', '\x52', '\x4f', '\x52', '\x28', '\x22', '\x43', '\x6f', '\x75', '\x6c', '\x64', '\x20', '\x6e', '\x6f', '\x74', '\x20', '\x74', '\x72', '\x61', '\x6e', '\x73', '\x6c', '\x61', '\x74', '\x65', '\x20', '\x65', '\x72', '\x72', '\x6e', '\x6f', '\x20', '\x74', '\x6f', '\x20', '\x61', '\x20', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x22', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x55', '\x4e', '\x54', '\x49', '\x4d', '\x45', '\x5f', '\x45', '\x52', '\x52', '\x4f', '\x52', '\x28', '\x22', '\x43', '\x6f', '\x75', '\x6c', '\x64', '\x20', '\x6e', '\x6f', '\x74', '\x20', '\x6f', '\x70', '\x65', '\x6e', '\x20', '\x74', '\x68', '\x65', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x20', '\x66', '\x69', '\x6c', '\x65', '\x3a', '\x20', '\x27', '\x22', '\x20', '\x3c', '\x3c', '\x20', '\x6d', '\x5f', '\x62', '\x75', '\x66', '\x66', '\x65', '\x72', '\x20', '\x3c', '\x3c', '\x20', '\x22', '\x27', '\x20', '\x62', '\x65', '\x63', '\x61', '\x75', '\x73', '\x65', '\x3a', '\x20', '\x22', '\x20', '\x3c', '\x3c', '\x20', '\x62', '\x75', '\x66', '\x66', '\x65', '\x72', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x23', '\x65', '\x6c', '\x73', '\x65', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x54', '\x65', '\x6d', '\x70', '\x46', '\x69', '\x6c', '\x65', '\x3a', '\x3a', '\x54', '\x65', '\x6d', '\x70', '\x46', '\x69', '\x6c', '\x65', '\x28', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x66', '\x69', '\x6c', '\x65', '\x20', '\x3d', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x74', '\x6d', '\x70', '\x66', '\x69', '\x6c', '\x65', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x21', '\x6d', '\x5f', '\x66', '\x69', '\x6c', '\x65', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x55', '\x4e', '\x54', '\x49', '\x4d', '\x45', '\x5f', '\x45', '\x52', '\x52', '\x4f', '\x52', '\x28', '\x22', '\x43', '\x6f', '\x75', '\x6c', '\x64', '\x20', '\x6e', '\x6f', '\x74', '\x20', '\x63', '\x72', '\x65', '\x61', '\x74', '\x65', '\x20', '\x61', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x20', '\x66', '\x69', '\x6c', '\x65', '\x2e', '\x22', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x54', '\x65', '\x6d', '\x70', '\x46', '\x69', '\x6c', '\x65', '\x3a', '\x3a', '\x7e', '\x54', '\x65', '\x6d', '\x70', '\x46', '\x69', '\x6c', '\x65', '\x28', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x54', '\x42', '\x44', '\x3a', '\x20', '\x57', '\x68', '\x61', '\x74', '\x20', '\x74', '\x6f', '\x20', '\x64', '\x6f', '\x20', '\x61', '\x62', '\x6f', '\x75', '\x74', '\x20', '\x65', '\x72', '\x72', '\x6f', '\x72', '\x73', '\x20', '\x68', '\x65', '\x72', '\x65', '\x3f', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x66', '\x63', '\x6c', '\x6f', '\x73', '\x65', '\x28', '\x6d', '\x5f', '\x66', '\x69', '\x6c', '\x65', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x57', '\x65', '\x20', '\x6d', '\x61', '\x6e', '\x75', '\x61', '\x6c', '\x6c', '\x79', '\x20', '\x63', '\x72', '\x65', '\x61', '\x74', '\x65', '\x20', '\x74', '\x68', '\x65', '\x20', '\x66', '\x69', '\x6c', '\x65', '\x20', '\x6f', '\x6e', '\x20', '\x57', '\x69', '\x6e', '\x64', '\x6f', '\x77', '\x73', '\x20', '\x6f', '\x6e', '\x6c', '\x79', '\x2c', '\x20', '\x6f', '\x6e', '\x20', '\x4c', '\x69', '\x6e', '\x75', '\x78', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x69', '\x74', '\x20', '\x77', '\x69', '\x6c', '\x6c', '\x20', '\x62', '\x65', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x64', '\x65', '\x6c', '\x65', '\x74', '\x65', '\x64', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x5f', '\x4d', '\x53', '\x43', '\x5f', '\x56', '\x45', '\x52', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x72', '\x65', '\x6d', '\x6f', '\x76', '\x65', '\x28', '\x6d', '\x5f', '\x62', '\x75', '\x66', '\x66', '\x65', '\x72', '\x29', '\x3b', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x46', '\x49', '\x4c', '\x45', '\x2a', '\x20', '\x54', '\x65', '\x6d', '\x70', '\x46', '\x69', '\x6c', '\x65', '\x3a', '\x3a', '\x67', '\x65', '\x74', '\x46', '\x69', '\x6c', '\x65', '\x28', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6d', '\x5f', '\x66', '\x69', '\x6c', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x54', '\x65', '\x6d', '\x70', '\x46', '\x69', '\x6c', '\x65', '\x3a', '\x3a', '\x67', '\x65', '\x74', '\x43', '\x6f', '\x6e', '\x74', '\x65', '\x6e', '\x74', '\x73', '\x28', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x20', '\x73', '\x73', '\x74', '\x72', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x68', '\x61', '\x72', '\x20', '\x62', '\x75', '\x66', '\x66', '\x65', '\x72', '\x5b', '\x31', '\x30', '\x30', '\x5d', '\x20', '\x3d', '\x20', '\x7b', '\x7d', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x72', '\x65', '\x77', '\x69', '\x6e', '\x64', '\x28', '\x6d', '\x5f', '\x66', '\x69', '\x6c', '\x65', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x77', '\x68', '\x69', '\x6c', '\x65', '\x20', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x66', '\x67', '\x65', '\x74', '\x73', '\x28', '\x62', '\x75', '\x66', '\x66', '\x65', '\x72', '\x2c', '\x20', '\x73', '\x69', '\x7a', '\x65', '\x6f', '\x66', '\x28', '\x62', '\x75', '\x66', '\x66', '\x65', '\x72', '\x29', '\x2c', '\x20', '\x6d', '\x5f', '\x66', '\x69', '\x6c', '\x65', '\x29', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x73', '\x74', '\x72', '\x20', '\x3c', '\x3c', '\x20', '\x62', '\x75', '\x66', '\x66', '\x65', '\x72', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x73', '\x73', '\x74', '\x72', '\x2e', '\x73', '\x74', '\x72', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x4f', '\x75', '\x74', '\x70', '\x75', '\x74', '\x52', '\x65', '\x64', '\x69', '\x72', '\x65', '\x63', '\x74', '\x3a', '\x3a', '\x4f', '\x75', '\x74', '\x70', '\x75', '\x74', '\x52', '\x65', '\x64', '\x69', '\x72', '\x65', '\x63', '\x74', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x26', '\x20', '\x73', '\x74', '\x64', '\x6f', '\x75', '\x74', '\x5f', '\x64', '\x65', '\x73', '\x74', '\x2c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x26', '\x20', '\x73', '\x74', '\x64', '\x65', '\x72', '\x72', '\x5f', '\x64', '\x65', '\x73', '\x74', '\x29', '\x20', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x6f', '\x72', '\x69', '\x67', '\x69', '\x6e', '\x61', '\x6c', '\x53', '\x74', '\x64', '\x6f', '\x75', '\x74', '\x28', '\x64', '\x75', '\x70', '\x28', '\x31', '\x29', '\x29', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x6f', '\x72', '\x69', '\x67', '\x69', '\x6e', '\x61', '\x6c', '\x53', '\x74', '\x64', '\x65', '\x72', '\x72', '\x28', '\x64', '\x75', '\x70', '\x28', '\x32', '\x29', '\x29', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x73', '\x74', '\x64', '\x6f', '\x75', '\x74', '\x44', '\x65', '\x73', '\x74', '\x28', '\x73', '\x74', '\x64', '\x6f', '\x75', '\x74', '\x5f', '\x64', '\x65', '\x73', '\x74', '\x29', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x73', '\x74', '\x64', '\x65', '\x72', '\x72', '\x44', '\x65', '\x73', '\x74', '\x28', '\x73', '\x74', '\x64', '\x65', '\x72', '\x72', '\x5f', '\x64', '\x65', '\x73', '\x74', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x64', '\x75', '\x70', '\x32', '\x28', '\x66', '\x69', '\x6c', '\x65', '\x6e', '\x6f', '\x28', '\x6d', '\x5f', '\x73', '\x74', '\x64', '\x6f', '\x75', '\x74', '\x46', '\x69', '\x6c', '\x65', '\x2e', '\x67', '\x65', '\x74', '\x46', '\x69', '\x6c', '\x65', '\x28', '\x29', '\x29', '\x2c', '\x20', '\x31', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x64', '\x75', '\x70', '\x32', '\x28', '\x66', '\x69', '\x6c', '\x65', '\x6e', '\x6f', '\x28', '\x6d', '\x5f', '\x73', '\x74', '\x64', '\x65', '\x72', '\x72', '\x46', '\x69', '\x6c', '\x65', '\x2e', '\x67', '\x65', '\x74', '\x46', '\x69', '\x6c', '\x65', '\x28', '\x29', '\x29', '\x2c', '\x20', '\x32', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x4f', '\x75', '\x74', '\x70', '\x75', '\x74', '\x52', '\x65', '\x64', '\x69', '\x72', '\x65', '\x63', '\x74', '\x3a', '\x3a', '\x7e', '\x4f', '\x75', '\x74', '\x70', '\x75', '\x74', '\x52', '\x65', '\x64', '\x69', '\x72', '\x65', '\x63', '\x74', '\x28', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x63', '\x6f', '\x75', '\x74', '\x28', '\x29', '\x20', '\x3c', '\x3c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x66', '\x6c', '\x75', '\x73', '\x68', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x66', '\x66', '\x6c', '\x75', '\x73', '\x68', '\x28', '\x73', '\x74', '\x64', '\x6f', '\x75', '\x74', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x53', '\x69', '\x6e', '\x63', '\x65', '\x20', '\x77', '\x65', '\x20', '\x73', '\x75', '\x70', '\x70', '\x6f', '\x72', '\x74', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x69', '\x6e', '\x67', '\x20', '\x74', '\x68', '\x65', '\x73', '\x65', '\x20', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x73', '\x2c', '\x20', '\x77', '\x65', '\x20', '\x66', '\x6c', '\x75', '\x73', '\x68', '\x20', '\x63', '\x65', '\x72', '\x72', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x65', '\x76', '\x65', '\x6e', '\x20', '\x74', '\x68', '\x6f', '\x75', '\x67', '\x68', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x63', '\x65', '\x72', '\x72', '\x20', '\x69', '\x73', '\x20', '\x75', '\x6e', '\x62', '\x75', '\x66', '\x66', '\x65', '\x72', '\x65', '\x64', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x63', '\x65', '\x72', '\x72', '\x28', '\x29', '\x20', '\x3c', '\x3c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x66', '\x6c', '\x75', '\x73', '\x68', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x63', '\x6c', '\x6f', '\x67', '\x28', '\x29', '\x20', '\x3c', '\x3c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x66', '\x6c', '\x75', '\x73', '\x68', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x66', '\x66', '\x6c', '\x75', '\x73', '\x68', '\x28', '\x73', '\x74', '\x64', '\x65', '\x72', '\x72', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x64', '\x75', '\x70', '\x32', '\x28', '\x6d', '\x5f', '\x6f', '\x72', '\x69', '\x67', '\x69', '\x6e', '\x61', '\x6c', '\x53', '\x74', '\x64', '\x6f', '\x75', '\x74', '\x2c', '\x20', '\x31', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x64', '\x75', '\x70', '\x32', '\x28', '\x6d', '\x5f', '\x6f', '\x72', '\x69', '\x67', '\x69', '\x6e', '\x61', '\x6c', '\x53', '\x74', '\x64', '\x65', '\x72', '\x72', '\x2c', '\x20', '\x32', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x73', '\x74', '\x64', '\x6f', '\x75', '\x74', '\x44', '\x65', '\x73', '\x74', '\x20', '\x2b', '\x3d', '\x20', '\x6d', '\x5f', '\x73', '\x74', '\x64', '\x6f', '\x75', '\x74', '\x46', '\x69', '\x6c', '\x65', '\x2e', '\x67', '\x65', '\x74', '\x43', '\x6f', '\x6e', '\x74', '\x65', '\x6e', '\x74', '\x73', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x73', '\x74', '\x64', '\x65', '\x72', '\x72', '\x44', '\x65', '\x73', '\x74', '\x20', '\x2b', '\x3d', '\x20', '\x6d', '\x5f', '\x73', '\x74', '\x64', '\x65', '\x72', '\x72', '\x46', '\x69', '\x6c', '\x65', '\x2e', '\x67', '\x65', '\x74', '\x43', '\x6f', '\x6e', '\x74', '\x65', '\x6e', '\x74', '\x73', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x20', '\x2f', '\x2f', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x4e', '\x45', '\x57', '\x5f', '\x43', '\x41', '\x50', '\x54', '\x55', '\x52', '\x45', '\x0d', '\x0a', '\x0d', '\x0a', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x4e', '\x45', '\x57', '\x5f', '\x43', '\x41', '\x50', '\x54', '\x55', '\x52', '\x45', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x23', '\x69', '\x66', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x5f', '\x4d', '\x53', '\x43', '\x5f', '\x56', '\x45', '\x52', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x23', '\x75', '\x6e', '\x64', '\x65', '\x66', '\x20', '\x64', '\x75', '\x70', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x23', '\x75', '\x6e', '\x64', '\x65', '\x66', '\x20', '\x64', '\x75', '\x70', '\x32', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x23', '\x75', '\x6e', '\x64', '\x65', '\x66', '\x20', '\x66', '\x69', '\x6c', '\x65', '\x6e', '\x6f', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x6f', '\x75', '\x74', '\x70', '\x75', '\x74', '\x5f', '\x72', '\x65', '\x64', '\x69', '\x72', '\x65', '\x63', '\x74', '\x2e', '\x63', '\x70', '\x70', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x70', '\x6f', '\x6c', '\x79', '\x66', '\x69', '\x6c', '\x6c', '\x73', '\x2e', '\x63', '\x70', '\x70', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x63', '\x6d', '\x61', '\x74', '\x68', '\x3e', '\x0d', '\x0a', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x20', '\x21', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x50', '\x4f', '\x4c', '\x59', '\x46', '\x49', '\x4c', '\x4c', '\x5f', '\x49', '\x53', '\x4e', '\x41', '\x4e', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x69', '\x73', '\x6e', '\x61', '\x6e', '\x28', '\x66', '\x6c', '\x6f', '\x61', '\x74', '\x20', '\x66', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x69', '\x73', '\x6e', '\x61', '\x6e', '\x28', '\x66', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x69', '\x73', '\x6e', '\x61', '\x6e', '\x28', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x20', '\x64', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x69', '\x73', '\x6e', '\x61', '\x6e', '\x28', '\x64', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x23', '\x65', '\x6c', '\x73', '\x65', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x46', '\x6f', '\x72', '\x20', '\x6e', '\x6f', '\x77', '\x20', '\x77', '\x65', '\x20', '\x6f', '\x6e', '\x6c', '\x79', '\x20', '\x75', '\x73', '\x65', '\x20', '\x74', '\x68', '\x69', '\x73', '\x20', '\x66', '\x6f', '\x72', '\x20', '\x65', '\x6d', '\x62', '\x61', '\x72', '\x63', '\x61', '\x64', '\x65', '\x72', '\x6f', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x69', '\x73', '\x6e', '\x61', '\x6e', '\x28', '\x66', '\x6c', '\x6f', '\x61', '\x74', '\x20', '\x66', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x5f', '\x69', '\x73', '\x6e', '\x61', '\x6e', '\x28', '\x66', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x69', '\x73', '\x6e', '\x61', '\x6e', '\x28', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x20', '\x64', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x5f', '\x69', '\x73', '\x6e', '\x61', '\x6e', '\x28', '\x64', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x0d', '\x0a', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x70', '\x6f', '\x6c', '\x79', '\x66', '\x69', '\x6c', '\x6c', '\x73', '\x2e', '\x63', '\x70', '\x70', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x72', '\x61', '\x6e', '\x64', '\x6f', '\x6d', '\x5f', '\x6e', '\x75', '\x6d', '\x62', '\x65', '\x72', '\x5f', '\x67', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x2e', '\x63', '\x70', '\x70', '\x0d', '\x0a', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x5f', '\x4d', '\x53', '\x43', '\x5f', '\x56', '\x45', '\x52', '\x29', '\x0d', '\x0a', '\x23', '\x70', '\x72', '\x61', '\x67', '\x6d', '\x61', '\x20', '\x77', '\x61', '\x72', '\x6e', '\x69', '\x6e', '\x67', '\x28', '\x70', '\x75', '\x73', '\x68', '\x29', '\x0d', '\x0a', '\x23', '\x70', '\x72', '\x61', '\x67', '\x6d', '\x61', '\x20', '\x77', '\x61', '\x72', '\x6e', '\x69', '\x6e', '\x67', '\x28', '\x64', '\x69', '\x73', '\x61', '\x62', '\x6c', '\x65', '\x3a', '\x34', '\x31', '\x34', '\x36', '\x29', '\x20', '\x2f', '\x2f', '\x20', '\x77', '\x65', '\x20', '\x6e', '\x65', '\x67', '\x61', '\x74', '\x65', '\x20', '\x75', '\x69', '\x6e', '\x74', '\x33', '\x32', '\x20', '\x64', '\x75', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x74', '\x68', '\x65', '\x20', '\x72', '\x6f', '\x74', '\x61', '\x74', '\x65', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x53', '\x61', '\x66', '\x65', '\x20', '\x72', '\x6f', '\x74', '\x72', '\x20', '\x69', '\x6d', '\x70', '\x6c', '\x65', '\x6d', '\x65', '\x6e', '\x74', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x74', '\x68', '\x61', '\x6e', '\x6b', '\x73', '\x20', '\x74', '\x6f', '\x20', '\x4a', '\x6f', '\x68', '\x6e', '\x20', '\x52', '\x65', '\x67', '\x65', '\x68', '\x72', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x75', '\x69', '\x6e', '\x74', '\x33', '\x32', '\x5f', '\x74', '\x20', '\x72', '\x6f', '\x74', '\x61', '\x74', '\x65', '\x5f', '\x72', '\x69', '\x67', '\x68', '\x74', '\x28', '\x75', '\x69', '\x6e', '\x74', '\x33', '\x32', '\x5f', '\x74', '\x20', '\x76', '\x61', '\x6c', '\x2c', '\x20', '\x75', '\x69', '\x6e', '\x74', '\x33', '\x32', '\x5f', '\x74', '\x20', '\x63', '\x6f', '\x75', '\x6e', '\x74', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x75', '\x69', '\x6e', '\x74', '\x33', '\x32', '\x5f', '\x74', '\x20', '\x6d', '\x61', '\x73', '\x6b', '\x20', '\x3d', '\x20', '\x33', '\x31', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6f', '\x75', '\x6e', '\x74', '\x20', '\x26', '\x3d', '\x20', '\x6d', '\x61', '\x73', '\x6b', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x28', '\x76', '\x61', '\x6c', '\x20', '\x3e', '\x3e', '\x20', '\x63', '\x6f', '\x75', '\x6e', '\x74', '\x29', '\x20', '\x7c', '\x20', '\x28', '\x76', '\x61', '\x6c', '\x20', '\x3c', '\x3c', '\x20', '\x28', '\x2d', '\x63', '\x6f', '\x75', '\x6e', '\x74', '\x20', '\x26', '\x20', '\x6d', '\x61', '\x73', '\x6b', '\x29', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x5f', '\x4d', '\x53', '\x43', '\x5f', '\x56', '\x45', '\x52', '\x29', '\x0d', '\x0a', '\x23', '\x70', '\x72', '\x61', '\x67', '\x6d', '\x61', '\x20', '\x77', '\x61', '\x72', '\x6e', '\x69', '\x6e', '\x67', '\x28', '\x70', '\x6f', '\x70', '\x29', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x0d', '\x0a', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x53', '\x69', '\x6d', '\x70', '\x6c', '\x65', '\x50', '\x63', '\x67', '\x33', '\x32', '\x3a', '\x3a', '\x53', '\x69', '\x6d', '\x70', '\x6c', '\x65', '\x50', '\x63', '\x67', '\x33', '\x32', '\x28', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x5f', '\x74', '\x79', '\x70', '\x65', '\x20', '\x73', '\x65', '\x65', '\x64', '\x5f', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x65', '\x65', '\x64', '\x28', '\x73', '\x65', '\x65', '\x64', '\x5f', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x53', '\x69', '\x6d', '\x70', '\x6c', '\x65', '\x50', '\x63', '\x67', '\x33', '\x32', '\x3a', '\x3a', '\x73', '\x65', '\x65', '\x64', '\x28', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x5f', '\x74', '\x79', '\x70', '\x65', '\x20', '\x73', '\x65', '\x65', '\x64', '\x5f', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x73', '\x74', '\x61', '\x74', '\x65', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x28', '\x2a', '\x74', '\x68', '\x69', '\x73', '\x29', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x73', '\x74', '\x61', '\x74', '\x65', '\x20', '\x2b', '\x3d', '\x20', '\x73', '\x65', '\x65', '\x64', '\x5f', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x28', '\x2a', '\x74', '\x68', '\x69', '\x73', '\x29', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x53', '\x69', '\x6d', '\x70', '\x6c', '\x65', '\x50', '\x63', '\x67', '\x33', '\x32', '\x3a', '\x3a', '\x64', '\x69', '\x73', '\x63', '\x61', '\x72', '\x64', '\x28', '\x75', '\x69', '\x6e', '\x74', '\x36', '\x34', '\x5f', '\x74', '\x20', '\x73', '\x6b', '\x69', '\x70', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x57', '\x65', '\x20', '\x63', '\x6f', '\x75', '\x6c', '\x64', '\x20', '\x69', '\x6d', '\x70', '\x6c', '\x65', '\x6d', '\x65', '\x6e', '\x74', '\x20', '\x74', '\x68', '\x69', '\x73', '\x20', '\x74', '\x6f', '\x20', '\x72', '\x75', '\x6e', '\x20', '\x69', '\x6e', '\x20', '\x4f', '\x28', '\x6c', '\x6f', '\x67', '\x20', '\x6e', '\x29', '\x20', '\x73', '\x74', '\x65', '\x70', '\x73', '\x2c', '\x20', '\x62', '\x75', '\x74', '\x20', '\x74', '\x68', '\x69', '\x73', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x73', '\x68', '\x6f', '\x75', '\x6c', '\x64', '\x20', '\x73', '\x75', '\x66', '\x66', '\x69', '\x63', '\x65', '\x20', '\x66', '\x6f', '\x72', '\x20', '\x6f', '\x75', '\x72', '\x20', '\x75', '\x73', '\x65', '\x20', '\x63', '\x61', '\x73', '\x65', '\x2e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x66', '\x6f', '\x72', '\x20', '\x28', '\x75', '\x69', '\x6e', '\x74', '\x36', '\x34', '\x5f', '\x74', '\x20', '\x73', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x20', '\x73', '\x20', '\x3c', '\x20', '\x73', '\x6b', '\x69', '\x70', '\x3b', '\x20', '\x2b', '\x2b', '\x73', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x5f', '\x63', '\x61', '\x73', '\x74', '\x3c', '\x76', '\x6f', '\x69', '\x64', '\x3e', '\x28', '\x28', '\x2a', '\x74', '\x68', '\x69', '\x73', '\x29', '\x28', '\x29', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x53', '\x69', '\x6d', '\x70', '\x6c', '\x65', '\x50', '\x63', '\x67', '\x33', '\x32', '\x3a', '\x3a', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x5f', '\x74', '\x79', '\x70', '\x65', '\x20', '\x53', '\x69', '\x6d', '\x70', '\x6c', '\x65', '\x50', '\x63', '\x67', '\x33', '\x32', '\x3a', '\x3a', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x28', '\x29', '\x28', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x70', '\x72', '\x65', '\x70', '\x61', '\x72', '\x65', '\x20', '\x74', '\x68', '\x65', '\x20', '\x6f', '\x75', '\x74', '\x70', '\x75', '\x74', '\x20', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x75', '\x69', '\x6e', '\x74', '\x33', '\x32', '\x5f', '\x74', '\x20', '\x78', '\x6f', '\x72', '\x73', '\x68', '\x69', '\x66', '\x74', '\x65', '\x64', '\x20', '\x3d', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x5f', '\x63', '\x61', '\x73', '\x74', '\x3c', '\x75', '\x69', '\x6e', '\x74', '\x33', '\x32', '\x5f', '\x74', '\x3e', '\x28', '\x28', '\x28', '\x6d', '\x5f', '\x73', '\x74', '\x61', '\x74', '\x65', '\x20', '\x3e', '\x3e', '\x20', '\x31', '\x38', '\x75', '\x29', '\x20', '\x5e', '\x20', '\x6d', '\x5f', '\x73', '\x74', '\x61', '\x74', '\x65', '\x29', '\x20', '\x3e', '\x3e', '\x20', '\x32', '\x37', '\x75', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x6f', '\x75', '\x74', '\x70', '\x75', '\x74', '\x20', '\x3d', '\x20', '\x72', '\x6f', '\x74', '\x61', '\x74', '\x65', '\x5f', '\x72', '\x69', '\x67', '\x68', '\x74', '\x28', '\x78', '\x6f', '\x72', '\x73', '\x68', '\x69', '\x66', '\x74', '\x65', '\x64', '\x2c', '\x20', '\x6d', '\x5f', '\x73', '\x74', '\x61', '\x74', '\x65', '\x20', '\x3e', '\x3e', '\x20', '\x35', '\x39', '\x75', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x61', '\x64', '\x76', '\x61', '\x6e', '\x63', '\x65', '\x20', '\x73', '\x74', '\x61', '\x74', '\x65', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x73', '\x74', '\x61', '\x74', '\x65', '\x20', '\x3d', '\x20', '\x6d', '\x5f', '\x73', '\x74', '\x61', '\x74', '\x65', '\x20', '\x2a', '\x20', '\x36', '\x33', '\x36', '\x34', '\x31', '\x33', '\x36', '\x32', '\x32', '\x33', '\x38', '\x34', '\x36', '\x37', '\x39', '\x33', '\x30', '\x30', '\x35', '\x55', '\x4c', '\x4c', '\x20', '\x2b', '\x20', '\x73', '\x5f', '\x69', '\x6e', '\x63', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6f', '\x75', '\x74', '\x70', '\x75', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x3d', '\x3d', '\x28', '\x53', '\x69', '\x6d', '\x70', '\x6c', '\x65', '\x50', '\x63', '\x67', '\x33', '\x32', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6c', '\x68', '\x73', '\x2c', '\x20', '\x53', '\x69', '\x6d', '\x70', '\x6c', '\x65', '\x50', '\x63', '\x67', '\x33', '\x32', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x72', '\x68', '\x73', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6c', '\x68', '\x73', '\x2e', '\x6d', '\x5f', '\x73', '\x74', '\x61', '\x74', '\x65', '\x20', '\x3d', '\x3d', '\x20', '\x72', '\x68', '\x73', '\x2e', '\x6d', '\x5f', '\x73', '\x74', '\x61', '\x74', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x21', '\x3d', '\x28', '\x53', '\x69', '\x6d', '\x70', '\x6c', '\x65', '\x50', '\x63', '\x67', '\x33', '\x32', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6c', '\x68', '\x73', '\x2c', '\x20', '\x53', '\x69', '\x6d', '\x70', '\x6c', '\x65', '\x50', '\x63', '\x67', '\x33', '\x32', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x72', '\x68', '\x73', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6c', '\x68', '\x73', '\x2e', '\x6d', '\x5f', '\x73', '\x74', '\x61', '\x74', '\x65', '\x20', '\x21', '\x3d', '\x20', '\x72', '\x68', '\x73', '\x2e', '\x6d', '\x5f', '\x73', '\x74', '\x61', '\x74', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x7d', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x72', '\x61', '\x6e', '\x64', '\x6f', '\x6d', '\x5f', '\x6e', '\x75', '\x6d', '\x62', '\x65', '\x72', '\x5f', '\x67', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x2e', '\x63', '\x70', '\x70', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x72', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x5f', '\x68', '\x75', '\x62', '\x2e', '\x63', '\x70', '\x70', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x74', '\x65', '\x73', '\x74', '\x5f', '\x63', '\x61', '\x73', '\x65', '\x5f', '\x72', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x5f', '\x69', '\x6d', '\x70', '\x6c', '\x2e', '\x68', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3e', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x73', '\x65', '\x74', '\x3e', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x61', '\x6c', '\x67', '\x6f', '\x72', '\x69', '\x74', '\x68', '\x6d', '\x3e', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x69', '\x6f', '\x73', '\x3e', '\x0d', '\x0a', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x20', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x49', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x3e', '\x20', '\x73', '\x6f', '\x72', '\x74', '\x54', '\x65', '\x73', '\x74', '\x73', '\x28', '\x20', '\x49', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x2c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x3e', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x75', '\x6e', '\x73', '\x6f', '\x72', '\x74', '\x65', '\x64', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x73', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x69', '\x73', '\x54', '\x68', '\x72', '\x6f', '\x77', '\x53', '\x61', '\x66', '\x65', '\x28', '\x20', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x2c', '\x20', '\x49', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x54', '\x65', '\x73', '\x74', '\x28', '\x20', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x2c', '\x20', '\x54', '\x65', '\x73', '\x74', '\x53', '\x70', '\x65', '\x63', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x74', '\x65', '\x73', '\x74', '\x53', '\x70', '\x65', '\x63', '\x2c', '\x20', '\x49', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x65', '\x6e', '\x66', '\x6f', '\x72', '\x63', '\x65', '\x4e', '\x6f', '\x44', '\x75', '\x70', '\x6c', '\x69', '\x63', '\x61', '\x74', '\x65', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x73', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x3e', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x66', '\x75', '\x6e', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x3e', '\x20', '\x66', '\x69', '\x6c', '\x74', '\x65', '\x72', '\x54', '\x65', '\x73', '\x74', '\x73', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x3e', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x73', '\x2c', '\x20', '\x54', '\x65', '\x73', '\x74', '\x53', '\x70', '\x65', '\x63', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x74', '\x65', '\x73', '\x74', '\x53', '\x70', '\x65', '\x63', '\x2c', '\x20', '\x49', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x3e', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x67', '\x65', '\x74', '\x41', '\x6c', '\x6c', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x73', '\x53', '\x6f', '\x72', '\x74', '\x65', '\x64', '\x28', '\x20', '\x49', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x20', '\x54', '\x65', '\x73', '\x74', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x20', '\x3a', '\x20', '\x70', '\x75', '\x62', '\x6c', '\x69', '\x63', '\x20', '\x49', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x70', '\x75', '\x62', '\x6c', '\x69', '\x63', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x69', '\x72', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x7e', '\x54', '\x65', '\x73', '\x74', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x28', '\x29', '\x20', '\x3d', '\x20', '\x64', '\x65', '\x66', '\x61', '\x75', '\x6c', '\x74', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x69', '\x72', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x72', '\x65', '\x67', '\x69', '\x73', '\x74', '\x65', '\x72', '\x54', '\x65', '\x73', '\x74', '\x28', '\x20', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x3e', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x67', '\x65', '\x74', '\x41', '\x6c', '\x6c', '\x54', '\x65', '\x73', '\x74', '\x73', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x3e', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x67', '\x65', '\x74', '\x41', '\x6c', '\x6c', '\x54', '\x65', '\x73', '\x74', '\x73', '\x53', '\x6f', '\x72', '\x74', '\x65', '\x64', '\x28', '\x20', '\x49', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x20', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x70', '\x72', '\x69', '\x76', '\x61', '\x74', '\x65', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x3e', '\x20', '\x6d', '\x5f', '\x66', '\x75', '\x6e', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x75', '\x74', '\x61', '\x62', '\x6c', '\x65', '\x20', '\x52', '\x75', '\x6e', '\x54', '\x65', '\x73', '\x74', '\x73', '\x3a', '\x3a', '\x49', '\x6e', '\x57', '\x68', '\x61', '\x74', '\x4f', '\x72', '\x64', '\x65', '\x72', '\x20', '\x6d', '\x5f', '\x63', '\x75', '\x72', '\x72', '\x65', '\x6e', '\x74', '\x53', '\x6f', '\x72', '\x74', '\x4f', '\x72', '\x64', '\x65', '\x72', '\x20', '\x3d', '\x20', '\x52', '\x75', '\x6e', '\x54', '\x65', '\x73', '\x74', '\x73', '\x3a', '\x3a', '\x49', '\x6e', '\x44', '\x65', '\x63', '\x6c', '\x61', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x4f', '\x72', '\x64', '\x65', '\x72', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x75', '\x74', '\x61', '\x62', '\x6c', '\x65', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x3e', '\x20', '\x6d', '\x5f', '\x73', '\x6f', '\x72', '\x74', '\x65', '\x64', '\x46', '\x75', '\x6e', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x69', '\x7a', '\x65', '\x5f', '\x74', '\x20', '\x6d', '\x5f', '\x75', '\x6e', '\x6e', '\x61', '\x6d', '\x65', '\x64', '\x43', '\x6f', '\x75', '\x6e', '\x74', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x69', '\x6f', '\x73', '\x5f', '\x62', '\x61', '\x73', '\x65', '\x3a', '\x3a', '\x49', '\x6e', '\x69', '\x74', '\x20', '\x6d', '\x5f', '\x6f', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x49', '\x6e', '\x69', '\x74', '\x3b', '\x20', '\x2f', '\x2f', '\x20', '\x46', '\x6f', '\x72', '\x63', '\x65', '\x73', '\x20', '\x63', '\x6f', '\x75', '\x74', '\x2f', '\x20', '\x63', '\x65', '\x72', '\x72', '\x20', '\x74', '\x6f', '\x20', '\x62', '\x65', '\x20', '\x69', '\x6e', '\x69', '\x74', '\x69', '\x61', '\x6c', '\x69', '\x73', '\x65', '\x64', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x20', '\x54', '\x65', '\x73', '\x74', '\x49', '\x6e', '\x76', '\x6f', '\x6b', '\x65', '\x72', '\x41', '\x73', '\x46', '\x75', '\x6e', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x3a', '\x20', '\x70', '\x75', '\x62', '\x6c', '\x69', '\x63', '\x20', '\x49', '\x54', '\x65', '\x73', '\x74', '\x49', '\x6e', '\x76', '\x6f', '\x6b', '\x65', '\x72', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x28', '\x2a', '\x6d', '\x5f', '\x74', '\x65', '\x73', '\x74', '\x41', '\x73', '\x46', '\x75', '\x6e', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x29', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x70', '\x75', '\x62', '\x6c', '\x69', '\x63', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x54', '\x65', '\x73', '\x74', '\x49', '\x6e', '\x76', '\x6f', '\x6b', '\x65', '\x72', '\x41', '\x73', '\x46', '\x75', '\x6e', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x28', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x28', '\x2a', '\x74', '\x65', '\x73', '\x74', '\x41', '\x73', '\x46', '\x75', '\x6e', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x29', '\x28', '\x29', '\x20', '\x29', '\x20', '\x6e', '\x6f', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x69', '\x6e', '\x76', '\x6f', '\x6b', '\x65', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x65', '\x78', '\x74', '\x72', '\x61', '\x63', '\x74', '\x43', '\x6c', '\x61', '\x73', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x28', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x66', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x4f', '\x72', '\x51', '\x75', '\x61', '\x6c', '\x69', '\x66', '\x69', '\x65', '\x64', '\x4d', '\x65', '\x74', '\x68', '\x6f', '\x64', '\x4e', '\x61', '\x6d', '\x65', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x0d', '\x0a', '\x0d', '\x0a', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x74', '\x65', '\x73', '\x74', '\x5f', '\x63', '\x61', '\x73', '\x65', '\x5f', '\x72', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x5f', '\x69', '\x6d', '\x70', '\x6c', '\x2e', '\x68', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x72', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x5f', '\x72', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x2e', '\x68', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x6d', '\x61', '\x70', '\x3e', '\x0d', '\x0a', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x20', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x20', '\x3a', '\x20', '\x70', '\x75', '\x62', '\x6c', '\x69', '\x63', '\x20', '\x49', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x70', '\x75', '\x62', '\x6c', '\x69', '\x63', '\x3a', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7e', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x28', '\x29', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x49', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x50', '\x74', '\x72', '\x20', '\x63', '\x72', '\x65', '\x61', '\x74', '\x65', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x49', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x50', '\x74', '\x72', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x20', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x72', '\x65', '\x67', '\x69', '\x73', '\x74', '\x65', '\x72', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x49', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x46', '\x61', '\x63', '\x74', '\x6f', '\x72', '\x79', '\x50', '\x74', '\x72', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x66', '\x61', '\x63', '\x74', '\x6f', '\x72', '\x79', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x72', '\x65', '\x67', '\x69', '\x73', '\x74', '\x65', '\x72', '\x4c', '\x69', '\x73', '\x74', '\x65', '\x6e', '\x65', '\x72', '\x28', '\x20', '\x49', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x46', '\x61', '\x63', '\x74', '\x6f', '\x72', '\x79', '\x50', '\x74', '\x72', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x66', '\x61', '\x63', '\x74', '\x6f', '\x72', '\x79', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x46', '\x61', '\x63', '\x74', '\x6f', '\x72', '\x79', '\x4d', '\x61', '\x70', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x67', '\x65', '\x74', '\x46', '\x61', '\x63', '\x74', '\x6f', '\x72', '\x69', '\x65', '\x73', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x4c', '\x69', '\x73', '\x74', '\x65', '\x6e', '\x65', '\x72', '\x73', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x67', '\x65', '\x74', '\x4c', '\x69', '\x73', '\x74', '\x65', '\x6e', '\x65', '\x72', '\x73', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x70', '\x72', '\x69', '\x76', '\x61', '\x74', '\x65', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x46', '\x61', '\x63', '\x74', '\x6f', '\x72', '\x79', '\x4d', '\x61', '\x70', '\x20', '\x6d', '\x5f', '\x66', '\x61', '\x63', '\x74', '\x6f', '\x72', '\x69', '\x65', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x4c', '\x69', '\x73', '\x74', '\x65', '\x6e', '\x65', '\x72', '\x73', '\x20', '\x6d', '\x5f', '\x6c', '\x69', '\x73', '\x74', '\x65', '\x6e', '\x65', '\x72', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x72', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x5f', '\x72', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x2e', '\x68', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x74', '\x61', '\x67', '\x5f', '\x61', '\x6c', '\x69', '\x61', '\x73', '\x5f', '\x72', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x2e', '\x68', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x74', '\x61', '\x67', '\x5f', '\x61', '\x6c', '\x69', '\x61', '\x73', '\x2e', '\x68', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x3e', '\x0d', '\x0a', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x54', '\x61', '\x67', '\x41', '\x6c', '\x69', '\x61', '\x73', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x54', '\x61', '\x67', '\x41', '\x6c', '\x69', '\x61', '\x73', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x5f', '\x74', '\x61', '\x67', '\x2c', '\x20', '\x53', '\x6f', '\x75', '\x72', '\x63', '\x65', '\x4c', '\x69', '\x6e', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x5f', '\x6c', '\x69', '\x6e', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x74', '\x61', '\x67', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x53', '\x6f', '\x75', '\x72', '\x63', '\x65', '\x4c', '\x69', '\x6e', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x6c', '\x69', '\x6e', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x74', '\x61', '\x67', '\x5f', '\x61', '\x6c', '\x69', '\x61', '\x73', '\x2e', '\x68', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x6d', '\x61', '\x70', '\x3e', '\x0d', '\x0a', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x20', '\x54', '\x61', '\x67', '\x41', '\x6c', '\x69', '\x61', '\x73', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x20', '\x3a', '\x20', '\x70', '\x75', '\x62', '\x6c', '\x69', '\x63', '\x20', '\x49', '\x54', '\x61', '\x67', '\x41', '\x6c', '\x69', '\x61', '\x73', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x70', '\x75', '\x62', '\x6c', '\x69', '\x63', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7e', '\x54', '\x61', '\x67', '\x41', '\x6c', '\x69', '\x61', '\x73', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x28', '\x29', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x54', '\x61', '\x67', '\x41', '\x6c', '\x69', '\x61', '\x73', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x2a', '\x20', '\x66', '\x69', '\x6e', '\x64', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x61', '\x6c', '\x69', '\x61', '\x73', '\x20', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x65', '\x78', '\x70', '\x61', '\x6e', '\x64', '\x41', '\x6c', '\x69', '\x61', '\x73', '\x65', '\x73', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x75', '\x6e', '\x65', '\x78', '\x70', '\x61', '\x6e', '\x64', '\x65', '\x64', '\x54', '\x65', '\x73', '\x74', '\x53', '\x70', '\x65', '\x63', '\x20', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x61', '\x64', '\x64', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x61', '\x6c', '\x69', '\x61', '\x73', '\x2c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x74', '\x61', '\x67', '\x2c', '\x20', '\x53', '\x6f', '\x75', '\x72', '\x63', '\x65', '\x4c', '\x69', '\x6e', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6c', '\x69', '\x6e', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x70', '\x72', '\x69', '\x76', '\x61', '\x74', '\x65', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6d', '\x61', '\x70', '\x3c', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x2c', '\x20', '\x54', '\x61', '\x67', '\x41', '\x6c', '\x69', '\x61', '\x73', '\x3e', '\x20', '\x6d', '\x5f', '\x72', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x74', '\x61', '\x67', '\x5f', '\x61', '\x6c', '\x69', '\x61', '\x73', '\x5f', '\x72', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x2e', '\x68', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x73', '\x74', '\x61', '\x72', '\x74', '\x75', '\x70', '\x5f', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x5f', '\x72', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x2e', '\x68', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3e', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x3e', '\x0d', '\x0a', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x20', '\x53', '\x74', '\x61', '\x72', '\x74', '\x75', '\x70', '\x45', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x70', '\x75', '\x62', '\x6c', '\x69', '\x63', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x61', '\x64', '\x64', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x5f', '\x70', '\x74', '\x72', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x29', '\x20', '\x6e', '\x6f', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x5f', '\x70', '\x74', '\x72', '\x3e', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x67', '\x65', '\x74', '\x45', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x6e', '\x6f', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x70', '\x72', '\x69', '\x76', '\x61', '\x74', '\x65', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x5f', '\x70', '\x74', '\x72', '\x3e', '\x20', '\x6d', '\x5f', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x73', '\x74', '\x61', '\x72', '\x74', '\x75', '\x70', '\x5f', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x5f', '\x72', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x2e', '\x68', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x73', '\x69', '\x6e', '\x67', '\x6c', '\x65', '\x74', '\x6f', '\x6e', '\x73', '\x2e', '\x68', '\x70', '\x70', '\x0d', '\x0a', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x49', '\x53', '\x69', '\x6e', '\x67', '\x6c', '\x65', '\x74', '\x6f', '\x6e', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x69', '\x72', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x7e', '\x49', '\x53', '\x69', '\x6e', '\x67', '\x6c', '\x65', '\x74', '\x6f', '\x6e', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x61', '\x64', '\x64', '\x53', '\x69', '\x6e', '\x67', '\x6c', '\x65', '\x74', '\x6f', '\x6e', '\x28', '\x20', '\x49', '\x53', '\x69', '\x6e', '\x67', '\x6c', '\x65', '\x74', '\x6f', '\x6e', '\x2a', '\x20', '\x73', '\x69', '\x6e', '\x67', '\x6c', '\x65', '\x74', '\x6f', '\x6e', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x63', '\x6c', '\x65', '\x61', '\x6e', '\x75', '\x70', '\x53', '\x69', '\x6e', '\x67', '\x6c', '\x65', '\x74', '\x6f', '\x6e', '\x73', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x53', '\x69', '\x6e', '\x67', '\x6c', '\x65', '\x74', '\x6f', '\x6e', '\x49', '\x6d', '\x70', '\x6c', '\x54', '\x2c', '\x20', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x49', '\x6e', '\x74', '\x65', '\x72', '\x66', '\x61', '\x63', '\x65', '\x54', '\x20', '\x3d', '\x20', '\x53', '\x69', '\x6e', '\x67', '\x6c', '\x65', '\x74', '\x6f', '\x6e', '\x49', '\x6d', '\x70', '\x6c', '\x54', '\x2c', '\x20', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x4d', '\x75', '\x74', '\x61', '\x62', '\x6c', '\x65', '\x49', '\x6e', '\x74', '\x65', '\x72', '\x66', '\x61', '\x63', '\x65', '\x54', '\x20', '\x3d', '\x20', '\x49', '\x6e', '\x74', '\x65', '\x72', '\x66', '\x61', '\x63', '\x65', '\x54', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x20', '\x53', '\x69', '\x6e', '\x67', '\x6c', '\x65', '\x74', '\x6f', '\x6e', '\x20', '\x3a', '\x20', '\x53', '\x69', '\x6e', '\x67', '\x6c', '\x65', '\x74', '\x6f', '\x6e', '\x49', '\x6d', '\x70', '\x6c', '\x54', '\x2c', '\x20', '\x70', '\x75', '\x62', '\x6c', '\x69', '\x63', '\x20', '\x49', '\x53', '\x69', '\x6e', '\x67', '\x6c', '\x65', '\x74', '\x6f', '\x6e', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x67', '\x65', '\x74', '\x49', '\x6e', '\x74', '\x65', '\x72', '\x6e', '\x61', '\x6c', '\x28', '\x29', '\x20', '\x2d', '\x3e', '\x20', '\x53', '\x69', '\x6e', '\x67', '\x6c', '\x65', '\x74', '\x6f', '\x6e', '\x2a', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x20', '\x53', '\x69', '\x6e', '\x67', '\x6c', '\x65', '\x74', '\x6f', '\x6e', '\x2a', '\x20', '\x73', '\x5f', '\x69', '\x6e', '\x73', '\x74', '\x61', '\x6e', '\x63', '\x65', '\x20', '\x3d', '\x20', '\x6e', '\x75', '\x6c', '\x6c', '\x70', '\x74', '\x72', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x21', '\x73', '\x5f', '\x69', '\x6e', '\x73', '\x74', '\x61', '\x6e', '\x63', '\x65', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x5f', '\x69', '\x6e', '\x73', '\x74', '\x61', '\x6e', '\x63', '\x65', '\x20', '\x3d', '\x20', '\x6e', '\x65', '\x77', '\x20', '\x53', '\x69', '\x6e', '\x67', '\x6c', '\x65', '\x74', '\x6f', '\x6e', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x64', '\x64', '\x53', '\x69', '\x6e', '\x67', '\x6c', '\x65', '\x74', '\x6f', '\x6e', '\x28', '\x20', '\x73', '\x5f', '\x69', '\x6e', '\x73', '\x74', '\x61', '\x6e', '\x63', '\x65', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x73', '\x5f', '\x69', '\x6e', '\x73', '\x74', '\x61', '\x6e', '\x63', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x70', '\x75', '\x62', '\x6c', '\x69', '\x63', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x67', '\x65', '\x74', '\x28', '\x29', '\x20', '\x2d', '\x3e', '\x20', '\x49', '\x6e', '\x74', '\x65', '\x72', '\x66', '\x61', '\x63', '\x65', '\x54', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x2a', '\x67', '\x65', '\x74', '\x49', '\x6e', '\x74', '\x65', '\x72', '\x6e', '\x61', '\x6c', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x67', '\x65', '\x74', '\x4d', '\x75', '\x74', '\x61', '\x62', '\x6c', '\x65', '\x28', '\x29', '\x20', '\x2d', '\x3e', '\x20', '\x4d', '\x75', '\x74', '\x61', '\x62', '\x6c', '\x65', '\x49', '\x6e', '\x74', '\x65', '\x72', '\x66', '\x61', '\x63', '\x65', '\x54', '\x26', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x2a', '\x67', '\x65', '\x74', '\x49', '\x6e', '\x74', '\x65', '\x72', '\x6e', '\x61', '\x6c', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x73', '\x69', '\x6e', '\x67', '\x6c', '\x65', '\x74', '\x6f', '\x6e', '\x73', '\x2e', '\x68', '\x70', '\x70', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x20', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x48', '\x75', '\x62', '\x20', '\x3a', '\x20', '\x70', '\x75', '\x62', '\x6c', '\x69', '\x63', '\x20', '\x49', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x48', '\x75', '\x62', '\x2c', '\x20', '\x70', '\x75', '\x62', '\x6c', '\x69', '\x63', '\x20', '\x49', '\x4d', '\x75', '\x74', '\x61', '\x62', '\x6c', '\x65', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x48', '\x75', '\x62', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x72', '\x69', '\x76', '\x61', '\x74', '\x65', '\x20', '\x4e', '\x6f', '\x6e', '\x43', '\x6f', '\x70', '\x79', '\x61', '\x62', '\x6c', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x75', '\x62', '\x6c', '\x69', '\x63', '\x3a', '\x20', '\x2f', '\x2f', '\x20', '\x49', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x48', '\x75', '\x62', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x48', '\x75', '\x62', '\x28', '\x29', '\x20', '\x3d', '\x20', '\x64', '\x65', '\x66', '\x61', '\x75', '\x6c', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x49', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x67', '\x65', '\x74', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6d', '\x5f', '\x72', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x49', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x67', '\x65', '\x74', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6d', '\x5f', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x49', '\x45', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x54', '\x72', '\x61', '\x6e', '\x73', '\x6c', '\x61', '\x74', '\x6f', '\x72', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x67', '\x65', '\x74', '\x45', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x54', '\x72', '\x61', '\x6e', '\x73', '\x6c', '\x61', '\x74', '\x6f', '\x72', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6d', '\x5f', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x54', '\x72', '\x61', '\x6e', '\x73', '\x6c', '\x61', '\x74', '\x6f', '\x72', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x49', '\x54', '\x61', '\x67', '\x41', '\x6c', '\x69', '\x61', '\x73', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x67', '\x65', '\x74', '\x54', '\x61', '\x67', '\x41', '\x6c', '\x69', '\x61', '\x73', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6d', '\x5f', '\x74', '\x61', '\x67', '\x41', '\x6c', '\x69', '\x61', '\x73', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x53', '\x74', '\x61', '\x72', '\x74', '\x75', '\x70', '\x45', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x67', '\x65', '\x74', '\x53', '\x74', '\x61', '\x72', '\x74', '\x75', '\x70', '\x45', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6d', '\x5f', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x75', '\x62', '\x6c', '\x69', '\x63', '\x3a', '\x20', '\x2f', '\x2f', '\x20', '\x49', '\x4d', '\x75', '\x74', '\x61', '\x62', '\x6c', '\x65', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x48', '\x75', '\x62', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x72', '\x65', '\x67', '\x69', '\x73', '\x74', '\x65', '\x72', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x49', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x46', '\x61', '\x63', '\x74', '\x6f', '\x72', '\x79', '\x50', '\x74', '\x72', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x66', '\x61', '\x63', '\x74', '\x6f', '\x72', '\x79', '\x20', '\x29', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x72', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x2e', '\x72', '\x65', '\x67', '\x69', '\x73', '\x74', '\x65', '\x72', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x28', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x66', '\x61', '\x63', '\x74', '\x6f', '\x72', '\x79', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x72', '\x65', '\x67', '\x69', '\x73', '\x74', '\x65', '\x72', '\x4c', '\x69', '\x73', '\x74', '\x65', '\x6e', '\x65', '\x72', '\x28', '\x20', '\x49', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x46', '\x61', '\x63', '\x74', '\x6f', '\x72', '\x79', '\x50', '\x74', '\x72', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x66', '\x61', '\x63', '\x74', '\x6f', '\x72', '\x79', '\x20', '\x29', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x72', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x2e', '\x72', '\x65', '\x67', '\x69', '\x73', '\x74', '\x65', '\x72', '\x4c', '\x69', '\x73', '\x74', '\x65', '\x6e', '\x65', '\x72', '\x28', '\x20', '\x66', '\x61', '\x63', '\x74', '\x6f', '\x72', '\x79', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x72', '\x65', '\x67', '\x69', '\x73', '\x74', '\x65', '\x72', '\x54', '\x65', '\x73', '\x74', '\x28', '\x20', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x74', '\x65', '\x73', '\x74', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x29', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x2e', '\x72', '\x65', '\x67', '\x69', '\x73', '\x74', '\x65', '\x72', '\x54', '\x65', '\x73', '\x74', '\x28', '\x20', '\x74', '\x65', '\x73', '\x74', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x72', '\x65', '\x67', '\x69', '\x73', '\x74', '\x65', '\x72', '\x54', '\x72', '\x61', '\x6e', '\x73', '\x6c', '\x61', '\x74', '\x6f', '\x72', '\x28', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x49', '\x45', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x54', '\x72', '\x61', '\x6e', '\x73', '\x6c', '\x61', '\x74', '\x6f', '\x72', '\x2a', '\x20', '\x74', '\x72', '\x61', '\x6e', '\x73', '\x6c', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x29', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x54', '\x72', '\x61', '\x6e', '\x73', '\x6c', '\x61', '\x74', '\x6f', '\x72', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x2e', '\x72', '\x65', '\x67', '\x69', '\x73', '\x74', '\x65', '\x72', '\x54', '\x72', '\x61', '\x6e', '\x73', '\x6c', '\x61', '\x74', '\x6f', '\x72', '\x28', '\x20', '\x74', '\x72', '\x61', '\x6e', '\x73', '\x6c', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x72', '\x65', '\x67', '\x69', '\x73', '\x74', '\x65', '\x72', '\x54', '\x61', '\x67', '\x41', '\x6c', '\x69', '\x61', '\x73', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x61', '\x6c', '\x69', '\x61', '\x73', '\x2c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x74', '\x61', '\x67', '\x2c', '\x20', '\x53', '\x6f', '\x75', '\x72', '\x63', '\x65', '\x4c', '\x69', '\x6e', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6c', '\x69', '\x6e', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x29', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x74', '\x61', '\x67', '\x41', '\x6c', '\x69', '\x61', '\x73', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x2e', '\x61', '\x64', '\x64', '\x28', '\x20', '\x61', '\x6c', '\x69', '\x61', '\x73', '\x2c', '\x20', '\x74', '\x61', '\x67', '\x2c', '\x20', '\x6c', '\x69', '\x6e', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x72', '\x65', '\x67', '\x69', '\x73', '\x74', '\x65', '\x72', '\x53', '\x74', '\x61', '\x72', '\x74', '\x75', '\x70', '\x45', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x28', '\x29', '\x20', '\x6e', '\x6f', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x2e', '\x61', '\x64', '\x64', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x63', '\x75', '\x72', '\x72', '\x65', '\x6e', '\x74', '\x5f', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x28', '\x29', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x49', '\x4d', '\x75', '\x74', '\x61', '\x62', '\x6c', '\x65', '\x45', '\x6e', '\x75', '\x6d', '\x56', '\x61', '\x6c', '\x75', '\x65', '\x73', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x26', '\x20', '\x67', '\x65', '\x74', '\x4d', '\x75', '\x74', '\x61', '\x62', '\x6c', '\x65', '\x45', '\x6e', '\x75', '\x6d', '\x56', '\x61', '\x6c', '\x75', '\x65', '\x73', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x28', '\x29', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6d', '\x5f', '\x65', '\x6e', '\x75', '\x6d', '\x56', '\x61', '\x6c', '\x75', '\x65', '\x73', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x72', '\x69', '\x76', '\x61', '\x74', '\x65', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x54', '\x65', '\x73', '\x74', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x20', '\x6d', '\x5f', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x20', '\x6d', '\x5f', '\x72', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x45', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x54', '\x72', '\x61', '\x6e', '\x73', '\x6c', '\x61', '\x74', '\x6f', '\x72', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x20', '\x6d', '\x5f', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x54', '\x72', '\x61', '\x6e', '\x73', '\x6c', '\x61', '\x74', '\x6f', '\x72', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x54', '\x61', '\x67', '\x41', '\x6c', '\x69', '\x61', '\x73', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x20', '\x6d', '\x5f', '\x74', '\x61', '\x67', '\x41', '\x6c', '\x69', '\x61', '\x73', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x53', '\x74', '\x61', '\x72', '\x74', '\x75', '\x70', '\x45', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x20', '\x6d', '\x5f', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x44', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x3a', '\x3a', '\x45', '\x6e', '\x75', '\x6d', '\x56', '\x61', '\x6c', '\x75', '\x65', '\x73', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x20', '\x6d', '\x5f', '\x65', '\x6e', '\x75', '\x6d', '\x56', '\x61', '\x6c', '\x75', '\x65', '\x73', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x75', '\x73', '\x69', '\x6e', '\x67', '\x20', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x48', '\x75', '\x62', '\x53', '\x69', '\x6e', '\x67', '\x6c', '\x65', '\x74', '\x6f', '\x6e', '\x20', '\x3d', '\x20', '\x53', '\x69', '\x6e', '\x67', '\x6c', '\x65', '\x74', '\x6f', '\x6e', '\x3c', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x48', '\x75', '\x62', '\x2c', '\x20', '\x49', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x48', '\x75', '\x62', '\x2c', '\x20', '\x49', '\x4d', '\x75', '\x74', '\x61', '\x62', '\x6c', '\x65', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x48', '\x75', '\x62', '\x3e', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x49', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x48', '\x75', '\x62', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x67', '\x65', '\x74', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x48', '\x75', '\x62', '\x28', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x48', '\x75', '\x62', '\x53', '\x69', '\x6e', '\x67', '\x6c', '\x65', '\x74', '\x6f', '\x6e', '\x3a', '\x3a', '\x67', '\x65', '\x74', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x49', '\x4d', '\x75', '\x74', '\x61', '\x62', '\x6c', '\x65', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x48', '\x75', '\x62', '\x26', '\x20', '\x67', '\x65', '\x74', '\x4d', '\x75', '\x74', '\x61', '\x62', '\x6c', '\x65', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x48', '\x75', '\x62', '\x28', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x48', '\x75', '\x62', '\x53', '\x69', '\x6e', '\x67', '\x6c', '\x65', '\x74', '\x6f', '\x6e', '\x3a', '\x3a', '\x67', '\x65', '\x74', '\x4d', '\x75', '\x74', '\x61', '\x62', '\x6c', '\x65', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x63', '\x6c', '\x65', '\x61', '\x6e', '\x55', '\x70', '\x28', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6c', '\x65', '\x61', '\x6e', '\x75', '\x70', '\x53', '\x69', '\x6e', '\x67', '\x6c', '\x65', '\x74', '\x6f', '\x6e', '\x73', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6c', '\x65', '\x61', '\x6e', '\x55', '\x70', '\x43', '\x6f', '\x6e', '\x74', '\x65', '\x78', '\x74', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x74', '\x72', '\x61', '\x6e', '\x73', '\x6c', '\x61', '\x74', '\x65', '\x41', '\x63', '\x74', '\x69', '\x76', '\x65', '\x45', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x28', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x67', '\x65', '\x74', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x48', '\x75', '\x62', '\x28', '\x29', '\x2e', '\x67', '\x65', '\x74', '\x45', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x54', '\x72', '\x61', '\x6e', '\x73', '\x6c', '\x61', '\x74', '\x6f', '\x72', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x28', '\x29', '\x2e', '\x74', '\x72', '\x61', '\x6e', '\x73', '\x6c', '\x61', '\x74', '\x65', '\x41', '\x63', '\x74', '\x69', '\x76', '\x65', '\x45', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x72', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x5f', '\x68', '\x75', '\x62', '\x2e', '\x63', '\x70', '\x70', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x72', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x5f', '\x72', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x2e', '\x63', '\x70', '\x70', '\x0d', '\x0a', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x3a', '\x3a', '\x7e', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x28', '\x29', '\x20', '\x3d', '\x20', '\x64', '\x65', '\x66', '\x61', '\x75', '\x6c', '\x74', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x49', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x50', '\x74', '\x72', '\x20', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x3a', '\x3a', '\x63', '\x72', '\x65', '\x61', '\x74', '\x65', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x49', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x50', '\x74', '\x72', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x20', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x69', '\x74', '\x20', '\x3d', '\x20', '\x20', '\x6d', '\x5f', '\x66', '\x61', '\x63', '\x74', '\x6f', '\x72', '\x69', '\x65', '\x73', '\x2e', '\x66', '\x69', '\x6e', '\x64', '\x28', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x69', '\x74', '\x20', '\x3d', '\x3d', '\x20', '\x6d', '\x5f', '\x66', '\x61', '\x63', '\x74', '\x6f', '\x72', '\x69', '\x65', '\x73', '\x2e', '\x65', '\x6e', '\x64', '\x28', '\x29', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6e', '\x75', '\x6c', '\x6c', '\x70', '\x74', '\x72', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x69', '\x74', '\x2d', '\x3e', '\x73', '\x65', '\x63', '\x6f', '\x6e', '\x64', '\x2d', '\x3e', '\x63', '\x72', '\x65', '\x61', '\x74', '\x65', '\x28', '\x20', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x28', '\x20', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x20', '\x29', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x3a', '\x3a', '\x72', '\x65', '\x67', '\x69', '\x73', '\x74', '\x65', '\x72', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x49', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x46', '\x61', '\x63', '\x74', '\x6f', '\x72', '\x79', '\x50', '\x74', '\x72', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x66', '\x61', '\x63', '\x74', '\x6f', '\x72', '\x79', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x66', '\x61', '\x63', '\x74', '\x6f', '\x72', '\x69', '\x65', '\x73', '\x2e', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x63', '\x65', '\x28', '\x6e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x66', '\x61', '\x63', '\x74', '\x6f', '\x72', '\x79', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x3a', '\x3a', '\x72', '\x65', '\x67', '\x69', '\x73', '\x74', '\x65', '\x72', '\x4c', '\x69', '\x73', '\x74', '\x65', '\x6e', '\x65', '\x72', '\x28', '\x20', '\x49', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x46', '\x61', '\x63', '\x74', '\x6f', '\x72', '\x79', '\x50', '\x74', '\x72', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x66', '\x61', '\x63', '\x74', '\x6f', '\x72', '\x79', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x6c', '\x69', '\x73', '\x74', '\x65', '\x6e', '\x65', '\x72', '\x73', '\x2e', '\x70', '\x75', '\x73', '\x68', '\x5f', '\x62', '\x61', '\x63', '\x6b', '\x28', '\x20', '\x66', '\x61', '\x63', '\x74', '\x6f', '\x72', '\x79', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x49', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x3a', '\x3a', '\x46', '\x61', '\x63', '\x74', '\x6f', '\x72', '\x79', '\x4d', '\x61', '\x70', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x3a', '\x3a', '\x67', '\x65', '\x74', '\x46', '\x61', '\x63', '\x74', '\x6f', '\x72', '\x69', '\x65', '\x73', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6d', '\x5f', '\x66', '\x61', '\x63', '\x74', '\x6f', '\x72', '\x69', '\x65', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x49', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x3a', '\x3a', '\x4c', '\x69', '\x73', '\x74', '\x65', '\x6e', '\x65', '\x72', '\x73', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x3a', '\x3a', '\x67', '\x65', '\x74', '\x4c', '\x69', '\x73', '\x74', '\x65', '\x6e', '\x65', '\x72', '\x73', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6d', '\x5f', '\x6c', '\x69', '\x73', '\x74', '\x65', '\x6e', '\x65', '\x72', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x7d', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x72', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x5f', '\x72', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x2e', '\x63', '\x70', '\x70', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x5f', '\x74', '\x79', '\x70', '\x65', '\x2e', '\x63', '\x70', '\x70', '\x0d', '\x0a', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x69', '\x73', '\x4f', '\x6b', '\x28', '\x20', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x57', '\x61', '\x73', '\x3a', '\x3a', '\x4f', '\x66', '\x54', '\x79', '\x70', '\x65', '\x20', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x54', '\x79', '\x70', '\x65', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x28', '\x20', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x54', '\x79', '\x70', '\x65', '\x20', '\x26', '\x20', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x57', '\x61', '\x73', '\x3a', '\x3a', '\x46', '\x61', '\x69', '\x6c', '\x75', '\x72', '\x65', '\x42', '\x69', '\x74', '\x20', '\x29', '\x20', '\x3d', '\x3d', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x69', '\x73', '\x4a', '\x75', '\x73', '\x74', '\x49', '\x6e', '\x66', '\x6f', '\x28', '\x20', '\x69', '\x6e', '\x74', '\x20', '\x66', '\x6c', '\x61', '\x67', '\x73', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x66', '\x6c', '\x61', '\x67', '\x73', '\x20', '\x3d', '\x3d', '\x20', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x57', '\x61', '\x73', '\x3a', '\x3a', '\x49', '\x6e', '\x66', '\x6f', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x44', '\x69', '\x73', '\x70', '\x6f', '\x73', '\x69', '\x74', '\x69', '\x6f', '\x6e', '\x3a', '\x3a', '\x46', '\x6c', '\x61', '\x67', '\x73', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x7c', '\x20', '\x28', '\x20', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x44', '\x69', '\x73', '\x70', '\x6f', '\x73', '\x69', '\x74', '\x69', '\x6f', '\x6e', '\x3a', '\x3a', '\x46', '\x6c', '\x61', '\x67', '\x73', '\x20', '\x6c', '\x68', '\x73', '\x2c', '\x20', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x44', '\x69', '\x73', '\x70', '\x6f', '\x73', '\x69', '\x74', '\x69', '\x6f', '\x6e', '\x3a', '\x3a', '\x46', '\x6c', '\x61', '\x67', '\x73', '\x20', '\x72', '\x68', '\x73', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x5f', '\x63', '\x61', '\x73', '\x74', '\x3c', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x44', '\x69', '\x73', '\x70', '\x6f', '\x73', '\x69', '\x74', '\x69', '\x6f', '\x6e', '\x3a', '\x3a', '\x46', '\x6c', '\x61', '\x67', '\x73', '\x3e', '\x28', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x5f', '\x63', '\x61', '\x73', '\x74', '\x3c', '\x69', '\x6e', '\x74', '\x3e', '\x28', '\x20', '\x6c', '\x68', '\x73', '\x20', '\x29', '\x20', '\x7c', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x5f', '\x63', '\x61', '\x73', '\x74', '\x3c', '\x69', '\x6e', '\x74', '\x3e', '\x28', '\x20', '\x72', '\x68', '\x73', '\x20', '\x29', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x73', '\x68', '\x6f', '\x75', '\x6c', '\x64', '\x43', '\x6f', '\x6e', '\x74', '\x69', '\x6e', '\x75', '\x65', '\x4f', '\x6e', '\x46', '\x61', '\x69', '\x6c', '\x75', '\x72', '\x65', '\x28', '\x20', '\x69', '\x6e', '\x74', '\x20', '\x66', '\x6c', '\x61', '\x67', '\x73', '\x20', '\x29', '\x20', '\x20', '\x20', '\x20', '\x7b', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x28', '\x20', '\x66', '\x6c', '\x61', '\x67', '\x73', '\x20', '\x26', '\x20', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x44', '\x69', '\x73', '\x70', '\x6f', '\x73', '\x69', '\x74', '\x69', '\x6f', '\x6e', '\x3a', '\x3a', '\x43', '\x6f', '\x6e', '\x74', '\x69', '\x6e', '\x75', '\x65', '\x4f', '\x6e', '\x46', '\x61', '\x69', '\x6c', '\x75', '\x72', '\x65', '\x20', '\x29', '\x20', '\x21', '\x3d', '\x20', '\x30', '\x3b', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x73', '\x68', '\x6f', '\x75', '\x6c', '\x64', '\x53', '\x75', '\x70', '\x70', '\x72', '\x65', '\x73', '\x73', '\x46', '\x61', '\x69', '\x6c', '\x75', '\x72', '\x65', '\x28', '\x20', '\x69', '\x6e', '\x74', '\x20', '\x66', '\x6c', '\x61', '\x67', '\x73', '\x20', '\x29', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7b', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x28', '\x20', '\x66', '\x6c', '\x61', '\x67', '\x73', '\x20', '\x26', '\x20', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x44', '\x69', '\x73', '\x70', '\x6f', '\x73', '\x69', '\x74', '\x69', '\x6f', '\x6e', '\x3a', '\x3a', '\x53', '\x75', '\x70', '\x70', '\x72', '\x65', '\x73', '\x73', '\x46', '\x61', '\x69', '\x6c', '\x20', '\x29', '\x20', '\x21', '\x3d', '\x20', '\x30', '\x3b', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x5f', '\x74', '\x79', '\x70', '\x65', '\x2e', '\x63', '\x70', '\x70', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x72', '\x75', '\x6e', '\x5f', '\x63', '\x6f', '\x6e', '\x74', '\x65', '\x78', '\x74', '\x2e', '\x63', '\x70', '\x70', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x63', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x3e', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x61', '\x6c', '\x67', '\x6f', '\x72', '\x69', '\x74', '\x68', '\x6d', '\x3e', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x73', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x3e', '\x0d', '\x0a', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x73', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x20', '\x3a', '\x20', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x69', '\x6e', '\x67', '\x3a', '\x3a', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x42', '\x61', '\x73', '\x65', '\x2c', '\x20', '\x49', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x42', '\x61', '\x73', '\x65', '\x50', '\x74', '\x72', '\x20', '\x6d', '\x5f', '\x67', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x28', '\x20', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x69', '\x6e', '\x67', '\x3a', '\x3a', '\x4e', '\x61', '\x6d', '\x65', '\x41', '\x6e', '\x64', '\x4c', '\x6f', '\x63', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x41', '\x6e', '\x64', '\x4c', '\x6f', '\x63', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x2c', '\x20', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x43', '\x6f', '\x6e', '\x74', '\x65', '\x78', '\x74', '\x26', '\x20', '\x63', '\x74', '\x78', '\x2c', '\x20', '\x49', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x2a', '\x20', '\x70', '\x61', '\x72', '\x65', '\x6e', '\x74', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x3a', '\x20', '\x20', '\x20', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x42', '\x61', '\x73', '\x65', '\x28', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x41', '\x6e', '\x64', '\x4c', '\x6f', '\x63', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x2c', '\x20', '\x63', '\x74', '\x78', '\x2c', '\x20', '\x70', '\x61', '\x72', '\x65', '\x6e', '\x74', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7b', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7e', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x20', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x26', '\x20', '\x61', '\x63', '\x71', '\x75', '\x69', '\x72', '\x65', '\x28', '\x20', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x43', '\x6f', '\x6e', '\x74', '\x65', '\x78', '\x74', '\x26', '\x20', '\x63', '\x74', '\x78', '\x2c', '\x20', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x69', '\x6e', '\x67', '\x3a', '\x3a', '\x4e', '\x61', '\x6d', '\x65', '\x41', '\x6e', '\x64', '\x4c', '\x6f', '\x63', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x41', '\x6e', '\x64', '\x4c', '\x6f', '\x63', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x68', '\x61', '\x72', '\x65', '\x64', '\x5f', '\x70', '\x74', '\x72', '\x3c', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x3e', '\x20', '\x74', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x49', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x26', '\x20', '\x63', '\x75', '\x72', '\x72', '\x65', '\x6e', '\x74', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x20', '\x3d', '\x20', '\x63', '\x74', '\x78', '\x2e', '\x63', '\x75', '\x72', '\x72', '\x65', '\x6e', '\x74', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x69', '\x6e', '\x67', '\x3a', '\x3a', '\x49', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x50', '\x74', '\x72', '\x20', '\x63', '\x68', '\x69', '\x6c', '\x64', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x20', '\x3d', '\x20', '\x63', '\x75', '\x72', '\x72', '\x65', '\x6e', '\x74', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x2e', '\x66', '\x69', '\x6e', '\x64', '\x43', '\x68', '\x69', '\x6c', '\x64', '\x28', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x41', '\x6e', '\x64', '\x4c', '\x6f', '\x63', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x29', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x28', '\x20', '\x63', '\x68', '\x69', '\x6c', '\x64', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x28', '\x20', '\x63', '\x68', '\x69', '\x6c', '\x64', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x2d', '\x3e', '\x69', '\x73', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x28', '\x29', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x20', '\x3d', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x5f', '\x70', '\x6f', '\x69', '\x6e', '\x74', '\x65', '\x72', '\x5f', '\x63', '\x61', '\x73', '\x74', '\x3c', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x3e', '\x28', '\x20', '\x63', '\x68', '\x69', '\x6c', '\x64', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x6c', '\x73', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x20', '\x3d', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6d', '\x61', '\x6b', '\x65', '\x5f', '\x73', '\x68', '\x61', '\x72', '\x65', '\x64', '\x3c', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x3e', '\x28', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x41', '\x6e', '\x64', '\x4c', '\x6f', '\x63', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x2c', '\x20', '\x63', '\x74', '\x78', '\x2c', '\x20', '\x26', '\x63', '\x75', '\x72', '\x72', '\x65', '\x6e', '\x74', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x75', '\x72', '\x72', '\x65', '\x6e', '\x74', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x2e', '\x61', '\x64', '\x64', '\x43', '\x68', '\x69', '\x6c', '\x64', '\x28', '\x20', '\x74', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x21', '\x63', '\x74', '\x78', '\x2e', '\x63', '\x6f', '\x6d', '\x70', '\x6c', '\x65', '\x74', '\x65', '\x64', '\x43', '\x79', '\x63', '\x6c', '\x65', '\x28', '\x29', '\x20', '\x26', '\x26', '\x20', '\x21', '\x74', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x2d', '\x3e', '\x69', '\x73', '\x43', '\x6f', '\x6d', '\x70', '\x6c', '\x65', '\x74', '\x65', '\x28', '\x29', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x2d', '\x3e', '\x6f', '\x70', '\x65', '\x6e', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x2a', '\x74', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x42', '\x61', '\x73', '\x65', '\x20', '\x69', '\x6e', '\x74', '\x65', '\x72', '\x66', '\x61', '\x63', '\x65', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x69', '\x73', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x20', '\x7b', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x74', '\x72', '\x75', '\x65', '\x3b', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x68', '\x61', '\x73', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x2d', '\x3e', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x21', '\x21', '\x6d', '\x5f', '\x67', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x63', '\x6c', '\x6f', '\x73', '\x65', '\x28', '\x29', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x42', '\x61', '\x73', '\x65', '\x3a', '\x3a', '\x63', '\x6c', '\x6f', '\x73', '\x65', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x69', '\x6e', '\x74', '\x65', '\x72', '\x66', '\x61', '\x63', '\x65', '\x20', '\x6f', '\x6e', '\x6c', '\x79', '\x20', '\x66', '\x69', '\x6e', '\x64', '\x73', '\x20', '\x6f', '\x75', '\x74', '\x20', '\x69', '\x66', '\x20', '\x69', '\x74', '\x20', '\x68', '\x61', '\x73', '\x20', '\x61', '\x6e', '\x6f', '\x74', '\x68', '\x65', '\x72', '\x20', '\x69', '\x74', '\x65', '\x6d', '\x20', '\x6f', '\x6e', '\x20', '\x61', '\x74', '\x75', '\x61', '\x6c', '\x20', '\x6d', '\x6f', '\x76', '\x65', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x6d', '\x5f', '\x72', '\x75', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x65', '\x20', '\x3d', '\x3d', '\x20', '\x43', '\x6f', '\x6d', '\x70', '\x6c', '\x65', '\x74', '\x65', '\x64', '\x53', '\x75', '\x63', '\x63', '\x65', '\x73', '\x73', '\x66', '\x75', '\x6c', '\x6c', '\x79', '\x20', '\x26', '\x26', '\x20', '\x6d', '\x5f', '\x67', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x2d', '\x3e', '\x6e', '\x65', '\x78', '\x74', '\x28', '\x29', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x63', '\x68', '\x69', '\x6c', '\x64', '\x72', '\x65', '\x6e', '\x2e', '\x63', '\x6c', '\x65', '\x61', '\x72', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x72', '\x75', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x65', '\x20', '\x3d', '\x20', '\x45', '\x78', '\x65', '\x63', '\x75', '\x74', '\x69', '\x6e', '\x67', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x49', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x20', '\x69', '\x6e', '\x74', '\x65', '\x72', '\x66', '\x61', '\x63', '\x65', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x67', '\x65', '\x74', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x2d', '\x3e', '\x20', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x42', '\x61', '\x73', '\x65', '\x50', '\x74', '\x72', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6d', '\x5f', '\x67', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x73', '\x65', '\x74', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x28', '\x20', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x42', '\x61', '\x73', '\x65', '\x50', '\x74', '\x72', '\x26', '\x26', '\x20', '\x67', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x29', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x67', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x3d', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6d', '\x6f', '\x76', '\x65', '\x28', '\x20', '\x67', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x3a', '\x3a', '\x7e', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x28', '\x29', '\x20', '\x7b', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x52', '\x75', '\x6e', '\x43', '\x6f', '\x6e', '\x74', '\x65', '\x78', '\x74', '\x3a', '\x3a', '\x52', '\x75', '\x6e', '\x43', '\x6f', '\x6e', '\x74', '\x65', '\x78', '\x74', '\x28', '\x49', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x50', '\x74', '\x72', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x5f', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x2c', '\x20', '\x49', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x50', '\x74', '\x72', '\x26', '\x26', '\x20', '\x72', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x3a', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x72', '\x75', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x28', '\x5f', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x2d', '\x3e', '\x6e', '\x61', '\x6d', '\x65', '\x28', '\x29', '\x29', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x63', '\x6f', '\x6e', '\x74', '\x65', '\x78', '\x74', '\x28', '\x67', '\x65', '\x74', '\x43', '\x75', '\x72', '\x72', '\x65', '\x6e', '\x74', '\x4d', '\x75', '\x74', '\x61', '\x62', '\x6c', '\x65', '\x43', '\x6f', '\x6e', '\x74', '\x65', '\x78', '\x74', '\x28', '\x29', '\x29', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x28', '\x5f', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x29', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x72', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6d', '\x6f', '\x76', '\x65', '\x28', '\x72', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x29', '\x29', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x6c', '\x61', '\x73', '\x74', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x7b', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x66', '\x28', '\x29', '\x2c', '\x20', '\x53', '\x6f', '\x75', '\x72', '\x63', '\x65', '\x4c', '\x69', '\x6e', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x28', '\x22', '\x22', '\x2c', '\x30', '\x29', '\x2c', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x66', '\x28', '\x29', '\x2c', '\x20', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x44', '\x69', '\x73', '\x70', '\x6f', '\x73', '\x69', '\x74', '\x69', '\x6f', '\x6e', '\x3a', '\x3a', '\x4e', '\x6f', '\x72', '\x6d', '\x61', '\x6c', '\x20', '\x7d', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x53', '\x75', '\x63', '\x63', '\x65', '\x73', '\x73', '\x66', '\x75', '\x6c', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x73', '\x28', '\x20', '\x6d', '\x5f', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x2d', '\x3e', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x53', '\x75', '\x63', '\x63', '\x65', '\x73', '\x73', '\x66', '\x75', '\x6c', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x73', '\x28', '\x29', '\x20', '\x7c', '\x7c', '\x20', '\x6d', '\x5f', '\x72', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x2d', '\x3e', '\x67', '\x65', '\x74', '\x50', '\x72', '\x65', '\x66', '\x65', '\x72', '\x65', '\x6e', '\x63', '\x65', '\x73', '\x28', '\x29', '\x2e', '\x73', '\x68', '\x6f', '\x75', '\x6c', '\x64', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x41', '\x6c', '\x6c', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x63', '\x6f', '\x6e', '\x74', '\x65', '\x78', '\x74', '\x2e', '\x73', '\x65', '\x74', '\x52', '\x75', '\x6e', '\x6e', '\x65', '\x72', '\x28', '\x74', '\x68', '\x69', '\x73', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x63', '\x6f', '\x6e', '\x74', '\x65', '\x78', '\x74', '\x2e', '\x73', '\x65', '\x74', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x28', '\x6d', '\x5f', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x63', '\x6f', '\x6e', '\x74', '\x65', '\x78', '\x74', '\x2e', '\x73', '\x65', '\x74', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x43', '\x61', '\x70', '\x74', '\x75', '\x72', '\x65', '\x28', '\x74', '\x68', '\x69', '\x73', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x72', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x2d', '\x3e', '\x74', '\x65', '\x73', '\x74', '\x52', '\x75', '\x6e', '\x53', '\x74', '\x61', '\x72', '\x74', '\x69', '\x6e', '\x67', '\x28', '\x6d', '\x5f', '\x72', '\x75', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x52', '\x75', '\x6e', '\x43', '\x6f', '\x6e', '\x74', '\x65', '\x78', '\x74', '\x3a', '\x3a', '\x7e', '\x52', '\x75', '\x6e', '\x43', '\x6f', '\x6e', '\x74', '\x65', '\x78', '\x74', '\x28', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x72', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x2d', '\x3e', '\x74', '\x65', '\x73', '\x74', '\x52', '\x75', '\x6e', '\x45', '\x6e', '\x64', '\x65', '\x64', '\x28', '\x54', '\x65', '\x73', '\x74', '\x52', '\x75', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x73', '\x28', '\x6d', '\x5f', '\x72', '\x75', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x2c', '\x20', '\x6d', '\x5f', '\x74', '\x6f', '\x74', '\x61', '\x6c', '\x73', '\x2c', '\x20', '\x61', '\x62', '\x6f', '\x72', '\x74', '\x69', '\x6e', '\x67', '\x28', '\x29', '\x29', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x52', '\x75', '\x6e', '\x43', '\x6f', '\x6e', '\x74', '\x65', '\x78', '\x74', '\x3a', '\x3a', '\x74', '\x65', '\x73', '\x74', '\x47', '\x72', '\x6f', '\x75', '\x70', '\x53', '\x74', '\x61', '\x72', '\x74', '\x69', '\x6e', '\x67', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x74', '\x65', '\x73', '\x74', '\x53', '\x70', '\x65', '\x63', '\x2c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x69', '\x7a', '\x65', '\x5f', '\x74', '\x20', '\x67', '\x72', '\x6f', '\x75', '\x70', '\x49', '\x6e', '\x64', '\x65', '\x78', '\x2c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x69', '\x7a', '\x65', '\x5f', '\x74', '\x20', '\x67', '\x72', '\x6f', '\x75', '\x70', '\x73', '\x43', '\x6f', '\x75', '\x6e', '\x74', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x72', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x2d', '\x3e', '\x74', '\x65', '\x73', '\x74', '\x47', '\x72', '\x6f', '\x75', '\x70', '\x53', '\x74', '\x61', '\x72', '\x74', '\x69', '\x6e', '\x67', '\x28', '\x47', '\x72', '\x6f', '\x75', '\x70', '\x49', '\x6e', '\x66', '\x6f', '\x28', '\x74', '\x65', '\x73', '\x74', '\x53', '\x70', '\x65', '\x63', '\x2c', '\x20', '\x67', '\x72', '\x6f', '\x75', '\x70', '\x49', '\x6e', '\x64', '\x65', '\x78', '\x2c', '\x20', '\x67', '\x72', '\x6f', '\x75', '\x70', '\x73', '\x43', '\x6f', '\x75', '\x6e', '\x74', '\x29', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x52', '\x75', '\x6e', '\x43', '\x6f', '\x6e', '\x74', '\x65', '\x78', '\x74', '\x3a', '\x3a', '\x74', '\x65', '\x73', '\x74', '\x47', '\x72', '\x6f', '\x75', '\x70', '\x45', '\x6e', '\x64', '\x65', '\x64', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x74', '\x65', '\x73', '\x74', '\x53', '\x70', '\x65', '\x63', '\x2c', '\x20', '\x54', '\x6f', '\x74', '\x61', '\x6c', '\x73', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x74', '\x6f', '\x74', '\x61', '\x6c', '\x73', '\x2c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x69', '\x7a', '\x65', '\x5f', '\x74', '\x20', '\x67', '\x72', '\x6f', '\x75', '\x70', '\x49', '\x6e', '\x64', '\x65', '\x78', '\x2c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x69', '\x7a', '\x65', '\x5f', '\x74', '\x20', '\x67', '\x72', '\x6f', '\x75', '\x70', '\x73', '\x43', '\x6f', '\x75', '\x6e', '\x74', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x72', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x2d', '\x3e', '\x74', '\x65', '\x73', '\x74', '\x47', '\x72', '\x6f', '\x75', '\x70', '\x45', '\x6e', '\x64', '\x65', '\x64', '\x28', '\x54', '\x65', '\x73', '\x74', '\x47', '\x72', '\x6f', '\x75', '\x70', '\x53', '\x74', '\x61', '\x74', '\x73', '\x28', '\x47', '\x72', '\x6f', '\x75', '\x70', '\x49', '\x6e', '\x66', '\x6f', '\x28', '\x74', '\x65', '\x73', '\x74', '\x53', '\x70', '\x65', '\x63', '\x2c', '\x20', '\x67', '\x72', '\x6f', '\x75', '\x70', '\x49', '\x6e', '\x64', '\x65', '\x78', '\x2c', '\x20', '\x67', '\x72', '\x6f', '\x75', '\x70', '\x73', '\x43', '\x6f', '\x75', '\x6e', '\x74', '\x29', '\x2c', '\x20', '\x74', '\x6f', '\x74', '\x61', '\x6c', '\x73', '\x2c', '\x20', '\x61', '\x62', '\x6f', '\x72', '\x74', '\x69', '\x6e', '\x67', '\x28', '\x29', '\x29', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x54', '\x6f', '\x74', '\x61', '\x6c', '\x73', '\x20', '\x52', '\x75', '\x6e', '\x43', '\x6f', '\x6e', '\x74', '\x65', '\x78', '\x74', '\x3a', '\x3a', '\x72', '\x75', '\x6e', '\x54', '\x65', '\x73', '\x74', '\x28', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x54', '\x6f', '\x74', '\x61', '\x6c', '\x73', '\x20', '\x70', '\x72', '\x65', '\x76', '\x54', '\x6f', '\x74', '\x61', '\x6c', '\x73', '\x20', '\x3d', '\x20', '\x6d', '\x5f', '\x74', '\x6f', '\x74', '\x61', '\x6c', '\x73', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x72', '\x65', '\x64', '\x69', '\x72', '\x65', '\x63', '\x74', '\x65', '\x64', '\x43', '\x6f', '\x75', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x72', '\x65', '\x64', '\x69', '\x72', '\x65', '\x63', '\x74', '\x65', '\x64', '\x43', '\x65', '\x72', '\x72', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x74', '\x65', '\x73', '\x74', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x3d', '\x20', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x2e', '\x67', '\x65', '\x74', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x72', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x2d', '\x3e', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x53', '\x74', '\x61', '\x72', '\x74', '\x69', '\x6e', '\x67', '\x28', '\x74', '\x65', '\x73', '\x74', '\x49', '\x6e', '\x66', '\x6f', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x61', '\x63', '\x74', '\x69', '\x76', '\x65', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x20', '\x3d', '\x20', '\x26', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x49', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x26', '\x20', '\x72', '\x6f', '\x6f', '\x74', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x20', '\x3d', '\x20', '\x6d', '\x5f', '\x74', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x43', '\x6f', '\x6e', '\x74', '\x65', '\x78', '\x74', '\x2e', '\x73', '\x74', '\x61', '\x72', '\x74', '\x52', '\x75', '\x6e', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x28', '\x72', '\x6f', '\x6f', '\x74', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x2e', '\x69', '\x73', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x28', '\x29', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x5f', '\x63', '\x61', '\x73', '\x74', '\x3c', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x26', '\x3e', '\x28', '\x72', '\x6f', '\x6f', '\x74', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x29', '\x2e', '\x61', '\x64', '\x64', '\x49', '\x6e', '\x69', '\x74', '\x69', '\x61', '\x6c', '\x46', '\x69', '\x6c', '\x74', '\x65', '\x72', '\x73', '\x28', '\x6d', '\x5f', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x2d', '\x3e', '\x67', '\x65', '\x74', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x54', '\x6f', '\x52', '\x75', '\x6e', '\x28', '\x29', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x64', '\x6f', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x74', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x43', '\x6f', '\x6e', '\x74', '\x65', '\x78', '\x74', '\x2e', '\x73', '\x74', '\x61', '\x72', '\x74', '\x43', '\x79', '\x63', '\x6c', '\x65', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x20', '\x3d', '\x20', '\x26', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x3a', '\x3a', '\x61', '\x63', '\x71', '\x75', '\x69', '\x72', '\x65', '\x28', '\x6d', '\x5f', '\x74', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x43', '\x6f', '\x6e', '\x74', '\x65', '\x78', '\x74', '\x2c', '\x20', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x69', '\x6e', '\x67', '\x3a', '\x3a', '\x4e', '\x61', '\x6d', '\x65', '\x41', '\x6e', '\x64', '\x4c', '\x6f', '\x63', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x28', '\x74', '\x65', '\x73', '\x74', '\x49', '\x6e', '\x66', '\x6f', '\x2e', '\x6e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x74', '\x65', '\x73', '\x74', '\x49', '\x6e', '\x66', '\x6f', '\x2e', '\x6c', '\x69', '\x6e', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x29', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x75', '\x6e', '\x43', '\x75', '\x72', '\x72', '\x65', '\x6e', '\x74', '\x54', '\x65', '\x73', '\x74', '\x28', '\x72', '\x65', '\x64', '\x69', '\x72', '\x65', '\x63', '\x74', '\x65', '\x64', '\x43', '\x6f', '\x75', '\x74', '\x2c', '\x20', '\x72', '\x65', '\x64', '\x69', '\x72', '\x65', '\x63', '\x74', '\x65', '\x64', '\x43', '\x65', '\x72', '\x72', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x20', '\x77', '\x68', '\x69', '\x6c', '\x65', '\x20', '\x28', '\x21', '\x6d', '\x5f', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x2d', '\x3e', '\x69', '\x73', '\x53', '\x75', '\x63', '\x63', '\x65', '\x73', '\x73', '\x66', '\x75', '\x6c', '\x6c', '\x79', '\x43', '\x6f', '\x6d', '\x70', '\x6c', '\x65', '\x74', '\x65', '\x64', '\x28', '\x29', '\x20', '\x26', '\x26', '\x20', '\x21', '\x61', '\x62', '\x6f', '\x72', '\x74', '\x69', '\x6e', '\x67', '\x28', '\x29', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x54', '\x6f', '\x74', '\x61', '\x6c', '\x73', '\x20', '\x64', '\x65', '\x6c', '\x74', '\x61', '\x54', '\x6f', '\x74', '\x61', '\x6c', '\x73', '\x20', '\x3d', '\x20', '\x6d', '\x5f', '\x74', '\x6f', '\x74', '\x61', '\x6c', '\x73', '\x2e', '\x64', '\x65', '\x6c', '\x74', '\x61', '\x28', '\x70', '\x72', '\x65', '\x76', '\x54', '\x6f', '\x74', '\x61', '\x6c', '\x73', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x74', '\x65', '\x73', '\x74', '\x49', '\x6e', '\x66', '\x6f', '\x2e', '\x65', '\x78', '\x70', '\x65', '\x63', '\x74', '\x65', '\x64', '\x54', '\x6f', '\x46', '\x61', '\x69', '\x6c', '\x28', '\x29', '\x20', '\x26', '\x26', '\x20', '\x64', '\x65', '\x6c', '\x74', '\x61', '\x54', '\x6f', '\x74', '\x61', '\x6c', '\x73', '\x2e', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x73', '\x2e', '\x70', '\x61', '\x73', '\x73', '\x65', '\x64', '\x20', '\x3e', '\x20', '\x30', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x64', '\x65', '\x6c', '\x74', '\x61', '\x54', '\x6f', '\x74', '\x61', '\x6c', '\x73', '\x2e', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x2e', '\x66', '\x61', '\x69', '\x6c', '\x65', '\x64', '\x2b', '\x2b', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x64', '\x65', '\x6c', '\x74', '\x61', '\x54', '\x6f', '\x74', '\x61', '\x6c', '\x73', '\x2e', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x73', '\x2e', '\x70', '\x61', '\x73', '\x73', '\x65', '\x64', '\x2d', '\x2d', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x64', '\x65', '\x6c', '\x74', '\x61', '\x54', '\x6f', '\x74', '\x61', '\x6c', '\x73', '\x2e', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x73', '\x2e', '\x66', '\x61', '\x69', '\x6c', '\x65', '\x64', '\x2b', '\x2b', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x74', '\x6f', '\x74', '\x61', '\x6c', '\x73', '\x2e', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x73', '\x20', '\x2b', '\x3d', '\x20', '\x64', '\x65', '\x6c', '\x74', '\x61', '\x54', '\x6f', '\x74', '\x61', '\x6c', '\x73', '\x2e', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x72', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x2d', '\x3e', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x45', '\x6e', '\x64', '\x65', '\x64', '\x28', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x53', '\x74', '\x61', '\x74', '\x73', '\x28', '\x74', '\x65', '\x73', '\x74', '\x49', '\x6e', '\x66', '\x6f', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x64', '\x65', '\x6c', '\x74', '\x61', '\x54', '\x6f', '\x74', '\x61', '\x6c', '\x73', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x64', '\x69', '\x72', '\x65', '\x63', '\x74', '\x65', '\x64', '\x43', '\x6f', '\x75', '\x74', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x64', '\x69', '\x72', '\x65', '\x63', '\x74', '\x65', '\x64', '\x43', '\x65', '\x72', '\x72', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x62', '\x6f', '\x72', '\x74', '\x69', '\x6e', '\x67', '\x28', '\x29', '\x29', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x61', '\x63', '\x74', '\x69', '\x76', '\x65', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x20', '\x3d', '\x20', '\x6e', '\x75', '\x6c', '\x6c', '\x70', '\x74', '\x72', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x20', '\x3d', '\x20', '\x6e', '\x75', '\x6c', '\x6c', '\x70', '\x74', '\x72', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x64', '\x65', '\x6c', '\x74', '\x61', '\x54', '\x6f', '\x74', '\x61', '\x6c', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x49', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x50', '\x74', '\x72', '\x20', '\x52', '\x75', '\x6e', '\x43', '\x6f', '\x6e', '\x74', '\x65', '\x78', '\x74', '\x3a', '\x3a', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6d', '\x5f', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x49', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x26', '\x20', '\x52', '\x75', '\x6e', '\x43', '\x6f', '\x6e', '\x74', '\x65', '\x78', '\x74', '\x3a', '\x3a', '\x72', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x2a', '\x6d', '\x5f', '\x72', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x52', '\x75', '\x6e', '\x43', '\x6f', '\x6e', '\x74', '\x65', '\x78', '\x74', '\x3a', '\x3a', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x45', '\x6e', '\x64', '\x65', '\x64', '\x28', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x26', '\x20', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x2e', '\x67', '\x65', '\x74', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x54', '\x79', '\x70', '\x65', '\x28', '\x29', '\x20', '\x3d', '\x3d', '\x20', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x57', '\x61', '\x73', '\x3a', '\x3a', '\x4f', '\x6b', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x74', '\x6f', '\x74', '\x61', '\x6c', '\x73', '\x2e', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x2e', '\x70', '\x61', '\x73', '\x73', '\x65', '\x64', '\x2b', '\x2b', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x6c', '\x61', '\x73', '\x74', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x50', '\x61', '\x73', '\x73', '\x65', '\x64', '\x20', '\x3d', '\x20', '\x74', '\x72', '\x75', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x20', '\x65', '\x6c', '\x73', '\x65', '\x20', '\x69', '\x66', '\x20', '\x28', '\x21', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x2e', '\x69', '\x73', '\x4f', '\x6b', '\x28', '\x29', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x6c', '\x61', '\x73', '\x74', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x50', '\x61', '\x73', '\x73', '\x65', '\x64', '\x20', '\x3d', '\x20', '\x66', '\x61', '\x6c', '\x73', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x6d', '\x5f', '\x61', '\x63', '\x74', '\x69', '\x76', '\x65', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x2d', '\x3e', '\x67', '\x65', '\x74', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x28', '\x29', '\x2e', '\x6f', '\x6b', '\x54', '\x6f', '\x46', '\x61', '\x69', '\x6c', '\x28', '\x29', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x74', '\x6f', '\x74', '\x61', '\x6c', '\x73', '\x2e', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x2e', '\x66', '\x61', '\x69', '\x6c', '\x65', '\x64', '\x42', '\x75', '\x74', '\x4f', '\x6b', '\x2b', '\x2b', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x6c', '\x73', '\x65', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x74', '\x6f', '\x74', '\x61', '\x6c', '\x73', '\x2e', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x2e', '\x66', '\x61', '\x69', '\x6c', '\x65', '\x64', '\x2b', '\x2b', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x6c', '\x73', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x6c', '\x61', '\x73', '\x74', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x50', '\x61', '\x73', '\x73', '\x65', '\x64', '\x20', '\x3d', '\x20', '\x74', '\x72', '\x75', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x57', '\x65', '\x20', '\x68', '\x61', '\x76', '\x65', '\x20', '\x6e', '\x6f', '\x20', '\x75', '\x73', '\x65', '\x20', '\x66', '\x6f', '\x72', '\x20', '\x74', '\x68', '\x65', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x20', '\x28', '\x77', '\x68', '\x65', '\x74', '\x68', '\x65', '\x72', '\x20', '\x6d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x73', '\x20', '\x73', '\x68', '\x6f', '\x75', '\x6c', '\x64', '\x20', '\x62', '\x65', '\x20', '\x63', '\x6c', '\x65', '\x61', '\x72', '\x65', '\x64', '\x29', '\x2c', '\x20', '\x62', '\x65', '\x63', '\x61', '\x75', '\x73', '\x65', '\x20', '\x6d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x73', '\x20', '\x77', '\x65', '\x72', '\x65', '\x20', '\x6d', '\x61', '\x64', '\x65', '\x20', '\x73', '\x63', '\x6f', '\x70', '\x65', '\x64', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x61', '\x6e', '\x64', '\x20', '\x73', '\x68', '\x6f', '\x75', '\x6c', '\x64', '\x20', '\x62', '\x65', '\x20', '\x6c', '\x65', '\x74', '\x20', '\x74', '\x6f', '\x20', '\x63', '\x6c', '\x65', '\x61', '\x72', '\x20', '\x74', '\x68', '\x65', '\x6d', '\x73', '\x65', '\x6c', '\x76', '\x65', '\x73', '\x20', '\x6f', '\x75', '\x74', '\x2e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x5f', '\x63', '\x61', '\x73', '\x74', '\x3c', '\x76', '\x6f', '\x69', '\x64', '\x3e', '\x28', '\x6d', '\x5f', '\x72', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x2d', '\x3e', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x45', '\x6e', '\x64', '\x65', '\x64', '\x28', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x73', '\x28', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x2c', '\x20', '\x6d', '\x5f', '\x6d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x73', '\x2c', '\x20', '\x6d', '\x5f', '\x74', '\x6f', '\x74', '\x61', '\x6c', '\x73', '\x29', '\x29', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x2e', '\x67', '\x65', '\x74', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x54', '\x79', '\x70', '\x65', '\x28', '\x29', '\x20', '\x21', '\x3d', '\x20', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x57', '\x61', '\x73', '\x3a', '\x3a', '\x57', '\x61', '\x72', '\x6e', '\x69', '\x6e', '\x67', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x6d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x53', '\x63', '\x6f', '\x70', '\x65', '\x73', '\x2e', '\x63', '\x6c', '\x65', '\x61', '\x72', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x52', '\x65', '\x73', '\x65', '\x74', '\x20', '\x77', '\x6f', '\x72', '\x6b', '\x69', '\x6e', '\x67', '\x20', '\x73', '\x74', '\x61', '\x74', '\x65', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x73', '\x65', '\x74', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x6c', '\x61', '\x73', '\x74', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x20', '\x3d', '\x20', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x52', '\x75', '\x6e', '\x43', '\x6f', '\x6e', '\x74', '\x65', '\x78', '\x74', '\x3a', '\x3a', '\x72', '\x65', '\x73', '\x65', '\x74', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x28', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x6c', '\x61', '\x73', '\x74', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x2e', '\x6d', '\x61', '\x63', '\x72', '\x6f', '\x4e', '\x61', '\x6d', '\x65', '\x20', '\x3d', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x66', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x6c', '\x61', '\x73', '\x74', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x2e', '\x63', '\x61', '\x70', '\x74', '\x75', '\x72', '\x65', '\x64', '\x45', '\x78', '\x70', '\x72', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x20', '\x3d', '\x20', '\x22', '\x7b', '\x55', '\x6e', '\x6b', '\x6e', '\x6f', '\x77', '\x6e', '\x20', '\x65', '\x78', '\x70', '\x72', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x20', '\x61', '\x66', '\x74', '\x65', '\x72', '\x20', '\x74', '\x68', '\x65', '\x20', '\x72', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x64', '\x20', '\x6c', '\x69', '\x6e', '\x65', '\x7d', '\x22', '\x5f', '\x73', '\x72', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x52', '\x75', '\x6e', '\x43', '\x6f', '\x6e', '\x74', '\x65', '\x78', '\x74', '\x3a', '\x3a', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x53', '\x74', '\x61', '\x72', '\x74', '\x65', '\x64', '\x28', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x26', '\x20', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x2c', '\x20', '\x43', '\x6f', '\x75', '\x6e', '\x74', '\x73', '\x20', '\x26', '\x20', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x49', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x26', '\x20', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x20', '\x3d', '\x20', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x3a', '\x3a', '\x61', '\x63', '\x71', '\x75', '\x69', '\x72', '\x65', '\x28', '\x6d', '\x5f', '\x74', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x43', '\x6f', '\x6e', '\x74', '\x65', '\x78', '\x74', '\x2c', '\x20', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x69', '\x6e', '\x67', '\x3a', '\x3a', '\x4e', '\x61', '\x6d', '\x65', '\x41', '\x6e', '\x64', '\x4c', '\x6f', '\x63', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x28', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x2e', '\x6e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x2e', '\x6c', '\x69', '\x6e', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x29', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x21', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x2e', '\x69', '\x73', '\x4f', '\x70', '\x65', '\x6e', '\x28', '\x29', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x66', '\x61', '\x6c', '\x73', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x61', '\x63', '\x74', '\x69', '\x76', '\x65', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x2e', '\x70', '\x75', '\x73', '\x68', '\x5f', '\x62', '\x61', '\x63', '\x6b', '\x28', '\x26', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x6c', '\x61', '\x73', '\x74', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x2e', '\x6c', '\x69', '\x6e', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x3d', '\x20', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x2e', '\x6c', '\x69', '\x6e', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x72', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x2d', '\x3e', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x53', '\x74', '\x61', '\x72', '\x74', '\x69', '\x6e', '\x67', '\x28', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x20', '\x3d', '\x20', '\x6d', '\x5f', '\x74', '\x6f', '\x74', '\x61', '\x6c', '\x73', '\x2e', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x74', '\x72', '\x75', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x52', '\x75', '\x6e', '\x43', '\x6f', '\x6e', '\x74', '\x65', '\x78', '\x74', '\x3a', '\x3a', '\x61', '\x63', '\x71', '\x75', '\x69', '\x72', '\x65', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x28', '\x20', '\x53', '\x6f', '\x75', '\x72', '\x63', '\x65', '\x4c', '\x69', '\x6e', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6c', '\x69', '\x6e', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x29', '\x20', '\x2d', '\x3e', '\x20', '\x49', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x26', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x75', '\x73', '\x69', '\x6e', '\x67', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x26', '\x20', '\x74', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x20', '\x3d', '\x20', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x3a', '\x3a', '\x61', '\x63', '\x71', '\x75', '\x69', '\x72', '\x65', '\x28', '\x20', '\x6d', '\x5f', '\x74', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x43', '\x6f', '\x6e', '\x74', '\x65', '\x78', '\x74', '\x2c', '\x20', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x69', '\x6e', '\x67', '\x3a', '\x3a', '\x4e', '\x61', '\x6d', '\x65', '\x41', '\x6e', '\x64', '\x4c', '\x6f', '\x63', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x28', '\x20', '\x22', '\x67', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x22', '\x2c', '\x20', '\x6c', '\x69', '\x6e', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x29', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x28', '\x20', '\x74', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x2e', '\x69', '\x73', '\x4f', '\x70', '\x65', '\x6e', '\x28', '\x29', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x6c', '\x61', '\x73', '\x74', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x2e', '\x6c', '\x69', '\x6e', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x3d', '\x20', '\x6c', '\x69', '\x6e', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x74', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x52', '\x75', '\x6e', '\x43', '\x6f', '\x6e', '\x74', '\x65', '\x78', '\x74', '\x3a', '\x3a', '\x74', '\x65', '\x73', '\x74', '\x46', '\x6f', '\x72', '\x4d', '\x69', '\x73', '\x73', '\x69', '\x6e', '\x67', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x28', '\x43', '\x6f', '\x75', '\x6e', '\x74', '\x73', '\x26', '\x20', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x2e', '\x74', '\x6f', '\x74', '\x61', '\x6c', '\x28', '\x29', '\x20', '\x21', '\x3d', '\x20', '\x30', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x66', '\x61', '\x6c', '\x73', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x21', '\x6d', '\x5f', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x2d', '\x3e', '\x77', '\x61', '\x72', '\x6e', '\x41', '\x62', '\x6f', '\x75', '\x74', '\x4d', '\x69', '\x73', '\x73', '\x69', '\x6e', '\x67', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x28', '\x29', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x66', '\x61', '\x6c', '\x73', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x6d', '\x5f', '\x74', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x43', '\x6f', '\x6e', '\x74', '\x65', '\x78', '\x74', '\x2e', '\x63', '\x75', '\x72', '\x72', '\x65', '\x6e', '\x74', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x28', '\x29', '\x2e', '\x68', '\x61', '\x73', '\x43', '\x68', '\x69', '\x6c', '\x64', '\x72', '\x65', '\x6e', '\x28', '\x29', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x66', '\x61', '\x6c', '\x73', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x74', '\x6f', '\x74', '\x61', '\x6c', '\x73', '\x2e', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x2e', '\x66', '\x61', '\x69', '\x6c', '\x65', '\x64', '\x2b', '\x2b', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x2e', '\x66', '\x61', '\x69', '\x6c', '\x65', '\x64', '\x2b', '\x2b', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x74', '\x72', '\x75', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x52', '\x75', '\x6e', '\x43', '\x6f', '\x6e', '\x74', '\x65', '\x78', '\x74', '\x3a', '\x3a', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x45', '\x6e', '\x64', '\x65', '\x64', '\x28', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x45', '\x6e', '\x64', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x26', '\x20', '\x65', '\x6e', '\x64', '\x49', '\x6e', '\x66', '\x6f', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x6f', '\x75', '\x6e', '\x74', '\x73', '\x20', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x20', '\x3d', '\x20', '\x6d', '\x5f', '\x74', '\x6f', '\x74', '\x61', '\x6c', '\x73', '\x2e', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x20', '\x2d', '\x20', '\x65', '\x6e', '\x64', '\x49', '\x6e', '\x66', '\x6f', '\x2e', '\x70', '\x72', '\x65', '\x76', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x6d', '\x69', '\x73', '\x73', '\x69', '\x6e', '\x67', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x20', '\x3d', '\x20', '\x74', '\x65', '\x73', '\x74', '\x46', '\x6f', '\x72', '\x4d', '\x69', '\x73', '\x73', '\x69', '\x6e', '\x67', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x28', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x21', '\x6d', '\x5f', '\x61', '\x63', '\x74', '\x69', '\x76', '\x65', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x2e', '\x65', '\x6d', '\x70', '\x74', '\x79', '\x28', '\x29', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x61', '\x63', '\x74', '\x69', '\x76', '\x65', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x2e', '\x62', '\x61', '\x63', '\x6b', '\x28', '\x29', '\x2d', '\x3e', '\x63', '\x6c', '\x6f', '\x73', '\x65', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x61', '\x63', '\x74', '\x69', '\x76', '\x65', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x2e', '\x70', '\x6f', '\x70', '\x5f', '\x62', '\x61', '\x63', '\x6b', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x72', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x2d', '\x3e', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x45', '\x6e', '\x64', '\x65', '\x64', '\x28', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x73', '\x28', '\x65', '\x6e', '\x64', '\x49', '\x6e', '\x66', '\x6f', '\x2e', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x2c', '\x20', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x2c', '\x20', '\x65', '\x6e', '\x64', '\x49', '\x6e', '\x66', '\x6f', '\x2e', '\x64', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x49', '\x6e', '\x53', '\x65', '\x63', '\x6f', '\x6e', '\x64', '\x73', '\x2c', '\x20', '\x6d', '\x69', '\x73', '\x73', '\x69', '\x6e', '\x67', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x29', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x6d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x73', '\x2e', '\x63', '\x6c', '\x65', '\x61', '\x72', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x6d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x53', '\x63', '\x6f', '\x70', '\x65', '\x73', '\x2e', '\x63', '\x6c', '\x65', '\x61', '\x72', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x52', '\x75', '\x6e', '\x43', '\x6f', '\x6e', '\x74', '\x65', '\x78', '\x74', '\x3a', '\x3a', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x45', '\x6e', '\x64', '\x65', '\x64', '\x45', '\x61', '\x72', '\x6c', '\x79', '\x28', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x45', '\x6e', '\x64', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x26', '\x20', '\x65', '\x6e', '\x64', '\x49', '\x6e', '\x66', '\x6f', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x6d', '\x5f', '\x75', '\x6e', '\x66', '\x69', '\x6e', '\x69', '\x73', '\x68', '\x65', '\x64', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x2e', '\x65', '\x6d', '\x70', '\x74', '\x79', '\x28', '\x29', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x61', '\x63', '\x74', '\x69', '\x76', '\x65', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x2e', '\x62', '\x61', '\x63', '\x6b', '\x28', '\x29', '\x2d', '\x3e', '\x66', '\x61', '\x69', '\x6c', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x6c', '\x73', '\x65', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x61', '\x63', '\x74', '\x69', '\x76', '\x65', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x2e', '\x62', '\x61', '\x63', '\x6b', '\x28', '\x29', '\x2d', '\x3e', '\x63', '\x6c', '\x6f', '\x73', '\x65', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x61', '\x63', '\x74', '\x69', '\x76', '\x65', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x2e', '\x70', '\x6f', '\x70', '\x5f', '\x62', '\x61', '\x63', '\x6b', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x75', '\x6e', '\x66', '\x69', '\x6e', '\x69', '\x73', '\x68', '\x65', '\x64', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x2e', '\x70', '\x75', '\x73', '\x68', '\x5f', '\x62', '\x61', '\x63', '\x6b', '\x28', '\x65', '\x6e', '\x64', '\x49', '\x6e', '\x66', '\x6f', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x45', '\x4e', '\x41', '\x42', '\x4c', '\x45', '\x5f', '\x42', '\x45', '\x4e', '\x43', '\x48', '\x4d', '\x41', '\x52', '\x4b', '\x49', '\x4e', '\x47', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x52', '\x75', '\x6e', '\x43', '\x6f', '\x6e', '\x74', '\x65', '\x78', '\x74', '\x3a', '\x3a', '\x62', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x50', '\x72', '\x65', '\x70', '\x61', '\x72', '\x69', '\x6e', '\x67', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x09', '\x09', '\x6d', '\x5f', '\x72', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x2d', '\x3e', '\x62', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x50', '\x72', '\x65', '\x70', '\x61', '\x72', '\x69', '\x6e', '\x67', '\x28', '\x6e', '\x61', '\x6d', '\x65', '\x29', '\x3b', '\x0d', '\x0a', '\x09', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x52', '\x75', '\x6e', '\x43', '\x6f', '\x6e', '\x74', '\x65', '\x78', '\x74', '\x3a', '\x3a', '\x62', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x53', '\x74', '\x61', '\x72', '\x74', '\x69', '\x6e', '\x67', '\x28', '\x20', '\x42', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x69', '\x6e', '\x66', '\x6f', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x72', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x2d', '\x3e', '\x62', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x53', '\x74', '\x61', '\x72', '\x74', '\x69', '\x6e', '\x67', '\x28', '\x20', '\x69', '\x6e', '\x66', '\x6f', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x52', '\x75', '\x6e', '\x43', '\x6f', '\x6e', '\x74', '\x65', '\x78', '\x74', '\x3a', '\x3a', '\x62', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x45', '\x6e', '\x64', '\x65', '\x64', '\x28', '\x20', '\x42', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x53', '\x74', '\x61', '\x74', '\x73', '\x3c', '\x3e', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x73', '\x74', '\x61', '\x74', '\x73', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x72', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x2d', '\x3e', '\x62', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x45', '\x6e', '\x64', '\x65', '\x64', '\x28', '\x20', '\x73', '\x74', '\x61', '\x74', '\x73', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x09', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x52', '\x75', '\x6e', '\x43', '\x6f', '\x6e', '\x74', '\x65', '\x78', '\x74', '\x3a', '\x3a', '\x62', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x46', '\x61', '\x69', '\x6c', '\x65', '\x64', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x26', '\x20', '\x65', '\x72', '\x72', '\x6f', '\x72', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x09', '\x09', '\x6d', '\x5f', '\x72', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x2d', '\x3e', '\x62', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x46', '\x61', '\x69', '\x6c', '\x65', '\x64', '\x28', '\x65', '\x72', '\x72', '\x6f', '\x72', '\x29', '\x3b', '\x0d', '\x0a', '\x09', '\x7d', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x20', '\x2f', '\x2f', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x45', '\x4e', '\x41', '\x42', '\x4c', '\x45', '\x5f', '\x42', '\x45', '\x4e', '\x43', '\x48', '\x4d', '\x41', '\x52', '\x4b', '\x49', '\x4e', '\x47', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x52', '\x75', '\x6e', '\x43', '\x6f', '\x6e', '\x74', '\x65', '\x78', '\x74', '\x3a', '\x3a', '\x70', '\x75', '\x73', '\x68', '\x53', '\x63', '\x6f', '\x70', '\x65', '\x64', '\x4d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x28', '\x4d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x26', '\x20', '\x6d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x6d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x73', '\x2e', '\x70', '\x75', '\x73', '\x68', '\x5f', '\x62', '\x61', '\x63', '\x6b', '\x28', '\x6d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x52', '\x75', '\x6e', '\x43', '\x6f', '\x6e', '\x74', '\x65', '\x78', '\x74', '\x3a', '\x3a', '\x70', '\x6f', '\x70', '\x53', '\x63', '\x6f', '\x70', '\x65', '\x64', '\x4d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x28', '\x4d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x26', '\x20', '\x6d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x6d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x73', '\x2e', '\x65', '\x72', '\x61', '\x73', '\x65', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x72', '\x65', '\x6d', '\x6f', '\x76', '\x65', '\x28', '\x6d', '\x5f', '\x6d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x73', '\x2e', '\x62', '\x65', '\x67', '\x69', '\x6e', '\x28', '\x29', '\x2c', '\x20', '\x6d', '\x5f', '\x6d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x73', '\x2e', '\x65', '\x6e', '\x64', '\x28', '\x29', '\x2c', '\x20', '\x6d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x29', '\x2c', '\x20', '\x6d', '\x5f', '\x6d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x73', '\x2e', '\x65', '\x6e', '\x64', '\x28', '\x29', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x52', '\x75', '\x6e', '\x43', '\x6f', '\x6e', '\x74', '\x65', '\x78', '\x74', '\x3a', '\x3a', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x63', '\x65', '\x55', '\x6e', '\x73', '\x63', '\x6f', '\x70', '\x65', '\x64', '\x4d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x28', '\x20', '\x4d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x42', '\x75', '\x69', '\x6c', '\x64', '\x65', '\x72', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x62', '\x75', '\x69', '\x6c', '\x64', '\x65', '\x72', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x6d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x53', '\x63', '\x6f', '\x70', '\x65', '\x73', '\x2e', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x63', '\x65', '\x5f', '\x62', '\x61', '\x63', '\x6b', '\x28', '\x20', '\x62', '\x75', '\x69', '\x6c', '\x64', '\x65', '\x72', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x52', '\x75', '\x6e', '\x43', '\x6f', '\x6e', '\x74', '\x65', '\x78', '\x74', '\x3a', '\x3a', '\x67', '\x65', '\x74', '\x43', '\x75', '\x72', '\x72', '\x65', '\x6e', '\x74', '\x54', '\x65', '\x73', '\x74', '\x4e', '\x61', '\x6d', '\x65', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6d', '\x5f', '\x61', '\x63', '\x74', '\x69', '\x76', '\x65', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x3f', '\x20', '\x6d', '\x5f', '\x61', '\x63', '\x74', '\x69', '\x76', '\x65', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x2d', '\x3e', '\x67', '\x65', '\x74', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x28', '\x29', '\x2e', '\x6e', '\x61', '\x6d', '\x65', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x3a', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x20', '\x2a', '\x20', '\x52', '\x75', '\x6e', '\x43', '\x6f', '\x6e', '\x74', '\x65', '\x78', '\x74', '\x3a', '\x3a', '\x67', '\x65', '\x74', '\x4c', '\x61', '\x73', '\x74', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x26', '\x28', '\x2a', '\x6d', '\x5f', '\x6c', '\x61', '\x73', '\x74', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x52', '\x75', '\x6e', '\x43', '\x6f', '\x6e', '\x74', '\x65', '\x78', '\x74', '\x3a', '\x3a', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x45', '\x61', '\x72', '\x6c', '\x79', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x64', '\x28', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x73', '\x68', '\x6f', '\x75', '\x6c', '\x64', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x55', '\x6e', '\x65', '\x78', '\x70', '\x65', '\x63', '\x74', '\x65', '\x64', '\x20', '\x3d', '\x20', '\x66', '\x61', '\x6c', '\x73', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x52', '\x75', '\x6e', '\x43', '\x6f', '\x6e', '\x74', '\x65', '\x78', '\x74', '\x3a', '\x3a', '\x68', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x46', '\x61', '\x74', '\x61', '\x6c', '\x45', '\x72', '\x72', '\x6f', '\x72', '\x43', '\x6f', '\x6e', '\x64', '\x69', '\x74', '\x69', '\x6f', '\x6e', '\x28', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x66', '\x20', '\x6d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x46', '\x69', '\x72', '\x73', '\x74', '\x20', '\x6e', '\x6f', '\x74', '\x69', '\x66', '\x79', '\x20', '\x72', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x20', '\x74', '\x68', '\x61', '\x74', '\x20', '\x62', '\x61', '\x64', '\x20', '\x74', '\x68', '\x69', '\x6e', '\x67', '\x73', '\x20', '\x68', '\x61', '\x70', '\x70', '\x65', '\x6e', '\x65', '\x64', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x72', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x2d', '\x3e', '\x66', '\x61', '\x74', '\x61', '\x6c', '\x45', '\x72', '\x72', '\x6f', '\x72', '\x45', '\x6e', '\x63', '\x6f', '\x75', '\x6e', '\x74', '\x65', '\x72', '\x65', '\x64', '\x28', '\x6d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x44', '\x6f', '\x6e', '\x27', '\x74', '\x20', '\x72', '\x65', '\x62', '\x75', '\x69', '\x6c', '\x64', '\x20', '\x74', '\x68', '\x65', '\x20', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x20', '\x2d', '\x2d', '\x20', '\x74', '\x68', '\x65', '\x20', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x69', '\x66', '\x69', '\x63', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x69', '\x74', '\x73', '\x65', '\x6c', '\x66', '\x20', '\x63', '\x61', '\x6e', '\x20', '\x63', '\x61', '\x75', '\x73', '\x65', '\x20', '\x6d', '\x6f', '\x72', '\x65', '\x20', '\x66', '\x61', '\x74', '\x61', '\x6c', '\x20', '\x65', '\x72', '\x72', '\x6f', '\x72', '\x73', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x49', '\x6e', '\x73', '\x74', '\x65', '\x61', '\x64', '\x2c', '\x20', '\x66', '\x61', '\x6b', '\x65', '\x20', '\x61', '\x20', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x20', '\x64', '\x61', '\x74', '\x61', '\x2e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x44', '\x61', '\x74', '\x61', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x28', '\x20', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x57', '\x61', '\x73', '\x3a', '\x3a', '\x46', '\x61', '\x74', '\x61', '\x6c', '\x45', '\x72', '\x72', '\x6f', '\x72', '\x43', '\x6f', '\x6e', '\x64', '\x69', '\x74', '\x69', '\x6f', '\x6e', '\x2c', '\x20', '\x7b', '\x20', '\x66', '\x61', '\x6c', '\x73', '\x65', '\x20', '\x7d', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x2e', '\x6d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x20', '\x3d', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x5f', '\x63', '\x61', '\x73', '\x74', '\x3c', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x3e', '\x28', '\x6d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x20', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x28', '\x6d', '\x5f', '\x6c', '\x61', '\x73', '\x74', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x2c', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x45', '\x6e', '\x64', '\x65', '\x64', '\x28', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x68', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x55', '\x6e', '\x66', '\x69', '\x6e', '\x69', '\x73', '\x68', '\x65', '\x64', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x52', '\x65', '\x63', '\x72', '\x65', '\x61', '\x74', '\x65', '\x20', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x66', '\x6f', '\x72', '\x20', '\x74', '\x65', '\x73', '\x74', '\x20', '\x63', '\x61', '\x73', '\x65', '\x20', '\x28', '\x61', '\x73', '\x20', '\x77', '\x65', '\x20', '\x77', '\x69', '\x6c', '\x6c', '\x20', '\x6c', '\x6f', '\x73', '\x65', '\x20', '\x74', '\x68', '\x65', '\x20', '\x6f', '\x6e', '\x65', '\x20', '\x74', '\x68', '\x61', '\x74', '\x20', '\x77', '\x61', '\x73', '\x20', '\x69', '\x6e', '\x20', '\x73', '\x63', '\x6f', '\x70', '\x65', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x3d', '\x20', '\x6d', '\x5f', '\x61', '\x63', '\x74', '\x69', '\x76', '\x65', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x2d', '\x3e', '\x67', '\x65', '\x74', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x28', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x2e', '\x6c', '\x69', '\x6e', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x2c', '\x20', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x2e', '\x6e', '\x61', '\x6d', '\x65', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x6f', '\x75', '\x6e', '\x74', '\x73', '\x20', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x2e', '\x66', '\x61', '\x69', '\x6c', '\x65', '\x64', '\x20', '\x3d', '\x20', '\x31', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x73', '\x20', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x73', '\x28', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x2c', '\x20', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x2c', '\x20', '\x30', '\x2c', '\x20', '\x66', '\x61', '\x6c', '\x73', '\x65', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x72', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x2d', '\x3e', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x45', '\x6e', '\x64', '\x65', '\x64', '\x28', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x73', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x74', '\x65', '\x73', '\x74', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x3d', '\x20', '\x6d', '\x5f', '\x61', '\x63', '\x74', '\x69', '\x76', '\x65', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x2d', '\x3e', '\x67', '\x65', '\x74', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x54', '\x6f', '\x74', '\x61', '\x6c', '\x73', '\x20', '\x64', '\x65', '\x6c', '\x74', '\x61', '\x54', '\x6f', '\x74', '\x61', '\x6c', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x64', '\x65', '\x6c', '\x74', '\x61', '\x54', '\x6f', '\x74', '\x61', '\x6c', '\x73', '\x2e', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x73', '\x2e', '\x66', '\x61', '\x69', '\x6c', '\x65', '\x64', '\x20', '\x3d', '\x20', '\x31', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x64', '\x65', '\x6c', '\x74', '\x61', '\x54', '\x6f', '\x74', '\x61', '\x6c', '\x73', '\x2e', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x2e', '\x66', '\x61', '\x69', '\x6c', '\x65', '\x64', '\x20', '\x3d', '\x20', '\x31', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x72', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x2d', '\x3e', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x45', '\x6e', '\x64', '\x65', '\x64', '\x28', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x53', '\x74', '\x61', '\x74', '\x73', '\x28', '\x74', '\x65', '\x73', '\x74', '\x49', '\x6e', '\x66', '\x6f', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x64', '\x65', '\x6c', '\x74', '\x61', '\x54', '\x6f', '\x74', '\x61', '\x6c', '\x73', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x28', '\x29', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x28', '\x29', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x66', '\x61', '\x6c', '\x73', '\x65', '\x29', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x74', '\x6f', '\x74', '\x61', '\x6c', '\x73', '\x2e', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x73', '\x2e', '\x66', '\x61', '\x69', '\x6c', '\x65', '\x64', '\x2b', '\x2b', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x73', '\x74', '\x47', '\x72', '\x6f', '\x75', '\x70', '\x45', '\x6e', '\x64', '\x65', '\x64', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x28', '\x29', '\x2c', '\x20', '\x6d', '\x5f', '\x74', '\x6f', '\x74', '\x61', '\x6c', '\x73', '\x2c', '\x20', '\x31', '\x2c', '\x20', '\x31', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x72', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x2d', '\x3e', '\x74', '\x65', '\x73', '\x74', '\x52', '\x75', '\x6e', '\x45', '\x6e', '\x64', '\x65', '\x64', '\x28', '\x54', '\x65', '\x73', '\x74', '\x52', '\x75', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x73', '\x28', '\x6d', '\x5f', '\x72', '\x75', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x2c', '\x20', '\x6d', '\x5f', '\x74', '\x6f', '\x74', '\x61', '\x6c', '\x73', '\x2c', '\x20', '\x66', '\x61', '\x6c', '\x73', '\x65', '\x29', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x52', '\x75', '\x6e', '\x43', '\x6f', '\x6e', '\x74', '\x65', '\x78', '\x74', '\x3a', '\x3a', '\x6c', '\x61', '\x73', '\x74', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x50', '\x61', '\x73', '\x73', '\x65', '\x64', '\x28', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6d', '\x5f', '\x6c', '\x61', '\x73', '\x74', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x50', '\x61', '\x73', '\x73', '\x65', '\x64', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x52', '\x75', '\x6e', '\x43', '\x6f', '\x6e', '\x74', '\x65', '\x78', '\x74', '\x3a', '\x3a', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x50', '\x61', '\x73', '\x73', '\x65', '\x64', '\x28', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x6c', '\x61', '\x73', '\x74', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x50', '\x61', '\x73', '\x73', '\x65', '\x64', '\x20', '\x3d', '\x20', '\x74', '\x72', '\x75', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2b', '\x2b', '\x6d', '\x5f', '\x74', '\x6f', '\x74', '\x61', '\x6c', '\x73', '\x2e', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x2e', '\x70', '\x61', '\x73', '\x73', '\x65', '\x64', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x73', '\x65', '\x74', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x6d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x53', '\x63', '\x6f', '\x70', '\x65', '\x73', '\x2e', '\x63', '\x6c', '\x65', '\x61', '\x72', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x52', '\x75', '\x6e', '\x43', '\x6f', '\x6e', '\x74', '\x65', '\x78', '\x74', '\x3a', '\x3a', '\x61', '\x62', '\x6f', '\x72', '\x74', '\x69', '\x6e', '\x67', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6d', '\x5f', '\x74', '\x6f', '\x74', '\x61', '\x6c', '\x73', '\x2e', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x2e', '\x66', '\x61', '\x69', '\x6c', '\x65', '\x64', '\x20', '\x3e', '\x3d', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x5f', '\x63', '\x61', '\x73', '\x74', '\x3c', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x69', '\x7a', '\x65', '\x5f', '\x74', '\x3e', '\x28', '\x6d', '\x5f', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x2d', '\x3e', '\x61', '\x62', '\x6f', '\x72', '\x74', '\x41', '\x66', '\x74', '\x65', '\x72', '\x28', '\x29', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x52', '\x75', '\x6e', '\x43', '\x6f', '\x6e', '\x74', '\x65', '\x78', '\x74', '\x3a', '\x3a', '\x72', '\x75', '\x6e', '\x43', '\x75', '\x72', '\x72', '\x65', '\x6e', '\x74', '\x54', '\x65', '\x73', '\x74', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x26', '\x20', '\x72', '\x65', '\x64', '\x69', '\x72', '\x65', '\x63', '\x74', '\x65', '\x64', '\x43', '\x6f', '\x75', '\x74', '\x2c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x26', '\x20', '\x72', '\x65', '\x64', '\x69', '\x72', '\x65', '\x63', '\x74', '\x65', '\x64', '\x43', '\x65', '\x72', '\x72', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x3d', '\x20', '\x6d', '\x5f', '\x61', '\x63', '\x74', '\x69', '\x76', '\x65', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x2d', '\x3e', '\x67', '\x65', '\x74', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x28', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x2e', '\x6c', '\x69', '\x6e', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x2c', '\x20', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x2e', '\x6e', '\x61', '\x6d', '\x65', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x72', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x2d', '\x3e', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x53', '\x74', '\x61', '\x72', '\x74', '\x69', '\x6e', '\x67', '\x28', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x6f', '\x75', '\x6e', '\x74', '\x73', '\x20', '\x70', '\x72', '\x65', '\x76', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x20', '\x3d', '\x20', '\x6d', '\x5f', '\x74', '\x6f', '\x74', '\x61', '\x6c', '\x73', '\x2e', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x20', '\x64', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x73', '\x68', '\x6f', '\x75', '\x6c', '\x64', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x55', '\x6e', '\x65', '\x78', '\x70', '\x65', '\x63', '\x74', '\x65', '\x64', '\x20', '\x3d', '\x20', '\x74', '\x72', '\x75', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x6c', '\x61', '\x73', '\x74', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x3d', '\x20', '\x7b', '\x20', '\x22', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x22', '\x5f', '\x73', '\x72', '\x2c', '\x20', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x2e', '\x6c', '\x69', '\x6e', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x2c', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x66', '\x28', '\x29', '\x2c', '\x20', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x44', '\x69', '\x73', '\x70', '\x6f', '\x73', '\x69', '\x74', '\x69', '\x6f', '\x6e', '\x3a', '\x3a', '\x4e', '\x6f', '\x72', '\x6d', '\x61', '\x6c', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x65', '\x65', '\x64', '\x52', '\x6e', '\x67', '\x28', '\x2a', '\x6d', '\x5f', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x54', '\x69', '\x6d', '\x65', '\x72', '\x20', '\x74', '\x69', '\x6d', '\x65', '\x72', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x52', '\x59', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x6d', '\x5f', '\x72', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x2d', '\x3e', '\x67', '\x65', '\x74', '\x50', '\x72', '\x65', '\x66', '\x65', '\x72', '\x65', '\x6e', '\x63', '\x65', '\x73', '\x28', '\x29', '\x2e', '\x73', '\x68', '\x6f', '\x75', '\x6c', '\x64', '\x52', '\x65', '\x64', '\x69', '\x72', '\x65', '\x63', '\x74', '\x53', '\x74', '\x64', '\x4f', '\x75', '\x74', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x20', '\x21', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x45', '\x58', '\x50', '\x45', '\x52', '\x49', '\x4d', '\x45', '\x4e', '\x54', '\x41', '\x4c', '\x5f', '\x52', '\x45', '\x44', '\x49', '\x52', '\x45', '\x43', '\x54', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x52', '\x65', '\x64', '\x69', '\x72', '\x65', '\x63', '\x74', '\x65', '\x64', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x73', '\x20', '\x72', '\x65', '\x64', '\x69', '\x72', '\x65', '\x63', '\x74', '\x65', '\x64', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x73', '\x28', '\x72', '\x65', '\x64', '\x69', '\x72', '\x65', '\x63', '\x74', '\x65', '\x64', '\x43', '\x6f', '\x75', '\x74', '\x2c', '\x20', '\x72', '\x65', '\x64', '\x69', '\x72', '\x65', '\x63', '\x74', '\x65', '\x64', '\x43', '\x65', '\x72', '\x72', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x69', '\x6d', '\x65', '\x72', '\x2e', '\x73', '\x74', '\x61', '\x72', '\x74', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x6e', '\x76', '\x6f', '\x6b', '\x65', '\x41', '\x63', '\x74', '\x69', '\x76', '\x65', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x23', '\x65', '\x6c', '\x73', '\x65', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x4f', '\x75', '\x74', '\x70', '\x75', '\x74', '\x52', '\x65', '\x64', '\x69', '\x72', '\x65', '\x63', '\x74', '\x20', '\x72', '\x28', '\x72', '\x65', '\x64', '\x69', '\x72', '\x65', '\x63', '\x74', '\x65', '\x64', '\x43', '\x6f', '\x75', '\x74', '\x2c', '\x20', '\x72', '\x65', '\x64', '\x69', '\x72', '\x65', '\x63', '\x74', '\x65', '\x64', '\x43', '\x65', '\x72', '\x72', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x69', '\x6d', '\x65', '\x72', '\x2e', '\x73', '\x74', '\x61', '\x72', '\x74', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x6e', '\x76', '\x6f', '\x6b', '\x65', '\x41', '\x63', '\x74', '\x69', '\x76', '\x65', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x20', '\x65', '\x6c', '\x73', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x69', '\x6d', '\x65', '\x72', '\x2e', '\x73', '\x74', '\x61', '\x72', '\x74', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x6e', '\x76', '\x6f', '\x6b', '\x65', '\x41', '\x63', '\x74', '\x69', '\x76', '\x65', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x64', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x3d', '\x20', '\x74', '\x69', '\x6d', '\x65', '\x72', '\x2e', '\x67', '\x65', '\x74', '\x45', '\x6c', '\x61', '\x70', '\x73', '\x65', '\x64', '\x53', '\x65', '\x63', '\x6f', '\x6e', '\x64', '\x73', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x41', '\x4e', '\x4f', '\x4e', '\x20', '\x28', '\x54', '\x65', '\x73', '\x74', '\x46', '\x61', '\x69', '\x6c', '\x75', '\x72', '\x65', '\x45', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x26', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x54', '\x68', '\x69', '\x73', '\x20', '\x6a', '\x75', '\x73', '\x74', '\x20', '\x6d', '\x65', '\x61', '\x6e', '\x73', '\x20', '\x74', '\x68', '\x65', '\x20', '\x74', '\x65', '\x73', '\x74', '\x20', '\x77', '\x61', '\x73', '\x20', '\x61', '\x62', '\x6f', '\x72', '\x74', '\x65', '\x64', '\x20', '\x64', '\x75', '\x65', '\x20', '\x74', '\x6f', '\x20', '\x66', '\x61', '\x69', '\x6c', '\x75', '\x72', '\x65', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x41', '\x4c', '\x4c', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x55', '\x6e', '\x64', '\x65', '\x72', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x46', '\x41', '\x53', '\x54', '\x5f', '\x43', '\x4f', '\x4d', '\x50', '\x49', '\x4c', '\x45', '\x2c', '\x20', '\x75', '\x6e', '\x65', '\x78', '\x70', '\x65', '\x63', '\x74', '\x65', '\x64', '\x20', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x20', '\x75', '\x6e', '\x64', '\x65', '\x72', '\x20', '\x52', '\x45', '\x51', '\x55', '\x49', '\x52', '\x45', '\x20', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x61', '\x72', '\x65', '\x20', '\x72', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x64', '\x20', '\x77', '\x69', '\x74', '\x68', '\x6f', '\x75', '\x74', '\x20', '\x74', '\x72', '\x61', '\x6e', '\x73', '\x6c', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x61', '\x74', '\x20', '\x74', '\x68', '\x65', '\x20', '\x70', '\x6f', '\x69', '\x6e', '\x74', '\x20', '\x6f', '\x66', '\x20', '\x6f', '\x72', '\x69', '\x67', '\x69', '\x6e', '\x2e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x6d', '\x5f', '\x73', '\x68', '\x6f', '\x75', '\x6c', '\x64', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x55', '\x6e', '\x65', '\x78', '\x70', '\x65', '\x63', '\x74', '\x65', '\x64', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x52', '\x65', '\x61', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x64', '\x75', '\x6d', '\x6d', '\x79', '\x52', '\x65', '\x61', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x68', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x55', '\x6e', '\x65', '\x78', '\x70', '\x65', '\x63', '\x74', '\x65', '\x64', '\x49', '\x6e', '\x66', '\x6c', '\x69', '\x67', '\x68', '\x74', '\x45', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x28', '\x20', '\x6d', '\x5f', '\x6c', '\x61', '\x73', '\x74', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x2c', '\x20', '\x74', '\x72', '\x61', '\x6e', '\x73', '\x6c', '\x61', '\x74', '\x65', '\x41', '\x63', '\x74', '\x69', '\x76', '\x65', '\x45', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x28', '\x29', '\x2c', '\x20', '\x64', '\x75', '\x6d', '\x6d', '\x79', '\x52', '\x65', '\x61', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x6f', '\x75', '\x6e', '\x74', '\x73', '\x20', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x20', '\x3d', '\x20', '\x6d', '\x5f', '\x74', '\x6f', '\x74', '\x61', '\x6c', '\x73', '\x2e', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x20', '\x2d', '\x20', '\x70', '\x72', '\x65', '\x76', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x6d', '\x69', '\x73', '\x73', '\x69', '\x6e', '\x67', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x20', '\x3d', '\x20', '\x74', '\x65', '\x73', '\x74', '\x46', '\x6f', '\x72', '\x4d', '\x69', '\x73', '\x73', '\x69', '\x6e', '\x67', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x28', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x2d', '\x3e', '\x63', '\x6c', '\x6f', '\x73', '\x65', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x68', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x55', '\x6e', '\x66', '\x69', '\x6e', '\x69', '\x73', '\x68', '\x65', '\x64', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x6d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x73', '\x2e', '\x63', '\x6c', '\x65', '\x61', '\x72', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x6d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x53', '\x63', '\x6f', '\x70', '\x65', '\x73', '\x2e', '\x63', '\x6c', '\x65', '\x61', '\x72', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x73', '\x20', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x73', '\x28', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x2c', '\x20', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x2c', '\x20', '\x64', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x2c', '\x20', '\x6d', '\x69', '\x73', '\x73', '\x69', '\x6e', '\x67', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x72', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x2d', '\x3e', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x45', '\x6e', '\x64', '\x65', '\x64', '\x28', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x73', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x52', '\x75', '\x6e', '\x43', '\x6f', '\x6e', '\x74', '\x65', '\x78', '\x74', '\x3a', '\x3a', '\x69', '\x6e', '\x76', '\x6f', '\x6b', '\x65', '\x41', '\x63', '\x74', '\x69', '\x76', '\x65', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x28', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x46', '\x61', '\x74', '\x61', '\x6c', '\x43', '\x6f', '\x6e', '\x64', '\x69', '\x74', '\x69', '\x6f', '\x6e', '\x48', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x72', '\x20', '\x66', '\x61', '\x74', '\x61', '\x6c', '\x43', '\x6f', '\x6e', '\x64', '\x69', '\x74', '\x69', '\x6f', '\x6e', '\x48', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x72', '\x3b', '\x20', '\x2f', '\x2f', '\x20', '\x48', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x20', '\x73', '\x69', '\x67', '\x6e', '\x61', '\x6c', '\x73', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x61', '\x63', '\x74', '\x69', '\x76', '\x65', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x2d', '\x3e', '\x69', '\x6e', '\x76', '\x6f', '\x6b', '\x65', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x66', '\x61', '\x74', '\x61', '\x6c', '\x43', '\x6f', '\x6e', '\x64', '\x69', '\x74', '\x69', '\x6f', '\x6e', '\x48', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x72', '\x2e', '\x72', '\x65', '\x73', '\x65', '\x74', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x52', '\x75', '\x6e', '\x43', '\x6f', '\x6e', '\x74', '\x65', '\x78', '\x74', '\x3a', '\x3a', '\x68', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x55', '\x6e', '\x66', '\x69', '\x6e', '\x69', '\x73', '\x68', '\x65', '\x64', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x28', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x49', '\x66', '\x20', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x20', '\x65', '\x6e', '\x64', '\x65', '\x64', '\x20', '\x70', '\x72', '\x65', '\x6d', '\x61', '\x74', '\x75', '\x72', '\x65', '\x6c', '\x79', '\x20', '\x64', '\x75', '\x65', '\x20', '\x74', '\x6f', '\x20', '\x61', '\x6e', '\x20', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x77', '\x65', '\x20', '\x73', '\x74', '\x6f', '\x72', '\x65', '\x64', '\x20', '\x74', '\x68', '\x65', '\x69', '\x72', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x69', '\x6e', '\x66', '\x6f', '\x73', '\x20', '\x68', '\x65', '\x72', '\x65', '\x20', '\x73', '\x6f', '\x20', '\x77', '\x65', '\x20', '\x63', '\x61', '\x6e', '\x20', '\x74', '\x65', '\x61', '\x72', '\x20', '\x74', '\x68', '\x65', '\x6d', '\x20', '\x64', '\x6f', '\x77', '\x6e', '\x20', '\x6f', '\x75', '\x74', '\x73', '\x69', '\x64', '\x65', '\x20', '\x74', '\x68', '\x65', '\x20', '\x75', '\x6e', '\x77', '\x69', '\x6e', '\x64', '\x20', '\x70', '\x72', '\x6f', '\x63', '\x65', '\x73', '\x73', '\x2e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x66', '\x6f', '\x72', '\x20', '\x28', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x69', '\x74', '\x20', '\x3d', '\x20', '\x6d', '\x5f', '\x75', '\x6e', '\x66', '\x69', '\x6e', '\x69', '\x73', '\x68', '\x65', '\x64', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x2e', '\x72', '\x62', '\x65', '\x67', '\x69', '\x6e', '\x28', '\x29', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x74', '\x45', '\x6e', '\x64', '\x20', '\x3d', '\x20', '\x6d', '\x5f', '\x75', '\x6e', '\x66', '\x69', '\x6e', '\x69', '\x73', '\x68', '\x65', '\x64', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x2e', '\x72', '\x65', '\x6e', '\x64', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x74', '\x20', '\x21', '\x3d', '\x20', '\x69', '\x74', '\x45', '\x6e', '\x64', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2b', '\x2b', '\x69', '\x74', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x45', '\x6e', '\x64', '\x65', '\x64', '\x28', '\x2a', '\x69', '\x74', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x75', '\x6e', '\x66', '\x69', '\x6e', '\x69', '\x73', '\x68', '\x65', '\x64', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x2e', '\x63', '\x6c', '\x65', '\x61', '\x72', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x52', '\x75', '\x6e', '\x43', '\x6f', '\x6e', '\x74', '\x65', '\x78', '\x74', '\x3a', '\x3a', '\x68', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x45', '\x78', '\x70', '\x72', '\x28', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x69', '\x6e', '\x66', '\x6f', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x49', '\x54', '\x72', '\x61', '\x6e', '\x73', '\x69', '\x65', '\x6e', '\x74', '\x45', '\x78', '\x70', '\x72', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x65', '\x78', '\x70', '\x72', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x52', '\x65', '\x61', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x26', '\x20', '\x72', '\x65', '\x61', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x72', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x2d', '\x3e', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x53', '\x74', '\x61', '\x72', '\x74', '\x69', '\x6e', '\x67', '\x28', '\x20', '\x69', '\x6e', '\x66', '\x6f', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x6e', '\x65', '\x67', '\x61', '\x74', '\x65', '\x64', '\x20', '\x3d', '\x20', '\x69', '\x73', '\x46', '\x61', '\x6c', '\x73', '\x65', '\x54', '\x65', '\x73', '\x74', '\x28', '\x20', '\x69', '\x6e', '\x66', '\x6f', '\x2e', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x44', '\x69', '\x73', '\x70', '\x6f', '\x73', '\x69', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x20', '\x3d', '\x20', '\x65', '\x78', '\x70', '\x72', '\x2e', '\x67', '\x65', '\x74', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x28', '\x29', '\x20', '\x21', '\x3d', '\x20', '\x6e', '\x65', '\x67', '\x61', '\x74', '\x65', '\x64', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x21', '\x6d', '\x5f', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x53', '\x75', '\x63', '\x63', '\x65', '\x73', '\x73', '\x66', '\x75', '\x6c', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x73', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x50', '\x61', '\x73', '\x73', '\x65', '\x64', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x6c', '\x73', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x45', '\x78', '\x70', '\x72', '\x28', '\x69', '\x6e', '\x66', '\x6f', '\x2c', '\x20', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x57', '\x61', '\x73', '\x3a', '\x3a', '\x4f', '\x6b', '\x2c', '\x20', '\x26', '\x65', '\x78', '\x70', '\x72', '\x2c', '\x20', '\x6e', '\x65', '\x67', '\x61', '\x74', '\x65', '\x64', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x6c', '\x73', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x45', '\x78', '\x70', '\x72', '\x28', '\x69', '\x6e', '\x66', '\x6f', '\x2c', '\x20', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x57', '\x61', '\x73', '\x3a', '\x3a', '\x45', '\x78', '\x70', '\x72', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x46', '\x61', '\x69', '\x6c', '\x65', '\x64', '\x2c', '\x20', '\x26', '\x65', '\x78', '\x70', '\x72', '\x2c', '\x20', '\x6e', '\x65', '\x67', '\x61', '\x74', '\x65', '\x64', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x6f', '\x70', '\x75', '\x6c', '\x61', '\x74', '\x65', '\x52', '\x65', '\x61', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x28', '\x20', '\x72', '\x65', '\x61', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x52', '\x75', '\x6e', '\x43', '\x6f', '\x6e', '\x74', '\x65', '\x78', '\x74', '\x3a', '\x3a', '\x72', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x45', '\x78', '\x70', '\x72', '\x28', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x26', '\x69', '\x6e', '\x66', '\x6f', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x57', '\x61', '\x73', '\x3a', '\x3a', '\x4f', '\x66', '\x54', '\x79', '\x70', '\x65', '\x20', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x54', '\x79', '\x70', '\x65', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x49', '\x54', '\x72', '\x61', '\x6e', '\x73', '\x69', '\x65', '\x6e', '\x74', '\x45', '\x78', '\x70', '\x72', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x2a', '\x65', '\x78', '\x70', '\x72', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x6e', '\x65', '\x67', '\x61', '\x74', '\x65', '\x64', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x6c', '\x61', '\x73', '\x74', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x3d', '\x20', '\x69', '\x6e', '\x66', '\x6f', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x44', '\x61', '\x74', '\x61', '\x20', '\x64', '\x61', '\x74', '\x61', '\x28', '\x20', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x54', '\x79', '\x70', '\x65', '\x2c', '\x20', '\x4c', '\x61', '\x7a', '\x79', '\x45', '\x78', '\x70', '\x72', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x28', '\x20', '\x6e', '\x65', '\x67', '\x61', '\x74', '\x65', '\x64', '\x20', '\x29', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x20', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x7b', '\x20', '\x69', '\x6e', '\x66', '\x6f', '\x2c', '\x20', '\x64', '\x61', '\x74', '\x61', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x2e', '\x6d', '\x5f', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x44', '\x61', '\x74', '\x61', '\x2e', '\x6c', '\x61', '\x7a', '\x79', '\x45', '\x78', '\x70', '\x72', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x2e', '\x6d', '\x5f', '\x74', '\x72', '\x61', '\x6e', '\x73', '\x69', '\x65', '\x6e', '\x74', '\x45', '\x78', '\x70', '\x72', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x20', '\x3d', '\x20', '\x65', '\x78', '\x70', '\x72', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x45', '\x6e', '\x64', '\x65', '\x64', '\x28', '\x20', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x52', '\x75', '\x6e', '\x43', '\x6f', '\x6e', '\x74', '\x65', '\x78', '\x74', '\x3a', '\x3a', '\x68', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x4d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x28', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x69', '\x6e', '\x66', '\x6f', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x57', '\x61', '\x73', '\x3a', '\x3a', '\x4f', '\x66', '\x54', '\x79', '\x70', '\x65', '\x20', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x54', '\x79', '\x70', '\x65', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x66', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x52', '\x65', '\x61', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x26', '\x20', '\x72', '\x65', '\x61', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x72', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x2d', '\x3e', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x53', '\x74', '\x61', '\x72', '\x74', '\x69', '\x6e', '\x67', '\x28', '\x20', '\x69', '\x6e', '\x66', '\x6f', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x6c', '\x61', '\x73', '\x74', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x3d', '\x20', '\x69', '\x6e', '\x66', '\x6f', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x44', '\x61', '\x74', '\x61', '\x20', '\x64', '\x61', '\x74', '\x61', '\x28', '\x20', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x54', '\x79', '\x70', '\x65', '\x2c', '\x20', '\x4c', '\x61', '\x7a', '\x79', '\x45', '\x78', '\x70', '\x72', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x28', '\x20', '\x66', '\x61', '\x6c', '\x73', '\x65', '\x20', '\x29', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x64', '\x61', '\x74', '\x61', '\x2e', '\x6d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x20', '\x3d', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x5f', '\x63', '\x61', '\x73', '\x74', '\x3c', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x3e', '\x28', '\x6d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x20', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x7b', '\x20', '\x6d', '\x5f', '\x6c', '\x61', '\x73', '\x74', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x2c', '\x20', '\x64', '\x61', '\x74', '\x61', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x45', '\x6e', '\x64', '\x65', '\x64', '\x28', '\x20', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x21', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x2e', '\x69', '\x73', '\x4f', '\x6b', '\x28', '\x29', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x6f', '\x70', '\x75', '\x6c', '\x61', '\x74', '\x65', '\x52', '\x65', '\x61', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x28', '\x20', '\x72', '\x65', '\x61', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x52', '\x75', '\x6e', '\x43', '\x6f', '\x6e', '\x74', '\x65', '\x78', '\x74', '\x3a', '\x3a', '\x68', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x55', '\x6e', '\x65', '\x78', '\x70', '\x65', '\x63', '\x74', '\x65', '\x64', '\x45', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x4e', '\x6f', '\x74', '\x54', '\x68', '\x72', '\x6f', '\x77', '\x6e', '\x28', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x69', '\x6e', '\x66', '\x6f', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x52', '\x65', '\x61', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x26', '\x20', '\x72', '\x65', '\x61', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x68', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x4e', '\x6f', '\x6e', '\x45', '\x78', '\x70', '\x72', '\x28', '\x69', '\x6e', '\x66', '\x6f', '\x2c', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x57', '\x61', '\x73', '\x3a', '\x3a', '\x44', '\x69', '\x64', '\x6e', '\x74', '\x54', '\x68', '\x72', '\x6f', '\x77', '\x45', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x2c', '\x20', '\x72', '\x65', '\x61', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x52', '\x75', '\x6e', '\x43', '\x6f', '\x6e', '\x74', '\x65', '\x78', '\x74', '\x3a', '\x3a', '\x68', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x55', '\x6e', '\x65', '\x78', '\x70', '\x65', '\x63', '\x74', '\x65', '\x64', '\x49', '\x6e', '\x66', '\x6c', '\x69', '\x67', '\x68', '\x74', '\x45', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x28', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x69', '\x6e', '\x66', '\x6f', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x52', '\x65', '\x61', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x26', '\x20', '\x72', '\x65', '\x61', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x6c', '\x61', '\x73', '\x74', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x3d', '\x20', '\x69', '\x6e', '\x66', '\x6f', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x44', '\x61', '\x74', '\x61', '\x20', '\x64', '\x61', '\x74', '\x61', '\x28', '\x20', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x57', '\x61', '\x73', '\x3a', '\x3a', '\x54', '\x68', '\x72', '\x65', '\x77', '\x45', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x2c', '\x20', '\x4c', '\x61', '\x7a', '\x79', '\x45', '\x78', '\x70', '\x72', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x28', '\x20', '\x66', '\x61', '\x6c', '\x73', '\x65', '\x20', '\x29', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x64', '\x61', '\x74', '\x61', '\x2e', '\x6d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x20', '\x3d', '\x20', '\x6d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x20', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x7b', '\x20', '\x69', '\x6e', '\x66', '\x6f', '\x2c', '\x20', '\x64', '\x61', '\x74', '\x61', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x45', '\x6e', '\x64', '\x65', '\x64', '\x28', '\x20', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x6f', '\x70', '\x75', '\x6c', '\x61', '\x74', '\x65', '\x52', '\x65', '\x61', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x28', '\x20', '\x72', '\x65', '\x61', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x52', '\x75', '\x6e', '\x43', '\x6f', '\x6e', '\x74', '\x65', '\x78', '\x74', '\x3a', '\x3a', '\x70', '\x6f', '\x70', '\x75', '\x6c', '\x61', '\x74', '\x65', '\x52', '\x65', '\x61', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x28', '\x20', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x52', '\x65', '\x61', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x26', '\x20', '\x72', '\x65', '\x61', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x61', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x2e', '\x73', '\x68', '\x6f', '\x75', '\x6c', '\x64', '\x44', '\x65', '\x62', '\x75', '\x67', '\x42', '\x72', '\x65', '\x61', '\x6b', '\x20', '\x3d', '\x20', '\x6d', '\x5f', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x2d', '\x3e', '\x73', '\x68', '\x6f', '\x75', '\x6c', '\x64', '\x44', '\x65', '\x62', '\x75', '\x67', '\x42', '\x72', '\x65', '\x61', '\x6b', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x61', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x2e', '\x73', '\x68', '\x6f', '\x75', '\x6c', '\x64', '\x54', '\x68', '\x72', '\x6f', '\x77', '\x20', '\x3d', '\x20', '\x61', '\x62', '\x6f', '\x72', '\x74', '\x69', '\x6e', '\x67', '\x28', '\x29', '\x20', '\x7c', '\x7c', '\x20', '\x28', '\x6d', '\x5f', '\x6c', '\x61', '\x73', '\x74', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x2e', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x44', '\x69', '\x73', '\x70', '\x6f', '\x73', '\x69', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x26', '\x20', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x44', '\x69', '\x73', '\x70', '\x6f', '\x73', '\x69', '\x74', '\x69', '\x6f', '\x6e', '\x3a', '\x3a', '\x4e', '\x6f', '\x72', '\x6d', '\x61', '\x6c', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x52', '\x75', '\x6e', '\x43', '\x6f', '\x6e', '\x74', '\x65', '\x78', '\x74', '\x3a', '\x3a', '\x68', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x49', '\x6e', '\x63', '\x6f', '\x6d', '\x70', '\x6c', '\x65', '\x74', '\x65', '\x28', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x69', '\x6e', '\x66', '\x6f', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x6c', '\x61', '\x73', '\x74', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x3d', '\x20', '\x69', '\x6e', '\x66', '\x6f', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x44', '\x61', '\x74', '\x61', '\x20', '\x64', '\x61', '\x74', '\x61', '\x28', '\x20', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x57', '\x61', '\x73', '\x3a', '\x3a', '\x54', '\x68', '\x72', '\x65', '\x77', '\x45', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x2c', '\x20', '\x4c', '\x61', '\x7a', '\x79', '\x45', '\x78', '\x70', '\x72', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x28', '\x20', '\x66', '\x61', '\x6c', '\x73', '\x65', '\x20', '\x29', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x64', '\x61', '\x74', '\x61', '\x2e', '\x6d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x20', '\x3d', '\x20', '\x22', '\x45', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x74', '\x72', '\x61', '\x6e', '\x73', '\x6c', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x77', '\x61', '\x73', '\x20', '\x64', '\x69', '\x73', '\x61', '\x62', '\x6c', '\x65', '\x64', '\x20', '\x62', '\x79', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x46', '\x41', '\x53', '\x54', '\x5f', '\x43', '\x4f', '\x4d', '\x50', '\x49', '\x4c', '\x45', '\x22', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x20', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x7b', '\x20', '\x69', '\x6e', '\x66', '\x6f', '\x2c', '\x20', '\x64', '\x61', '\x74', '\x61', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x45', '\x6e', '\x64', '\x65', '\x64', '\x28', '\x20', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x52', '\x75', '\x6e', '\x43', '\x6f', '\x6e', '\x74', '\x65', '\x78', '\x74', '\x3a', '\x3a', '\x68', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x4e', '\x6f', '\x6e', '\x45', '\x78', '\x70', '\x72', '\x28', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x26', '\x69', '\x6e', '\x66', '\x6f', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x57', '\x61', '\x73', '\x3a', '\x3a', '\x4f', '\x66', '\x54', '\x79', '\x70', '\x65', '\x20', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x54', '\x79', '\x70', '\x65', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x52', '\x65', '\x61', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x26', '\x72', '\x65', '\x61', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x6c', '\x61', '\x73', '\x74', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x3d', '\x20', '\x69', '\x6e', '\x66', '\x6f', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x44', '\x61', '\x74', '\x61', '\x20', '\x64', '\x61', '\x74', '\x61', '\x28', '\x20', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x54', '\x79', '\x70', '\x65', '\x2c', '\x20', '\x4c', '\x61', '\x7a', '\x79', '\x45', '\x78', '\x70', '\x72', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x28', '\x20', '\x66', '\x61', '\x6c', '\x73', '\x65', '\x20', '\x29', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x20', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x7b', '\x20', '\x69', '\x6e', '\x66', '\x6f', '\x2c', '\x20', '\x64', '\x61', '\x74', '\x61', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x45', '\x6e', '\x64', '\x65', '\x64', '\x28', '\x20', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x21', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x2e', '\x69', '\x73', '\x4f', '\x6b', '\x28', '\x29', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x6f', '\x70', '\x75', '\x6c', '\x61', '\x74', '\x65', '\x52', '\x65', '\x61', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x28', '\x20', '\x72', '\x65', '\x61', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x49', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x43', '\x61', '\x70', '\x74', '\x75', '\x72', '\x65', '\x26', '\x20', '\x67', '\x65', '\x74', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x43', '\x61', '\x70', '\x74', '\x75', '\x72', '\x65', '\x28', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x61', '\x75', '\x74', '\x6f', '\x2a', '\x20', '\x63', '\x61', '\x70', '\x74', '\x75', '\x72', '\x65', '\x20', '\x3d', '\x20', '\x67', '\x65', '\x74', '\x43', '\x75', '\x72', '\x72', '\x65', '\x6e', '\x74', '\x43', '\x6f', '\x6e', '\x74', '\x65', '\x78', '\x74', '\x28', '\x29', '\x2e', '\x67', '\x65', '\x74', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x43', '\x61', '\x70', '\x74', '\x75', '\x72', '\x65', '\x28', '\x29', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x2a', '\x63', '\x61', '\x70', '\x74', '\x75', '\x72', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x6c', '\x73', '\x65', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x45', '\x52', '\x52', '\x4f', '\x52', '\x28', '\x22', '\x4e', '\x6f', '\x20', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x20', '\x63', '\x61', '\x70', '\x74', '\x75', '\x72', '\x65', '\x20', '\x69', '\x6e', '\x73', '\x74', '\x61', '\x6e', '\x63', '\x65', '\x22', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x73', '\x65', '\x65', '\x64', '\x52', '\x6e', '\x67', '\x28', '\x49', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x2e', '\x72', '\x6e', '\x67', '\x53', '\x65', '\x65', '\x64', '\x28', '\x29', '\x20', '\x21', '\x3d', '\x20', '\x30', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x72', '\x61', '\x6e', '\x64', '\x28', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x2e', '\x72', '\x6e', '\x67', '\x53', '\x65', '\x65', '\x64', '\x28', '\x29', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x6e', '\x67', '\x28', '\x29', '\x2e', '\x73', '\x65', '\x65', '\x64', '\x28', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x2e', '\x72', '\x6e', '\x67', '\x53', '\x65', '\x65', '\x64', '\x28', '\x29', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x75', '\x6e', '\x73', '\x69', '\x67', '\x6e', '\x65', '\x64', '\x20', '\x69', '\x6e', '\x74', '\x20', '\x72', '\x6e', '\x67', '\x53', '\x65', '\x65', '\x64', '\x28', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x67', '\x65', '\x74', '\x43', '\x75', '\x72', '\x72', '\x65', '\x6e', '\x74', '\x43', '\x6f', '\x6e', '\x74', '\x65', '\x78', '\x74', '\x28', '\x29', '\x2e', '\x67', '\x65', '\x74', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x28', '\x29', '\x2d', '\x3e', '\x72', '\x6e', '\x67', '\x53', '\x65', '\x65', '\x64', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x7d', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x72', '\x75', '\x6e', '\x5f', '\x63', '\x6f', '\x6e', '\x74', '\x65', '\x78', '\x74', '\x2e', '\x63', '\x70', '\x70', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x2e', '\x63', '\x70', '\x70', '\x0d', '\x0a', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x3a', '\x3a', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x28', '\x20', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x69', '\x6e', '\x66', '\x6f', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x3a', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x69', '\x6e', '\x66', '\x6f', '\x28', '\x20', '\x69', '\x6e', '\x66', '\x6f', '\x20', '\x29', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x49', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x64', '\x28', '\x20', '\x67', '\x65', '\x74', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x43', '\x61', '\x70', '\x74', '\x75', '\x72', '\x65', '\x28', '\x29', '\x2e', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x53', '\x74', '\x61', '\x72', '\x74', '\x65', '\x64', '\x28', '\x20', '\x6d', '\x5f', '\x69', '\x6e', '\x66', '\x6f', '\x2c', '\x20', '\x6d', '\x5f', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x20', '\x29', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x74', '\x69', '\x6d', '\x65', '\x72', '\x2e', '\x73', '\x74', '\x61', '\x72', '\x74', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x3a', '\x3a', '\x7e', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x28', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x6d', '\x5f', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x49', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x64', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x45', '\x6e', '\x64', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x65', '\x6e', '\x64', '\x49', '\x6e', '\x66', '\x6f', '\x7b', '\x20', '\x6d', '\x5f', '\x69', '\x6e', '\x66', '\x6f', '\x2c', '\x20', '\x6d', '\x5f', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x2c', '\x20', '\x6d', '\x5f', '\x74', '\x69', '\x6d', '\x65', '\x72', '\x2e', '\x67', '\x65', '\x74', '\x45', '\x6c', '\x61', '\x70', '\x73', '\x65', '\x64', '\x53', '\x65', '\x63', '\x6f', '\x6e', '\x64', '\x73', '\x28', '\x29', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x75', '\x6e', '\x63', '\x61', '\x75', '\x67', '\x68', '\x74', '\x5f', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x28', '\x29', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x67', '\x65', '\x74', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x43', '\x61', '\x70', '\x74', '\x75', '\x72', '\x65', '\x28', '\x29', '\x2e', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x45', '\x6e', '\x64', '\x65', '\x64', '\x45', '\x61', '\x72', '\x6c', '\x79', '\x28', '\x20', '\x65', '\x6e', '\x64', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x6c', '\x73', '\x65', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x67', '\x65', '\x74', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x43', '\x61', '\x70', '\x74', '\x75', '\x72', '\x65', '\x28', '\x29', '\x2e', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x45', '\x6e', '\x64', '\x65', '\x64', '\x28', '\x20', '\x65', '\x6e', '\x64', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x54', '\x68', '\x69', '\x73', '\x20', '\x69', '\x6e', '\x64', '\x69', '\x63', '\x61', '\x74', '\x65', '\x73', '\x20', '\x77', '\x68', '\x65', '\x74', '\x68', '\x65', '\x72', '\x20', '\x74', '\x68', '\x65', '\x20', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x73', '\x68', '\x6f', '\x75', '\x6c', '\x64', '\x20', '\x62', '\x65', '\x20', '\x65', '\x78', '\x65', '\x63', '\x75', '\x74', '\x65', '\x64', '\x20', '\x6f', '\x72', '\x20', '\x6e', '\x6f', '\x74', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x3a', '\x3a', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6d', '\x5f', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x49', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x64', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x2e', '\x63', '\x70', '\x70', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x5f', '\x69', '\x6e', '\x66', '\x6f', '\x2e', '\x63', '\x70', '\x70', '\x0d', '\x0a', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x3a', '\x3a', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x28', '\x20', '\x20', '\x20', '\x53', '\x6f', '\x75', '\x72', '\x63', '\x65', '\x4c', '\x69', '\x6e', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x5f', '\x6c', '\x69', '\x6e', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x5f', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x3a', '\x20', '\x20', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x28', '\x20', '\x5f', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x29', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6c', '\x69', '\x6e', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x28', '\x20', '\x5f', '\x6c', '\x69', '\x6e', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7b', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x5f', '\x69', '\x6e', '\x66', '\x6f', '\x2e', '\x63', '\x70', '\x70', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x73', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x2e', '\x63', '\x70', '\x70', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x73', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x2e', '\x68', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x6d', '\x65', '\x6d', '\x6f', '\x72', '\x79', '\x3e', '\x0d', '\x0a', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x20', '\x53', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x20', '\x3a', '\x20', '\x4e', '\x6f', '\x6e', '\x43', '\x6f', '\x70', '\x79', '\x61', '\x62', '\x6c', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x70', '\x75', '\x62', '\x6c', '\x69', '\x63', '\x3a', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x53', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7e', '\x53', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x28', '\x29', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x73', '\x68', '\x6f', '\x77', '\x48', '\x65', '\x6c', '\x70', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x6c', '\x69', '\x62', '\x49', '\x64', '\x65', '\x6e', '\x74', '\x69', '\x66', '\x79', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x6e', '\x74', '\x20', '\x61', '\x70', '\x70', '\x6c', '\x79', '\x43', '\x6f', '\x6d', '\x6d', '\x61', '\x6e', '\x64', '\x4c', '\x69', '\x6e', '\x65', '\x28', '\x20', '\x69', '\x6e', '\x74', '\x20', '\x61', '\x72', '\x67', '\x63', '\x2c', '\x20', '\x63', '\x68', '\x61', '\x72', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x2a', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x2a', '\x20', '\x61', '\x72', '\x67', '\x76', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x23', '\x69', '\x66', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x57', '\x43', '\x48', '\x41', '\x52', '\x29', '\x20', '\x26', '\x26', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x5f', '\x57', '\x49', '\x4e', '\x33', '\x32', '\x29', '\x20', '\x26', '\x26', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x55', '\x4e', '\x49', '\x43', '\x4f', '\x44', '\x45', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x6e', '\x74', '\x20', '\x61', '\x70', '\x70', '\x6c', '\x79', '\x43', '\x6f', '\x6d', '\x6d', '\x61', '\x6e', '\x64', '\x4c', '\x69', '\x6e', '\x65', '\x28', '\x20', '\x69', '\x6e', '\x74', '\x20', '\x61', '\x72', '\x67', '\x63', '\x2c', '\x20', '\x77', '\x63', '\x68', '\x61', '\x72', '\x5f', '\x74', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x2a', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x2a', '\x20', '\x61', '\x72', '\x67', '\x76', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x75', '\x73', '\x65', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x44', '\x61', '\x74', '\x61', '\x28', '\x20', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x44', '\x61', '\x74', '\x61', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x44', '\x61', '\x74', '\x61', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x43', '\x68', '\x61', '\x72', '\x54', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x6e', '\x74', '\x20', '\x72', '\x75', '\x6e', '\x28', '\x69', '\x6e', '\x74', '\x20', '\x61', '\x72', '\x67', '\x63', '\x2c', '\x20', '\x43', '\x68', '\x61', '\x72', '\x54', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x2a', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x61', '\x72', '\x67', '\x76', '\x5b', '\x5d', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x6d', '\x5f', '\x73', '\x74', '\x61', '\x72', '\x74', '\x75', '\x70', '\x45', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x31', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x6e', '\x74', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x43', '\x6f', '\x64', '\x65', '\x20', '\x3d', '\x20', '\x61', '\x70', '\x70', '\x6c', '\x79', '\x43', '\x6f', '\x6d', '\x6d', '\x61', '\x6e', '\x64', '\x4c', '\x69', '\x6e', '\x65', '\x28', '\x61', '\x72', '\x67', '\x63', '\x2c', '\x20', '\x61', '\x72', '\x67', '\x76', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x43', '\x6f', '\x64', '\x65', '\x20', '\x3d', '\x3d', '\x20', '\x30', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x43', '\x6f', '\x64', '\x65', '\x20', '\x3d', '\x20', '\x72', '\x75', '\x6e', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x43', '\x6f', '\x64', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x6e', '\x74', '\x20', '\x72', '\x75', '\x6e', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6c', '\x61', '\x72', '\x61', '\x3a', '\x3a', '\x50', '\x61', '\x72', '\x73', '\x65', '\x72', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x63', '\x6c', '\x69', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x63', '\x6c', '\x69', '\x28', '\x20', '\x63', '\x6c', '\x61', '\x72', '\x61', '\x3a', '\x3a', '\x50', '\x61', '\x72', '\x73', '\x65', '\x72', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6e', '\x65', '\x77', '\x50', '\x61', '\x72', '\x73', '\x65', '\x72', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x44', '\x61', '\x74', '\x61', '\x26', '\x20', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x44', '\x61', '\x74', '\x61', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x26', '\x20', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x70', '\x72', '\x69', '\x76', '\x61', '\x74', '\x65', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x6e', '\x74', '\x20', '\x72', '\x75', '\x6e', '\x49', '\x6e', '\x74', '\x65', '\x72', '\x6e', '\x61', '\x6c', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6c', '\x61', '\x72', '\x61', '\x3a', '\x3a', '\x50', '\x61', '\x72', '\x73', '\x65', '\x72', '\x20', '\x6d', '\x5f', '\x63', '\x6c', '\x69', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x44', '\x61', '\x74', '\x61', '\x20', '\x6d', '\x5f', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x44', '\x61', '\x74', '\x61', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x68', '\x61', '\x72', '\x65', '\x64', '\x5f', '\x70', '\x74', '\x72', '\x3c', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x3e', '\x20', '\x6d', '\x5f', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x6d', '\x5f', '\x73', '\x74', '\x61', '\x72', '\x74', '\x75', '\x70', '\x45', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x20', '\x3d', '\x20', '\x66', '\x61', '\x6c', '\x73', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x73', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x2e', '\x68', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x76', '\x65', '\x72', '\x73', '\x69', '\x6f', '\x6e', '\x2e', '\x68', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x69', '\x6f', '\x73', '\x66', '\x77', '\x64', '\x3e', '\x0d', '\x0a', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x56', '\x65', '\x72', '\x73', '\x69', '\x6f', '\x6e', '\x69', '\x6e', '\x67', '\x20', '\x69', '\x6e', '\x66', '\x6f', '\x72', '\x6d', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x56', '\x65', '\x72', '\x73', '\x69', '\x6f', '\x6e', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x56', '\x65', '\x72', '\x73', '\x69', '\x6f', '\x6e', '\x28', '\x20', '\x56', '\x65', '\x72', '\x73', '\x69', '\x6f', '\x6e', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x29', '\x20', '\x3d', '\x20', '\x64', '\x65', '\x6c', '\x65', '\x74', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x56', '\x65', '\x72', '\x73', '\x69', '\x6f', '\x6e', '\x26', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x3d', '\x28', '\x20', '\x56', '\x65', '\x72', '\x73', '\x69', '\x6f', '\x6e', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x29', '\x20', '\x3d', '\x20', '\x64', '\x65', '\x6c', '\x65', '\x74', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x56', '\x65', '\x72', '\x73', '\x69', '\x6f', '\x6e', '\x28', '\x20', '\x20', '\x20', '\x20', '\x75', '\x6e', '\x73', '\x69', '\x67', '\x6e', '\x65', '\x64', '\x20', '\x69', '\x6e', '\x74', '\x20', '\x5f', '\x6d', '\x61', '\x6a', '\x6f', '\x72', '\x56', '\x65', '\x72', '\x73', '\x69', '\x6f', '\x6e', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x75', '\x6e', '\x73', '\x69', '\x67', '\x6e', '\x65', '\x64', '\x20', '\x69', '\x6e', '\x74', '\x20', '\x5f', '\x6d', '\x69', '\x6e', '\x6f', '\x72', '\x56', '\x65', '\x72', '\x73', '\x69', '\x6f', '\x6e', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x75', '\x6e', '\x73', '\x69', '\x67', '\x6e', '\x65', '\x64', '\x20', '\x69', '\x6e', '\x74', '\x20', '\x5f', '\x70', '\x61', '\x74', '\x63', '\x68', '\x4e', '\x75', '\x6d', '\x62', '\x65', '\x72', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x68', '\x61', '\x72', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x2a', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x5f', '\x62', '\x72', '\x61', '\x6e', '\x63', '\x68', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x75', '\x6e', '\x73', '\x69', '\x67', '\x6e', '\x65', '\x64', '\x20', '\x69', '\x6e', '\x74', '\x20', '\x5f', '\x62', '\x75', '\x69', '\x6c', '\x64', '\x4e', '\x75', '\x6d', '\x62', '\x65', '\x72', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x75', '\x6e', '\x73', '\x69', '\x67', '\x6e', '\x65', '\x64', '\x20', '\x69', '\x6e', '\x74', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x6d', '\x61', '\x6a', '\x6f', '\x72', '\x56', '\x65', '\x72', '\x73', '\x69', '\x6f', '\x6e', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x75', '\x6e', '\x73', '\x69', '\x67', '\x6e', '\x65', '\x64', '\x20', '\x69', '\x6e', '\x74', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x6d', '\x69', '\x6e', '\x6f', '\x72', '\x56', '\x65', '\x72', '\x73', '\x69', '\x6f', '\x6e', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x75', '\x6e', '\x73', '\x69', '\x67', '\x6e', '\x65', '\x64', '\x20', '\x69', '\x6e', '\x74', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x70', '\x61', '\x74', '\x63', '\x68', '\x4e', '\x75', '\x6d', '\x62', '\x65', '\x72', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x62', '\x75', '\x69', '\x6c', '\x64', '\x4e', '\x75', '\x6d', '\x62', '\x65', '\x72', '\x20', '\x69', '\x73', '\x20', '\x6f', '\x6e', '\x6c', '\x79', '\x20', '\x75', '\x73', '\x65', '\x64', '\x20', '\x69', '\x66', '\x20', '\x62', '\x72', '\x61', '\x6e', '\x63', '\x68', '\x4e', '\x61', '\x6d', '\x65', '\x20', '\x69', '\x73', '\x20', '\x6e', '\x6f', '\x74', '\x20', '\x6e', '\x75', '\x6c', '\x6c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x68', '\x61', '\x72', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x2a', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x62', '\x72', '\x61', '\x6e', '\x63', '\x68', '\x4e', '\x61', '\x6d', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x75', '\x6e', '\x73', '\x69', '\x67', '\x6e', '\x65', '\x64', '\x20', '\x69', '\x6e', '\x74', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x62', '\x75', '\x69', '\x6c', '\x64', '\x4e', '\x75', '\x6d', '\x62', '\x65', '\x72', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x66', '\x72', '\x69', '\x65', '\x6e', '\x64', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6f', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x26', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x3c', '\x3c', '\x20', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6f', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x26', '\x20', '\x6f', '\x73', '\x2c', '\x20', '\x56', '\x65', '\x72', '\x73', '\x69', '\x6f', '\x6e', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x76', '\x65', '\x72', '\x73', '\x69', '\x6f', '\x6e', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x56', '\x65', '\x72', '\x73', '\x69', '\x6f', '\x6e', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6c', '\x69', '\x62', '\x72', '\x61', '\x72', '\x79', '\x56', '\x65', '\x72', '\x73', '\x69', '\x6f', '\x6e', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x76', '\x65', '\x72', '\x73', '\x69', '\x6f', '\x6e', '\x2e', '\x68', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x63', '\x73', '\x74', '\x64', '\x6c', '\x69', '\x62', '\x3e', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x69', '\x6f', '\x6d', '\x61', '\x6e', '\x69', '\x70', '\x3e', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x73', '\x65', '\x74', '\x3e', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x69', '\x74', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x3e', '\x0d', '\x0a', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x69', '\x6e', '\x74', '\x20', '\x4d', '\x61', '\x78', '\x45', '\x78', '\x69', '\x74', '\x43', '\x6f', '\x64', '\x65', '\x20', '\x3d', '\x20', '\x32', '\x35', '\x35', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x49', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x50', '\x74', '\x72', '\x20', '\x63', '\x72', '\x65', '\x61', '\x74', '\x65', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x72', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x49', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x50', '\x74', '\x72', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x72', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x20', '\x3d', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x67', '\x65', '\x74', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x48', '\x75', '\x62', '\x28', '\x29', '\x2e', '\x67', '\x65', '\x74', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x28', '\x29', '\x2e', '\x63', '\x72', '\x65', '\x61', '\x74', '\x65', '\x28', '\x72', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x45', '\x4e', '\x46', '\x4f', '\x52', '\x43', '\x45', '\x28', '\x72', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x2c', '\x20', '\x22', '\x4e', '\x6f', '\x20', '\x72', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x20', '\x72', '\x65', '\x67', '\x69', '\x73', '\x74', '\x65', '\x72', '\x65', '\x64', '\x20', '\x77', '\x69', '\x74', '\x68', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x3a', '\x20', '\x27', '\x22', '\x20', '\x3c', '\x3c', '\x20', '\x72', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x4e', '\x61', '\x6d', '\x65', '\x20', '\x3c', '\x3c', '\x20', '\x22', '\x27', '\x22', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x72', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x49', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x50', '\x74', '\x72', '\x20', '\x6d', '\x61', '\x6b', '\x65', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x68', '\x61', '\x72', '\x65', '\x64', '\x5f', '\x70', '\x74', '\x72', '\x3c', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x3e', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x67', '\x65', '\x74', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x48', '\x75', '\x62', '\x28', '\x29', '\x2e', '\x67', '\x65', '\x74', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x28', '\x29', '\x2e', '\x67', '\x65', '\x74', '\x4c', '\x69', '\x73', '\x74', '\x65', '\x6e', '\x65', '\x72', '\x73', '\x28', '\x29', '\x2e', '\x65', '\x6d', '\x70', '\x74', '\x79', '\x28', '\x29', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x63', '\x72', '\x65', '\x61', '\x74', '\x65', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x28', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x2d', '\x3e', '\x67', '\x65', '\x74', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x4e', '\x61', '\x6d', '\x65', '\x28', '\x29', '\x2c', '\x20', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x4f', '\x6e', '\x20', '\x6f', '\x6c', '\x64', '\x65', '\x72', '\x20', '\x70', '\x6c', '\x61', '\x74', '\x66', '\x6f', '\x72', '\x6d', '\x73', '\x2c', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x69', '\x6e', '\x67', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x75', '\x6e', '\x69', '\x71', '\x75', '\x65', '\x5f', '\x70', '\x74', '\x72', '\x3c', '\x4c', '\x69', '\x73', '\x74', '\x65', '\x6e', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x77', '\x68', '\x65', '\x6e', '\x20', '\x74', '\x68', '\x65', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x74', '\x79', '\x70', '\x65', '\x20', '\x69', '\x73', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x75', '\x6e', '\x69', '\x71', '\x75', '\x65', '\x5f', '\x70', '\x74', '\x72', '\x3c', '\x49', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x64', '\x6f', '\x65', '\x73', '\x6e', '\x27', '\x74', '\x20', '\x63', '\x6f', '\x6d', '\x70', '\x69', '\x6c', '\x65', '\x20', '\x77', '\x69', '\x74', '\x68', '\x6f', '\x75', '\x74', '\x20', '\x61', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6d', '\x6f', '\x76', '\x65', '\x20', '\x63', '\x61', '\x6c', '\x6c', '\x2e', '\x20', '\x48', '\x6f', '\x77', '\x65', '\x76', '\x65', '\x72', '\x2c', '\x20', '\x74', '\x68', '\x69', '\x73', '\x20', '\x63', '\x61', '\x75', '\x73', '\x65', '\x73', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x61', '\x20', '\x77', '\x61', '\x72', '\x6e', '\x69', '\x6e', '\x67', '\x20', '\x6f', '\x6e', '\x20', '\x6e', '\x65', '\x77', '\x65', '\x72', '\x20', '\x70', '\x6c', '\x61', '\x74', '\x66', '\x6f', '\x72', '\x6d', '\x73', '\x2e', '\x20', '\x54', '\x68', '\x75', '\x73', '\x2c', '\x20', '\x77', '\x65', '\x20', '\x68', '\x61', '\x76', '\x65', '\x20', '\x74', '\x6f', '\x20', '\x77', '\x6f', '\x72', '\x6b', '\x20', '\x61', '\x72', '\x6f', '\x75', '\x6e', '\x64', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x69', '\x74', '\x20', '\x61', '\x20', '\x62', '\x69', '\x74', '\x20', '\x61', '\x6e', '\x64', '\x20', '\x64', '\x6f', '\x77', '\x6e', '\x63', '\x61', '\x73', '\x74', '\x20', '\x74', '\x68', '\x65', '\x20', '\x70', '\x6f', '\x69', '\x6e', '\x74', '\x65', '\x72', '\x20', '\x6d', '\x61', '\x6e', '\x75', '\x61', '\x6c', '\x6c', '\x79', '\x2e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x72', '\x65', '\x74', '\x20', '\x3d', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x75', '\x6e', '\x69', '\x71', '\x75', '\x65', '\x5f', '\x70', '\x74', '\x72', '\x3c', '\x49', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x3e', '\x28', '\x6e', '\x65', '\x77', '\x20', '\x4c', '\x69', '\x73', '\x74', '\x65', '\x6e', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x26', '\x20', '\x6d', '\x75', '\x6c', '\x74', '\x69', '\x20', '\x3d', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x5f', '\x63', '\x61', '\x73', '\x74', '\x3c', '\x4c', '\x69', '\x73', '\x74', '\x65', '\x6e', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x26', '\x3e', '\x28', '\x2a', '\x72', '\x65', '\x74', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6c', '\x69', '\x73', '\x74', '\x65', '\x6e', '\x65', '\x72', '\x73', '\x20', '\x3d', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x67', '\x65', '\x74', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x48', '\x75', '\x62', '\x28', '\x29', '\x2e', '\x67', '\x65', '\x74', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x28', '\x29', '\x2e', '\x67', '\x65', '\x74', '\x4c', '\x69', '\x73', '\x74', '\x65', '\x6e', '\x65', '\x72', '\x73', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x66', '\x6f', '\x72', '\x20', '\x28', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6c', '\x69', '\x73', '\x74', '\x65', '\x6e', '\x65', '\x72', '\x20', '\x3a', '\x20', '\x6c', '\x69', '\x73', '\x74', '\x65', '\x6e', '\x65', '\x72', '\x73', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x75', '\x6c', '\x74', '\x69', '\x2e', '\x61', '\x64', '\x64', '\x4c', '\x69', '\x73', '\x74', '\x65', '\x6e', '\x65', '\x72', '\x28', '\x6c', '\x69', '\x73', '\x74', '\x65', '\x6e', '\x65', '\x72', '\x2d', '\x3e', '\x63', '\x72', '\x65', '\x61', '\x74', '\x65', '\x28', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x28', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x29', '\x29', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x75', '\x6c', '\x74', '\x69', '\x2e', '\x61', '\x64', '\x64', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x28', '\x63', '\x72', '\x65', '\x61', '\x74', '\x65', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x28', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x2d', '\x3e', '\x67', '\x65', '\x74', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x4e', '\x61', '\x6d', '\x65', '\x28', '\x29', '\x2c', '\x20', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x29', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x72', '\x65', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x20', '\x54', '\x65', '\x73', '\x74', '\x47', '\x72', '\x6f', '\x75', '\x70', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x75', '\x62', '\x6c', '\x69', '\x63', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x78', '\x70', '\x6c', '\x69', '\x63', '\x69', '\x74', '\x20', '\x54', '\x65', '\x73', '\x74', '\x47', '\x72', '\x6f', '\x75', '\x70', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x68', '\x61', '\x72', '\x65', '\x64', '\x5f', '\x70', '\x74', '\x72', '\x3c', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x3e', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x3a', '\x20', '\x6d', '\x5f', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x7b', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2c', '\x20', '\x6d', '\x5f', '\x63', '\x6f', '\x6e', '\x74', '\x65', '\x78', '\x74', '\x7b', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x2c', '\x20', '\x6d', '\x61', '\x6b', '\x65', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x28', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x29', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x61', '\x6c', '\x6c', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x73', '\x20', '\x3d', '\x20', '\x67', '\x65', '\x74', '\x41', '\x6c', '\x6c', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x73', '\x53', '\x6f', '\x72', '\x74', '\x65', '\x64', '\x28', '\x2a', '\x6d', '\x5f', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x73', '\x20', '\x3d', '\x20', '\x6d', '\x5f', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x2d', '\x3e', '\x74', '\x65', '\x73', '\x74', '\x53', '\x70', '\x65', '\x63', '\x28', '\x29', '\x2e', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x73', '\x42', '\x79', '\x46', '\x69', '\x6c', '\x74', '\x65', '\x72', '\x28', '\x61', '\x6c', '\x6c', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x73', '\x2c', '\x20', '\x2a', '\x6d', '\x5f', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x69', '\x6e', '\x76', '\x61', '\x6c', '\x69', '\x64', '\x41', '\x72', '\x67', '\x73', '\x20', '\x3d', '\x20', '\x6d', '\x5f', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x2d', '\x3e', '\x74', '\x65', '\x73', '\x74', '\x53', '\x70', '\x65', '\x63', '\x28', '\x29', '\x2e', '\x67', '\x65', '\x74', '\x49', '\x6e', '\x76', '\x61', '\x6c', '\x69', '\x64', '\x41', '\x72', '\x67', '\x73', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x6d', '\x5f', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x73', '\x2e', '\x65', '\x6d', '\x70', '\x74', '\x79', '\x28', '\x29', '\x20', '\x26', '\x26', '\x20', '\x69', '\x6e', '\x76', '\x61', '\x6c', '\x69', '\x64', '\x41', '\x72', '\x67', '\x73', '\x2e', '\x65', '\x6d', '\x70', '\x74', '\x79', '\x28', '\x29', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x66', '\x6f', '\x72', '\x20', '\x28', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x74', '\x65', '\x73', '\x74', '\x20', '\x3a', '\x20', '\x61', '\x6c', '\x6c', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x73', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x21', '\x74', '\x65', '\x73', '\x74', '\x2e', '\x69', '\x73', '\x48', '\x69', '\x64', '\x64', '\x65', '\x6e', '\x28', '\x29', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x74', '\x65', '\x73', '\x74', '\x73', '\x2e', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x63', '\x65', '\x28', '\x26', '\x74', '\x65', '\x73', '\x74', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x20', '\x65', '\x6c', '\x73', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x66', '\x6f', '\x72', '\x20', '\x28', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x20', '\x3a', '\x20', '\x6d', '\x5f', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x73', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x74', '\x65', '\x73', '\x74', '\x73', '\x2e', '\x69', '\x6e', '\x73', '\x65', '\x72', '\x74', '\x28', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x2e', '\x74', '\x65', '\x73', '\x74', '\x73', '\x2e', '\x62', '\x65', '\x67', '\x69', '\x6e', '\x28', '\x29', '\x2c', '\x20', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x2e', '\x74', '\x65', '\x73', '\x74', '\x73', '\x2e', '\x65', '\x6e', '\x64', '\x28', '\x29', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x54', '\x6f', '\x74', '\x61', '\x6c', '\x73', '\x20', '\x65', '\x78', '\x65', '\x63', '\x75', '\x74', '\x65', '\x28', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x69', '\x6e', '\x76', '\x61', '\x6c', '\x69', '\x64', '\x41', '\x72', '\x67', '\x73', '\x20', '\x3d', '\x20', '\x6d', '\x5f', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x2d', '\x3e', '\x74', '\x65', '\x73', '\x74', '\x53', '\x70', '\x65', '\x63', '\x28', '\x29', '\x2e', '\x67', '\x65', '\x74', '\x49', '\x6e', '\x76', '\x61', '\x6c', '\x69', '\x64', '\x41', '\x72', '\x67', '\x73', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x54', '\x6f', '\x74', '\x61', '\x6c', '\x73', '\x20', '\x74', '\x6f', '\x74', '\x61', '\x6c', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x63', '\x6f', '\x6e', '\x74', '\x65', '\x78', '\x74', '\x2e', '\x74', '\x65', '\x73', '\x74', '\x47', '\x72', '\x6f', '\x75', '\x70', '\x53', '\x74', '\x61', '\x72', '\x74', '\x69', '\x6e', '\x67', '\x28', '\x6d', '\x5f', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x2d', '\x3e', '\x6e', '\x61', '\x6d', '\x65', '\x28', '\x29', '\x2c', '\x20', '\x31', '\x2c', '\x20', '\x31', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x66', '\x6f', '\x72', '\x20', '\x28', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x20', '\x3a', '\x20', '\x6d', '\x5f', '\x74', '\x65', '\x73', '\x74', '\x73', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x21', '\x6d', '\x5f', '\x63', '\x6f', '\x6e', '\x74', '\x65', '\x78', '\x74', '\x2e', '\x61', '\x62', '\x6f', '\x72', '\x74', '\x69', '\x6e', '\x67', '\x28', '\x29', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x6f', '\x74', '\x61', '\x6c', '\x73', '\x20', '\x2b', '\x3d', '\x20', '\x6d', '\x5f', '\x63', '\x6f', '\x6e', '\x74', '\x65', '\x78', '\x74', '\x2e', '\x72', '\x75', '\x6e', '\x54', '\x65', '\x73', '\x74', '\x28', '\x2a', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x6c', '\x73', '\x65', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x63', '\x6f', '\x6e', '\x74', '\x65', '\x78', '\x74', '\x2e', '\x72', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x28', '\x29', '\x2e', '\x73', '\x6b', '\x69', '\x70', '\x54', '\x65', '\x73', '\x74', '\x28', '\x2a', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x66', '\x6f', '\x72', '\x20', '\x28', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x20', '\x3a', '\x20', '\x6d', '\x5f', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x73', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x2e', '\x74', '\x65', '\x73', '\x74', '\x73', '\x2e', '\x65', '\x6d', '\x70', '\x74', '\x79', '\x28', '\x29', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x63', '\x6f', '\x6e', '\x74', '\x65', '\x78', '\x74', '\x2e', '\x72', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x28', '\x29', '\x2e', '\x6e', '\x6f', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x69', '\x6e', '\x67', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x73', '\x28', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x2e', '\x6e', '\x61', '\x6d', '\x65', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x6f', '\x74', '\x61', '\x6c', '\x73', '\x2e', '\x65', '\x72', '\x72', '\x6f', '\x72', '\x20', '\x3d', '\x20', '\x2d', '\x31', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x21', '\x69', '\x6e', '\x76', '\x61', '\x6c', '\x69', '\x64', '\x41', '\x72', '\x67', '\x73', '\x2e', '\x65', '\x6d', '\x70', '\x74', '\x79', '\x28', '\x29', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x66', '\x6f', '\x72', '\x20', '\x28', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x69', '\x6e', '\x76', '\x61', '\x6c', '\x69', '\x64', '\x41', '\x72', '\x67', '\x3a', '\x20', '\x69', '\x6e', '\x76', '\x61', '\x6c', '\x69', '\x64', '\x41', '\x72', '\x67', '\x73', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x63', '\x6f', '\x6e', '\x74', '\x65', '\x78', '\x74', '\x2e', '\x72', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x28', '\x29', '\x2e', '\x72', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x49', '\x6e', '\x76', '\x61', '\x6c', '\x69', '\x64', '\x41', '\x72', '\x67', '\x75', '\x6d', '\x65', '\x6e', '\x74', '\x73', '\x28', '\x69', '\x6e', '\x76', '\x61', '\x6c', '\x69', '\x64', '\x41', '\x72', '\x67', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x63', '\x6f', '\x6e', '\x74', '\x65', '\x78', '\x74', '\x2e', '\x74', '\x65', '\x73', '\x74', '\x47', '\x72', '\x6f', '\x75', '\x70', '\x45', '\x6e', '\x64', '\x65', '\x64', '\x28', '\x6d', '\x5f', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x2d', '\x3e', '\x6e', '\x61', '\x6d', '\x65', '\x28', '\x29', '\x2c', '\x20', '\x74', '\x6f', '\x74', '\x61', '\x6c', '\x73', '\x2c', '\x20', '\x31', '\x2c', '\x20', '\x31', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x74', '\x6f', '\x74', '\x61', '\x6c', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x72', '\x69', '\x76', '\x61', '\x74', '\x65', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x75', '\x73', '\x69', '\x6e', '\x67', '\x20', '\x54', '\x65', '\x73', '\x74', '\x73', '\x20', '\x3d', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x65', '\x74', '\x3c', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x2a', '\x3e', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x68', '\x61', '\x72', '\x65', '\x64', '\x5f', '\x70', '\x74', '\x72', '\x3c', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x3e', '\x20', '\x6d', '\x5f', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x52', '\x75', '\x6e', '\x43', '\x6f', '\x6e', '\x74', '\x65', '\x78', '\x74', '\x20', '\x6d', '\x5f', '\x63', '\x6f', '\x6e', '\x74', '\x65', '\x78', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x54', '\x65', '\x73', '\x74', '\x73', '\x20', '\x6d', '\x5f', '\x74', '\x65', '\x73', '\x74', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x54', '\x65', '\x73', '\x74', '\x53', '\x70', '\x65', '\x63', '\x3a', '\x3a', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x73', '\x20', '\x6d', '\x5f', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x61', '\x70', '\x70', '\x6c', '\x79', '\x46', '\x69', '\x6c', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x41', '\x73', '\x54', '\x61', '\x67', '\x73', '\x28', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x49', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x26', '\x20', '\x74', '\x65', '\x73', '\x74', '\x73', '\x20', '\x3d', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x5f', '\x63', '\x61', '\x73', '\x74', '\x3c', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x3e', '\x26', '\x3e', '\x28', '\x67', '\x65', '\x74', '\x41', '\x6c', '\x6c', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x73', '\x53', '\x6f', '\x72', '\x74', '\x65', '\x64', '\x28', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x29', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x66', '\x6f', '\x72', '\x20', '\x28', '\x61', '\x75', '\x74', '\x6f', '\x26', '\x20', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x20', '\x3a', '\x20', '\x74', '\x65', '\x73', '\x74', '\x73', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x74', '\x61', '\x67', '\x73', '\x20', '\x3d', '\x20', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x2e', '\x74', '\x61', '\x67', '\x73', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x66', '\x69', '\x6c', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x3d', '\x20', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x2e', '\x6c', '\x69', '\x6e', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x2e', '\x66', '\x69', '\x6c', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x6c', '\x61', '\x73', '\x74', '\x53', '\x6c', '\x61', '\x73', '\x68', '\x20', '\x3d', '\x20', '\x66', '\x69', '\x6c', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x2e', '\x66', '\x69', '\x6e', '\x64', '\x5f', '\x6c', '\x61', '\x73', '\x74', '\x5f', '\x6f', '\x66', '\x28', '\x22', '\x5c', '\x5c', '\x2f', '\x22', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x6c', '\x61', '\x73', '\x74', '\x53', '\x6c', '\x61', '\x73', '\x68', '\x20', '\x21', '\x3d', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x3a', '\x3a', '\x6e', '\x70', '\x6f', '\x73', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x66', '\x69', '\x6c', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x2e', '\x65', '\x72', '\x61', '\x73', '\x65', '\x28', '\x30', '\x2c', '\x20', '\x6c', '\x61', '\x73', '\x74', '\x53', '\x6c', '\x61', '\x73', '\x68', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x66', '\x69', '\x6c', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x5b', '\x30', '\x5d', '\x20', '\x3d', '\x20', '\x27', '\x23', '\x27', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x6c', '\x61', '\x73', '\x74', '\x44', '\x6f', '\x74', '\x20', '\x3d', '\x20', '\x66', '\x69', '\x6c', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x2e', '\x66', '\x69', '\x6e', '\x64', '\x5f', '\x6c', '\x61', '\x73', '\x74', '\x5f', '\x6f', '\x66', '\x28', '\x27', '\x2e', '\x27', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x6c', '\x61', '\x73', '\x74', '\x44', '\x6f', '\x74', '\x20', '\x21', '\x3d', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x3a', '\x3a', '\x6e', '\x70', '\x6f', '\x73', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x66', '\x69', '\x6c', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x2e', '\x65', '\x72', '\x61', '\x73', '\x65', '\x28', '\x6c', '\x61', '\x73', '\x74', '\x44', '\x6f', '\x74', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x61', '\x67', '\x73', '\x2e', '\x70', '\x75', '\x73', '\x68', '\x5f', '\x62', '\x61', '\x63', '\x6b', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6d', '\x6f', '\x76', '\x65', '\x28', '\x66', '\x69', '\x6c', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x29', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x65', '\x74', '\x54', '\x61', '\x67', '\x73', '\x28', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x2c', '\x20', '\x74', '\x61', '\x67', '\x73', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x61', '\x6e', '\x6f', '\x6e', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x53', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x3a', '\x3a', '\x53', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x28', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x61', '\x6c', '\x72', '\x65', '\x61', '\x64', '\x79', '\x49', '\x6e', '\x73', '\x74', '\x61', '\x6e', '\x74', '\x69', '\x61', '\x74', '\x65', '\x64', '\x20', '\x3d', '\x20', '\x66', '\x61', '\x6c', '\x73', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x61', '\x6c', '\x72', '\x65', '\x61', '\x64', '\x79', '\x49', '\x6e', '\x73', '\x74', '\x61', '\x6e', '\x74', '\x69', '\x61', '\x74', '\x65', '\x64', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x52', '\x59', '\x20', '\x7b', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x45', '\x52', '\x52', '\x4f', '\x52', '\x28', '\x20', '\x22', '\x4f', '\x6e', '\x6c', '\x79', '\x20', '\x6f', '\x6e', '\x65', '\x20', '\x69', '\x6e', '\x73', '\x74', '\x61', '\x6e', '\x63', '\x65', '\x20', '\x6f', '\x66', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x53', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x20', '\x63', '\x61', '\x6e', '\x20', '\x65', '\x76', '\x65', '\x72', '\x20', '\x62', '\x65', '\x20', '\x75', '\x73', '\x65', '\x64', '\x22', '\x20', '\x29', '\x3b', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x41', '\x4c', '\x4c', '\x20', '\x7b', '\x20', '\x67', '\x65', '\x74', '\x4d', '\x75', '\x74', '\x61', '\x62', '\x6c', '\x65', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x48', '\x75', '\x62', '\x28', '\x29', '\x2e', '\x72', '\x65', '\x67', '\x69', '\x73', '\x74', '\x65', '\x72', '\x53', '\x74', '\x61', '\x72', '\x74', '\x75', '\x70', '\x45', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x28', '\x29', '\x3b', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x54', '\x68', '\x65', '\x72', '\x65', '\x20', '\x63', '\x61', '\x6e', '\x6e', '\x6f', '\x74', '\x20', '\x62', '\x65', '\x20', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x20', '\x61', '\x74', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x75', '\x70', '\x20', '\x69', '\x6e', '\x20', '\x6e', '\x6f', '\x2d', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x6d', '\x6f', '\x64', '\x65', '\x2e', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x20', '\x21', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x44', '\x49', '\x53', '\x41', '\x42', '\x4c', '\x45', '\x5f', '\x45', '\x58', '\x43', '\x45', '\x50', '\x54', '\x49', '\x4f', '\x4e', '\x53', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x26', '\x20', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x20', '\x3d', '\x20', '\x67', '\x65', '\x74', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x48', '\x75', '\x62', '\x28', '\x29', '\x2e', '\x67', '\x65', '\x74', '\x53', '\x74', '\x61', '\x72', '\x74', '\x75', '\x70', '\x45', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x28', '\x29', '\x2e', '\x67', '\x65', '\x74', '\x45', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x20', '\x21', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x2e', '\x65', '\x6d', '\x70', '\x74', '\x79', '\x28', '\x29', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x67', '\x65', '\x74', '\x43', '\x75', '\x72', '\x72', '\x65', '\x6e', '\x74', '\x4d', '\x75', '\x74', '\x61', '\x62', '\x6c', '\x65', '\x43', '\x6f', '\x6e', '\x74', '\x65', '\x78', '\x74', '\x28', '\x29', '\x2e', '\x73', '\x65', '\x74', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x28', '\x6d', '\x5f', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x73', '\x74', '\x61', '\x72', '\x74', '\x75', '\x70', '\x45', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x20', '\x3d', '\x20', '\x74', '\x72', '\x75', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x20', '\x63', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x47', '\x75', '\x61', '\x72', '\x64', '\x28', '\x20', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x3a', '\x3a', '\x52', '\x65', '\x64', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x63', '\x65', '\x72', '\x72', '\x28', '\x29', '\x20', '\x3c', '\x3c', '\x20', '\x22', '\x45', '\x72', '\x72', '\x6f', '\x72', '\x73', '\x20', '\x6f', '\x63', '\x63', '\x75', '\x72', '\x72', '\x65', '\x64', '\x20', '\x64', '\x75', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x75', '\x70', '\x21', '\x22', '\x20', '\x3c', '\x3c', '\x20', '\x27', '\x5c', '\x6e', '\x27', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x69', '\x74', '\x65', '\x72', '\x61', '\x74', '\x65', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x20', '\x61', '\x6c', '\x6c', '\x20', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x20', '\x61', '\x6e', '\x64', '\x20', '\x6e', '\x6f', '\x74', '\x69', '\x66', '\x79', '\x20', '\x75', '\x73', '\x65', '\x72', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x66', '\x6f', '\x72', '\x20', '\x28', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x26', '\x20', '\x65', '\x78', '\x5f', '\x70', '\x74', '\x72', '\x20', '\x3a', '\x20', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x72', '\x79', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x72', '\x65', '\x74', '\x68', '\x72', '\x6f', '\x77', '\x5f', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x28', '\x65', '\x78', '\x5f', '\x70', '\x74', '\x72', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x20', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x65', '\x78', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x63', '\x65', '\x72', '\x72', '\x28', '\x29', '\x20', '\x3c', '\x3c', '\x20', '\x43', '\x6f', '\x6c', '\x75', '\x6d', '\x6e', '\x28', '\x20', '\x65', '\x78', '\x2e', '\x77', '\x68', '\x61', '\x74', '\x28', '\x29', '\x20', '\x29', '\x2e', '\x69', '\x6e', '\x64', '\x65', '\x6e', '\x74', '\x28', '\x32', '\x29', '\x20', '\x3c', '\x3c', '\x20', '\x27', '\x5c', '\x6e', '\x27', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x6c', '\x72', '\x65', '\x61', '\x64', '\x79', '\x49', '\x6e', '\x73', '\x74', '\x61', '\x6e', '\x74', '\x69', '\x61', '\x74', '\x65', '\x64', '\x20', '\x3d', '\x20', '\x74', '\x72', '\x75', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x63', '\x6c', '\x69', '\x20', '\x3d', '\x20', '\x6d', '\x61', '\x6b', '\x65', '\x43', '\x6f', '\x6d', '\x6d', '\x61', '\x6e', '\x64', '\x4c', '\x69', '\x6e', '\x65', '\x50', '\x61', '\x72', '\x73', '\x65', '\x72', '\x28', '\x20', '\x6d', '\x5f', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x44', '\x61', '\x74', '\x61', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x53', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x3a', '\x3a', '\x7e', '\x53', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x28', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x63', '\x6c', '\x65', '\x61', '\x6e', '\x55', '\x70', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x53', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x3a', '\x3a', '\x73', '\x68', '\x6f', '\x77', '\x48', '\x65', '\x6c', '\x70', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x63', '\x6f', '\x75', '\x74', '\x28', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x3c', '\x3c', '\x20', '\x22', '\x5c', '\x6e', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x76', '\x22', '\x20', '\x3c', '\x3c', '\x20', '\x6c', '\x69', '\x62', '\x72', '\x61', '\x72', '\x79', '\x56', '\x65', '\x72', '\x73', '\x69', '\x6f', '\x6e', '\x28', '\x29', '\x20', '\x3c', '\x3c', '\x20', '\x22', '\x5c', '\x6e', '\x22', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x3c', '\x3c', '\x20', '\x6d', '\x5f', '\x63', '\x6c', '\x69', '\x20', '\x3c', '\x3c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x65', '\x6e', '\x64', '\x6c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x3c', '\x3c', '\x20', '\x22', '\x46', '\x6f', '\x72', '\x20', '\x6d', '\x6f', '\x72', '\x65', '\x20', '\x64', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x65', '\x64', '\x20', '\x75', '\x73', '\x61', '\x67', '\x65', '\x20', '\x70', '\x6c', '\x65', '\x61', '\x73', '\x65', '\x20', '\x73', '\x65', '\x65', '\x20', '\x74', '\x68', '\x65', '\x20', '\x70', '\x72', '\x6f', '\x6a', '\x65', '\x63', '\x74', '\x20', '\x64', '\x6f', '\x63', '\x73', '\x5c', '\x6e', '\x22', '\x20', '\x3c', '\x3c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x65', '\x6e', '\x64', '\x6c', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x53', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x3a', '\x3a', '\x6c', '\x69', '\x62', '\x49', '\x64', '\x65', '\x6e', '\x74', '\x69', '\x66', '\x79', '\x28', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x63', '\x6f', '\x75', '\x74', '\x28', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x3c', '\x3c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6c', '\x65', '\x66', '\x74', '\x20', '\x3c', '\x3c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x65', '\x74', '\x77', '\x28', '\x31', '\x36', '\x29', '\x20', '\x3c', '\x3c', '\x20', '\x22', '\x64', '\x65', '\x73', '\x63', '\x72', '\x69', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x3a', '\x20', '\x22', '\x20', '\x3c', '\x3c', '\x20', '\x22', '\x41', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x32', '\x20', '\x74', '\x65', '\x73', '\x74', '\x20', '\x65', '\x78', '\x65', '\x63', '\x75', '\x74', '\x61', '\x62', '\x6c', '\x65', '\x5c', '\x6e', '\x22', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x3c', '\x3c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6c', '\x65', '\x66', '\x74', '\x20', '\x3c', '\x3c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x65', '\x74', '\x77', '\x28', '\x31', '\x36', '\x29', '\x20', '\x3c', '\x3c', '\x20', '\x22', '\x63', '\x61', '\x74', '\x65', '\x67', '\x6f', '\x72', '\x79', '\x3a', '\x20', '\x22', '\x20', '\x3c', '\x3c', '\x20', '\x22', '\x74', '\x65', '\x73', '\x74', '\x66', '\x72', '\x61', '\x6d', '\x65', '\x77', '\x6f', '\x72', '\x6b', '\x5c', '\x6e', '\x22', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x3c', '\x3c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6c', '\x65', '\x66', '\x74', '\x20', '\x3c', '\x3c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x65', '\x74', '\x77', '\x28', '\x31', '\x36', '\x29', '\x20', '\x3c', '\x3c', '\x20', '\x22', '\x66', '\x72', '\x61', '\x6d', '\x65', '\x77', '\x6f', '\x72', '\x6b', '\x3a', '\x20', '\x22', '\x20', '\x3c', '\x3c', '\x20', '\x22', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x54', '\x65', '\x73', '\x74', '\x5c', '\x6e', '\x22', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x3c', '\x3c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6c', '\x65', '\x66', '\x74', '\x20', '\x3c', '\x3c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x65', '\x74', '\x77', '\x28', '\x31', '\x36', '\x29', '\x20', '\x3c', '\x3c', '\x20', '\x22', '\x76', '\x65', '\x72', '\x73', '\x69', '\x6f', '\x6e', '\x3a', '\x20', '\x22', '\x20', '\x3c', '\x3c', '\x20', '\x6c', '\x69', '\x62', '\x72', '\x61', '\x72', '\x79', '\x56', '\x65', '\x72', '\x73', '\x69', '\x6f', '\x6e', '\x28', '\x29', '\x20', '\x3c', '\x3c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x65', '\x6e', '\x64', '\x6c', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x69', '\x6e', '\x74', '\x20', '\x53', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x3a', '\x3a', '\x61', '\x70', '\x70', '\x6c', '\x79', '\x43', '\x6f', '\x6d', '\x6d', '\x61', '\x6e', '\x64', '\x4c', '\x69', '\x6e', '\x65', '\x28', '\x20', '\x69', '\x6e', '\x74', '\x20', '\x61', '\x72', '\x67', '\x63', '\x2c', '\x20', '\x63', '\x68', '\x61', '\x72', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x2a', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x2a', '\x20', '\x61', '\x72', '\x67', '\x76', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x6d', '\x5f', '\x73', '\x74', '\x61', '\x72', '\x74', '\x75', '\x70', '\x45', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x31', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x20', '\x3d', '\x20', '\x6d', '\x5f', '\x63', '\x6c', '\x69', '\x2e', '\x70', '\x61', '\x72', '\x73', '\x65', '\x28', '\x20', '\x63', '\x6c', '\x61', '\x72', '\x61', '\x3a', '\x3a', '\x41', '\x72', '\x67', '\x73', '\x28', '\x20', '\x61', '\x72', '\x67', '\x63', '\x2c', '\x20', '\x61', '\x72', '\x67', '\x76', '\x20', '\x29', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x21', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x67', '\x65', '\x74', '\x43', '\x75', '\x72', '\x72', '\x65', '\x6e', '\x74', '\x4d', '\x75', '\x74', '\x61', '\x62', '\x6c', '\x65', '\x43', '\x6f', '\x6e', '\x74', '\x65', '\x78', '\x74', '\x28', '\x29', '\x2e', '\x73', '\x65', '\x74', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x28', '\x6d', '\x5f', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x63', '\x65', '\x72', '\x72', '\x28', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x3c', '\x3c', '\x20', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x28', '\x20', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x3a', '\x3a', '\x52', '\x65', '\x64', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x3c', '\x3c', '\x20', '\x22', '\x5c', '\x6e', '\x45', '\x72', '\x72', '\x6f', '\x72', '\x28', '\x73', '\x29', '\x20', '\x69', '\x6e', '\x20', '\x69', '\x6e', '\x70', '\x75', '\x74', '\x3a', '\x5c', '\x6e', '\x22', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x3c', '\x3c', '\x20', '\x43', '\x6f', '\x6c', '\x75', '\x6d', '\x6e', '\x28', '\x20', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x2e', '\x65', '\x72', '\x72', '\x6f', '\x72', '\x4d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x28', '\x29', '\x20', '\x29', '\x2e', '\x69', '\x6e', '\x64', '\x65', '\x6e', '\x74', '\x28', '\x20', '\x32', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x3c', '\x3c', '\x20', '\x22', '\x5c', '\x6e', '\x5c', '\x6e', '\x22', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x63', '\x65', '\x72', '\x72', '\x28', '\x29', '\x20', '\x3c', '\x3c', '\x20', '\x22', '\x52', '\x75', '\x6e', '\x20', '\x77', '\x69', '\x74', '\x68', '\x20', '\x2d', '\x3f', '\x20', '\x66', '\x6f', '\x72', '\x20', '\x75', '\x73', '\x61', '\x67', '\x65', '\x5c', '\x6e', '\x22', '\x20', '\x3c', '\x3c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x65', '\x6e', '\x64', '\x6c', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x4d', '\x61', '\x78', '\x45', '\x78', '\x69', '\x74', '\x43', '\x6f', '\x64', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x6d', '\x5f', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x44', '\x61', '\x74', '\x61', '\x2e', '\x73', '\x68', '\x6f', '\x77', '\x48', '\x65', '\x6c', '\x70', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x68', '\x6f', '\x77', '\x48', '\x65', '\x6c', '\x70', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x6d', '\x5f', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x44', '\x61', '\x74', '\x61', '\x2e', '\x6c', '\x69', '\x62', '\x49', '\x64', '\x65', '\x6e', '\x74', '\x69', '\x66', '\x79', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6c', '\x69', '\x62', '\x49', '\x64', '\x65', '\x6e', '\x74', '\x69', '\x66', '\x79', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x2e', '\x72', '\x65', '\x73', '\x65', '\x74', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x57', '\x43', '\x48', '\x41', '\x52', '\x29', '\x20', '\x26', '\x26', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x5f', '\x57', '\x49', '\x4e', '\x33', '\x32', '\x29', '\x20', '\x26', '\x26', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x55', '\x4e', '\x49', '\x43', '\x4f', '\x44', '\x45', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x69', '\x6e', '\x74', '\x20', '\x53', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x3a', '\x3a', '\x61', '\x70', '\x70', '\x6c', '\x79', '\x43', '\x6f', '\x6d', '\x6d', '\x61', '\x6e', '\x64', '\x4c', '\x69', '\x6e', '\x65', '\x28', '\x20', '\x69', '\x6e', '\x74', '\x20', '\x61', '\x72', '\x67', '\x63', '\x2c', '\x20', '\x77', '\x63', '\x68', '\x61', '\x72', '\x5f', '\x74', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x2a', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x2a', '\x20', '\x61', '\x72', '\x67', '\x76', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x68', '\x61', '\x72', '\x20', '\x2a', '\x2a', '\x75', '\x74', '\x66', '\x38', '\x41', '\x72', '\x67', '\x76', '\x20', '\x3d', '\x20', '\x6e', '\x65', '\x77', '\x20', '\x63', '\x68', '\x61', '\x72', '\x20', '\x2a', '\x5b', '\x20', '\x61', '\x72', '\x67', '\x63', '\x20', '\x5d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x66', '\x6f', '\x72', '\x20', '\x28', '\x20', '\x69', '\x6e', '\x74', '\x20', '\x69', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x20', '\x69', '\x20', '\x3c', '\x20', '\x61', '\x72', '\x67', '\x63', '\x3b', '\x20', '\x2b', '\x2b', '\x69', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x6e', '\x74', '\x20', '\x62', '\x75', '\x66', '\x53', '\x69', '\x7a', '\x65', '\x20', '\x3d', '\x20', '\x57', '\x69', '\x64', '\x65', '\x43', '\x68', '\x61', '\x72', '\x54', '\x6f', '\x4d', '\x75', '\x6c', '\x74', '\x69', '\x42', '\x79', '\x74', '\x65', '\x28', '\x20', '\x43', '\x50', '\x5f', '\x55', '\x54', '\x46', '\x38', '\x2c', '\x20', '\x30', '\x2c', '\x20', '\x61', '\x72', '\x67', '\x76', '\x5b', '\x69', '\x5d', '\x2c', '\x20', '\x2d', '\x31', '\x2c', '\x20', '\x4e', '\x55', '\x4c', '\x4c', '\x2c', '\x20', '\x30', '\x2c', '\x20', '\x4e', '\x55', '\x4c', '\x4c', '\x2c', '\x20', '\x4e', '\x55', '\x4c', '\x4c', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x75', '\x74', '\x66', '\x38', '\x41', '\x72', '\x67', '\x76', '\x5b', '\x20', '\x69', '\x20', '\x5d', '\x20', '\x3d', '\x20', '\x6e', '\x65', '\x77', '\x20', '\x63', '\x68', '\x61', '\x72', '\x5b', '\x20', '\x62', '\x75', '\x66', '\x53', '\x69', '\x7a', '\x65', '\x20', '\x5d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x57', '\x69', '\x64', '\x65', '\x43', '\x68', '\x61', '\x72', '\x54', '\x6f', '\x4d', '\x75', '\x6c', '\x74', '\x69', '\x42', '\x79', '\x74', '\x65', '\x28', '\x20', '\x43', '\x50', '\x5f', '\x55', '\x54', '\x46', '\x38', '\x2c', '\x20', '\x30', '\x2c', '\x20', '\x61', '\x72', '\x67', '\x76', '\x5b', '\x69', '\x5d', '\x2c', '\x20', '\x2d', '\x31', '\x2c', '\x20', '\x75', '\x74', '\x66', '\x38', '\x41', '\x72', '\x67', '\x76', '\x5b', '\x69', '\x5d', '\x2c', '\x20', '\x62', '\x75', '\x66', '\x53', '\x69', '\x7a', '\x65', '\x2c', '\x20', '\x4e', '\x55', '\x4c', '\x4c', '\x2c', '\x20', '\x4e', '\x55', '\x4c', '\x4c', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x6e', '\x74', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x43', '\x6f', '\x64', '\x65', '\x20', '\x3d', '\x20', '\x61', '\x70', '\x70', '\x6c', '\x79', '\x43', '\x6f', '\x6d', '\x6d', '\x61', '\x6e', '\x64', '\x4c', '\x69', '\x6e', '\x65', '\x28', '\x20', '\x61', '\x72', '\x67', '\x63', '\x2c', '\x20', '\x75', '\x74', '\x66', '\x38', '\x41', '\x72', '\x67', '\x76', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x66', '\x6f', '\x72', '\x20', '\x28', '\x20', '\x69', '\x6e', '\x74', '\x20', '\x69', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x20', '\x69', '\x20', '\x3c', '\x20', '\x61', '\x72', '\x67', '\x63', '\x3b', '\x20', '\x2b', '\x2b', '\x69', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x64', '\x65', '\x6c', '\x65', '\x74', '\x65', '\x20', '\x5b', '\x5d', '\x20', '\x75', '\x74', '\x66', '\x38', '\x41', '\x72', '\x67', '\x76', '\x5b', '\x20', '\x69', '\x20', '\x5d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x64', '\x65', '\x6c', '\x65', '\x74', '\x65', '\x20', '\x5b', '\x5d', '\x20', '\x75', '\x74', '\x66', '\x38', '\x41', '\x72', '\x67', '\x76', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x43', '\x6f', '\x64', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x53', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x3a', '\x3a', '\x75', '\x73', '\x65', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x44', '\x61', '\x74', '\x61', '\x28', '\x20', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x44', '\x61', '\x74', '\x61', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x44', '\x61', '\x74', '\x61', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x44', '\x61', '\x74', '\x61', '\x20', '\x3d', '\x20', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x44', '\x61', '\x74', '\x61', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x2e', '\x72', '\x65', '\x73', '\x65', '\x74', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x69', '\x6e', '\x74', '\x20', '\x53', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x3a', '\x3a', '\x72', '\x75', '\x6e', '\x28', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x28', '\x20', '\x6d', '\x5f', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x44', '\x61', '\x74', '\x61', '\x2e', '\x77', '\x61', '\x69', '\x74', '\x46', '\x6f', '\x72', '\x4b', '\x65', '\x79', '\x70', '\x72', '\x65', '\x73', '\x73', '\x20', '\x26', '\x20', '\x57', '\x61', '\x69', '\x74', '\x46', '\x6f', '\x72', '\x4b', '\x65', '\x79', '\x70', '\x72', '\x65', '\x73', '\x73', '\x3a', '\x3a', '\x42', '\x65', '\x66', '\x6f', '\x72', '\x65', '\x53', '\x74', '\x61', '\x72', '\x74', '\x20', '\x29', '\x20', '\x21', '\x3d', '\x20', '\x30', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x63', '\x6f', '\x75', '\x74', '\x28', '\x29', '\x20', '\x3c', '\x3c', '\x20', '\x22', '\x2e', '\x2e', '\x2e', '\x77', '\x61', '\x69', '\x74', '\x69', '\x6e', '\x67', '\x20', '\x66', '\x6f', '\x72', '\x20', '\x65', '\x6e', '\x74', '\x65', '\x72', '\x2f', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x62', '\x65', '\x66', '\x6f', '\x72', '\x65', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x69', '\x6e', '\x67', '\x22', '\x20', '\x3c', '\x3c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x65', '\x6e', '\x64', '\x6c', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x5f', '\x63', '\x61', '\x73', '\x74', '\x3c', '\x76', '\x6f', '\x69', '\x64', '\x3e', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x67', '\x65', '\x74', '\x63', '\x68', '\x61', '\x72', '\x28', '\x29', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x6e', '\x74', '\x20', '\x65', '\x78', '\x69', '\x74', '\x43', '\x6f', '\x64', '\x65', '\x20', '\x3d', '\x20', '\x72', '\x75', '\x6e', '\x49', '\x6e', '\x74', '\x65', '\x72', '\x6e', '\x61', '\x6c', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x28', '\x20', '\x6d', '\x5f', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x44', '\x61', '\x74', '\x61', '\x2e', '\x77', '\x61', '\x69', '\x74', '\x46', '\x6f', '\x72', '\x4b', '\x65', '\x79', '\x70', '\x72', '\x65', '\x73', '\x73', '\x20', '\x26', '\x20', '\x57', '\x61', '\x69', '\x74', '\x46', '\x6f', '\x72', '\x4b', '\x65', '\x79', '\x70', '\x72', '\x65', '\x73', '\x73', '\x3a', '\x3a', '\x42', '\x65', '\x66', '\x6f', '\x72', '\x65', '\x45', '\x78', '\x69', '\x74', '\x20', '\x29', '\x20', '\x21', '\x3d', '\x20', '\x30', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x63', '\x6f', '\x75', '\x74', '\x28', '\x29', '\x20', '\x3c', '\x3c', '\x20', '\x22', '\x2e', '\x2e', '\x2e', '\x77', '\x61', '\x69', '\x74', '\x69', '\x6e', '\x67', '\x20', '\x66', '\x6f', '\x72', '\x20', '\x65', '\x6e', '\x74', '\x65', '\x72', '\x2f', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x62', '\x65', '\x66', '\x6f', '\x72', '\x65', '\x20', '\x65', '\x78', '\x69', '\x74', '\x69', '\x6e', '\x67', '\x2c', '\x20', '\x77', '\x69', '\x74', '\x68', '\x20', '\x63', '\x6f', '\x64', '\x65', '\x3a', '\x20', '\x22', '\x20', '\x3c', '\x3c', '\x20', '\x65', '\x78', '\x69', '\x74', '\x43', '\x6f', '\x64', '\x65', '\x20', '\x3c', '\x3c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x65', '\x6e', '\x64', '\x6c', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x5f', '\x63', '\x61', '\x73', '\x74', '\x3c', '\x76', '\x6f', '\x69', '\x64', '\x3e', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x67', '\x65', '\x74', '\x63', '\x68', '\x61', '\x72', '\x28', '\x29', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x65', '\x78', '\x69', '\x74', '\x43', '\x6f', '\x64', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6c', '\x61', '\x72', '\x61', '\x3a', '\x3a', '\x50', '\x61', '\x72', '\x73', '\x65', '\x72', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x53', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x3a', '\x3a', '\x63', '\x6c', '\x69', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6d', '\x5f', '\x63', '\x6c', '\x69', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x53', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x3a', '\x3a', '\x63', '\x6c', '\x69', '\x28', '\x20', '\x63', '\x6c', '\x61', '\x72', '\x61', '\x3a', '\x3a', '\x50', '\x61', '\x72', '\x73', '\x65', '\x72', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6e', '\x65', '\x77', '\x50', '\x61', '\x72', '\x73', '\x65', '\x72', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x63', '\x6c', '\x69', '\x20', '\x3d', '\x20', '\x6e', '\x65', '\x77', '\x50', '\x61', '\x72', '\x73', '\x65', '\x72', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x44', '\x61', '\x74', '\x61', '\x26', '\x20', '\x53', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x3a', '\x3a', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x44', '\x61', '\x74', '\x61', '\x28', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6d', '\x5f', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x44', '\x61', '\x74', '\x61', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x26', '\x20', '\x53', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x3a', '\x3a', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x28', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x21', '\x6d', '\x5f', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x20', '\x3d', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6d', '\x61', '\x6b', '\x65', '\x5f', '\x73', '\x68', '\x61', '\x72', '\x65', '\x64', '\x3c', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x3e', '\x28', '\x20', '\x6d', '\x5f', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x44', '\x61', '\x74', '\x61', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x2a', '\x6d', '\x5f', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x69', '\x6e', '\x74', '\x20', '\x53', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x3a', '\x3a', '\x72', '\x75', '\x6e', '\x49', '\x6e', '\x74', '\x65', '\x72', '\x6e', '\x61', '\x6c', '\x28', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x6d', '\x5f', '\x73', '\x74', '\x61', '\x72', '\x74', '\x75', '\x70', '\x45', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x31', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x6d', '\x5f', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x44', '\x61', '\x74', '\x61', '\x2e', '\x73', '\x68', '\x6f', '\x77', '\x48', '\x65', '\x6c', '\x70', '\x20', '\x7c', '\x7c', '\x20', '\x6d', '\x5f', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x44', '\x61', '\x74', '\x61', '\x2e', '\x6c', '\x69', '\x62', '\x49', '\x64', '\x65', '\x6e', '\x74', '\x69', '\x66', '\x79', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x52', '\x59', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x28', '\x29', '\x3b', '\x20', '\x2f', '\x2f', '\x20', '\x46', '\x6f', '\x72', '\x63', '\x65', '\x20', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x20', '\x74', '\x6f', '\x20', '\x62', '\x65', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x65', '\x64', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x65', '\x65', '\x64', '\x52', '\x6e', '\x67', '\x28', '\x20', '\x2a', '\x6d', '\x5f', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x6d', '\x5f', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x44', '\x61', '\x74', '\x61', '\x2e', '\x66', '\x69', '\x6c', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x41', '\x73', '\x54', '\x61', '\x67', '\x73', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x70', '\x70', '\x6c', '\x79', '\x46', '\x69', '\x6c', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x41', '\x73', '\x54', '\x61', '\x67', '\x73', '\x28', '\x20', '\x2a', '\x6d', '\x5f', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x48', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x20', '\x6c', '\x69', '\x73', '\x74', '\x20', '\x72', '\x65', '\x71', '\x75', '\x65', '\x73', '\x74', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x4f', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x3c', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x69', '\x7a', '\x65', '\x5f', '\x74', '\x3e', '\x20', '\x6c', '\x69', '\x73', '\x74', '\x65', '\x64', '\x20', '\x3d', '\x20', '\x6c', '\x69', '\x73', '\x74', '\x28', '\x20', '\x6d', '\x5f', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x20', '\x29', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x5f', '\x63', '\x61', '\x73', '\x74', '\x3c', '\x69', '\x6e', '\x74', '\x3e', '\x28', '\x20', '\x2a', '\x6c', '\x69', '\x73', '\x74', '\x65', '\x64', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x54', '\x65', '\x73', '\x74', '\x47', '\x72', '\x6f', '\x75', '\x70', '\x20', '\x74', '\x65', '\x73', '\x74', '\x73', '\x20', '\x7b', '\x20', '\x6d', '\x5f', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x74', '\x6f', '\x74', '\x61', '\x6c', '\x73', '\x20', '\x3d', '\x20', '\x74', '\x65', '\x73', '\x74', '\x73', '\x2e', '\x65', '\x78', '\x65', '\x63', '\x75', '\x74', '\x65', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x6d', '\x5f', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x2d', '\x3e', '\x77', '\x61', '\x72', '\x6e', '\x41', '\x62', '\x6f', '\x75', '\x74', '\x4e', '\x6f', '\x54', '\x65', '\x73', '\x74', '\x73', '\x28', '\x29', '\x20', '\x26', '\x26', '\x20', '\x74', '\x6f', '\x74', '\x61', '\x6c', '\x73', '\x2e', '\x65', '\x72', '\x72', '\x6f', '\x72', '\x20', '\x3d', '\x3d', '\x20', '\x2d', '\x31', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x32', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x4e', '\x6f', '\x74', '\x65', '\x20', '\x74', '\x68', '\x61', '\x74', '\x20', '\x6f', '\x6e', '\x20', '\x75', '\x6e', '\x69', '\x63', '\x65', '\x73', '\x20', '\x6f', '\x6e', '\x6c', '\x79', '\x20', '\x74', '\x68', '\x65', '\x20', '\x6c', '\x6f', '\x77', '\x65', '\x72', '\x20', '\x38', '\x20', '\x62', '\x69', '\x74', '\x73', '\x20', '\x61', '\x72', '\x65', '\x20', '\x75', '\x73', '\x75', '\x61', '\x6c', '\x6c', '\x79', '\x20', '\x75', '\x73', '\x65', '\x64', '\x2c', '\x20', '\x63', '\x6c', '\x61', '\x6d', '\x70', '\x69', '\x6e', '\x67', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x74', '\x68', '\x65', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x20', '\x74', '\x6f', '\x20', '\x32', '\x35', '\x35', '\x20', '\x70', '\x72', '\x65', '\x76', '\x65', '\x6e', '\x74', '\x73', '\x20', '\x66', '\x61', '\x6c', '\x73', '\x65', '\x20', '\x6e', '\x65', '\x67', '\x61', '\x74', '\x69', '\x76', '\x65', '\x20', '\x77', '\x68', '\x65', '\x6e', '\x20', '\x73', '\x6f', '\x6d', '\x65', '\x20', '\x6d', '\x75', '\x6c', '\x74', '\x69', '\x70', '\x6c', '\x65', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x6f', '\x66', '\x20', '\x32', '\x35', '\x36', '\x20', '\x74', '\x65', '\x73', '\x74', '\x73', '\x20', '\x68', '\x61', '\x73', '\x20', '\x66', '\x61', '\x69', '\x6c', '\x65', '\x64', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6d', '\x69', '\x6e', '\x29', '\x20', '\x28', '\x4d', '\x61', '\x78', '\x45', '\x78', '\x69', '\x74', '\x43', '\x6f', '\x64', '\x65', '\x2c', '\x20', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6d', '\x61', '\x78', '\x29', '\x20', '\x28', '\x74', '\x6f', '\x74', '\x61', '\x6c', '\x73', '\x2e', '\x65', '\x72', '\x72', '\x6f', '\x72', '\x2c', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x5f', '\x63', '\x61', '\x73', '\x74', '\x3c', '\x69', '\x6e', '\x74', '\x3e', '\x28', '\x74', '\x6f', '\x74', '\x61', '\x6c', '\x73', '\x2e', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x2e', '\x66', '\x61', '\x69', '\x6c', '\x65', '\x64', '\x29', '\x29', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x20', '\x21', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x44', '\x49', '\x53', '\x41', '\x42', '\x4c', '\x45', '\x5f', '\x45', '\x58', '\x43', '\x45', '\x50', '\x54', '\x49', '\x4f', '\x4e', '\x53', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x26', '\x20', '\x65', '\x78', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x63', '\x65', '\x72', '\x72', '\x28', '\x29', '\x20', '\x3c', '\x3c', '\x20', '\x65', '\x78', '\x2e', '\x77', '\x68', '\x61', '\x74', '\x28', '\x29', '\x20', '\x3c', '\x3c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x65', '\x6e', '\x64', '\x6c', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x4d', '\x61', '\x78', '\x45', '\x78', '\x69', '\x74', '\x43', '\x6f', '\x64', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x73', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x2e', '\x63', '\x70', '\x70', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x73', '\x69', '\x6e', '\x67', '\x6c', '\x65', '\x74', '\x6f', '\x6e', '\x73', '\x2e', '\x63', '\x70', '\x70', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3e', '\x0d', '\x0a', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x67', '\x65', '\x74', '\x53', '\x69', '\x6e', '\x67', '\x6c', '\x65', '\x74', '\x6f', '\x6e', '\x73', '\x28', '\x29', '\x20', '\x2d', '\x3e', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x49', '\x53', '\x69', '\x6e', '\x67', '\x6c', '\x65', '\x74', '\x6f', '\x6e', '\x2a', '\x3e', '\x2a', '\x26', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x49', '\x53', '\x69', '\x6e', '\x67', '\x6c', '\x65', '\x74', '\x6f', '\x6e', '\x2a', '\x3e', '\x2a', '\x20', '\x67', '\x5f', '\x73', '\x69', '\x6e', '\x67', '\x6c', '\x65', '\x74', '\x6f', '\x6e', '\x73', '\x20', '\x3d', '\x20', '\x6e', '\x75', '\x6c', '\x6c', '\x70', '\x74', '\x72', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x21', '\x67', '\x5f', '\x73', '\x69', '\x6e', '\x67', '\x6c', '\x65', '\x74', '\x6f', '\x6e', '\x73', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x67', '\x5f', '\x73', '\x69', '\x6e', '\x67', '\x6c', '\x65', '\x74', '\x6f', '\x6e', '\x73', '\x20', '\x3d', '\x20', '\x6e', '\x65', '\x77', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x49', '\x53', '\x69', '\x6e', '\x67', '\x6c', '\x65', '\x74', '\x6f', '\x6e', '\x2a', '\x3e', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x67', '\x5f', '\x73', '\x69', '\x6e', '\x67', '\x6c', '\x65', '\x74', '\x6f', '\x6e', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x49', '\x53', '\x69', '\x6e', '\x67', '\x6c', '\x65', '\x74', '\x6f', '\x6e', '\x3a', '\x3a', '\x7e', '\x49', '\x53', '\x69', '\x6e', '\x67', '\x6c', '\x65', '\x74', '\x6f', '\x6e', '\x28', '\x29', '\x20', '\x7b', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x61', '\x64', '\x64', '\x53', '\x69', '\x6e', '\x67', '\x6c', '\x65', '\x74', '\x6f', '\x6e', '\x28', '\x49', '\x53', '\x69', '\x6e', '\x67', '\x6c', '\x65', '\x74', '\x6f', '\x6e', '\x2a', '\x20', '\x73', '\x69', '\x6e', '\x67', '\x6c', '\x65', '\x74', '\x6f', '\x6e', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x67', '\x65', '\x74', '\x53', '\x69', '\x6e', '\x67', '\x6c', '\x65', '\x74', '\x6f', '\x6e', '\x73', '\x28', '\x29', '\x2d', '\x3e', '\x70', '\x75', '\x73', '\x68', '\x5f', '\x62', '\x61', '\x63', '\x6b', '\x28', '\x20', '\x73', '\x69', '\x6e', '\x67', '\x6c', '\x65', '\x74', '\x6f', '\x6e', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x63', '\x6c', '\x65', '\x61', '\x6e', '\x75', '\x70', '\x53', '\x69', '\x6e', '\x67', '\x6c', '\x65', '\x74', '\x6f', '\x6e', '\x73', '\x28', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x26', '\x20', '\x73', '\x69', '\x6e', '\x67', '\x6c', '\x65', '\x74', '\x6f', '\x6e', '\x73', '\x20', '\x3d', '\x20', '\x67', '\x65', '\x74', '\x53', '\x69', '\x6e', '\x67', '\x6c', '\x65', '\x74', '\x6f', '\x6e', '\x73', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x66', '\x6f', '\x72', '\x28', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x73', '\x69', '\x6e', '\x67', '\x6c', '\x65', '\x74', '\x6f', '\x6e', '\x20', '\x3a', '\x20', '\x2a', '\x73', '\x69', '\x6e', '\x67', '\x6c', '\x65', '\x74', '\x6f', '\x6e', '\x73', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x64', '\x65', '\x6c', '\x65', '\x74', '\x65', '\x20', '\x73', '\x69', '\x6e', '\x67', '\x6c', '\x65', '\x74', '\x6f', '\x6e', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x64', '\x65', '\x6c', '\x65', '\x74', '\x65', '\x20', '\x73', '\x69', '\x6e', '\x67', '\x6c', '\x65', '\x74', '\x6f', '\x6e', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x69', '\x6e', '\x67', '\x6c', '\x65', '\x74', '\x6f', '\x6e', '\x73', '\x20', '\x3d', '\x20', '\x6e', '\x75', '\x6c', '\x6c', '\x70', '\x74', '\x72', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x73', '\x69', '\x6e', '\x67', '\x6c', '\x65', '\x74', '\x6f', '\x6e', '\x73', '\x2e', '\x63', '\x70', '\x70', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x73', '\x74', '\x61', '\x72', '\x74', '\x75', '\x70', '\x5f', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x5f', '\x72', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x2e', '\x63', '\x70', '\x70', '\x0d', '\x0a', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x53', '\x74', '\x61', '\x72', '\x74', '\x75', '\x70', '\x45', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x3a', '\x3a', '\x61', '\x64', '\x64', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x5f', '\x70', '\x74', '\x72', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x29', '\x20', '\x6e', '\x6f', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x52', '\x59', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x2e', '\x70', '\x75', '\x73', '\x68', '\x5f', '\x62', '\x61', '\x63', '\x6b', '\x28', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x41', '\x4c', '\x4c', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x49', '\x66', '\x20', '\x77', '\x65', '\x20', '\x72', '\x75', '\x6e', '\x20', '\x6f', '\x75', '\x74', '\x20', '\x6f', '\x66', '\x20', '\x6d', '\x65', '\x6d', '\x6f', '\x72', '\x79', '\x20', '\x64', '\x75', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x2d', '\x75', '\x70', '\x20', '\x74', '\x68', '\x65', '\x72', '\x65', '\x27', '\x73', '\x20', '\x72', '\x65', '\x61', '\x6c', '\x6c', '\x79', '\x20', '\x6e', '\x6f', '\x74', '\x20', '\x61', '\x20', '\x6c', '\x6f', '\x74', '\x20', '\x6d', '\x6f', '\x72', '\x65', '\x20', '\x77', '\x65', '\x20', '\x63', '\x61', '\x6e', '\x20', '\x64', '\x6f', '\x20', '\x61', '\x62', '\x6f', '\x75', '\x74', '\x20', '\x69', '\x74', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x74', '\x65', '\x72', '\x6d', '\x69', '\x6e', '\x61', '\x74', '\x65', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x5f', '\x70', '\x74', '\x72', '\x3e', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x53', '\x74', '\x61', '\x72', '\x74', '\x75', '\x70', '\x45', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x3a', '\x3a', '\x67', '\x65', '\x74', '\x45', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x6e', '\x6f', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6d', '\x5f', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x73', '\x74', '\x61', '\x72', '\x74', '\x75', '\x70', '\x5f', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x5f', '\x72', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x2e', '\x63', '\x70', '\x70', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x2e', '\x63', '\x70', '\x70', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x63', '\x73', '\x74', '\x64', '\x69', '\x6f', '\x3e', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x69', '\x6f', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x3e', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x66', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x3e', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x73', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x3e', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3e', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x6d', '\x65', '\x6d', '\x6f', '\x72', '\x79', '\x3e', '\x0d', '\x0a', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x49', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x3a', '\x3a', '\x7e', '\x49', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x28', '\x29', '\x20', '\x3d', '\x20', '\x64', '\x65', '\x66', '\x61', '\x75', '\x6c', '\x74', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x44', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x20', '\x7b', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x57', '\x72', '\x69', '\x74', '\x65', '\x72', '\x46', '\x2c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x69', '\x7a', '\x65', '\x5f', '\x74', '\x20', '\x62', '\x75', '\x66', '\x66', '\x65', '\x72', '\x53', '\x69', '\x7a', '\x65', '\x3d', '\x32', '\x35', '\x36', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x20', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x42', '\x75', '\x66', '\x49', '\x6d', '\x70', '\x6c', '\x20', '\x3a', '\x20', '\x70', '\x75', '\x62', '\x6c', '\x69', '\x63', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x62', '\x75', '\x66', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x68', '\x61', '\x72', '\x20', '\x64', '\x61', '\x74', '\x61', '\x5b', '\x62', '\x75', '\x66', '\x66', '\x65', '\x72', '\x53', '\x69', '\x7a', '\x65', '\x5d', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x57', '\x72', '\x69', '\x74', '\x65', '\x72', '\x46', '\x20', '\x6d', '\x5f', '\x77', '\x72', '\x69', '\x74', '\x65', '\x72', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x75', '\x62', '\x6c', '\x69', '\x63', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x42', '\x75', '\x66', '\x49', '\x6d', '\x70', '\x6c', '\x28', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x65', '\x74', '\x70', '\x28', '\x20', '\x64', '\x61', '\x74', '\x61', '\x2c', '\x20', '\x64', '\x61', '\x74', '\x61', '\x20', '\x2b', '\x20', '\x73', '\x69', '\x7a', '\x65', '\x6f', '\x66', '\x28', '\x64', '\x61', '\x74', '\x61', '\x29', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7e', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x42', '\x75', '\x66', '\x49', '\x6d', '\x70', '\x6c', '\x28', '\x29', '\x20', '\x6e', '\x6f', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x42', '\x75', '\x66', '\x49', '\x6d', '\x70', '\x6c', '\x3a', '\x3a', '\x73', '\x79', '\x6e', '\x63', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x72', '\x69', '\x76', '\x61', '\x74', '\x65', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x6e', '\x74', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x66', '\x6c', '\x6f', '\x77', '\x28', '\x20', '\x69', '\x6e', '\x74', '\x20', '\x63', '\x20', '\x29', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x79', '\x6e', '\x63', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x63', '\x20', '\x21', '\x3d', '\x20', '\x45', '\x4f', '\x46', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x70', '\x62', '\x61', '\x73', '\x65', '\x28', '\x29', '\x20', '\x3d', '\x3d', '\x20', '\x65', '\x70', '\x70', '\x74', '\x72', '\x28', '\x29', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x77', '\x72', '\x69', '\x74', '\x65', '\x72', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x28', '\x20', '\x31', '\x2c', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x5f', '\x63', '\x61', '\x73', '\x74', '\x3c', '\x63', '\x68', '\x61', '\x72', '\x3e', '\x28', '\x20', '\x63', '\x20', '\x29', '\x20', '\x29', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x6c', '\x73', '\x65', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x70', '\x75', '\x74', '\x63', '\x28', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x5f', '\x63', '\x61', '\x73', '\x74', '\x3c', '\x63', '\x68', '\x61', '\x72', '\x3e', '\x28', '\x20', '\x63', '\x20', '\x29', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x6e', '\x74', '\x20', '\x73', '\x79', '\x6e', '\x63', '\x28', '\x29', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x70', '\x62', '\x61', '\x73', '\x65', '\x28', '\x29', '\x20', '\x21', '\x3d', '\x20', '\x70', '\x70', '\x74', '\x72', '\x28', '\x29', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x77', '\x72', '\x69', '\x74', '\x65', '\x72', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x28', '\x20', '\x70', '\x62', '\x61', '\x73', '\x65', '\x28', '\x29', '\x2c', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x5f', '\x63', '\x61', '\x73', '\x74', '\x3c', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x3a', '\x3a', '\x73', '\x69', '\x7a', '\x65', '\x5f', '\x74', '\x79', '\x70', '\x65', '\x3e', '\x28', '\x20', '\x70', '\x70', '\x74', '\x72', '\x28', '\x29', '\x20', '\x2d', '\x20', '\x70', '\x62', '\x61', '\x73', '\x65', '\x28', '\x29', '\x20', '\x29', '\x20', '\x29', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x65', '\x74', '\x70', '\x28', '\x20', '\x70', '\x62', '\x61', '\x73', '\x65', '\x28', '\x29', '\x2c', '\x20', '\x65', '\x70', '\x70', '\x74', '\x72', '\x28', '\x29', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x4f', '\x75', '\x74', '\x70', '\x75', '\x74', '\x44', '\x65', '\x62', '\x75', '\x67', '\x57', '\x72', '\x69', '\x74', '\x65', '\x72', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x28', '\x29', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x73', '\x74', '\x72', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x77', '\x72', '\x69', '\x74', '\x65', '\x54', '\x6f', '\x44', '\x65', '\x62', '\x75', '\x67', '\x43', '\x6f', '\x6e', '\x73', '\x6f', '\x6c', '\x65', '\x28', '\x20', '\x73', '\x74', '\x72', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x20', '\x46', '\x69', '\x6c', '\x65', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x20', '\x3a', '\x20', '\x70', '\x75', '\x62', '\x6c', '\x69', '\x63', '\x20', '\x49', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x75', '\x74', '\x61', '\x62', '\x6c', '\x65', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6f', '\x66', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x20', '\x6d', '\x5f', '\x6f', '\x66', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x75', '\x62', '\x6c', '\x69', '\x63', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x46', '\x69', '\x6c', '\x65', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x28', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x66', '\x20', '\x66', '\x69', '\x6c', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x6f', '\x66', '\x73', '\x2e', '\x6f', '\x70', '\x65', '\x6e', '\x28', '\x20', '\x66', '\x69', '\x6c', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x2e', '\x63', '\x5f', '\x73', '\x74', '\x72', '\x28', '\x29', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x45', '\x4e', '\x46', '\x4f', '\x52', '\x43', '\x45', '\x28', '\x20', '\x21', '\x6d', '\x5f', '\x6f', '\x66', '\x73', '\x2e', '\x66', '\x61', '\x69', '\x6c', '\x28', '\x29', '\x2c', '\x20', '\x22', '\x55', '\x6e', '\x61', '\x62', '\x6c', '\x65', '\x20', '\x74', '\x6f', '\x20', '\x6f', '\x70', '\x65', '\x6e', '\x20', '\x66', '\x69', '\x6c', '\x65', '\x3a', '\x20', '\x27', '\x22', '\x20', '\x3c', '\x3c', '\x20', '\x66', '\x69', '\x6c', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x3c', '\x3c', '\x20', '\x22', '\x27', '\x22', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7e', '\x46', '\x69', '\x6c', '\x65', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x28', '\x29', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x20', '\x3d', '\x20', '\x64', '\x65', '\x66', '\x61', '\x75', '\x6c', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x75', '\x62', '\x6c', '\x69', '\x63', '\x3a', '\x20', '\x2f', '\x2f', '\x20', '\x49', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6f', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x26', '\x20', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6d', '\x5f', '\x6f', '\x66', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x20', '\x43', '\x6f', '\x75', '\x74', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x20', '\x3a', '\x20', '\x70', '\x75', '\x62', '\x6c', '\x69', '\x63', '\x20', '\x49', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x75', '\x74', '\x61', '\x62', '\x6c', '\x65', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6f', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x20', '\x6d', '\x5f', '\x6f', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x75', '\x62', '\x6c', '\x69', '\x63', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x53', '\x74', '\x6f', '\x72', '\x65', '\x20', '\x74', '\x68', '\x65', '\x20', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x62', '\x75', '\x66', '\x20', '\x66', '\x72', '\x6f', '\x6d', '\x20', '\x63', '\x6f', '\x75', '\x74', '\x20', '\x75', '\x70', '\x2d', '\x66', '\x72', '\x6f', '\x6e', '\x74', '\x20', '\x62', '\x65', '\x63', '\x61', '\x75', '\x73', '\x65', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x63', '\x6f', '\x75', '\x74', '\x20', '\x6d', '\x61', '\x79', '\x20', '\x67', '\x65', '\x74', '\x20', '\x72', '\x65', '\x64', '\x69', '\x72', '\x65', '\x63', '\x74', '\x65', '\x64', '\x20', '\x77', '\x68', '\x65', '\x6e', '\x20', '\x72', '\x75', '\x6e', '\x6e', '\x69', '\x6e', '\x67', '\x20', '\x74', '\x65', '\x73', '\x74', '\x73', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x6f', '\x75', '\x74', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x28', '\x29', '\x20', '\x3a', '\x20', '\x6d', '\x5f', '\x6f', '\x73', '\x28', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x63', '\x6f', '\x75', '\x74', '\x28', '\x29', '\x2e', '\x72', '\x64', '\x62', '\x75', '\x66', '\x28', '\x29', '\x20', '\x29', '\x20', '\x7b', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7e', '\x43', '\x6f', '\x75', '\x74', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x28', '\x29', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x20', '\x3d', '\x20', '\x64', '\x65', '\x66', '\x61', '\x75', '\x6c', '\x74', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x75', '\x62', '\x6c', '\x69', '\x63', '\x3a', '\x20', '\x2f', '\x2f', '\x20', '\x49', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6f', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x26', '\x20', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x20', '\x7b', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6d', '\x5f', '\x6f', '\x73', '\x3b', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x20', '\x44', '\x65', '\x62', '\x75', '\x67', '\x4f', '\x75', '\x74', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x20', '\x3a', '\x20', '\x70', '\x75', '\x62', '\x6c', '\x69', '\x63', '\x20', '\x49', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x75', '\x6e', '\x69', '\x71', '\x75', '\x65', '\x5f', '\x70', '\x74', '\x72', '\x3c', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x42', '\x75', '\x66', '\x49', '\x6d', '\x70', '\x6c', '\x3c', '\x4f', '\x75', '\x74', '\x70', '\x75', '\x74', '\x44', '\x65', '\x62', '\x75', '\x67', '\x57', '\x72', '\x69', '\x74', '\x65', '\x72', '\x3e', '\x3e', '\x20', '\x6d', '\x5f', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x42', '\x75', '\x66', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x75', '\x74', '\x61', '\x62', '\x6c', '\x65', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6f', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x20', '\x6d', '\x5f', '\x6f', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x75', '\x62', '\x6c', '\x69', '\x63', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x44', '\x65', '\x62', '\x75', '\x67', '\x4f', '\x75', '\x74', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x28', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x3a', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x42', '\x75', '\x66', '\x28', '\x20', '\x6e', '\x65', '\x77', '\x20', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x42', '\x75', '\x66', '\x49', '\x6d', '\x70', '\x6c', '\x3c', '\x4f', '\x75', '\x74', '\x70', '\x75', '\x74', '\x44', '\x65', '\x62', '\x75', '\x67', '\x57', '\x72', '\x69', '\x74', '\x65', '\x72', '\x3e', '\x28', '\x29', '\x20', '\x29', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x6f', '\x73', '\x28', '\x20', '\x6d', '\x5f', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x42', '\x75', '\x66', '\x2e', '\x67', '\x65', '\x74', '\x28', '\x29', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7b', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7e', '\x44', '\x65', '\x62', '\x75', '\x67', '\x4f', '\x75', '\x74', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x28', '\x29', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x20', '\x3d', '\x20', '\x64', '\x65', '\x66', '\x61', '\x75', '\x6c', '\x74', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x75', '\x62', '\x6c', '\x69', '\x63', '\x3a', '\x20', '\x2f', '\x2f', '\x20', '\x49', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6f', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x26', '\x20', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x72', '\x69', '\x64', '\x65', '\x20', '\x7b', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6d', '\x5f', '\x6f', '\x73', '\x3b', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x61', '\x6e', '\x6f', '\x6e', '\x3a', '\x3a', '\x64', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x6d', '\x61', '\x6b', '\x65', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x28', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x66', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x26', '\x66', '\x69', '\x6c', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x29', '\x20', '\x2d', '\x3e', '\x20', '\x49', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x2a', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x66', '\x69', '\x6c', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x2e', '\x65', '\x6d', '\x70', '\x74', '\x79', '\x28', '\x29', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6e', '\x65', '\x77', '\x20', '\x44', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x3a', '\x3a', '\x43', '\x6f', '\x75', '\x74', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x6c', '\x73', '\x65', '\x20', '\x69', '\x66', '\x28', '\x20', '\x66', '\x69', '\x6c', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x5b', '\x30', '\x5d', '\x20', '\x3d', '\x3d', '\x20', '\x27', '\x25', '\x27', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x66', '\x69', '\x6c', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x3d', '\x3d', '\x20', '\x22', '\x25', '\x64', '\x65', '\x62', '\x75', '\x67', '\x22', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6e', '\x65', '\x77', '\x20', '\x44', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x3a', '\x3a', '\x44', '\x65', '\x62', '\x75', '\x67', '\x4f', '\x75', '\x74', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x6c', '\x73', '\x65', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x45', '\x52', '\x52', '\x4f', '\x52', '\x28', '\x20', '\x22', '\x55', '\x6e', '\x72', '\x65', '\x63', '\x6f', '\x67', '\x6e', '\x69', '\x73', '\x65', '\x64', '\x20', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x3a', '\x20', '\x27', '\x22', '\x20', '\x3c', '\x3c', '\x20', '\x66', '\x69', '\x6c', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x3c', '\x3c', '\x20', '\x22', '\x27', '\x22', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x6c', '\x73', '\x65', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6e', '\x65', '\x77', '\x20', '\x44', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x3a', '\x3a', '\x46', '\x69', '\x6c', '\x65', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x28', '\x20', '\x66', '\x69', '\x6c', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x54', '\x68', '\x69', '\x73', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x20', '\x65', '\x6e', '\x63', '\x61', '\x70', '\x73', '\x75', '\x6c', '\x61', '\x74', '\x65', '\x73', '\x20', '\x74', '\x68', '\x65', '\x20', '\x69', '\x64', '\x65', '\x61', '\x20', '\x6f', '\x66', '\x20', '\x61', '\x20', '\x70', '\x6f', '\x6f', '\x6c', '\x20', '\x6f', '\x66', '\x20', '\x6f', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x73', '\x20', '\x74', '\x68', '\x61', '\x74', '\x20', '\x63', '\x61', '\x6e', '\x20', '\x62', '\x65', '\x20', '\x72', '\x65', '\x75', '\x73', '\x65', '\x64', '\x2e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x73', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x75', '\x6e', '\x69', '\x71', '\x75', '\x65', '\x5f', '\x70', '\x74', '\x72', '\x3c', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6f', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x3e', '\x3e', '\x20', '\x6d', '\x5f', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x69', '\x7a', '\x65', '\x5f', '\x74', '\x3e', '\x20', '\x6d', '\x5f', '\x75', '\x6e', '\x75', '\x73', '\x65', '\x64', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6f', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x20', '\x6d', '\x5f', '\x72', '\x65', '\x66', '\x65', '\x72', '\x65', '\x6e', '\x63', '\x65', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x3b', '\x20', '\x2f', '\x2f', '\x20', '\x55', '\x73', '\x65', '\x64', '\x20', '\x66', '\x6f', '\x72', '\x20', '\x63', '\x6f', '\x70', '\x79', '\x20', '\x73', '\x74', '\x61', '\x74', '\x65', '\x2f', '\x20', '\x66', '\x6c', '\x61', '\x67', '\x73', '\x20', '\x66', '\x72', '\x6f', '\x6d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x61', '\x64', '\x64', '\x28', '\x29', '\x20', '\x2d', '\x3e', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x69', '\x7a', '\x65', '\x5f', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x6d', '\x5f', '\x75', '\x6e', '\x75', '\x73', '\x65', '\x64', '\x2e', '\x65', '\x6d', '\x70', '\x74', '\x79', '\x28', '\x29', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x73', '\x2e', '\x70', '\x75', '\x73', '\x68', '\x5f', '\x62', '\x61', '\x63', '\x6b', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x75', '\x6e', '\x69', '\x71', '\x75', '\x65', '\x5f', '\x70', '\x74', '\x72', '\x3c', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6f', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x3e', '\x28', '\x20', '\x6e', '\x65', '\x77', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6f', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x20', '\x29', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6d', '\x5f', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x73', '\x2e', '\x73', '\x69', '\x7a', '\x65', '\x28', '\x29', '\x2d', '\x31', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x6c', '\x73', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x69', '\x6e', '\x64', '\x65', '\x78', '\x20', '\x3d', '\x20', '\x6d', '\x5f', '\x75', '\x6e', '\x75', '\x73', '\x65', '\x64', '\x2e', '\x62', '\x61', '\x63', '\x6b', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x75', '\x6e', '\x75', '\x73', '\x65', '\x64', '\x2e', '\x70', '\x6f', '\x70', '\x5f', '\x62', '\x61', '\x63', '\x6b', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x69', '\x6e', '\x64', '\x65', '\x78', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x72', '\x65', '\x6c', '\x65', '\x61', '\x73', '\x65', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x69', '\x7a', '\x65', '\x5f', '\x74', '\x20', '\x69', '\x6e', '\x64', '\x65', '\x78', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x73', '\x5b', '\x69', '\x6e', '\x64', '\x65', '\x78', '\x5d', '\x2d', '\x3e', '\x63', '\x6f', '\x70', '\x79', '\x66', '\x6d', '\x74', '\x28', '\x20', '\x6d', '\x5f', '\x72', '\x65', '\x66', '\x65', '\x72', '\x65', '\x6e', '\x63', '\x65', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x20', '\x29', '\x3b', '\x20', '\x2f', '\x2f', '\x20', '\x52', '\x65', '\x73', '\x74', '\x6f', '\x72', '\x65', '\x20', '\x69', '\x6e', '\x69', '\x74', '\x69', '\x61', '\x6c', '\x20', '\x66', '\x6c', '\x61', '\x67', '\x73', '\x20', '\x61', '\x6e', '\x64', '\x20', '\x6f', '\x74', '\x68', '\x65', '\x72', '\x20', '\x73', '\x74', '\x61', '\x74', '\x65', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x75', '\x6e', '\x75', '\x73', '\x65', '\x64', '\x2e', '\x70', '\x75', '\x73', '\x68', '\x5f', '\x62', '\x61', '\x63', '\x6b', '\x28', '\x69', '\x6e', '\x64', '\x65', '\x78', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x52', '\x65', '\x75', '\x73', '\x61', '\x62', '\x6c', '\x65', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x3a', '\x3a', '\x52', '\x65', '\x75', '\x73', '\x61', '\x62', '\x6c', '\x65', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x28', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x3a', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x69', '\x6e', '\x64', '\x65', '\x78', '\x28', '\x20', '\x53', '\x69', '\x6e', '\x67', '\x6c', '\x65', '\x74', '\x6f', '\x6e', '\x3c', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x73', '\x3e', '\x3a', '\x3a', '\x67', '\x65', '\x74', '\x4d', '\x75', '\x74', '\x61', '\x62', '\x6c', '\x65', '\x28', '\x29', '\x2e', '\x61', '\x64', '\x64', '\x28', '\x29', '\x20', '\x29', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x6f', '\x73', '\x73', '\x28', '\x20', '\x53', '\x69', '\x6e', '\x67', '\x6c', '\x65', '\x74', '\x6f', '\x6e', '\x3c', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x73', '\x3e', '\x3a', '\x3a', '\x67', '\x65', '\x74', '\x4d', '\x75', '\x74', '\x61', '\x62', '\x6c', '\x65', '\x28', '\x29', '\x2e', '\x6d', '\x5f', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x73', '\x5b', '\x6d', '\x5f', '\x69', '\x6e', '\x64', '\x65', '\x78', '\x5d', '\x2e', '\x67', '\x65', '\x74', '\x28', '\x29', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7b', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x52', '\x65', '\x75', '\x73', '\x61', '\x62', '\x6c', '\x65', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x3a', '\x3a', '\x7e', '\x52', '\x65', '\x75', '\x73', '\x61', '\x62', '\x6c', '\x65', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x28', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x5f', '\x63', '\x61', '\x73', '\x74', '\x3c', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6f', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x2a', '\x3e', '\x28', '\x20', '\x6d', '\x5f', '\x6f', '\x73', '\x73', '\x20', '\x29', '\x2d', '\x3e', '\x73', '\x74', '\x72', '\x28', '\x22', '\x22', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x6f', '\x73', '\x73', '\x2d', '\x3e', '\x63', '\x6c', '\x65', '\x61', '\x72', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x53', '\x69', '\x6e', '\x67', '\x6c', '\x65', '\x74', '\x6f', '\x6e', '\x3c', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x73', '\x3e', '\x3a', '\x3a', '\x67', '\x65', '\x74', '\x4d', '\x75', '\x74', '\x61', '\x62', '\x6c', '\x65', '\x28', '\x29', '\x2e', '\x72', '\x65', '\x6c', '\x65', '\x61', '\x73', '\x65', '\x28', '\x20', '\x6d', '\x5f', '\x69', '\x6e', '\x64', '\x65', '\x78', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x52', '\x65', '\x75', '\x73', '\x61', '\x62', '\x6c', '\x65', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x2d', '\x3e', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x5f', '\x63', '\x61', '\x73', '\x74', '\x3c', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6f', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x2a', '\x3e', '\x28', '\x20', '\x6d', '\x5f', '\x6f', '\x73', '\x73', '\x20', '\x29', '\x2d', '\x3e', '\x73', '\x74', '\x72', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x6e', '\x64', '\x65', '\x66', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x4e', '\x4f', '\x53', '\x54', '\x44', '\x4f', '\x55', '\x54', '\x20', '\x2f', '\x2f', '\x20', '\x49', '\x66', '\x20', '\x79', '\x6f', '\x75', '\x20', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x74', '\x68', '\x69', '\x73', '\x20', '\x79', '\x6f', '\x75', '\x20', '\x6d', '\x75', '\x73', '\x74', '\x20', '\x69', '\x6d', '\x70', '\x6c', '\x65', '\x6d', '\x65', '\x6e', '\x74', '\x20', '\x74', '\x68', '\x65', '\x73', '\x65', '\x20', '\x66', '\x75', '\x6e', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6f', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x26', '\x20', '\x63', '\x6f', '\x75', '\x74', '\x28', '\x29', '\x20', '\x7b', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x63', '\x6f', '\x75', '\x74', '\x3b', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6f', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x26', '\x20', '\x63', '\x65', '\x72', '\x72', '\x28', '\x29', '\x20', '\x7b', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x63', '\x65', '\x72', '\x72', '\x3b', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6f', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x26', '\x20', '\x63', '\x6c', '\x6f', '\x67', '\x28', '\x29', '\x20', '\x7b', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x63', '\x6c', '\x6f', '\x67', '\x3b', '\x20', '\x7d', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x7d', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x2e', '\x63', '\x70', '\x70', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x5f', '\x6d', '\x61', '\x6e', '\x69', '\x70', '\x2e', '\x63', '\x70', '\x70', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x61', '\x6c', '\x67', '\x6f', '\x72', '\x69', '\x74', '\x68', '\x6d', '\x3e', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x6f', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x3e', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x63', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x3e', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x63', '\x63', '\x74', '\x79', '\x70', '\x65', '\x3e', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3e', '\x0d', '\x0a', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x68', '\x61', '\x72', '\x20', '\x74', '\x6f', '\x4c', '\x6f', '\x77', '\x65', '\x72', '\x43', '\x68', '\x28', '\x63', '\x68', '\x61', '\x72', '\x20', '\x63', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x5f', '\x63', '\x61', '\x73', '\x74', '\x3c', '\x63', '\x68', '\x61', '\x72', '\x3e', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x74', '\x6f', '\x6c', '\x6f', '\x77', '\x65', '\x72', '\x28', '\x20', '\x63', '\x20', '\x29', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x73', '\x57', '\x69', '\x74', '\x68', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x73', '\x2c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x70', '\x72', '\x65', '\x66', '\x69', '\x78', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x73', '\x2e', '\x73', '\x69', '\x7a', '\x65', '\x28', '\x29', '\x20', '\x3e', '\x3d', '\x20', '\x70', '\x72', '\x65', '\x66', '\x69', '\x78', '\x2e', '\x73', '\x69', '\x7a', '\x65', '\x28', '\x29', '\x20', '\x26', '\x26', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x65', '\x71', '\x75', '\x61', '\x6c', '\x28', '\x70', '\x72', '\x65', '\x66', '\x69', '\x78', '\x2e', '\x62', '\x65', '\x67', '\x69', '\x6e', '\x28', '\x29', '\x2c', '\x20', '\x70', '\x72', '\x65', '\x66', '\x69', '\x78', '\x2e', '\x65', '\x6e', '\x64', '\x28', '\x29', '\x2c', '\x20', '\x73', '\x2e', '\x62', '\x65', '\x67', '\x69', '\x6e', '\x28', '\x29', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x73', '\x57', '\x69', '\x74', '\x68', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x73', '\x2c', '\x20', '\x63', '\x68', '\x61', '\x72', '\x20', '\x70', '\x72', '\x65', '\x66', '\x69', '\x78', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x21', '\x73', '\x2e', '\x65', '\x6d', '\x70', '\x74', '\x79', '\x28', '\x29', '\x20', '\x26', '\x26', '\x20', '\x73', '\x5b', '\x30', '\x5d', '\x20', '\x3d', '\x3d', '\x20', '\x70', '\x72', '\x65', '\x66', '\x69', '\x78', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x65', '\x6e', '\x64', '\x73', '\x57', '\x69', '\x74', '\x68', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x73', '\x2c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x73', '\x75', '\x66', '\x66', '\x69', '\x78', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x73', '\x2e', '\x73', '\x69', '\x7a', '\x65', '\x28', '\x29', '\x20', '\x3e', '\x3d', '\x20', '\x73', '\x75', '\x66', '\x66', '\x69', '\x78', '\x2e', '\x73', '\x69', '\x7a', '\x65', '\x28', '\x29', '\x20', '\x26', '\x26', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x65', '\x71', '\x75', '\x61', '\x6c', '\x28', '\x73', '\x75', '\x66', '\x66', '\x69', '\x78', '\x2e', '\x72', '\x62', '\x65', '\x67', '\x69', '\x6e', '\x28', '\x29', '\x2c', '\x20', '\x73', '\x75', '\x66', '\x66', '\x69', '\x78', '\x2e', '\x72', '\x65', '\x6e', '\x64', '\x28', '\x29', '\x2c', '\x20', '\x73', '\x2e', '\x72', '\x62', '\x65', '\x67', '\x69', '\x6e', '\x28', '\x29', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x65', '\x6e', '\x64', '\x73', '\x57', '\x69', '\x74', '\x68', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x73', '\x2c', '\x20', '\x63', '\x68', '\x61', '\x72', '\x20', '\x73', '\x75', '\x66', '\x66', '\x69', '\x78', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x21', '\x73', '\x2e', '\x65', '\x6d', '\x70', '\x74', '\x79', '\x28', '\x29', '\x20', '\x26', '\x26', '\x20', '\x73', '\x5b', '\x73', '\x2e', '\x73', '\x69', '\x7a', '\x65', '\x28', '\x29', '\x2d', '\x31', '\x5d', '\x20', '\x3d', '\x3d', '\x20', '\x73', '\x75', '\x66', '\x66', '\x69', '\x78', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x63', '\x6f', '\x6e', '\x74', '\x61', '\x69', '\x6e', '\x73', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x73', '\x2c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x69', '\x6e', '\x66', '\x69', '\x78', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x73', '\x2e', '\x66', '\x69', '\x6e', '\x64', '\x28', '\x20', '\x69', '\x6e', '\x66', '\x69', '\x78', '\x20', '\x29', '\x20', '\x21', '\x3d', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x3a', '\x3a', '\x6e', '\x70', '\x6f', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x74', '\x6f', '\x4c', '\x6f', '\x77', '\x65', '\x72', '\x49', '\x6e', '\x50', '\x6c', '\x61', '\x63', '\x65', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x26', '\x20', '\x73', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x74', '\x72', '\x61', '\x6e', '\x73', '\x66', '\x6f', '\x72', '\x6d', '\x28', '\x20', '\x73', '\x2e', '\x62', '\x65', '\x67', '\x69', '\x6e', '\x28', '\x29', '\x2c', '\x20', '\x73', '\x2e', '\x65', '\x6e', '\x64', '\x28', '\x29', '\x2c', '\x20', '\x73', '\x2e', '\x62', '\x65', '\x67', '\x69', '\x6e', '\x28', '\x29', '\x2c', '\x20', '\x74', '\x6f', '\x4c', '\x6f', '\x77', '\x65', '\x72', '\x43', '\x68', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x74', '\x6f', '\x4c', '\x6f', '\x77', '\x65', '\x72', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x73', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x6c', '\x63', '\x20', '\x3d', '\x20', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x6f', '\x4c', '\x6f', '\x77', '\x65', '\x72', '\x49', '\x6e', '\x50', '\x6c', '\x61', '\x63', '\x65', '\x28', '\x20', '\x6c', '\x63', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6c', '\x63', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x74', '\x72', '\x69', '\x6d', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x73', '\x74', '\x72', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x20', '\x63', '\x68', '\x61', '\x72', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x2a', '\x20', '\x77', '\x68', '\x69', '\x74', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x43', '\x68', '\x61', '\x72', '\x73', '\x20', '\x3d', '\x20', '\x22', '\x5c', '\x6e', '\x5c', '\x72', '\x5c', '\x74', '\x20', '\x22', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x3a', '\x3a', '\x73', '\x69', '\x7a', '\x65', '\x5f', '\x74', '\x79', '\x70', '\x65', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x3d', '\x20', '\x73', '\x74', '\x72', '\x2e', '\x66', '\x69', '\x6e', '\x64', '\x5f', '\x66', '\x69', '\x72', '\x73', '\x74', '\x5f', '\x6e', '\x6f', '\x74', '\x5f', '\x6f', '\x66', '\x28', '\x20', '\x77', '\x68', '\x69', '\x74', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x43', '\x68', '\x61', '\x72', '\x73', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x3a', '\x3a', '\x73', '\x69', '\x7a', '\x65', '\x5f', '\x74', '\x79', '\x70', '\x65', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x3d', '\x20', '\x73', '\x74', '\x72', '\x2e', '\x66', '\x69', '\x6e', '\x64', '\x5f', '\x6c', '\x61', '\x73', '\x74', '\x5f', '\x6e', '\x6f', '\x74', '\x5f', '\x6f', '\x66', '\x28', '\x20', '\x77', '\x68', '\x69', '\x74', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x43', '\x68', '\x61', '\x72', '\x73', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x21', '\x3d', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x3a', '\x3a', '\x6e', '\x70', '\x6f', '\x73', '\x20', '\x3f', '\x20', '\x73', '\x74', '\x72', '\x2e', '\x73', '\x75', '\x62', '\x73', '\x74', '\x72', '\x28', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x2c', '\x20', '\x31', '\x2b', '\x65', '\x6e', '\x64', '\x2d', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x29', '\x20', '\x3a', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x66', '\x20', '\x74', '\x72', '\x69', '\x6d', '\x28', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x66', '\x20', '\x72', '\x65', '\x66', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x69', '\x73', '\x5f', '\x77', '\x73', '\x20', '\x3d', '\x20', '\x5b', '\x5d', '\x28', '\x63', '\x68', '\x61', '\x72', '\x20', '\x63', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x63', '\x20', '\x3d', '\x3d', '\x20', '\x27', '\x20', '\x27', '\x20', '\x7c', '\x7c', '\x20', '\x63', '\x20', '\x3d', '\x3d', '\x20', '\x27', '\x5c', '\x74', '\x27', '\x20', '\x7c', '\x7c', '\x20', '\x63', '\x20', '\x3d', '\x3d', '\x20', '\x27', '\x5c', '\x6e', '\x27', '\x20', '\x7c', '\x7c', '\x20', '\x63', '\x20', '\x3d', '\x3d', '\x20', '\x27', '\x5c', '\x72', '\x27', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x69', '\x7a', '\x65', '\x5f', '\x74', '\x20', '\x72', '\x65', '\x61', '\x6c', '\x5f', '\x62', '\x65', '\x67', '\x69', '\x6e', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x77', '\x68', '\x69', '\x6c', '\x65', '\x20', '\x28', '\x72', '\x65', '\x61', '\x6c', '\x5f', '\x62', '\x65', '\x67', '\x69', '\x6e', '\x20', '\x3c', '\x20', '\x72', '\x65', '\x66', '\x2e', '\x73', '\x69', '\x7a', '\x65', '\x28', '\x29', '\x20', '\x26', '\x26', '\x20', '\x69', '\x73', '\x5f', '\x77', '\x73', '\x28', '\x72', '\x65', '\x66', '\x5b', '\x72', '\x65', '\x61', '\x6c', '\x5f', '\x62', '\x65', '\x67', '\x69', '\x6e', '\x5d', '\x29', '\x29', '\x20', '\x7b', '\x20', '\x2b', '\x2b', '\x72', '\x65', '\x61', '\x6c', '\x5f', '\x62', '\x65', '\x67', '\x69', '\x6e', '\x3b', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x69', '\x7a', '\x65', '\x5f', '\x74', '\x20', '\x72', '\x65', '\x61', '\x6c', '\x5f', '\x65', '\x6e', '\x64', '\x20', '\x3d', '\x20', '\x72', '\x65', '\x66', '\x2e', '\x73', '\x69', '\x7a', '\x65', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x77', '\x68', '\x69', '\x6c', '\x65', '\x20', '\x28', '\x72', '\x65', '\x61', '\x6c', '\x5f', '\x65', '\x6e', '\x64', '\x20', '\x3e', '\x20', '\x72', '\x65', '\x61', '\x6c', '\x5f', '\x62', '\x65', '\x67', '\x69', '\x6e', '\x20', '\x26', '\x26', '\x20', '\x69', '\x73', '\x5f', '\x77', '\x73', '\x28', '\x72', '\x65', '\x66', '\x5b', '\x72', '\x65', '\x61', '\x6c', '\x5f', '\x65', '\x6e', '\x64', '\x20', '\x2d', '\x20', '\x31', '\x5d', '\x29', '\x29', '\x20', '\x7b', '\x20', '\x2d', '\x2d', '\x72', '\x65', '\x61', '\x6c', '\x5f', '\x65', '\x6e', '\x64', '\x3b', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x72', '\x65', '\x66', '\x2e', '\x73', '\x75', '\x62', '\x73', '\x74', '\x72', '\x28', '\x72', '\x65', '\x61', '\x6c', '\x5f', '\x62', '\x65', '\x67', '\x69', '\x6e', '\x2c', '\x20', '\x72', '\x65', '\x61', '\x6c', '\x5f', '\x65', '\x6e', '\x64', '\x20', '\x2d', '\x20', '\x72', '\x65', '\x61', '\x6c', '\x5f', '\x62', '\x65', '\x67', '\x69', '\x6e', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x72', '\x65', '\x70', '\x6c', '\x61', '\x63', '\x65', '\x49', '\x6e', '\x50', '\x6c', '\x61', '\x63', '\x65', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x26', '\x20', '\x73', '\x74', '\x72', '\x2c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x72', '\x65', '\x70', '\x6c', '\x61', '\x63', '\x65', '\x54', '\x68', '\x69', '\x73', '\x2c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x77', '\x69', '\x74', '\x68', '\x54', '\x68', '\x69', '\x73', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x72', '\x65', '\x70', '\x6c', '\x61', '\x63', '\x65', '\x64', '\x20', '\x3d', '\x20', '\x66', '\x61', '\x6c', '\x73', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x69', '\x7a', '\x65', '\x5f', '\x74', '\x20', '\x69', '\x20', '\x3d', '\x20', '\x73', '\x74', '\x72', '\x2e', '\x66', '\x69', '\x6e', '\x64', '\x28', '\x20', '\x72', '\x65', '\x70', '\x6c', '\x61', '\x63', '\x65', '\x54', '\x68', '\x69', '\x73', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x77', '\x68', '\x69', '\x6c', '\x65', '\x28', '\x20', '\x69', '\x20', '\x21', '\x3d', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x3a', '\x3a', '\x6e', '\x70', '\x6f', '\x73', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x70', '\x6c', '\x61', '\x63', '\x65', '\x64', '\x20', '\x3d', '\x20', '\x74', '\x72', '\x75', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x20', '\x3d', '\x20', '\x73', '\x74', '\x72', '\x2e', '\x73', '\x75', '\x62', '\x73', '\x74', '\x72', '\x28', '\x20', '\x30', '\x2c', '\x20', '\x69', '\x20', '\x29', '\x20', '\x2b', '\x20', '\x77', '\x69', '\x74', '\x68', '\x54', '\x68', '\x69', '\x73', '\x20', '\x2b', '\x20', '\x73', '\x74', '\x72', '\x2e', '\x73', '\x75', '\x62', '\x73', '\x74', '\x72', '\x28', '\x20', '\x69', '\x2b', '\x72', '\x65', '\x70', '\x6c', '\x61', '\x63', '\x65', '\x54', '\x68', '\x69', '\x73', '\x2e', '\x73', '\x69', '\x7a', '\x65', '\x28', '\x29', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x69', '\x20', '\x3c', '\x20', '\x73', '\x74', '\x72', '\x2e', '\x73', '\x69', '\x7a', '\x65', '\x28', '\x29', '\x2d', '\x77', '\x69', '\x74', '\x68', '\x54', '\x68', '\x69', '\x73', '\x2e', '\x73', '\x69', '\x7a', '\x65', '\x28', '\x29', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x20', '\x3d', '\x20', '\x73', '\x74', '\x72', '\x2e', '\x66', '\x69', '\x6e', '\x64', '\x28', '\x20', '\x72', '\x65', '\x70', '\x6c', '\x61', '\x63', '\x65', '\x54', '\x68', '\x69', '\x73', '\x2c', '\x20', '\x69', '\x2b', '\x77', '\x69', '\x74', '\x68', '\x54', '\x68', '\x69', '\x73', '\x2e', '\x73', '\x69', '\x7a', '\x65', '\x28', '\x29', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x6c', '\x73', '\x65', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x20', '\x3d', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x3a', '\x3a', '\x6e', '\x70', '\x6f', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x72', '\x65', '\x70', '\x6c', '\x61', '\x63', '\x65', '\x64', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x66', '\x3e', '\x20', '\x73', '\x70', '\x6c', '\x69', '\x74', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x66', '\x28', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x66', '\x20', '\x73', '\x74', '\x72', '\x2c', '\x20', '\x63', '\x68', '\x61', '\x72', '\x20', '\x64', '\x65', '\x6c', '\x69', '\x6d', '\x69', '\x74', '\x65', '\x72', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x66', '\x3e', '\x20', '\x73', '\x75', '\x62', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x69', '\x7a', '\x65', '\x5f', '\x74', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x66', '\x6f', '\x72', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x69', '\x7a', '\x65', '\x5f', '\x74', '\x20', '\x70', '\x6f', '\x73', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x20', '\x70', '\x6f', '\x73', '\x20', '\x3c', '\x20', '\x73', '\x74', '\x72', '\x2e', '\x73', '\x69', '\x7a', '\x65', '\x28', '\x29', '\x3b', '\x20', '\x2b', '\x2b', '\x70', '\x6f', '\x73', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x73', '\x74', '\x72', '\x5b', '\x70', '\x6f', '\x73', '\x5d', '\x20', '\x3d', '\x3d', '\x20', '\x64', '\x65', '\x6c', '\x69', '\x6d', '\x69', '\x74', '\x65', '\x72', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x70', '\x6f', '\x73', '\x20', '\x2d', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x3e', '\x20', '\x31', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x75', '\x62', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x73', '\x2e', '\x70', '\x75', '\x73', '\x68', '\x5f', '\x62', '\x61', '\x63', '\x6b', '\x28', '\x20', '\x73', '\x74', '\x72', '\x2e', '\x73', '\x75', '\x62', '\x73', '\x74', '\x72', '\x28', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x2c', '\x20', '\x70', '\x6f', '\x73', '\x2d', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x29', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x3d', '\x20', '\x70', '\x6f', '\x73', '\x2b', '\x31', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x3c', '\x20', '\x73', '\x74', '\x72', '\x2e', '\x73', '\x69', '\x7a', '\x65', '\x28', '\x29', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x75', '\x62', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x73', '\x2e', '\x70', '\x75', '\x73', '\x68', '\x5f', '\x62', '\x61', '\x63', '\x6b', '\x28', '\x20', '\x73', '\x74', '\x72', '\x2e', '\x73', '\x75', '\x62', '\x73', '\x74', '\x72', '\x28', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x2c', '\x20', '\x73', '\x74', '\x72', '\x2e', '\x73', '\x69', '\x7a', '\x65', '\x28', '\x29', '\x2d', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x29', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x73', '\x75', '\x62', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x70', '\x6c', '\x75', '\x72', '\x61', '\x6c', '\x69', '\x73', '\x65', '\x3a', '\x3a', '\x70', '\x6c', '\x75', '\x72', '\x61', '\x6c', '\x69', '\x73', '\x65', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x69', '\x7a', '\x65', '\x5f', '\x74', '\x20', '\x63', '\x6f', '\x75', '\x6e', '\x74', '\x2c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6c', '\x61', '\x62', '\x65', '\x6c', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x3a', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x63', '\x6f', '\x75', '\x6e', '\x74', '\x28', '\x20', '\x63', '\x6f', '\x75', '\x6e', '\x74', '\x20', '\x29', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x6c', '\x61', '\x62', '\x65', '\x6c', '\x28', '\x20', '\x6c', '\x61', '\x62', '\x65', '\x6c', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7b', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6f', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x26', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x3c', '\x3c', '\x20', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6f', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x26', '\x20', '\x6f', '\x73', '\x2c', '\x20', '\x70', '\x6c', '\x75', '\x72', '\x61', '\x6c', '\x69', '\x73', '\x65', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x70', '\x6c', '\x75', '\x72', '\x61', '\x6c', '\x69', '\x73', '\x65', '\x72', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6f', '\x73', '\x20', '\x3c', '\x3c', '\x20', '\x70', '\x6c', '\x75', '\x72', '\x61', '\x6c', '\x69', '\x73', '\x65', '\x72', '\x2e', '\x6d', '\x5f', '\x63', '\x6f', '\x75', '\x6e', '\x74', '\x20', '\x3c', '\x3c', '\x20', '\x27', '\x20', '\x27', '\x20', '\x3c', '\x3c', '\x20', '\x70', '\x6c', '\x75', '\x72', '\x61', '\x6c', '\x69', '\x73', '\x65', '\x72', '\x2e', '\x6d', '\x5f', '\x6c', '\x61', '\x62', '\x65', '\x6c', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x70', '\x6c', '\x75', '\x72', '\x61', '\x6c', '\x69', '\x73', '\x65', '\x72', '\x2e', '\x6d', '\x5f', '\x63', '\x6f', '\x75', '\x6e', '\x74', '\x20', '\x21', '\x3d', '\x20', '\x31', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6f', '\x73', '\x20', '\x3c', '\x3c', '\x20', '\x27', '\x73', '\x27', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6f', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x7d', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x5f', '\x6d', '\x61', '\x6e', '\x69', '\x70', '\x2e', '\x63', '\x70', '\x70', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x72', '\x65', '\x66', '\x2e', '\x63', '\x70', '\x70', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x5f', '\x5f', '\x63', '\x6c', '\x61', '\x6e', '\x67', '\x5f', '\x5f', '\x29', '\x0d', '\x0a', '\x23', '\x20', '\x20', '\x20', '\x20', '\x70', '\x72', '\x61', '\x67', '\x6d', '\x61', '\x20', '\x63', '\x6c', '\x61', '\x6e', '\x67', '\x20', '\x64', '\x69', '\x61', '\x67', '\x6e', '\x6f', '\x73', '\x74', '\x69', '\x63', '\x20', '\x70', '\x75', '\x73', '\x68', '\x0d', '\x0a', '\x23', '\x20', '\x20', '\x20', '\x20', '\x70', '\x72', '\x61', '\x67', '\x6d', '\x61', '\x20', '\x63', '\x6c', '\x61', '\x6e', '\x67', '\x20', '\x64', '\x69', '\x61', '\x67', '\x6e', '\x6f', '\x73', '\x74', '\x69', '\x63', '\x20', '\x69', '\x67', '\x6e', '\x6f', '\x72', '\x65', '\x64', '\x20', '\x22', '\x2d', '\x57', '\x65', '\x78', '\x69', '\x74', '\x2d', '\x74', '\x69', '\x6d', '\x65', '\x2d', '\x64', '\x65', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x6f', '\x72', '\x73', '\x22', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x6f', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x3e', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x63', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x3e', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x63', '\x73', '\x74', '\x64', '\x69', '\x6e', '\x74', '\x3e', '\x0d', '\x0a', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x66', '\x3a', '\x3a', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x66', '\x28', '\x20', '\x63', '\x68', '\x61', '\x72', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x2a', '\x20', '\x72', '\x61', '\x77', '\x43', '\x68', '\x61', '\x72', '\x73', '\x20', '\x29', '\x20', '\x6e', '\x6f', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x3a', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x66', '\x28', '\x20', '\x72', '\x61', '\x77', '\x43', '\x68', '\x61', '\x72', '\x73', '\x2c', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x5f', '\x63', '\x61', '\x73', '\x74', '\x3c', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x66', '\x3a', '\x3a', '\x73', '\x69', '\x7a', '\x65', '\x5f', '\x74', '\x79', '\x70', '\x65', '\x3e', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x6c', '\x65', '\x6e', '\x28', '\x72', '\x61', '\x77', '\x43', '\x68', '\x61', '\x72', '\x73', '\x29', '\x20', '\x29', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7b', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x66', '\x3a', '\x3a', '\x73', '\x77', '\x61', '\x70', '\x28', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x66', '\x26', '\x20', '\x6f', '\x74', '\x68', '\x65', '\x72', '\x20', '\x29', '\x20', '\x6e', '\x6f', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x77', '\x61', '\x70', '\x28', '\x20', '\x6d', '\x5f', '\x73', '\x74', '\x61', '\x72', '\x74', '\x2c', '\x20', '\x6f', '\x74', '\x68', '\x65', '\x72', '\x2e', '\x6d', '\x5f', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x77', '\x61', '\x70', '\x28', '\x20', '\x6d', '\x5f', '\x73', '\x69', '\x7a', '\x65', '\x2c', '\x20', '\x6f', '\x74', '\x68', '\x65', '\x72', '\x2e', '\x6d', '\x5f', '\x73', '\x69', '\x7a', '\x65', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x77', '\x61', '\x70', '\x28', '\x20', '\x6d', '\x5f', '\x64', '\x61', '\x74', '\x61', '\x2c', '\x20', '\x6f', '\x74', '\x68', '\x65', '\x72', '\x2e', '\x6d', '\x5f', '\x64', '\x61', '\x74', '\x61', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x66', '\x3a', '\x3a', '\x63', '\x5f', '\x73', '\x74', '\x72', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x2d', '\x3e', '\x20', '\x63', '\x68', '\x61', '\x72', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x2a', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x21', '\x69', '\x73', '\x53', '\x75', '\x62', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x28', '\x29', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6d', '\x5f', '\x73', '\x74', '\x61', '\x72', '\x74', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x5f', '\x63', '\x61', '\x73', '\x74', '\x3c', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x66', '\x20', '\x2a', '\x3e', '\x28', '\x20', '\x74', '\x68', '\x69', '\x73', '\x20', '\x29', '\x2d', '\x3e', '\x74', '\x61', '\x6b', '\x65', '\x4f', '\x77', '\x6e', '\x65', '\x72', '\x73', '\x68', '\x69', '\x70', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6d', '\x5f', '\x64', '\x61', '\x74', '\x61', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x66', '\x3a', '\x3a', '\x63', '\x75', '\x72', '\x72', '\x65', '\x6e', '\x74', '\x44', '\x61', '\x74', '\x61', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x6e', '\x6f', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x20', '\x2d', '\x3e', '\x20', '\x63', '\x68', '\x61', '\x72', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x2a', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6d', '\x5f', '\x73', '\x74', '\x61', '\x72', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x66', '\x3a', '\x3a', '\x69', '\x73', '\x4f', '\x77', '\x6e', '\x65', '\x64', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x6e', '\x6f', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x20', '\x2d', '\x3e', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6d', '\x5f', '\x64', '\x61', '\x74', '\x61', '\x20', '\x21', '\x3d', '\x20', '\x6e', '\x75', '\x6c', '\x6c', '\x70', '\x74', '\x72', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x66', '\x3a', '\x3a', '\x69', '\x73', '\x53', '\x75', '\x62', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x6e', '\x6f', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x20', '\x2d', '\x3e', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6d', '\x5f', '\x73', '\x74', '\x61', '\x72', '\x74', '\x5b', '\x6d', '\x5f', '\x73', '\x69', '\x7a', '\x65', '\x5d', '\x20', '\x21', '\x3d', '\x20', '\x27', '\x5c', '\x30', '\x27', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x66', '\x3a', '\x3a', '\x74', '\x61', '\x6b', '\x65', '\x4f', '\x77', '\x6e', '\x65', '\x72', '\x73', '\x68', '\x69', '\x70', '\x28', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x21', '\x69', '\x73', '\x4f', '\x77', '\x6e', '\x65', '\x64', '\x28', '\x29', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x64', '\x61', '\x74', '\x61', '\x20', '\x3d', '\x20', '\x6e', '\x65', '\x77', '\x20', '\x63', '\x68', '\x61', '\x72', '\x5b', '\x6d', '\x5f', '\x73', '\x69', '\x7a', '\x65', '\x2b', '\x31', '\x5d', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x65', '\x6d', '\x63', '\x70', '\x79', '\x28', '\x20', '\x6d', '\x5f', '\x64', '\x61', '\x74', '\x61', '\x2c', '\x20', '\x6d', '\x5f', '\x73', '\x74', '\x61', '\x72', '\x74', '\x2c', '\x20', '\x6d', '\x5f', '\x73', '\x69', '\x7a', '\x65', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x64', '\x61', '\x74', '\x61', '\x5b', '\x6d', '\x5f', '\x73', '\x69', '\x7a', '\x65', '\x5d', '\x20', '\x3d', '\x20', '\x27', '\x5c', '\x30', '\x27', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x66', '\x3a', '\x3a', '\x73', '\x75', '\x62', '\x73', '\x74', '\x72', '\x28', '\x20', '\x73', '\x69', '\x7a', '\x65', '\x5f', '\x74', '\x79', '\x70', '\x65', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x2c', '\x20', '\x73', '\x69', '\x7a', '\x65', '\x5f', '\x74', '\x79', '\x70', '\x65', '\x20', '\x73', '\x69', '\x7a', '\x65', '\x20', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x6e', '\x6f', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x20', '\x2d', '\x3e', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x66', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x3c', '\x20', '\x6d', '\x5f', '\x73', '\x69', '\x7a', '\x65', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x66', '\x28', '\x20', '\x6d', '\x5f', '\x73', '\x74', '\x61', '\x72', '\x74', '\x2b', '\x73', '\x74', '\x61', '\x72', '\x74', '\x2c', '\x20', '\x73', '\x69', '\x7a', '\x65', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x6c', '\x73', '\x65', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x66', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x66', '\x3a', '\x3a', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x3d', '\x3d', '\x20', '\x28', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x66', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6f', '\x74', '\x68', '\x65', '\x72', '\x20', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x6e', '\x6f', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x20', '\x2d', '\x3e', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x69', '\x7a', '\x65', '\x28', '\x29', '\x20', '\x3d', '\x3d', '\x20', '\x6f', '\x74', '\x68', '\x65', '\x72', '\x2e', '\x73', '\x69', '\x7a', '\x65', '\x28', '\x29', '\x20', '\x26', '\x26', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x6e', '\x63', '\x6d', '\x70', '\x28', '\x20', '\x6d', '\x5f', '\x73', '\x74', '\x61', '\x72', '\x74', '\x2c', '\x20', '\x6f', '\x74', '\x68', '\x65', '\x72', '\x2e', '\x6d', '\x5f', '\x73', '\x74', '\x61', '\x72', '\x74', '\x2c', '\x20', '\x73', '\x69', '\x7a', '\x65', '\x28', '\x29', '\x20', '\x29', '\x20', '\x3d', '\x3d', '\x20', '\x30', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x66', '\x3a', '\x3a', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x21', '\x3d', '\x20', '\x28', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x66', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6f', '\x74', '\x68', '\x65', '\x72', '\x20', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x6e', '\x6f', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x20', '\x2d', '\x3e', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x21', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x3d', '\x3d', '\x28', '\x20', '\x6f', '\x74', '\x68', '\x65', '\x72', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x3c', '\x3c', '\x20', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6f', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x26', '\x20', '\x6f', '\x73', '\x2c', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x66', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x73', '\x74', '\x72', '\x20', '\x29', '\x20', '\x2d', '\x3e', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6f', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x26', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6f', '\x73', '\x2e', '\x77', '\x72', '\x69', '\x74', '\x65', '\x28', '\x73', '\x74', '\x72', '\x2e', '\x63', '\x75', '\x72', '\x72', '\x65', '\x6e', '\x74', '\x44', '\x61', '\x74', '\x61', '\x28', '\x29', '\x2c', '\x20', '\x73', '\x74', '\x72', '\x2e', '\x73', '\x69', '\x7a', '\x65', '\x28', '\x29', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x2b', '\x3d', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x26', '\x20', '\x6c', '\x68', '\x73', '\x2c', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x66', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x72', '\x68', '\x73', '\x20', '\x29', '\x20', '\x2d', '\x3e', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x26', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6c', '\x68', '\x73', '\x2e', '\x61', '\x70', '\x70', '\x65', '\x6e', '\x64', '\x28', '\x72', '\x68', '\x73', '\x2e', '\x63', '\x75', '\x72', '\x72', '\x65', '\x6e', '\x74', '\x44', '\x61', '\x74', '\x61', '\x28', '\x29', '\x2c', '\x20', '\x72', '\x68', '\x73', '\x2e', '\x73', '\x69', '\x7a', '\x65', '\x28', '\x29', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6c', '\x68', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x5f', '\x5f', '\x63', '\x6c', '\x61', '\x6e', '\x67', '\x5f', '\x5f', '\x29', '\x0d', '\x0a', '\x23', '\x20', '\x20', '\x20', '\x20', '\x70', '\x72', '\x61', '\x67', '\x6d', '\x61', '\x20', '\x63', '\x6c', '\x61', '\x6e', '\x67', '\x20', '\x64', '\x69', '\x61', '\x67', '\x6e', '\x6f', '\x73', '\x74', '\x69', '\x63', '\x20', '\x70', '\x6f', '\x70', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x72', '\x65', '\x66', '\x2e', '\x63', '\x70', '\x70', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x74', '\x61', '\x67', '\x5f', '\x61', '\x6c', '\x69', '\x61', '\x73', '\x2e', '\x63', '\x70', '\x70', '\x0d', '\x0a', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x54', '\x61', '\x67', '\x41', '\x6c', '\x69', '\x61', '\x73', '\x3a', '\x3a', '\x54', '\x61', '\x67', '\x41', '\x6c', '\x69', '\x61', '\x73', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x26', '\x20', '\x5f', '\x74', '\x61', '\x67', '\x2c', '\x20', '\x53', '\x6f', '\x75', '\x72', '\x63', '\x65', '\x4c', '\x69', '\x6e', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x5f', '\x6c', '\x69', '\x6e', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x29', '\x3a', '\x20', '\x74', '\x61', '\x67', '\x28', '\x5f', '\x74', '\x61', '\x67', '\x29', '\x2c', '\x20', '\x6c', '\x69', '\x6e', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x28', '\x5f', '\x6c', '\x69', '\x6e', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x29', '\x20', '\x7b', '\x7d', '\x0d', '\x0a', '\x7d', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x74', '\x61', '\x67', '\x5f', '\x61', '\x6c', '\x69', '\x61', '\x73', '\x2e', '\x63', '\x70', '\x70', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x74', '\x61', '\x67', '\x5f', '\x61', '\x6c', '\x69', '\x61', '\x73', '\x5f', '\x61', '\x75', '\x74', '\x6f', '\x72', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x61', '\x72', '\x2e', '\x63', '\x70', '\x70', '\x0d', '\x0a', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x61', '\x72', '\x46', '\x6f', '\x72', '\x54', '\x61', '\x67', '\x41', '\x6c', '\x69', '\x61', '\x73', '\x65', '\x73', '\x3a', '\x3a', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x61', '\x72', '\x46', '\x6f', '\x72', '\x54', '\x61', '\x67', '\x41', '\x6c', '\x69', '\x61', '\x73', '\x65', '\x73', '\x28', '\x63', '\x68', '\x61', '\x72', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x2a', '\x20', '\x61', '\x6c', '\x69', '\x61', '\x73', '\x2c', '\x20', '\x63', '\x68', '\x61', '\x72', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x2a', '\x20', '\x74', '\x61', '\x67', '\x2c', '\x20', '\x53', '\x6f', '\x75', '\x72', '\x63', '\x65', '\x4c', '\x69', '\x6e', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6c', '\x69', '\x6e', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x52', '\x59', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x67', '\x65', '\x74', '\x4d', '\x75', '\x74', '\x61', '\x62', '\x6c', '\x65', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x48', '\x75', '\x62', '\x28', '\x29', '\x2e', '\x72', '\x65', '\x67', '\x69', '\x73', '\x74', '\x65', '\x72', '\x54', '\x61', '\x67', '\x41', '\x6c', '\x69', '\x61', '\x73', '\x28', '\x61', '\x6c', '\x69', '\x61', '\x73', '\x2c', '\x20', '\x74', '\x61', '\x67', '\x2c', '\x20', '\x6c', '\x69', '\x6e', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x41', '\x4c', '\x4c', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x44', '\x6f', '\x20', '\x6e', '\x6f', '\x74', '\x20', '\x74', '\x68', '\x72', '\x6f', '\x77', '\x20', '\x77', '\x68', '\x65', '\x6e', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x69', '\x6e', '\x67', '\x20', '\x67', '\x6c', '\x6f', '\x62', '\x61', '\x6c', '\x20', '\x6f', '\x62', '\x6a', '\x65', '\x63', '\x74', '\x73', '\x2c', '\x20', '\x69', '\x6e', '\x73', '\x74', '\x65', '\x61', '\x64', '\x20', '\x72', '\x65', '\x67', '\x69', '\x73', '\x74', '\x65', '\x72', '\x20', '\x74', '\x68', '\x65', '\x20', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x74', '\x6f', '\x20', '\x62', '\x65', '\x20', '\x70', '\x72', '\x6f', '\x63', '\x65', '\x73', '\x73', '\x65', '\x64', '\x20', '\x6c', '\x61', '\x74', '\x65', '\x72', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x67', '\x65', '\x74', '\x4d', '\x75', '\x74', '\x61', '\x62', '\x6c', '\x65', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x48', '\x75', '\x62', '\x28', '\x29', '\x2e', '\x72', '\x65', '\x67', '\x69', '\x73', '\x74', '\x65', '\x72', '\x53', '\x74', '\x61', '\x72', '\x74', '\x75', '\x70', '\x45', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x7d', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x74', '\x61', '\x67', '\x5f', '\x61', '\x6c', '\x69', '\x61', '\x73', '\x5f', '\x61', '\x75', '\x74', '\x6f', '\x72', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x61', '\x72', '\x2e', '\x63', '\x70', '\x70', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x74', '\x61', '\x67', '\x5f', '\x61', '\x6c', '\x69', '\x61', '\x73', '\x5f', '\x72', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x2e', '\x63', '\x70', '\x70', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x73', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x3e', '\x0d', '\x0a', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x54', '\x61', '\x67', '\x41', '\x6c', '\x69', '\x61', '\x73', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x3a', '\x3a', '\x7e', '\x54', '\x61', '\x67', '\x41', '\x6c', '\x69', '\x61', '\x73', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x28', '\x29', '\x20', '\x7b', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x54', '\x61', '\x67', '\x41', '\x6c', '\x69', '\x61', '\x73', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x2a', '\x20', '\x54', '\x61', '\x67', '\x41', '\x6c', '\x69', '\x61', '\x73', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x3a', '\x3a', '\x66', '\x69', '\x6e', '\x64', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x61', '\x6c', '\x69', '\x61', '\x73', '\x20', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x69', '\x74', '\x20', '\x3d', '\x20', '\x6d', '\x5f', '\x72', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x2e', '\x66', '\x69', '\x6e', '\x64', '\x28', '\x20', '\x61', '\x6c', '\x69', '\x61', '\x73', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x69', '\x74', '\x20', '\x21', '\x3d', '\x20', '\x6d', '\x5f', '\x72', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x2e', '\x65', '\x6e', '\x64', '\x28', '\x29', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x26', '\x28', '\x69', '\x74', '\x2d', '\x3e', '\x73', '\x65', '\x63', '\x6f', '\x6e', '\x64', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x6c', '\x73', '\x65', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6e', '\x75', '\x6c', '\x6c', '\x70', '\x74', '\x72', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x54', '\x61', '\x67', '\x41', '\x6c', '\x69', '\x61', '\x73', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x3a', '\x3a', '\x65', '\x78', '\x70', '\x61', '\x6e', '\x64', '\x41', '\x6c', '\x69', '\x61', '\x73', '\x65', '\x73', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x75', '\x6e', '\x65', '\x78', '\x70', '\x61', '\x6e', '\x64', '\x65', '\x64', '\x54', '\x65', '\x73', '\x74', '\x53', '\x70', '\x65', '\x63', '\x20', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x65', '\x78', '\x70', '\x61', '\x6e', '\x64', '\x65', '\x64', '\x54', '\x65', '\x73', '\x74', '\x53', '\x70', '\x65', '\x63', '\x20', '\x3d', '\x20', '\x75', '\x6e', '\x65', '\x78', '\x70', '\x61', '\x6e', '\x64', '\x65', '\x64', '\x54', '\x65', '\x73', '\x74', '\x53', '\x70', '\x65', '\x63', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x66', '\x6f', '\x72', '\x28', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x72', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x4b', '\x76', '\x70', '\x20', '\x3a', '\x20', '\x6d', '\x5f', '\x72', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x69', '\x7a', '\x65', '\x5f', '\x74', '\x20', '\x70', '\x6f', '\x73', '\x20', '\x3d', '\x20', '\x65', '\x78', '\x70', '\x61', '\x6e', '\x64', '\x65', '\x64', '\x54', '\x65', '\x73', '\x74', '\x53', '\x70', '\x65', '\x63', '\x2e', '\x66', '\x69', '\x6e', '\x64', '\x28', '\x20', '\x72', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x4b', '\x76', '\x70', '\x2e', '\x66', '\x69', '\x72', '\x73', '\x74', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x70', '\x6f', '\x73', '\x20', '\x21', '\x3d', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x3a', '\x3a', '\x6e', '\x70', '\x6f', '\x73', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x78', '\x70', '\x61', '\x6e', '\x64', '\x65', '\x64', '\x54', '\x65', '\x73', '\x74', '\x53', '\x70', '\x65', '\x63', '\x20', '\x3d', '\x20', '\x20', '\x65', '\x78', '\x70', '\x61', '\x6e', '\x64', '\x65', '\x64', '\x54', '\x65', '\x73', '\x74', '\x53', '\x70', '\x65', '\x63', '\x2e', '\x73', '\x75', '\x62', '\x73', '\x74', '\x72', '\x28', '\x20', '\x30', '\x2c', '\x20', '\x70', '\x6f', '\x73', '\x20', '\x29', '\x20', '\x2b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x4b', '\x76', '\x70', '\x2e', '\x73', '\x65', '\x63', '\x6f', '\x6e', '\x64', '\x2e', '\x74', '\x61', '\x67', '\x20', '\x2b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x78', '\x70', '\x61', '\x6e', '\x64', '\x65', '\x64', '\x54', '\x65', '\x73', '\x74', '\x53', '\x70', '\x65', '\x63', '\x2e', '\x73', '\x75', '\x62', '\x73', '\x74', '\x72', '\x28', '\x20', '\x70', '\x6f', '\x73', '\x20', '\x2b', '\x20', '\x72', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x4b', '\x76', '\x70', '\x2e', '\x66', '\x69', '\x72', '\x73', '\x74', '\x2e', '\x73', '\x69', '\x7a', '\x65', '\x28', '\x29', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x65', '\x78', '\x70', '\x61', '\x6e', '\x64', '\x65', '\x64', '\x54', '\x65', '\x73', '\x74', '\x53', '\x70', '\x65', '\x63', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x54', '\x61', '\x67', '\x41', '\x6c', '\x69', '\x61', '\x73', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x3a', '\x3a', '\x61', '\x64', '\x64', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x61', '\x6c', '\x69', '\x61', '\x73', '\x2c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x74', '\x61', '\x67', '\x2c', '\x20', '\x53', '\x6f', '\x75', '\x72', '\x63', '\x65', '\x4c', '\x69', '\x6e', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6c', '\x69', '\x6e', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x45', '\x4e', '\x46', '\x4f', '\x52', '\x43', '\x45', '\x28', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x73', '\x57', '\x69', '\x74', '\x68', '\x28', '\x61', '\x6c', '\x69', '\x61', '\x73', '\x2c', '\x20', '\x22', '\x5b', '\x40', '\x22', '\x29', '\x20', '\x26', '\x26', '\x20', '\x65', '\x6e', '\x64', '\x73', '\x57', '\x69', '\x74', '\x68', '\x28', '\x61', '\x6c', '\x69', '\x61', '\x73', '\x2c', '\x20', '\x27', '\x5d', '\x27', '\x29', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x22', '\x65', '\x72', '\x72', '\x6f', '\x72', '\x3a', '\x20', '\x74', '\x61', '\x67', '\x20', '\x61', '\x6c', '\x69', '\x61', '\x73', '\x2c', '\x20', '\x27', '\x22', '\x20', '\x3c', '\x3c', '\x20', '\x61', '\x6c', '\x69', '\x61', '\x73', '\x20', '\x3c', '\x3c', '\x20', '\x22', '\x27', '\x20', '\x69', '\x73', '\x20', '\x6e', '\x6f', '\x74', '\x20', '\x6f', '\x66', '\x20', '\x74', '\x68', '\x65', '\x20', '\x66', '\x6f', '\x72', '\x6d', '\x20', '\x5b', '\x40', '\x61', '\x6c', '\x69', '\x61', '\x73', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x5d', '\x2e', '\x5c', '\x6e', '\x22', '\x20', '\x3c', '\x3c', '\x20', '\x6c', '\x69', '\x6e', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x45', '\x4e', '\x46', '\x4f', '\x52', '\x43', '\x45', '\x28', '\x20', '\x6d', '\x5f', '\x72', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x2e', '\x69', '\x6e', '\x73', '\x65', '\x72', '\x74', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6d', '\x61', '\x6b', '\x65', '\x5f', '\x70', '\x61', '\x69', '\x72', '\x28', '\x61', '\x6c', '\x69', '\x61', '\x73', '\x2c', '\x20', '\x54', '\x61', '\x67', '\x41', '\x6c', '\x69', '\x61', '\x73', '\x28', '\x74', '\x61', '\x67', '\x2c', '\x20', '\x6c', '\x69', '\x6e', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x29', '\x29', '\x29', '\x2e', '\x73', '\x65', '\x63', '\x6f', '\x6e', '\x64', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x22', '\x65', '\x72', '\x72', '\x6f', '\x72', '\x3a', '\x20', '\x74', '\x61', '\x67', '\x20', '\x61', '\x6c', '\x69', '\x61', '\x73', '\x2c', '\x20', '\x27', '\x22', '\x20', '\x3c', '\x3c', '\x20', '\x61', '\x6c', '\x69', '\x61', '\x73', '\x20', '\x3c', '\x3c', '\x20', '\x22', '\x27', '\x20', '\x61', '\x6c', '\x72', '\x65', '\x61', '\x64', '\x79', '\x20', '\x72', '\x65', '\x67', '\x69', '\x73', '\x74', '\x65', '\x72', '\x65', '\x64', '\x2e', '\x5c', '\x6e', '\x22', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x3c', '\x3c', '\x20', '\x22', '\x5c', '\x74', '\x46', '\x69', '\x72', '\x73', '\x74', '\x20', '\x73', '\x65', '\x65', '\x6e', '\x20', '\x61', '\x74', '\x3a', '\x20', '\x22', '\x20', '\x3c', '\x3c', '\x20', '\x66', '\x69', '\x6e', '\x64', '\x28', '\x61', '\x6c', '\x69', '\x61', '\x73', '\x29', '\x2d', '\x3e', '\x6c', '\x69', '\x6e', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x3c', '\x3c', '\x20', '\x22', '\x5c', '\x6e', '\x22', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x3c', '\x3c', '\x20', '\x22', '\x5c', '\x74', '\x52', '\x65', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x20', '\x61', '\x74', '\x3a', '\x20', '\x22', '\x20', '\x3c', '\x3c', '\x20', '\x6c', '\x69', '\x6e', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x49', '\x54', '\x61', '\x67', '\x41', '\x6c', '\x69', '\x61', '\x73', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x3a', '\x3a', '\x7e', '\x49', '\x54', '\x61', '\x67', '\x41', '\x6c', '\x69', '\x61', '\x73', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x28', '\x29', '\x20', '\x7b', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x49', '\x54', '\x61', '\x67', '\x41', '\x6c', '\x69', '\x61', '\x73', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x49', '\x54', '\x61', '\x67', '\x41', '\x6c', '\x69', '\x61', '\x73', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x3a', '\x3a', '\x67', '\x65', '\x74', '\x28', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x67', '\x65', '\x74', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x48', '\x75', '\x62', '\x28', '\x29', '\x2e', '\x67', '\x65', '\x74', '\x54', '\x61', '\x67', '\x41', '\x6c', '\x69', '\x61', '\x73', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x74', '\x61', '\x67', '\x5f', '\x61', '\x6c', '\x69', '\x61', '\x73', '\x5f', '\x72', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x2e', '\x63', '\x70', '\x70', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x74', '\x65', '\x73', '\x74', '\x5f', '\x63', '\x61', '\x73', '\x65', '\x5f', '\x69', '\x6e', '\x66', '\x6f', '\x2e', '\x63', '\x70', '\x70', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x63', '\x63', '\x74', '\x79', '\x70', '\x65', '\x3e', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x3e', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x61', '\x6c', '\x67', '\x6f', '\x72', '\x69', '\x74', '\x68', '\x6d', '\x3e', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x73', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x3e', '\x0d', '\x0a', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x3a', '\x3a', '\x53', '\x70', '\x65', '\x63', '\x69', '\x61', '\x6c', '\x50', '\x72', '\x6f', '\x70', '\x65', '\x72', '\x74', '\x69', '\x65', '\x73', '\x20', '\x70', '\x61', '\x72', '\x73', '\x65', '\x53', '\x70', '\x65', '\x63', '\x69', '\x61', '\x6c', '\x54', '\x61', '\x67', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x74', '\x61', '\x67', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x73', '\x57', '\x69', '\x74', '\x68', '\x28', '\x20', '\x74', '\x61', '\x67', '\x2c', '\x20', '\x27', '\x2e', '\x27', '\x20', '\x29', '\x20', '\x7c', '\x7c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x61', '\x67', '\x20', '\x3d', '\x3d', '\x20', '\x22', '\x21', '\x68', '\x69', '\x64', '\x65', '\x22', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x3a', '\x3a', '\x49', '\x73', '\x48', '\x69', '\x64', '\x64', '\x65', '\x6e', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x6c', '\x73', '\x65', '\x20', '\x69', '\x66', '\x28', '\x20', '\x74', '\x61', '\x67', '\x20', '\x3d', '\x3d', '\x20', '\x22', '\x21', '\x74', '\x68', '\x72', '\x6f', '\x77', '\x73', '\x22', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x3a', '\x3a', '\x54', '\x68', '\x72', '\x6f', '\x77', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x6c', '\x73', '\x65', '\x20', '\x69', '\x66', '\x28', '\x20', '\x74', '\x61', '\x67', '\x20', '\x3d', '\x3d', '\x20', '\x22', '\x21', '\x73', '\x68', '\x6f', '\x75', '\x6c', '\x64', '\x66', '\x61', '\x69', '\x6c', '\x22', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x3a', '\x3a', '\x53', '\x68', '\x6f', '\x75', '\x6c', '\x64', '\x46', '\x61', '\x69', '\x6c', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x6c', '\x73', '\x65', '\x20', '\x69', '\x66', '\x28', '\x20', '\x74', '\x61', '\x67', '\x20', '\x3d', '\x3d', '\x20', '\x22', '\x21', '\x6d', '\x61', '\x79', '\x66', '\x61', '\x69', '\x6c', '\x22', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x3a', '\x3a', '\x4d', '\x61', '\x79', '\x46', '\x61', '\x69', '\x6c', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x6c', '\x73', '\x65', '\x20', '\x69', '\x66', '\x28', '\x20', '\x74', '\x61', '\x67', '\x20', '\x3d', '\x3d', '\x20', '\x22', '\x21', '\x6e', '\x6f', '\x6e', '\x70', '\x6f', '\x72', '\x74', '\x61', '\x62', '\x6c', '\x65', '\x22', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x3a', '\x3a', '\x4e', '\x6f', '\x6e', '\x50', '\x6f', '\x72', '\x74', '\x61', '\x62', '\x6c', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x6c', '\x73', '\x65', '\x20', '\x69', '\x66', '\x28', '\x20', '\x74', '\x61', '\x67', '\x20', '\x3d', '\x3d', '\x20', '\x22', '\x21', '\x62', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x22', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x5f', '\x63', '\x61', '\x73', '\x74', '\x3c', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x3a', '\x3a', '\x53', '\x70', '\x65', '\x63', '\x69', '\x61', '\x6c', '\x50', '\x72', '\x6f', '\x70', '\x65', '\x72', '\x74', '\x69', '\x65', '\x73', '\x3e', '\x28', '\x20', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x3a', '\x3a', '\x42', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x20', '\x7c', '\x20', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x3a', '\x3a', '\x49', '\x73', '\x48', '\x69', '\x64', '\x64', '\x65', '\x6e', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x6c', '\x73', '\x65', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x3a', '\x3a', '\x4e', '\x6f', '\x6e', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x69', '\x73', '\x52', '\x65', '\x73', '\x65', '\x72', '\x76', '\x65', '\x64', '\x54', '\x61', '\x67', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x74', '\x61', '\x67', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x70', '\x61', '\x72', '\x73', '\x65', '\x53', '\x70', '\x65', '\x63', '\x69', '\x61', '\x6c', '\x54', '\x61', '\x67', '\x28', '\x20', '\x74', '\x61', '\x67', '\x20', '\x29', '\x20', '\x3d', '\x3d', '\x20', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x3a', '\x3a', '\x4e', '\x6f', '\x6e', '\x65', '\x20', '\x26', '\x26', '\x20', '\x74', '\x61', '\x67', '\x2e', '\x73', '\x69', '\x7a', '\x65', '\x28', '\x29', '\x20', '\x3e', '\x20', '\x30', '\x20', '\x26', '\x26', '\x20', '\x21', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x69', '\x73', '\x61', '\x6c', '\x6e', '\x75', '\x6d', '\x28', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x5f', '\x63', '\x61', '\x73', '\x74', '\x3c', '\x75', '\x6e', '\x73', '\x69', '\x67', '\x6e', '\x65', '\x64', '\x20', '\x63', '\x68', '\x61', '\x72', '\x3e', '\x28', '\x74', '\x61', '\x67', '\x5b', '\x30', '\x5d', '\x29', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x65', '\x6e', '\x66', '\x6f', '\x72', '\x63', '\x65', '\x4e', '\x6f', '\x74', '\x52', '\x65', '\x73', '\x65', '\x72', '\x76', '\x65', '\x64', '\x54', '\x61', '\x67', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x74', '\x61', '\x67', '\x2c', '\x20', '\x53', '\x6f', '\x75', '\x72', '\x63', '\x65', '\x4c', '\x69', '\x6e', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x5f', '\x6c', '\x69', '\x6e', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x45', '\x4e', '\x46', '\x4f', '\x52', '\x43', '\x45', '\x28', '\x20', '\x21', '\x69', '\x73', '\x52', '\x65', '\x73', '\x65', '\x72', '\x76', '\x65', '\x64', '\x54', '\x61', '\x67', '\x28', '\x74', '\x61', '\x67', '\x29', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x22', '\x54', '\x61', '\x67', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x3a', '\x20', '\x5b', '\x22', '\x20', '\x3c', '\x3c', '\x20', '\x74', '\x61', '\x67', '\x20', '\x3c', '\x3c', '\x20', '\x22', '\x5d', '\x20', '\x69', '\x73', '\x20', '\x6e', '\x6f', '\x74', '\x20', '\x61', '\x6c', '\x6c', '\x6f', '\x77', '\x65', '\x64', '\x2e', '\x5c', '\x6e', '\x22', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x3c', '\x3c', '\x20', '\x22', '\x54', '\x61', '\x67', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x69', '\x6e', '\x67', '\x20', '\x77', '\x69', '\x74', '\x68', '\x20', '\x6e', '\x6f', '\x6e', '\x20', '\x61', '\x6c', '\x70', '\x68', '\x61', '\x6e', '\x75', '\x6d', '\x65', '\x72', '\x69', '\x63', '\x20', '\x63', '\x68', '\x61', '\x72', '\x61', '\x63', '\x74', '\x65', '\x72', '\x73', '\x20', '\x61', '\x72', '\x65', '\x20', '\x72', '\x65', '\x73', '\x65', '\x72', '\x76', '\x65', '\x64', '\x5c', '\x6e', '\x22', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x3c', '\x3c', '\x20', '\x5f', '\x6c', '\x69', '\x6e', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x20', '\x6d', '\x61', '\x6b', '\x65', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x28', '\x20', '\x20', '\x49', '\x54', '\x65', '\x73', '\x74', '\x49', '\x6e', '\x76', '\x6f', '\x6b', '\x65', '\x72', '\x2a', '\x20', '\x5f', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x5f', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x4e', '\x61', '\x6d', '\x65', '\x41', '\x6e', '\x64', '\x54', '\x61', '\x67', '\x73', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x41', '\x6e', '\x64', '\x54', '\x61', '\x67', '\x73', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x53', '\x6f', '\x75', '\x72', '\x63', '\x65', '\x4c', '\x69', '\x6e', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x5f', '\x6c', '\x69', '\x6e', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x69', '\x73', '\x48', '\x69', '\x64', '\x64', '\x65', '\x6e', '\x20', '\x3d', '\x20', '\x66', '\x61', '\x6c', '\x73', '\x65', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x50', '\x61', '\x72', '\x73', '\x65', '\x20', '\x6f', '\x75', '\x74', '\x20', '\x74', '\x61', '\x67', '\x73', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x3e', '\x20', '\x74', '\x61', '\x67', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x64', '\x65', '\x73', '\x63', '\x2c', '\x20', '\x74', '\x61', '\x67', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x69', '\x6e', '\x54', '\x61', '\x67', '\x20', '\x3d', '\x20', '\x66', '\x61', '\x6c', '\x73', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x66', '\x6f', '\x72', '\x20', '\x28', '\x63', '\x68', '\x61', '\x72', '\x20', '\x63', '\x20', '\x3a', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x41', '\x6e', '\x64', '\x54', '\x61', '\x67', '\x73', '\x2e', '\x74', '\x61', '\x67', '\x73', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x21', '\x69', '\x6e', '\x54', '\x61', '\x67', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x63', '\x20', '\x3d', '\x3d', '\x20', '\x27', '\x5b', '\x27', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x6e', '\x54', '\x61', '\x67', '\x20', '\x3d', '\x20', '\x74', '\x72', '\x75', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x6c', '\x73', '\x65', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x64', '\x65', '\x73', '\x63', '\x20', '\x2b', '\x3d', '\x20', '\x63', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x6c', '\x73', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x63', '\x20', '\x3d', '\x3d', '\x20', '\x27', '\x5d', '\x27', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x3a', '\x3a', '\x53', '\x70', '\x65', '\x63', '\x69', '\x61', '\x6c', '\x50', '\x72', '\x6f', '\x70', '\x65', '\x72', '\x74', '\x69', '\x65', '\x73', '\x20', '\x70', '\x72', '\x6f', '\x70', '\x20', '\x3d', '\x20', '\x70', '\x61', '\x72', '\x73', '\x65', '\x53', '\x70', '\x65', '\x63', '\x69', '\x61', '\x6c', '\x54', '\x61', '\x67', '\x28', '\x20', '\x74', '\x61', '\x67', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x28', '\x20', '\x70', '\x72', '\x6f', '\x70', '\x20', '\x26', '\x20', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x3a', '\x3a', '\x49', '\x73', '\x48', '\x69', '\x64', '\x64', '\x65', '\x6e', '\x20', '\x29', '\x20', '\x21', '\x3d', '\x20', '\x30', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x73', '\x48', '\x69', '\x64', '\x64', '\x65', '\x6e', '\x20', '\x3d', '\x20', '\x74', '\x72', '\x75', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x6c', '\x73', '\x65', '\x20', '\x69', '\x66', '\x28', '\x20', '\x70', '\x72', '\x6f', '\x70', '\x20', '\x3d', '\x3d', '\x20', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x3a', '\x3a', '\x4e', '\x6f', '\x6e', '\x65', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x6e', '\x66', '\x6f', '\x72', '\x63', '\x65', '\x4e', '\x6f', '\x74', '\x52', '\x65', '\x73', '\x65', '\x72', '\x76', '\x65', '\x64', '\x54', '\x61', '\x67', '\x28', '\x20', '\x74', '\x61', '\x67', '\x2c', '\x20', '\x5f', '\x6c', '\x69', '\x6e', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x4d', '\x65', '\x72', '\x67', '\x65', '\x64', '\x20', '\x68', '\x69', '\x64', '\x65', '\x20', '\x74', '\x61', '\x67', '\x73', '\x20', '\x6c', '\x69', '\x6b', '\x65', '\x20', '\x60', '\x5b', '\x2e', '\x61', '\x70', '\x70', '\x72', '\x6f', '\x76', '\x61', '\x6c', '\x73', '\x5d', '\x60', '\x20', '\x73', '\x68', '\x6f', '\x75', '\x6c', '\x64', '\x20', '\x62', '\x65', '\x20', '\x61', '\x64', '\x64', '\x65', '\x64', '\x20', '\x61', '\x73', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x60', '\x5b', '\x2e', '\x5d', '\x5b', '\x61', '\x70', '\x70', '\x72', '\x6f', '\x76', '\x61', '\x6c', '\x73', '\x5d', '\x60', '\x2e', '\x20', '\x54', '\x68', '\x65', '\x20', '\x60', '\x5b', '\x2e', '\x5d', '\x60', '\x20', '\x69', '\x73', '\x20', '\x61', '\x64', '\x64', '\x65', '\x64', '\x20', '\x61', '\x74', '\x20', '\x6c', '\x61', '\x74', '\x65', '\x72', '\x20', '\x70', '\x6f', '\x69', '\x6e', '\x74', '\x2c', '\x20', '\x73', '\x6f', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x77', '\x65', '\x20', '\x6f', '\x6e', '\x6c', '\x79', '\x20', '\x73', '\x74', '\x72', '\x69', '\x70', '\x20', '\x74', '\x68', '\x65', '\x20', '\x70', '\x72', '\x65', '\x66', '\x69', '\x78', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x73', '\x74', '\x61', '\x72', '\x74', '\x73', '\x57', '\x69', '\x74', '\x68', '\x28', '\x74', '\x61', '\x67', '\x2c', '\x20', '\x27', '\x2e', '\x27', '\x29', '\x20', '\x26', '\x26', '\x20', '\x74', '\x61', '\x67', '\x2e', '\x73', '\x69', '\x7a', '\x65', '\x28', '\x29', '\x20', '\x3e', '\x20', '\x31', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x61', '\x67', '\x2e', '\x65', '\x72', '\x61', '\x73', '\x65', '\x28', '\x30', '\x2c', '\x20', '\x31', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x61', '\x67', '\x73', '\x2e', '\x70', '\x75', '\x73', '\x68', '\x5f', '\x62', '\x61', '\x63', '\x6b', '\x28', '\x20', '\x74', '\x61', '\x67', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x61', '\x67', '\x2e', '\x63', '\x6c', '\x65', '\x61', '\x72', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x6e', '\x54', '\x61', '\x67', '\x20', '\x3d', '\x20', '\x66', '\x61', '\x6c', '\x73', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x6c', '\x73', '\x65', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x61', '\x67', '\x20', '\x2b', '\x3d', '\x20', '\x63', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x69', '\x73', '\x48', '\x69', '\x64', '\x64', '\x65', '\x6e', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x61', '\x67', '\x73', '\x2e', '\x70', '\x75', '\x73', '\x68', '\x5f', '\x62', '\x61', '\x63', '\x6b', '\x28', '\x20', '\x22', '\x2e', '\x22', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x69', '\x6e', '\x66', '\x6f', '\x28', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x5f', '\x63', '\x61', '\x73', '\x74', '\x3c', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x3e', '\x28', '\x6e', '\x61', '\x6d', '\x65', '\x41', '\x6e', '\x64', '\x54', '\x61', '\x67', '\x73', '\x2e', '\x6e', '\x61', '\x6d', '\x65', '\x29', '\x2c', '\x20', '\x5f', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x64', '\x65', '\x73', '\x63', '\x2c', '\x20', '\x74', '\x61', '\x67', '\x73', '\x2c', '\x20', '\x5f', '\x6c', '\x69', '\x6e', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x28', '\x20', '\x5f', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x2c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6d', '\x6f', '\x76', '\x65', '\x28', '\x69', '\x6e', '\x66', '\x6f', '\x29', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x73', '\x65', '\x74', '\x54', '\x61', '\x67', '\x73', '\x28', '\x20', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x26', '\x20', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x2c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x3e', '\x20', '\x74', '\x61', '\x67', '\x73', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x6f', '\x72', '\x74', '\x28', '\x62', '\x65', '\x67', '\x69', '\x6e', '\x28', '\x74', '\x61', '\x67', '\x73', '\x29', '\x2c', '\x20', '\x65', '\x6e', '\x64', '\x28', '\x74', '\x61', '\x67', '\x73', '\x29', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x61', '\x67', '\x73', '\x2e', '\x65', '\x72', '\x61', '\x73', '\x65', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x75', '\x6e', '\x69', '\x71', '\x75', '\x65', '\x28', '\x62', '\x65', '\x67', '\x69', '\x6e', '\x28', '\x74', '\x61', '\x67', '\x73', '\x29', '\x2c', '\x20', '\x65', '\x6e', '\x64', '\x28', '\x74', '\x61', '\x67', '\x73', '\x29', '\x29', '\x2c', '\x20', '\x65', '\x6e', '\x64', '\x28', '\x74', '\x61', '\x67', '\x73', '\x29', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x2e', '\x6c', '\x63', '\x61', '\x73', '\x65', '\x54', '\x61', '\x67', '\x73', '\x2e', '\x63', '\x6c', '\x65', '\x61', '\x72', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x66', '\x6f', '\x72', '\x28', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x74', '\x61', '\x67', '\x20', '\x3a', '\x20', '\x74', '\x61', '\x67', '\x73', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x6c', '\x63', '\x61', '\x73', '\x65', '\x54', '\x61', '\x67', '\x20', '\x3d', '\x20', '\x74', '\x6f', '\x4c', '\x6f', '\x77', '\x65', '\x72', '\x28', '\x20', '\x74', '\x61', '\x67', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x2e', '\x70', '\x72', '\x6f', '\x70', '\x65', '\x72', '\x74', '\x69', '\x65', '\x73', '\x20', '\x3d', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x5f', '\x63', '\x61', '\x73', '\x74', '\x3c', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x3a', '\x3a', '\x53', '\x70', '\x65', '\x63', '\x69', '\x61', '\x6c', '\x50', '\x72', '\x6f', '\x70', '\x65', '\x72', '\x74', '\x69', '\x65', '\x73', '\x3e', '\x28', '\x20', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x2e', '\x70', '\x72', '\x6f', '\x70', '\x65', '\x72', '\x74', '\x69', '\x65', '\x73', '\x20', '\x7c', '\x20', '\x70', '\x61', '\x72', '\x73', '\x65', '\x53', '\x70', '\x65', '\x63', '\x69', '\x61', '\x6c', '\x54', '\x61', '\x67', '\x28', '\x20', '\x6c', '\x63', '\x61', '\x73', '\x65', '\x54', '\x61', '\x67', '\x20', '\x29', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x2e', '\x6c', '\x63', '\x61', '\x73', '\x65', '\x54', '\x61', '\x67', '\x73', '\x2e', '\x70', '\x75', '\x73', '\x68', '\x5f', '\x62', '\x61', '\x63', '\x6b', '\x28', '\x20', '\x6c', '\x63', '\x61', '\x73', '\x65', '\x54', '\x61', '\x67', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x2e', '\x74', '\x61', '\x67', '\x73', '\x20', '\x3d', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6d', '\x6f', '\x76', '\x65', '\x28', '\x74', '\x61', '\x67', '\x73', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x3a', '\x3a', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x5f', '\x6e', '\x61', '\x6d', '\x65', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x5f', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x5f', '\x64', '\x65', '\x73', '\x63', '\x72', '\x69', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x3e', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x5f', '\x74', '\x61', '\x67', '\x73', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x53', '\x6f', '\x75', '\x72', '\x63', '\x65', '\x4c', '\x69', '\x6e', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x5f', '\x6c', '\x69', '\x6e', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x3a', '\x20', '\x20', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x28', '\x20', '\x5f', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x29', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x28', '\x20', '\x5f', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x20', '\x29', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x64', '\x65', '\x73', '\x63', '\x72', '\x69', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x28', '\x20', '\x5f', '\x64', '\x65', '\x73', '\x63', '\x72', '\x69', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x29', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6c', '\x69', '\x6e', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x28', '\x20', '\x5f', '\x6c', '\x69', '\x6e', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x29', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x72', '\x6f', '\x70', '\x65', '\x72', '\x74', '\x69', '\x65', '\x73', '\x28', '\x20', '\x4e', '\x6f', '\x6e', '\x65', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x65', '\x74', '\x54', '\x61', '\x67', '\x73', '\x28', '\x20', '\x2a', '\x74', '\x68', '\x69', '\x73', '\x2c', '\x20', '\x5f', '\x74', '\x61', '\x67', '\x73', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x3a', '\x3a', '\x69', '\x73', '\x48', '\x69', '\x64', '\x64', '\x65', '\x6e', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x28', '\x20', '\x70', '\x72', '\x6f', '\x70', '\x65', '\x72', '\x74', '\x69', '\x65', '\x73', '\x20', '\x26', '\x20', '\x49', '\x73', '\x48', '\x69', '\x64', '\x64', '\x65', '\x6e', '\x20', '\x29', '\x20', '\x21', '\x3d', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x3a', '\x3a', '\x74', '\x68', '\x72', '\x6f', '\x77', '\x73', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x28', '\x20', '\x70', '\x72', '\x6f', '\x70', '\x65', '\x72', '\x74', '\x69', '\x65', '\x73', '\x20', '\x26', '\x20', '\x54', '\x68', '\x72', '\x6f', '\x77', '\x73', '\x20', '\x29', '\x20', '\x21', '\x3d', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x3a', '\x3a', '\x6f', '\x6b', '\x54', '\x6f', '\x46', '\x61', '\x69', '\x6c', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x28', '\x20', '\x70', '\x72', '\x6f', '\x70', '\x65', '\x72', '\x74', '\x69', '\x65', '\x73', '\x20', '\x26', '\x20', '\x28', '\x53', '\x68', '\x6f', '\x75', '\x6c', '\x64', '\x46', '\x61', '\x69', '\x6c', '\x20', '\x7c', '\x20', '\x4d', '\x61', '\x79', '\x46', '\x61', '\x69', '\x6c', '\x20', '\x29', '\x20', '\x29', '\x20', '\x21', '\x3d', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x3a', '\x3a', '\x65', '\x78', '\x70', '\x65', '\x63', '\x74', '\x65', '\x64', '\x54', '\x6f', '\x46', '\x61', '\x69', '\x6c', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x28', '\x20', '\x70', '\x72', '\x6f', '\x70', '\x65', '\x72', '\x74', '\x69', '\x65', '\x73', '\x20', '\x26', '\x20', '\x28', '\x53', '\x68', '\x6f', '\x75', '\x6c', '\x64', '\x46', '\x61', '\x69', '\x6c', '\x20', '\x29', '\x20', '\x29', '\x20', '\x21', '\x3d', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x3a', '\x3a', '\x74', '\x61', '\x67', '\x73', '\x41', '\x73', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x72', '\x65', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x27', '\x5b', '\x27', '\x20', '\x61', '\x6e', '\x64', '\x20', '\x27', '\x5d', '\x27', '\x20', '\x70', '\x65', '\x72', '\x20', '\x74', '\x61', '\x67', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x69', '\x7a', '\x65', '\x5f', '\x74', '\x20', '\x66', '\x75', '\x6c', '\x6c', '\x5f', '\x73', '\x69', '\x7a', '\x65', '\x20', '\x3d', '\x20', '\x32', '\x20', '\x2a', '\x20', '\x74', '\x61', '\x67', '\x73', '\x2e', '\x73', '\x69', '\x7a', '\x65', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x66', '\x6f', '\x72', '\x20', '\x28', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x26', '\x20', '\x74', '\x61', '\x67', '\x20', '\x3a', '\x20', '\x74', '\x61', '\x67', '\x73', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x66', '\x75', '\x6c', '\x6c', '\x5f', '\x73', '\x69', '\x7a', '\x65', '\x20', '\x2b', '\x3d', '\x20', '\x74', '\x61', '\x67', '\x2e', '\x73', '\x69', '\x7a', '\x65', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x2e', '\x72', '\x65', '\x73', '\x65', '\x72', '\x76', '\x65', '\x28', '\x66', '\x75', '\x6c', '\x6c', '\x5f', '\x73', '\x69', '\x7a', '\x65', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x66', '\x6f', '\x72', '\x20', '\x28', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x26', '\x20', '\x74', '\x61', '\x67', '\x20', '\x3a', '\x20', '\x74', '\x61', '\x67', '\x73', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x2e', '\x70', '\x75', '\x73', '\x68', '\x5f', '\x62', '\x61', '\x63', '\x6b', '\x28', '\x27', '\x5b', '\x27', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x2e', '\x61', '\x70', '\x70', '\x65', '\x6e', '\x64', '\x28', '\x74', '\x61', '\x67', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x2e', '\x70', '\x75', '\x73', '\x68', '\x5f', '\x62', '\x61', '\x63', '\x6b', '\x28', '\x27', '\x5d', '\x27', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x72', '\x65', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x3a', '\x3a', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x28', '\x20', '\x49', '\x54', '\x65', '\x73', '\x74', '\x49', '\x6e', '\x76', '\x6f', '\x6b', '\x65', '\x72', '\x2a', '\x20', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x2c', '\x20', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x26', '\x26', '\x20', '\x69', '\x6e', '\x66', '\x6f', '\x20', '\x29', '\x20', '\x3a', '\x20', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6d', '\x6f', '\x76', '\x65', '\x28', '\x69', '\x6e', '\x66', '\x6f', '\x29', '\x20', '\x29', '\x2c', '\x20', '\x74', '\x65', '\x73', '\x74', '\x28', '\x20', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x20', '\x29', '\x20', '\x7b', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x20', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x3a', '\x3a', '\x77', '\x69', '\x74', '\x68', '\x4e', '\x61', '\x6d', '\x65', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x5f', '\x6e', '\x65', '\x77', '\x4e', '\x61', '\x6d', '\x65', '\x20', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x20', '\x6f', '\x74', '\x68', '\x65', '\x72', '\x28', '\x20', '\x2a', '\x74', '\x68', '\x69', '\x73', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6f', '\x74', '\x68', '\x65', '\x72', '\x2e', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x3d', '\x20', '\x5f', '\x6e', '\x65', '\x77', '\x4e', '\x61', '\x6d', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6f', '\x74', '\x68', '\x65', '\x72', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x3a', '\x3a', '\x69', '\x6e', '\x76', '\x6f', '\x6b', '\x65', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x73', '\x74', '\x2d', '\x3e', '\x69', '\x6e', '\x76', '\x6f', '\x6b', '\x65', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x3a', '\x3a', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x3d', '\x3d', '\x20', '\x28', '\x20', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6f', '\x74', '\x68', '\x65', '\x72', '\x20', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x20', '\x74', '\x65', '\x73', '\x74', '\x2e', '\x67', '\x65', '\x74', '\x28', '\x29', '\x20', '\x3d', '\x3d', '\x20', '\x6f', '\x74', '\x68', '\x65', '\x72', '\x2e', '\x74', '\x65', '\x73', '\x74', '\x2e', '\x67', '\x65', '\x74', '\x28', '\x29', '\x20', '\x26', '\x26', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x3d', '\x3d', '\x20', '\x6f', '\x74', '\x68', '\x65', '\x72', '\x2e', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x26', '\x26', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x20', '\x3d', '\x3d', '\x20', '\x6f', '\x74', '\x68', '\x65', '\x72', '\x2e', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x3a', '\x3a', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x3c', '\x20', '\x28', '\x20', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6f', '\x74', '\x68', '\x65', '\x72', '\x20', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x3c', '\x20', '\x6f', '\x74', '\x68', '\x65', '\x72', '\x2e', '\x6e', '\x61', '\x6d', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x3a', '\x3a', '\x67', '\x65', '\x74', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x2a', '\x74', '\x68', '\x69', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x74', '\x65', '\x73', '\x74', '\x5f', '\x63', '\x61', '\x73', '\x65', '\x5f', '\x69', '\x6e', '\x66', '\x6f', '\x2e', '\x63', '\x70', '\x70', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x74', '\x65', '\x73', '\x74', '\x5f', '\x63', '\x61', '\x73', '\x65', '\x5f', '\x72', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x5f', '\x69', '\x6d', '\x70', '\x6c', '\x2e', '\x63', '\x70', '\x70', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x73', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x3e', '\x0d', '\x0a', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x3e', '\x20', '\x73', '\x6f', '\x72', '\x74', '\x54', '\x65', '\x73', '\x74', '\x73', '\x28', '\x20', '\x49', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x2c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x3e', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x75', '\x6e', '\x73', '\x6f', '\x72', '\x74', '\x65', '\x64', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x73', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x3e', '\x20', '\x73', '\x6f', '\x72', '\x74', '\x65', '\x64', '\x20', '\x3d', '\x20', '\x75', '\x6e', '\x73', '\x6f', '\x72', '\x74', '\x65', '\x64', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x73', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x77', '\x69', '\x74', '\x63', '\x68', '\x28', '\x20', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x2e', '\x72', '\x75', '\x6e', '\x4f', '\x72', '\x64', '\x65', '\x72', '\x28', '\x29', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x61', '\x73', '\x65', '\x20', '\x52', '\x75', '\x6e', '\x54', '\x65', '\x73', '\x74', '\x73', '\x3a', '\x3a', '\x49', '\x6e', '\x4c', '\x65', '\x78', '\x69', '\x63', '\x6f', '\x67', '\x72', '\x61', '\x70', '\x68', '\x69', '\x63', '\x61', '\x6c', '\x4f', '\x72', '\x64', '\x65', '\x72', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x6f', '\x72', '\x74', '\x28', '\x20', '\x73', '\x6f', '\x72', '\x74', '\x65', '\x64', '\x2e', '\x62', '\x65', '\x67', '\x69', '\x6e', '\x28', '\x29', '\x2c', '\x20', '\x73', '\x6f', '\x72', '\x74', '\x65', '\x64', '\x2e', '\x65', '\x6e', '\x64', '\x28', '\x29', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x72', '\x65', '\x61', '\x6b', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x61', '\x73', '\x65', '\x20', '\x52', '\x75', '\x6e', '\x54', '\x65', '\x73', '\x74', '\x73', '\x3a', '\x3a', '\x49', '\x6e', '\x52', '\x61', '\x6e', '\x64', '\x6f', '\x6d', '\x4f', '\x72', '\x64', '\x65', '\x72', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x65', '\x65', '\x64', '\x52', '\x6e', '\x67', '\x28', '\x20', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x68', '\x75', '\x66', '\x66', '\x6c', '\x65', '\x28', '\x20', '\x73', '\x6f', '\x72', '\x74', '\x65', '\x64', '\x2e', '\x62', '\x65', '\x67', '\x69', '\x6e', '\x28', '\x29', '\x2c', '\x20', '\x73', '\x6f', '\x72', '\x74', '\x65', '\x64', '\x2e', '\x65', '\x6e', '\x64', '\x28', '\x29', '\x2c', '\x20', '\x72', '\x6e', '\x67', '\x28', '\x29', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x72', '\x65', '\x61', '\x6b', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x61', '\x73', '\x65', '\x20', '\x52', '\x75', '\x6e', '\x54', '\x65', '\x73', '\x74', '\x73', '\x3a', '\x3a', '\x49', '\x6e', '\x44', '\x65', '\x63', '\x6c', '\x61', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x4f', '\x72', '\x64', '\x65', '\x72', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x61', '\x6c', '\x72', '\x65', '\x61', '\x64', '\x79', '\x20', '\x69', '\x6e', '\x20', '\x64', '\x65', '\x63', '\x6c', '\x61', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x6f', '\x72', '\x64', '\x65', '\x72', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x72', '\x65', '\x61', '\x6b', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x73', '\x6f', '\x72', '\x74', '\x65', '\x64', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x69', '\x73', '\x54', '\x68', '\x72', '\x6f', '\x77', '\x53', '\x61', '\x66', '\x65', '\x28', '\x20', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x2c', '\x20', '\x49', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x21', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x2e', '\x74', '\x68', '\x72', '\x6f', '\x77', '\x73', '\x28', '\x29', '\x20', '\x7c', '\x7c', '\x20', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x2e', '\x61', '\x6c', '\x6c', '\x6f', '\x77', '\x54', '\x68', '\x72', '\x6f', '\x77', '\x73', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x54', '\x65', '\x73', '\x74', '\x28', '\x20', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x2c', '\x20', '\x54', '\x65', '\x73', '\x74', '\x53', '\x70', '\x65', '\x63', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x74', '\x65', '\x73', '\x74', '\x53', '\x70', '\x65', '\x63', '\x2c', '\x20', '\x49', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x74', '\x65', '\x73', '\x74', '\x53', '\x70', '\x65', '\x63', '\x2e', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x73', '\x28', '\x20', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x20', '\x29', '\x20', '\x26', '\x26', '\x20', '\x69', '\x73', '\x54', '\x68', '\x72', '\x6f', '\x77', '\x53', '\x61', '\x66', '\x65', '\x28', '\x20', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x2c', '\x20', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x65', '\x6e', '\x66', '\x6f', '\x72', '\x63', '\x65', '\x4e', '\x6f', '\x44', '\x75', '\x70', '\x6c', '\x69', '\x63', '\x61', '\x74', '\x65', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x73', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x3e', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x66', '\x75', '\x6e', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x65', '\x74', '\x3c', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x3e', '\x20', '\x73', '\x65', '\x65', '\x6e', '\x46', '\x75', '\x6e', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x66', '\x6f', '\x72', '\x28', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x66', '\x75', '\x6e', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x3a', '\x20', '\x66', '\x75', '\x6e', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x70', '\x72', '\x65', '\x76', '\x20', '\x3d', '\x20', '\x73', '\x65', '\x65', '\x6e', '\x46', '\x75', '\x6e', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x2e', '\x69', '\x6e', '\x73', '\x65', '\x72', '\x74', '\x28', '\x20', '\x66', '\x75', '\x6e', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x45', '\x4e', '\x46', '\x4f', '\x52', '\x43', '\x45', '\x28', '\x20', '\x70', '\x72', '\x65', '\x76', '\x2e', '\x73', '\x65', '\x63', '\x6f', '\x6e', '\x64', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x22', '\x65', '\x72', '\x72', '\x6f', '\x72', '\x3a', '\x20', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x28', '\x20', '\x5c', '\x22', '\x22', '\x20', '\x3c', '\x3c', '\x20', '\x66', '\x75', '\x6e', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x2e', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x3c', '\x3c', '\x20', '\x22', '\x5c', '\x22', '\x20', '\x29', '\x20', '\x61', '\x6c', '\x72', '\x65', '\x61', '\x64', '\x79', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x2e', '\x5c', '\x6e', '\x22', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x3c', '\x3c', '\x20', '\x22', '\x5c', '\x74', '\x46', '\x69', '\x72', '\x73', '\x74', '\x20', '\x73', '\x65', '\x65', '\x6e', '\x20', '\x61', '\x74', '\x20', '\x22', '\x20', '\x3c', '\x3c', '\x20', '\x70', '\x72', '\x65', '\x76', '\x2e', '\x66', '\x69', '\x72', '\x73', '\x74', '\x2d', '\x3e', '\x67', '\x65', '\x74', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x28', '\x29', '\x2e', '\x6c', '\x69', '\x6e', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x3c', '\x3c', '\x20', '\x22', '\x5c', '\x6e', '\x22', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x3c', '\x3c', '\x20', '\x22', '\x5c', '\x74', '\x52', '\x65', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x20', '\x61', '\x74', '\x20', '\x22', '\x20', '\x3c', '\x3c', '\x20', '\x66', '\x75', '\x6e', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x2e', '\x67', '\x65', '\x74', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x28', '\x29', '\x2e', '\x6c', '\x69', '\x6e', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x3e', '\x20', '\x66', '\x69', '\x6c', '\x74', '\x65', '\x72', '\x54', '\x65', '\x73', '\x74', '\x73', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x3e', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x73', '\x2c', '\x20', '\x54', '\x65', '\x73', '\x74', '\x53', '\x70', '\x65', '\x63', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x74', '\x65', '\x73', '\x74', '\x53', '\x70', '\x65', '\x63', '\x2c', '\x20', '\x49', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x3e', '\x20', '\x66', '\x69', '\x6c', '\x74', '\x65', '\x72', '\x65', '\x64', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x66', '\x69', '\x6c', '\x74', '\x65', '\x72', '\x65', '\x64', '\x2e', '\x72', '\x65', '\x73', '\x65', '\x72', '\x76', '\x65', '\x28', '\x20', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x73', '\x2e', '\x73', '\x69', '\x7a', '\x65', '\x28', '\x29', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x66', '\x6f', '\x72', '\x20', '\x28', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x20', '\x3a', '\x20', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x73', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x28', '\x21', '\x74', '\x65', '\x73', '\x74', '\x53', '\x70', '\x65', '\x63', '\x2e', '\x68', '\x61', '\x73', '\x46', '\x69', '\x6c', '\x74', '\x65', '\x72', '\x73', '\x28', '\x29', '\x20', '\x26', '\x26', '\x20', '\x21', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x2e', '\x69', '\x73', '\x48', '\x69', '\x64', '\x64', '\x65', '\x6e', '\x28', '\x29', '\x29', '\x20', '\x7c', '\x7c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x28', '\x74', '\x65', '\x73', '\x74', '\x53', '\x70', '\x65', '\x63', '\x2e', '\x68', '\x61', '\x73', '\x46', '\x69', '\x6c', '\x74', '\x65', '\x72', '\x73', '\x28', '\x29', '\x20', '\x26', '\x26', '\x20', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x54', '\x65', '\x73', '\x74', '\x28', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x2c', '\x20', '\x74', '\x65', '\x73', '\x74', '\x53', '\x70', '\x65', '\x63', '\x2c', '\x20', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x29', '\x29', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x66', '\x69', '\x6c', '\x74', '\x65', '\x72', '\x65', '\x64', '\x2e', '\x70', '\x75', '\x73', '\x68', '\x5f', '\x62', '\x61', '\x63', '\x6b', '\x28', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x66', '\x69', '\x6c', '\x74', '\x65', '\x72', '\x65', '\x64', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x3e', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x67', '\x65', '\x74', '\x41', '\x6c', '\x6c', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x73', '\x53', '\x6f', '\x72', '\x74', '\x65', '\x64', '\x28', '\x20', '\x49', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x67', '\x65', '\x74', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x48', '\x75', '\x62', '\x28', '\x29', '\x2e', '\x67', '\x65', '\x74', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x28', '\x29', '\x2e', '\x67', '\x65', '\x74', '\x41', '\x6c', '\x6c', '\x54', '\x65', '\x73', '\x74', '\x73', '\x53', '\x6f', '\x72', '\x74', '\x65', '\x64', '\x28', '\x20', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x54', '\x65', '\x73', '\x74', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x3a', '\x3a', '\x72', '\x65', '\x67', '\x69', '\x73', '\x74', '\x65', '\x72', '\x54', '\x65', '\x73', '\x74', '\x28', '\x20', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x3d', '\x20', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x2e', '\x67', '\x65', '\x74', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x28', '\x29', '\x2e', '\x6e', '\x61', '\x6d', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x2e', '\x65', '\x6d', '\x70', '\x74', '\x79', '\x28', '\x29', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x52', '\x65', '\x75', '\x73', '\x61', '\x62', '\x6c', '\x65', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x20', '\x72', '\x73', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x73', '\x73', '\x20', '\x3c', '\x3c', '\x20', '\x22', '\x41', '\x6e', '\x6f', '\x6e', '\x79', '\x6d', '\x6f', '\x75', '\x73', '\x20', '\x74', '\x65', '\x73', '\x74', '\x20', '\x63', '\x61', '\x73', '\x65', '\x20', '\x22', '\x20', '\x3c', '\x3c', '\x20', '\x2b', '\x2b', '\x6d', '\x5f', '\x75', '\x6e', '\x6e', '\x61', '\x6d', '\x65', '\x64', '\x43', '\x6f', '\x75', '\x6e', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x72', '\x65', '\x67', '\x69', '\x73', '\x74', '\x65', '\x72', '\x54', '\x65', '\x73', '\x74', '\x28', '\x20', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x2e', '\x77', '\x69', '\x74', '\x68', '\x4e', '\x61', '\x6d', '\x65', '\x28', '\x20', '\x72', '\x73', '\x73', '\x2e', '\x73', '\x74', '\x72', '\x28', '\x29', '\x20', '\x29', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x66', '\x75', '\x6e', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x2e', '\x70', '\x75', '\x73', '\x68', '\x5f', '\x62', '\x61', '\x63', '\x6b', '\x28', '\x20', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x3e', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x54', '\x65', '\x73', '\x74', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x3a', '\x3a', '\x67', '\x65', '\x74', '\x41', '\x6c', '\x6c', '\x54', '\x65', '\x73', '\x74', '\x73', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6d', '\x5f', '\x66', '\x75', '\x6e', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x3e', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x54', '\x65', '\x73', '\x74', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x3a', '\x3a', '\x67', '\x65', '\x74', '\x41', '\x6c', '\x6c', '\x54', '\x65', '\x73', '\x74', '\x73', '\x53', '\x6f', '\x72', '\x74', '\x65', '\x64', '\x28', '\x20', '\x49', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x20', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x6d', '\x5f', '\x73', '\x6f', '\x72', '\x74', '\x65', '\x64', '\x46', '\x75', '\x6e', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x2e', '\x65', '\x6d', '\x70', '\x74', '\x79', '\x28', '\x29', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x6e', '\x66', '\x6f', '\x72', '\x63', '\x65', '\x4e', '\x6f', '\x44', '\x75', '\x70', '\x6c', '\x69', '\x63', '\x61', '\x74', '\x65', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x73', '\x28', '\x20', '\x6d', '\x5f', '\x66', '\x75', '\x6e', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x20', '\x6d', '\x5f', '\x63', '\x75', '\x72', '\x72', '\x65', '\x6e', '\x74', '\x53', '\x6f', '\x72', '\x74', '\x4f', '\x72', '\x64', '\x65', '\x72', '\x20', '\x21', '\x3d', '\x20', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x2e', '\x72', '\x75', '\x6e', '\x4f', '\x72', '\x64', '\x65', '\x72', '\x28', '\x29', '\x20', '\x7c', '\x7c', '\x20', '\x6d', '\x5f', '\x73', '\x6f', '\x72', '\x74', '\x65', '\x64', '\x46', '\x75', '\x6e', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x2e', '\x65', '\x6d', '\x70', '\x74', '\x79', '\x28', '\x29', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x73', '\x6f', '\x72', '\x74', '\x65', '\x64', '\x46', '\x75', '\x6e', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x20', '\x3d', '\x20', '\x73', '\x6f', '\x72', '\x74', '\x54', '\x65', '\x73', '\x74', '\x73', '\x28', '\x20', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x2c', '\x20', '\x6d', '\x5f', '\x66', '\x75', '\x6e', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x63', '\x75', '\x72', '\x72', '\x65', '\x6e', '\x74', '\x53', '\x6f', '\x72', '\x74', '\x4f', '\x72', '\x64', '\x65', '\x72', '\x20', '\x3d', '\x20', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x2e', '\x72', '\x75', '\x6e', '\x4f', '\x72', '\x64', '\x65', '\x72', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6d', '\x5f', '\x73', '\x6f', '\x72', '\x74', '\x65', '\x64', '\x46', '\x75', '\x6e', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x54', '\x65', '\x73', '\x74', '\x49', '\x6e', '\x76', '\x6f', '\x6b', '\x65', '\x72', '\x41', '\x73', '\x46', '\x75', '\x6e', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x3a', '\x3a', '\x54', '\x65', '\x73', '\x74', '\x49', '\x6e', '\x76', '\x6f', '\x6b', '\x65', '\x72', '\x41', '\x73', '\x46', '\x75', '\x6e', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x28', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x28', '\x2a', '\x74', '\x65', '\x73', '\x74', '\x41', '\x73', '\x46', '\x75', '\x6e', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x29', '\x28', '\x29', '\x20', '\x29', '\x20', '\x6e', '\x6f', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x20', '\x3a', '\x20', '\x6d', '\x5f', '\x74', '\x65', '\x73', '\x74', '\x41', '\x73', '\x46', '\x75', '\x6e', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x28', '\x20', '\x74', '\x65', '\x73', '\x74', '\x41', '\x73', '\x46', '\x75', '\x6e', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x29', '\x20', '\x7b', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x54', '\x65', '\x73', '\x74', '\x49', '\x6e', '\x76', '\x6f', '\x6b', '\x65', '\x72', '\x41', '\x73', '\x46', '\x75', '\x6e', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x3a', '\x3a', '\x69', '\x6e', '\x76', '\x6f', '\x6b', '\x65', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x74', '\x65', '\x73', '\x74', '\x41', '\x73', '\x46', '\x75', '\x6e', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x65', '\x78', '\x74', '\x72', '\x61', '\x63', '\x74', '\x43', '\x6c', '\x61', '\x73', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x28', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x66', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x4f', '\x72', '\x51', '\x75', '\x61', '\x6c', '\x69', '\x66', '\x69', '\x65', '\x64', '\x4d', '\x65', '\x74', '\x68', '\x6f', '\x64', '\x4e', '\x61', '\x6d', '\x65', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x28', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x4f', '\x72', '\x51', '\x75', '\x61', '\x6c', '\x69', '\x66', '\x69', '\x65', '\x64', '\x4d', '\x65', '\x74', '\x68', '\x6f', '\x64', '\x4e', '\x61', '\x6d', '\x65', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x73', '\x57', '\x69', '\x74', '\x68', '\x28', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x27', '\x26', '\x27', '\x20', '\x29', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x69', '\x7a', '\x65', '\x5f', '\x74', '\x20', '\x6c', '\x61', '\x73', '\x74', '\x43', '\x6f', '\x6c', '\x6f', '\x6e', '\x73', '\x20', '\x3d', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x2e', '\x72', '\x66', '\x69', '\x6e', '\x64', '\x28', '\x20', '\x22', '\x3a', '\x3a', '\x22', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x69', '\x7a', '\x65', '\x5f', '\x74', '\x20', '\x70', '\x65', '\x6e', '\x75', '\x6c', '\x74', '\x69', '\x6d', '\x61', '\x74', '\x65', '\x43', '\x6f', '\x6c', '\x6f', '\x6e', '\x73', '\x20', '\x3d', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x2e', '\x72', '\x66', '\x69', '\x6e', '\x64', '\x28', '\x20', '\x22', '\x3a', '\x3a', '\x22', '\x2c', '\x20', '\x6c', '\x61', '\x73', '\x74', '\x43', '\x6f', '\x6c', '\x6f', '\x6e', '\x73', '\x2d', '\x31', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x70', '\x65', '\x6e', '\x75', '\x6c', '\x74', '\x69', '\x6d', '\x61', '\x74', '\x65', '\x43', '\x6f', '\x6c', '\x6f', '\x6e', '\x73', '\x20', '\x3d', '\x3d', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x3a', '\x3a', '\x6e', '\x70', '\x6f', '\x73', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x65', '\x6e', '\x75', '\x6c', '\x74', '\x69', '\x6d', '\x61', '\x74', '\x65', '\x43', '\x6f', '\x6c', '\x6f', '\x6e', '\x73', '\x20', '\x3d', '\x20', '\x31', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x20', '\x3d', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x2e', '\x73', '\x75', '\x62', '\x73', '\x74', '\x72', '\x28', '\x20', '\x70', '\x65', '\x6e', '\x75', '\x6c', '\x74', '\x69', '\x6d', '\x61', '\x74', '\x65', '\x43', '\x6f', '\x6c', '\x6f', '\x6e', '\x73', '\x2c', '\x20', '\x6c', '\x61', '\x73', '\x74', '\x43', '\x6f', '\x6c', '\x6f', '\x6e', '\x73', '\x2d', '\x70', '\x65', '\x6e', '\x75', '\x6c', '\x74', '\x69', '\x6d', '\x61', '\x74', '\x65', '\x43', '\x6f', '\x6c', '\x6f', '\x6e', '\x73', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x74', '\x65', '\x73', '\x74', '\x5f', '\x63', '\x61', '\x73', '\x65', '\x5f', '\x72', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x5f', '\x69', '\x6d', '\x70', '\x6c', '\x2e', '\x63', '\x70', '\x70', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x74', '\x65', '\x73', '\x74', '\x5f', '\x63', '\x61', '\x73', '\x65', '\x5f', '\x74', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x2e', '\x63', '\x70', '\x70', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x61', '\x6c', '\x67', '\x6f', '\x72', '\x69', '\x74', '\x68', '\x6d', '\x3e', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x63', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x3e', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x73', '\x74', '\x64', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x3e', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x6d', '\x65', '\x6d', '\x6f', '\x72', '\x79', '\x3e', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x73', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x3e', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x5f', '\x5f', '\x63', '\x6c', '\x61', '\x6e', '\x67', '\x5f', '\x5f', '\x29', '\x0d', '\x0a', '\x23', '\x20', '\x20', '\x20', '\x20', '\x70', '\x72', '\x61', '\x67', '\x6d', '\x61', '\x20', '\x63', '\x6c', '\x61', '\x6e', '\x67', '\x20', '\x64', '\x69', '\x61', '\x67', '\x6e', '\x6f', '\x73', '\x74', '\x69', '\x63', '\x20', '\x70', '\x75', '\x73', '\x68', '\x0d', '\x0a', '\x23', '\x20', '\x20', '\x20', '\x20', '\x70', '\x72', '\x61', '\x67', '\x6d', '\x61', '\x20', '\x63', '\x6c', '\x61', '\x6e', '\x67', '\x20', '\x64', '\x69', '\x61', '\x67', '\x6e', '\x6f', '\x73', '\x74', '\x69', '\x63', '\x20', '\x69', '\x67', '\x6e', '\x6f', '\x72', '\x65', '\x64', '\x20', '\x22', '\x2d', '\x57', '\x65', '\x78', '\x69', '\x74', '\x2d', '\x74', '\x69', '\x6d', '\x65', '\x2d', '\x64', '\x65', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x6f', '\x72', '\x73', '\x22', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x69', '\x6e', '\x67', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x4e', '\x61', '\x6d', '\x65', '\x41', '\x6e', '\x64', '\x4c', '\x6f', '\x63', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x3a', '\x3a', '\x4e', '\x61', '\x6d', '\x65', '\x41', '\x6e', '\x64', '\x4c', '\x6f', '\x63', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x5f', '\x6e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x53', '\x6f', '\x75', '\x72', '\x63', '\x65', '\x4c', '\x69', '\x6e', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x5f', '\x6c', '\x6f', '\x63', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x3a', '\x20', '\x20', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x28', '\x20', '\x5f', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x29', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6c', '\x6f', '\x63', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x28', '\x20', '\x5f', '\x6c', '\x6f', '\x63', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7b', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x49', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x3a', '\x3a', '\x7e', '\x49', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x28', '\x29', '\x20', '\x3d', '\x20', '\x64', '\x65', '\x66', '\x61', '\x75', '\x6c', '\x74', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x49', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x26', '\x20', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x43', '\x6f', '\x6e', '\x74', '\x65', '\x78', '\x74', '\x3a', '\x3a', '\x73', '\x74', '\x61', '\x72', '\x74', '\x52', '\x75', '\x6e', '\x28', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x72', '\x6f', '\x6f', '\x74', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x20', '\x3d', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6d', '\x61', '\x6b', '\x65', '\x5f', '\x73', '\x68', '\x61', '\x72', '\x65', '\x64', '\x3c', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x3e', '\x28', '\x20', '\x4e', '\x61', '\x6d', '\x65', '\x41', '\x6e', '\x64', '\x4c', '\x6f', '\x63', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x28', '\x20', '\x22', '\x7b', '\x72', '\x6f', '\x6f', '\x74', '\x7d', '\x22', '\x2c', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x4c', '\x49', '\x4e', '\x45', '\x49', '\x4e', '\x46', '\x4f', '\x20', '\x29', '\x2c', '\x20', '\x2a', '\x74', '\x68', '\x69', '\x73', '\x2c', '\x20', '\x6e', '\x75', '\x6c', '\x6c', '\x70', '\x74', '\x72', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x63', '\x75', '\x72', '\x72', '\x65', '\x6e', '\x74', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x20', '\x3d', '\x20', '\x6e', '\x75', '\x6c', '\x6c', '\x70', '\x74', '\x72', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x72', '\x75', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x65', '\x20', '\x3d', '\x20', '\x45', '\x78', '\x65', '\x63', '\x75', '\x74', '\x69', '\x6e', '\x67', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x2a', '\x6d', '\x5f', '\x72', '\x6f', '\x6f', '\x74', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x43', '\x6f', '\x6e', '\x74', '\x65', '\x78', '\x74', '\x3a', '\x3a', '\x65', '\x6e', '\x64', '\x52', '\x75', '\x6e', '\x28', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x72', '\x6f', '\x6f', '\x74', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x2e', '\x72', '\x65', '\x73', '\x65', '\x74', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x63', '\x75', '\x72', '\x72', '\x65', '\x6e', '\x74', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x20', '\x3d', '\x20', '\x6e', '\x75', '\x6c', '\x6c', '\x70', '\x74', '\x72', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x72', '\x75', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x65', '\x20', '\x3d', '\x20', '\x4e', '\x6f', '\x74', '\x53', '\x74', '\x61', '\x72', '\x74', '\x65', '\x64', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x43', '\x6f', '\x6e', '\x74', '\x65', '\x78', '\x74', '\x3a', '\x3a', '\x73', '\x74', '\x61', '\x72', '\x74', '\x43', '\x79', '\x63', '\x6c', '\x65', '\x28', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x63', '\x75', '\x72', '\x72', '\x65', '\x6e', '\x74', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x20', '\x3d', '\x20', '\x6d', '\x5f', '\x72', '\x6f', '\x6f', '\x74', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x2e', '\x67', '\x65', '\x74', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x72', '\x75', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x65', '\x20', '\x3d', '\x20', '\x45', '\x78', '\x65', '\x63', '\x75', '\x74', '\x69', '\x6e', '\x67', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x43', '\x6f', '\x6e', '\x74', '\x65', '\x78', '\x74', '\x3a', '\x3a', '\x63', '\x6f', '\x6d', '\x70', '\x6c', '\x65', '\x74', '\x65', '\x43', '\x79', '\x63', '\x6c', '\x65', '\x28', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x72', '\x75', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x65', '\x20', '\x3d', '\x20', '\x43', '\x6f', '\x6d', '\x70', '\x6c', '\x65', '\x74', '\x65', '\x64', '\x43', '\x79', '\x63', '\x6c', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x43', '\x6f', '\x6e', '\x74', '\x65', '\x78', '\x74', '\x3a', '\x3a', '\x63', '\x6f', '\x6d', '\x70', '\x6c', '\x65', '\x74', '\x65', '\x64', '\x43', '\x79', '\x63', '\x6c', '\x65', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6d', '\x5f', '\x72', '\x75', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x65', '\x20', '\x3d', '\x3d', '\x20', '\x43', '\x6f', '\x6d', '\x70', '\x6c', '\x65', '\x74', '\x65', '\x64', '\x43', '\x79', '\x63', '\x6c', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x49', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x26', '\x20', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x43', '\x6f', '\x6e', '\x74', '\x65', '\x78', '\x74', '\x3a', '\x3a', '\x63', '\x75', '\x72', '\x72', '\x65', '\x6e', '\x74', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x28', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x2a', '\x6d', '\x5f', '\x63', '\x75', '\x72', '\x72', '\x65', '\x6e', '\x74', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x43', '\x6f', '\x6e', '\x74', '\x65', '\x78', '\x74', '\x3a', '\x3a', '\x73', '\x65', '\x74', '\x43', '\x75', '\x72', '\x72', '\x65', '\x6e', '\x74', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x28', '\x20', '\x49', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x2a', '\x20', '\x74', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x63', '\x75', '\x72', '\x72', '\x65', '\x6e', '\x74', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x20', '\x3d', '\x20', '\x74', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x42', '\x61', '\x73', '\x65', '\x3a', '\x3a', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x42', '\x61', '\x73', '\x65', '\x28', '\x20', '\x4e', '\x61', '\x6d', '\x65', '\x41', '\x6e', '\x64', '\x4c', '\x6f', '\x63', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x41', '\x6e', '\x64', '\x4c', '\x6f', '\x63', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x2c', '\x20', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x43', '\x6f', '\x6e', '\x74', '\x65', '\x78', '\x74', '\x26', '\x20', '\x63', '\x74', '\x78', '\x2c', '\x20', '\x49', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x2a', '\x20', '\x70', '\x61', '\x72', '\x65', '\x6e', '\x74', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x3a', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x6e', '\x61', '\x6d', '\x65', '\x41', '\x6e', '\x64', '\x4c', '\x6f', '\x63', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x28', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x41', '\x6e', '\x64', '\x4c', '\x6f', '\x63', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x29', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x63', '\x74', '\x78', '\x28', '\x20', '\x63', '\x74', '\x78', '\x20', '\x29', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x70', '\x61', '\x72', '\x65', '\x6e', '\x74', '\x28', '\x20', '\x70', '\x61', '\x72', '\x65', '\x6e', '\x74', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7b', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x4e', '\x61', '\x6d', '\x65', '\x41', '\x6e', '\x64', '\x4c', '\x6f', '\x63', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x42', '\x61', '\x73', '\x65', '\x3a', '\x3a', '\x6e', '\x61', '\x6d', '\x65', '\x41', '\x6e', '\x64', '\x4c', '\x6f', '\x63', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6d', '\x5f', '\x6e', '\x61', '\x6d', '\x65', '\x41', '\x6e', '\x64', '\x4c', '\x6f', '\x63', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x42', '\x61', '\x73', '\x65', '\x3a', '\x3a', '\x69', '\x73', '\x43', '\x6f', '\x6d', '\x70', '\x6c', '\x65', '\x74', '\x65', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6d', '\x5f', '\x72', '\x75', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x65', '\x20', '\x3d', '\x3d', '\x20', '\x43', '\x6f', '\x6d', '\x70', '\x6c', '\x65', '\x74', '\x65', '\x64', '\x53', '\x75', '\x63', '\x63', '\x65', '\x73', '\x73', '\x66', '\x75', '\x6c', '\x6c', '\x79', '\x20', '\x7c', '\x7c', '\x20', '\x6d', '\x5f', '\x72', '\x75', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x65', '\x20', '\x3d', '\x3d', '\x20', '\x46', '\x61', '\x69', '\x6c', '\x65', '\x64', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x42', '\x61', '\x73', '\x65', '\x3a', '\x3a', '\x69', '\x73', '\x53', '\x75', '\x63', '\x63', '\x65', '\x73', '\x73', '\x66', '\x75', '\x6c', '\x6c', '\x79', '\x43', '\x6f', '\x6d', '\x70', '\x6c', '\x65', '\x74', '\x65', '\x64', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6d', '\x5f', '\x72', '\x75', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x65', '\x20', '\x3d', '\x3d', '\x20', '\x43', '\x6f', '\x6d', '\x70', '\x6c', '\x65', '\x74', '\x65', '\x64', '\x53', '\x75', '\x63', '\x63', '\x65', '\x73', '\x73', '\x66', '\x75', '\x6c', '\x6c', '\x79', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x42', '\x61', '\x73', '\x65', '\x3a', '\x3a', '\x69', '\x73', '\x4f', '\x70', '\x65', '\x6e', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6d', '\x5f', '\x72', '\x75', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x65', '\x20', '\x21', '\x3d', '\x20', '\x4e', '\x6f', '\x74', '\x53', '\x74', '\x61', '\x72', '\x74', '\x65', '\x64', '\x20', '\x26', '\x26', '\x20', '\x21', '\x69', '\x73', '\x43', '\x6f', '\x6d', '\x70', '\x6c', '\x65', '\x74', '\x65', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x42', '\x61', '\x73', '\x65', '\x3a', '\x3a', '\x68', '\x61', '\x73', '\x43', '\x68', '\x69', '\x6c', '\x64', '\x72', '\x65', '\x6e', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x21', '\x6d', '\x5f', '\x63', '\x68', '\x69', '\x6c', '\x64', '\x72', '\x65', '\x6e', '\x2e', '\x65', '\x6d', '\x70', '\x74', '\x79', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x42', '\x61', '\x73', '\x65', '\x3a', '\x3a', '\x61', '\x64', '\x64', '\x43', '\x68', '\x69', '\x6c', '\x64', '\x28', '\x20', '\x49', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x50', '\x74', '\x72', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x63', '\x68', '\x69', '\x6c', '\x64', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x63', '\x68', '\x69', '\x6c', '\x64', '\x72', '\x65', '\x6e', '\x2e', '\x70', '\x75', '\x73', '\x68', '\x5f', '\x62', '\x61', '\x63', '\x6b', '\x28', '\x20', '\x63', '\x68', '\x69', '\x6c', '\x64', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x49', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x50', '\x74', '\x72', '\x20', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x42', '\x61', '\x73', '\x65', '\x3a', '\x3a', '\x66', '\x69', '\x6e', '\x64', '\x43', '\x68', '\x69', '\x6c', '\x64', '\x28', '\x20', '\x4e', '\x61', '\x6d', '\x65', '\x41', '\x6e', '\x64', '\x4c', '\x6f', '\x63', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x41', '\x6e', '\x64', '\x4c', '\x6f', '\x63', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x69', '\x74', '\x20', '\x3d', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x66', '\x69', '\x6e', '\x64', '\x5f', '\x69', '\x66', '\x28', '\x20', '\x6d', '\x5f', '\x63', '\x68', '\x69', '\x6c', '\x64', '\x72', '\x65', '\x6e', '\x2e', '\x62', '\x65', '\x67', '\x69', '\x6e', '\x28', '\x29', '\x2c', '\x20', '\x6d', '\x5f', '\x63', '\x68', '\x69', '\x6c', '\x64', '\x72', '\x65', '\x6e', '\x2e', '\x65', '\x6e', '\x64', '\x28', '\x29', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x5b', '\x26', '\x6e', '\x61', '\x6d', '\x65', '\x41', '\x6e', '\x64', '\x4c', '\x6f', '\x63', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x5d', '\x28', '\x20', '\x49', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x50', '\x74', '\x72', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x74', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x20', '\x29', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x2d', '\x3e', '\x6e', '\x61', '\x6d', '\x65', '\x41', '\x6e', '\x64', '\x4c', '\x6f', '\x63', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x28', '\x29', '\x2e', '\x6c', '\x6f', '\x63', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x3d', '\x3d', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x41', '\x6e', '\x64', '\x4c', '\x6f', '\x63', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x2e', '\x6c', '\x6f', '\x63', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x26', '\x26', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x2d', '\x3e', '\x6e', '\x61', '\x6d', '\x65', '\x41', '\x6e', '\x64', '\x4c', '\x6f', '\x63', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x28', '\x29', '\x2e', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x3d', '\x3d', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x41', '\x6e', '\x64', '\x4c', '\x6f', '\x63', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x2e', '\x6e', '\x61', '\x6d', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x28', '\x20', '\x69', '\x74', '\x20', '\x21', '\x3d', '\x20', '\x6d', '\x5f', '\x63', '\x68', '\x69', '\x6c', '\x64', '\x72', '\x65', '\x6e', '\x2e', '\x65', '\x6e', '\x64', '\x28', '\x29', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x3f', '\x20', '\x2a', '\x69', '\x74', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x3a', '\x20', '\x6e', '\x75', '\x6c', '\x6c', '\x70', '\x74', '\x72', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x49', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x26', '\x20', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x42', '\x61', '\x73', '\x65', '\x3a', '\x3a', '\x70', '\x61', '\x72', '\x65', '\x6e', '\x74', '\x28', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x28', '\x20', '\x6d', '\x5f', '\x70', '\x61', '\x72', '\x65', '\x6e', '\x74', '\x20', '\x29', '\x3b', '\x20', '\x2f', '\x2f', '\x20', '\x53', '\x68', '\x6f', '\x75', '\x6c', '\x64', '\x20', '\x61', '\x6c', '\x77', '\x61', '\x79', '\x73', '\x20', '\x62', '\x65', '\x20', '\x6e', '\x6f', '\x6e', '\x2d', '\x6e', '\x75', '\x6c', '\x6c', '\x20', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x20', '\x66', '\x6f', '\x72', '\x20', '\x72', '\x6f', '\x6f', '\x74', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x2a', '\x6d', '\x5f', '\x70', '\x61', '\x72', '\x65', '\x6e', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x42', '\x61', '\x73', '\x65', '\x3a', '\x3a', '\x6f', '\x70', '\x65', '\x6e', '\x43', '\x68', '\x69', '\x6c', '\x64', '\x28', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x6d', '\x5f', '\x72', '\x75', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x65', '\x20', '\x21', '\x3d', '\x20', '\x45', '\x78', '\x65', '\x63', '\x75', '\x74', '\x69', '\x6e', '\x67', '\x43', '\x68', '\x69', '\x6c', '\x64', '\x72', '\x65', '\x6e', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x72', '\x75', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x65', '\x20', '\x3d', '\x20', '\x45', '\x78', '\x65', '\x63', '\x75', '\x74', '\x69', '\x6e', '\x67', '\x43', '\x68', '\x69', '\x6c', '\x64', '\x72', '\x65', '\x6e', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x6d', '\x5f', '\x70', '\x61', '\x72', '\x65', '\x6e', '\x74', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x70', '\x61', '\x72', '\x65', '\x6e', '\x74', '\x2d', '\x3e', '\x6f', '\x70', '\x65', '\x6e', '\x43', '\x68', '\x69', '\x6c', '\x64', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x42', '\x61', '\x73', '\x65', '\x3a', '\x3a', '\x69', '\x73', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x7b', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x66', '\x61', '\x6c', '\x73', '\x65', '\x3b', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x42', '\x61', '\x73', '\x65', '\x3a', '\x3a', '\x69', '\x73', '\x47', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x7b', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x66', '\x61', '\x6c', '\x73', '\x65', '\x3b', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x42', '\x61', '\x73', '\x65', '\x3a', '\x3a', '\x6f', '\x70', '\x65', '\x6e', '\x28', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x72', '\x75', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x65', '\x20', '\x3d', '\x20', '\x45', '\x78', '\x65', '\x63', '\x75', '\x74', '\x69', '\x6e', '\x67', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x6f', '\x76', '\x65', '\x54', '\x6f', '\x54', '\x68', '\x69', '\x73', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x6d', '\x5f', '\x70', '\x61', '\x72', '\x65', '\x6e', '\x74', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x70', '\x61', '\x72', '\x65', '\x6e', '\x74', '\x2d', '\x3e', '\x6f', '\x70', '\x65', '\x6e', '\x43', '\x68', '\x69', '\x6c', '\x64', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x42', '\x61', '\x73', '\x65', '\x3a', '\x3a', '\x63', '\x6c', '\x6f', '\x73', '\x65', '\x28', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x43', '\x6c', '\x6f', '\x73', '\x65', '\x20', '\x61', '\x6e', '\x79', '\x20', '\x73', '\x74', '\x69', '\x6c', '\x6c', '\x20', '\x6f', '\x70', '\x65', '\x6e', '\x20', '\x63', '\x68', '\x69', '\x6c', '\x64', '\x72', '\x65', '\x6e', '\x20', '\x28', '\x65', '\x2e', '\x67', '\x2e', '\x20', '\x67', '\x65', '\x6e', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x73', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x77', '\x68', '\x69', '\x6c', '\x65', '\x28', '\x20', '\x26', '\x6d', '\x5f', '\x63', '\x74', '\x78', '\x2e', '\x63', '\x75', '\x72', '\x72', '\x65', '\x6e', '\x74', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x28', '\x29', '\x20', '\x21', '\x3d', '\x20', '\x74', '\x68', '\x69', '\x73', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x63', '\x74', '\x78', '\x2e', '\x63', '\x75', '\x72', '\x72', '\x65', '\x6e', '\x74', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x28', '\x29', '\x2e', '\x63', '\x6c', '\x6f', '\x73', '\x65', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x77', '\x69', '\x74', '\x63', '\x68', '\x28', '\x20', '\x6d', '\x5f', '\x72', '\x75', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x65', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x61', '\x73', '\x65', '\x20', '\x4e', '\x65', '\x65', '\x64', '\x73', '\x41', '\x6e', '\x6f', '\x74', '\x68', '\x65', '\x72', '\x52', '\x75', '\x6e', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x72', '\x65', '\x61', '\x6b', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x61', '\x73', '\x65', '\x20', '\x45', '\x78', '\x65', '\x63', '\x75', '\x74', '\x69', '\x6e', '\x67', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x72', '\x75', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x65', '\x20', '\x3d', '\x20', '\x43', '\x6f', '\x6d', '\x70', '\x6c', '\x65', '\x74', '\x65', '\x64', '\x53', '\x75', '\x63', '\x63', '\x65', '\x73', '\x73', '\x66', '\x75', '\x6c', '\x6c', '\x79', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x72', '\x65', '\x61', '\x6b', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x61', '\x73', '\x65', '\x20', '\x45', '\x78', '\x65', '\x63', '\x75', '\x74', '\x69', '\x6e', '\x67', '\x43', '\x68', '\x69', '\x6c', '\x64', '\x72', '\x65', '\x6e', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x61', '\x6c', '\x6c', '\x5f', '\x6f', '\x66', '\x28', '\x6d', '\x5f', '\x63', '\x68', '\x69', '\x6c', '\x64', '\x72', '\x65', '\x6e', '\x2e', '\x62', '\x65', '\x67', '\x69', '\x6e', '\x28', '\x29', '\x2c', '\x20', '\x6d', '\x5f', '\x63', '\x68', '\x69', '\x6c', '\x64', '\x72', '\x65', '\x6e', '\x2e', '\x65', '\x6e', '\x64', '\x28', '\x29', '\x2c', '\x20', '\x5b', '\x5d', '\x28', '\x49', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x50', '\x74', '\x72', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x74', '\x29', '\x7b', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x74', '\x2d', '\x3e', '\x69', '\x73', '\x43', '\x6f', '\x6d', '\x70', '\x6c', '\x65', '\x74', '\x65', '\x28', '\x29', '\x3b', '\x20', '\x7d', '\x29', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x72', '\x75', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x65', '\x20', '\x3d', '\x20', '\x43', '\x6f', '\x6d', '\x70', '\x6c', '\x65', '\x74', '\x65', '\x64', '\x53', '\x75', '\x63', '\x63', '\x65', '\x73', '\x73', '\x66', '\x75', '\x6c', '\x6c', '\x79', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x72', '\x65', '\x61', '\x6b', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x61', '\x73', '\x65', '\x20', '\x4e', '\x6f', '\x74', '\x53', '\x74', '\x61', '\x72', '\x74', '\x65', '\x64', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x61', '\x73', '\x65', '\x20', '\x43', '\x6f', '\x6d', '\x70', '\x6c', '\x65', '\x74', '\x65', '\x64', '\x53', '\x75', '\x63', '\x63', '\x65', '\x73', '\x73', '\x66', '\x75', '\x6c', '\x6c', '\x79', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x61', '\x73', '\x65', '\x20', '\x46', '\x61', '\x69', '\x6c', '\x65', '\x64', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x45', '\x52', '\x52', '\x4f', '\x52', '\x28', '\x20', '\x22', '\x49', '\x6c', '\x6c', '\x6f', '\x67', '\x69', '\x63', '\x61', '\x6c', '\x20', '\x73', '\x74', '\x61', '\x74', '\x65', '\x3a', '\x20', '\x22', '\x20', '\x3c', '\x3c', '\x20', '\x6d', '\x5f', '\x72', '\x75', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x65', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x64', '\x65', '\x66', '\x61', '\x75', '\x6c', '\x74', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x45', '\x52', '\x52', '\x4f', '\x52', '\x28', '\x20', '\x22', '\x55', '\x6e', '\x6b', '\x6e', '\x6f', '\x77', '\x6e', '\x20', '\x73', '\x74', '\x61', '\x74', '\x65', '\x3a', '\x20', '\x22', '\x20', '\x3c', '\x3c', '\x20', '\x6d', '\x5f', '\x72', '\x75', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x65', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x6f', '\x76', '\x65', '\x54', '\x6f', '\x50', '\x61', '\x72', '\x65', '\x6e', '\x74', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x63', '\x74', '\x78', '\x2e', '\x63', '\x6f', '\x6d', '\x70', '\x6c', '\x65', '\x74', '\x65', '\x43', '\x79', '\x63', '\x6c', '\x65', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x42', '\x61', '\x73', '\x65', '\x3a', '\x3a', '\x66', '\x61', '\x69', '\x6c', '\x28', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x72', '\x75', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x65', '\x20', '\x3d', '\x20', '\x46', '\x61', '\x69', '\x6c', '\x65', '\x64', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x6d', '\x5f', '\x70', '\x61', '\x72', '\x65', '\x6e', '\x74', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x70', '\x61', '\x72', '\x65', '\x6e', '\x74', '\x2d', '\x3e', '\x6d', '\x61', '\x72', '\x6b', '\x41', '\x73', '\x4e', '\x65', '\x65', '\x64', '\x69', '\x6e', '\x67', '\x41', '\x6e', '\x6f', '\x74', '\x68', '\x65', '\x72', '\x52', '\x75', '\x6e', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x6f', '\x76', '\x65', '\x54', '\x6f', '\x50', '\x61', '\x72', '\x65', '\x6e', '\x74', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x63', '\x74', '\x78', '\x2e', '\x63', '\x6f', '\x6d', '\x70', '\x6c', '\x65', '\x74', '\x65', '\x43', '\x79', '\x63', '\x6c', '\x65', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x42', '\x61', '\x73', '\x65', '\x3a', '\x3a', '\x6d', '\x61', '\x72', '\x6b', '\x41', '\x73', '\x4e', '\x65', '\x65', '\x64', '\x69', '\x6e', '\x67', '\x41', '\x6e', '\x6f', '\x74', '\x68', '\x65', '\x72', '\x52', '\x75', '\x6e', '\x28', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x72', '\x75', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x65', '\x20', '\x3d', '\x20', '\x4e', '\x65', '\x65', '\x64', '\x73', '\x41', '\x6e', '\x6f', '\x74', '\x68', '\x65', '\x72', '\x52', '\x75', '\x6e', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x42', '\x61', '\x73', '\x65', '\x3a', '\x3a', '\x6d', '\x6f', '\x76', '\x65', '\x54', '\x6f', '\x50', '\x61', '\x72', '\x65', '\x6e', '\x74', '\x28', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x28', '\x20', '\x6d', '\x5f', '\x70', '\x61', '\x72', '\x65', '\x6e', '\x74', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x63', '\x74', '\x78', '\x2e', '\x73', '\x65', '\x74', '\x43', '\x75', '\x72', '\x72', '\x65', '\x6e', '\x74', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x28', '\x20', '\x6d', '\x5f', '\x70', '\x61', '\x72', '\x65', '\x6e', '\x74', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x42', '\x61', '\x73', '\x65', '\x3a', '\x3a', '\x6d', '\x6f', '\x76', '\x65', '\x54', '\x6f', '\x54', '\x68', '\x69', '\x73', '\x28', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x63', '\x74', '\x78', '\x2e', '\x73', '\x65', '\x74', '\x43', '\x75', '\x72', '\x72', '\x65', '\x6e', '\x74', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x28', '\x20', '\x74', '\x68', '\x69', '\x73', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x3a', '\x3a', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x28', '\x20', '\x4e', '\x61', '\x6d', '\x65', '\x41', '\x6e', '\x64', '\x4c', '\x6f', '\x63', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x41', '\x6e', '\x64', '\x4c', '\x6f', '\x63', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x2c', '\x20', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x43', '\x6f', '\x6e', '\x74', '\x65', '\x78', '\x74', '\x26', '\x20', '\x63', '\x74', '\x78', '\x2c', '\x20', '\x49', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x2a', '\x20', '\x70', '\x61', '\x72', '\x65', '\x6e', '\x74', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x3a', '\x20', '\x20', '\x20', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x42', '\x61', '\x73', '\x65', '\x28', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x41', '\x6e', '\x64', '\x4c', '\x6f', '\x63', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x2c', '\x20', '\x63', '\x74', '\x78', '\x2c', '\x20', '\x70', '\x61', '\x72', '\x65', '\x6e', '\x74', '\x20', '\x29', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x74', '\x72', '\x69', '\x6d', '\x6d', '\x65', '\x64', '\x5f', '\x6e', '\x61', '\x6d', '\x65', '\x28', '\x74', '\x72', '\x69', '\x6d', '\x28', '\x6e', '\x61', '\x6d', '\x65', '\x41', '\x6e', '\x64', '\x4c', '\x6f', '\x63', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x2e', '\x6e', '\x61', '\x6d', '\x65', '\x29', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x70', '\x61', '\x72', '\x65', '\x6e', '\x74', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x77', '\x68', '\x69', '\x6c', '\x65', '\x28', '\x20', '\x21', '\x70', '\x61', '\x72', '\x65', '\x6e', '\x74', '\x2d', '\x3e', '\x69', '\x73', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x28', '\x29', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x61', '\x72', '\x65', '\x6e', '\x74', '\x20', '\x3d', '\x20', '\x26', '\x70', '\x61', '\x72', '\x65', '\x6e', '\x74', '\x2d', '\x3e', '\x70', '\x61', '\x72', '\x65', '\x6e', '\x74', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x26', '\x20', '\x70', '\x61', '\x72', '\x65', '\x6e', '\x74', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x3d', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x5f', '\x63', '\x61', '\x73', '\x74', '\x3c', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x26', '\x3e', '\x28', '\x20', '\x2a', '\x70', '\x61', '\x72', '\x65', '\x6e', '\x74', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x64', '\x64', '\x4e', '\x65', '\x78', '\x74', '\x46', '\x69', '\x6c', '\x74', '\x65', '\x72', '\x73', '\x28', '\x20', '\x70', '\x61', '\x72', '\x65', '\x6e', '\x74', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x2e', '\x6d', '\x5f', '\x66', '\x69', '\x6c', '\x74', '\x65', '\x72', '\x73', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x3a', '\x3a', '\x69', '\x73', '\x43', '\x6f', '\x6d', '\x70', '\x6c', '\x65', '\x74', '\x65', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x63', '\x6f', '\x6d', '\x70', '\x6c', '\x65', '\x74', '\x65', '\x20', '\x3d', '\x20', '\x74', '\x72', '\x75', '\x65', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x28', '\x6d', '\x5f', '\x66', '\x69', '\x6c', '\x74', '\x65', '\x72', '\x73', '\x2e', '\x65', '\x6d', '\x70', '\x74', '\x79', '\x28', '\x29', '\x20', '\x7c', '\x7c', '\x20', '\x6d', '\x5f', '\x66', '\x69', '\x6c', '\x74', '\x65', '\x72', '\x73', '\x5b', '\x30', '\x5d', '\x20', '\x3d', '\x3d', '\x20', '\x22', '\x22', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7c', '\x7c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x66', '\x69', '\x6e', '\x64', '\x28', '\x6d', '\x5f', '\x66', '\x69', '\x6c', '\x74', '\x65', '\x72', '\x73', '\x2e', '\x62', '\x65', '\x67', '\x69', '\x6e', '\x28', '\x29', '\x2c', '\x20', '\x6d', '\x5f', '\x66', '\x69', '\x6c', '\x74', '\x65', '\x72', '\x73', '\x2e', '\x65', '\x6e', '\x64', '\x28', '\x29', '\x2c', '\x20', '\x6d', '\x5f', '\x74', '\x72', '\x69', '\x6d', '\x6d', '\x65', '\x64', '\x5f', '\x6e', '\x61', '\x6d', '\x65', '\x29', '\x20', '\x21', '\x3d', '\x20', '\x6d', '\x5f', '\x66', '\x69', '\x6c', '\x74', '\x65', '\x72', '\x73', '\x2e', '\x65', '\x6e', '\x64', '\x28', '\x29', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6f', '\x6d', '\x70', '\x6c', '\x65', '\x74', '\x65', '\x20', '\x3d', '\x20', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x42', '\x61', '\x73', '\x65', '\x3a', '\x3a', '\x69', '\x73', '\x43', '\x6f', '\x6d', '\x70', '\x6c', '\x65', '\x74', '\x65', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x63', '\x6f', '\x6d', '\x70', '\x6c', '\x65', '\x74', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x3a', '\x3a', '\x69', '\x73', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x7b', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x74', '\x72', '\x75', '\x65', '\x3b', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x26', '\x20', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x3a', '\x3a', '\x61', '\x63', '\x71', '\x75', '\x69', '\x72', '\x65', '\x28', '\x20', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x43', '\x6f', '\x6e', '\x74', '\x65', '\x78', '\x74', '\x26', '\x20', '\x63', '\x74', '\x78', '\x2c', '\x20', '\x4e', '\x61', '\x6d', '\x65', '\x41', '\x6e', '\x64', '\x4c', '\x6f', '\x63', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x41', '\x6e', '\x64', '\x4c', '\x6f', '\x63', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x68', '\x61', '\x72', '\x65', '\x64', '\x5f', '\x70', '\x74', '\x72', '\x3c', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x3e', '\x20', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x49', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x26', '\x20', '\x63', '\x75', '\x72', '\x72', '\x65', '\x6e', '\x74', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x20', '\x3d', '\x20', '\x63', '\x74', '\x78', '\x2e', '\x63', '\x75', '\x72', '\x72', '\x65', '\x6e', '\x74', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x49', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x50', '\x74', '\x72', '\x20', '\x63', '\x68', '\x69', '\x6c', '\x64', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x20', '\x3d', '\x20', '\x63', '\x75', '\x72', '\x72', '\x65', '\x6e', '\x74', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x2e', '\x66', '\x69', '\x6e', '\x64', '\x43', '\x68', '\x69', '\x6c', '\x64', '\x28', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x41', '\x6e', '\x64', '\x4c', '\x6f', '\x63', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x29', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x28', '\x20', '\x63', '\x68', '\x69', '\x6c', '\x64', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x28', '\x20', '\x63', '\x68', '\x69', '\x6c', '\x64', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x2d', '\x3e', '\x69', '\x73', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x28', '\x29', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x3d', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x5f', '\x70', '\x6f', '\x69', '\x6e', '\x74', '\x65', '\x72', '\x5f', '\x63', '\x61', '\x73', '\x74', '\x3c', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x3e', '\x28', '\x20', '\x63', '\x68', '\x69', '\x6c', '\x64', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x6c', '\x73', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x3d', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6d', '\x61', '\x6b', '\x65', '\x5f', '\x73', '\x68', '\x61', '\x72', '\x65', '\x64', '\x3c', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x3e', '\x28', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x41', '\x6e', '\x64', '\x4c', '\x6f', '\x63', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x2c', '\x20', '\x63', '\x74', '\x78', '\x2c', '\x20', '\x26', '\x63', '\x75', '\x72', '\x72', '\x65', '\x6e', '\x74', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x75', '\x72', '\x72', '\x65', '\x6e', '\x74', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x2e', '\x61', '\x64', '\x64', '\x43', '\x68', '\x69', '\x6c', '\x64', '\x28', '\x20', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x21', '\x63', '\x74', '\x78', '\x2e', '\x63', '\x6f', '\x6d', '\x70', '\x6c', '\x65', '\x74', '\x65', '\x64', '\x43', '\x79', '\x63', '\x6c', '\x65', '\x28', '\x29', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x2d', '\x3e', '\x74', '\x72', '\x79', '\x4f', '\x70', '\x65', '\x6e', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x2a', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x3a', '\x3a', '\x74', '\x72', '\x79', '\x4f', '\x70', '\x65', '\x6e', '\x28', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x21', '\x69', '\x73', '\x43', '\x6f', '\x6d', '\x70', '\x6c', '\x65', '\x74', '\x65', '\x28', '\x29', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6f', '\x70', '\x65', '\x6e', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x3a', '\x3a', '\x61', '\x64', '\x64', '\x49', '\x6e', '\x69', '\x74', '\x69', '\x61', '\x6c', '\x46', '\x69', '\x6c', '\x74', '\x65', '\x72', '\x73', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x3e', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x66', '\x69', '\x6c', '\x74', '\x65', '\x72', '\x73', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x21', '\x66', '\x69', '\x6c', '\x74', '\x65', '\x72', '\x73', '\x2e', '\x65', '\x6d', '\x70', '\x74', '\x79', '\x28', '\x29', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x66', '\x69', '\x6c', '\x74', '\x65', '\x72', '\x73', '\x2e', '\x72', '\x65', '\x73', '\x65', '\x72', '\x76', '\x65', '\x28', '\x20', '\x6d', '\x5f', '\x66', '\x69', '\x6c', '\x74', '\x65', '\x72', '\x73', '\x2e', '\x73', '\x69', '\x7a', '\x65', '\x28', '\x29', '\x20', '\x2b', '\x20', '\x66', '\x69', '\x6c', '\x74', '\x65', '\x72', '\x73', '\x2e', '\x73', '\x69', '\x7a', '\x65', '\x28', '\x29', '\x20', '\x2b', '\x20', '\x32', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x66', '\x69', '\x6c', '\x74', '\x65', '\x72', '\x73', '\x2e', '\x70', '\x75', '\x73', '\x68', '\x5f', '\x62', '\x61', '\x63', '\x6b', '\x28', '\x22', '\x22', '\x29', '\x3b', '\x20', '\x2f', '\x2f', '\x20', '\x52', '\x6f', '\x6f', '\x74', '\x20', '\x2d', '\x20', '\x73', '\x68', '\x6f', '\x75', '\x6c', '\x64', '\x20', '\x6e', '\x65', '\x76', '\x65', '\x72', '\x20', '\x62', '\x65', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x75', '\x6c', '\x74', '\x65', '\x64', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x66', '\x69', '\x6c', '\x74', '\x65', '\x72', '\x73', '\x2e', '\x70', '\x75', '\x73', '\x68', '\x5f', '\x62', '\x61', '\x63', '\x6b', '\x28', '\x22', '\x22', '\x29', '\x3b', '\x20', '\x2f', '\x2f', '\x20', '\x54', '\x65', '\x73', '\x74', '\x20', '\x43', '\x61', '\x73', '\x65', '\x20', '\x2d', '\x20', '\x6e', '\x6f', '\x74', '\x20', '\x61', '\x20', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x66', '\x69', '\x6c', '\x74', '\x65', '\x72', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x66', '\x69', '\x6c', '\x74', '\x65', '\x72', '\x73', '\x2e', '\x69', '\x6e', '\x73', '\x65', '\x72', '\x74', '\x28', '\x20', '\x6d', '\x5f', '\x66', '\x69', '\x6c', '\x74', '\x65', '\x72', '\x73', '\x2e', '\x65', '\x6e', '\x64', '\x28', '\x29', '\x2c', '\x20', '\x66', '\x69', '\x6c', '\x74', '\x65', '\x72', '\x73', '\x2e', '\x62', '\x65', '\x67', '\x69', '\x6e', '\x28', '\x29', '\x2c', '\x20', '\x66', '\x69', '\x6c', '\x74', '\x65', '\x72', '\x73', '\x2e', '\x65', '\x6e', '\x64', '\x28', '\x29', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x3a', '\x3a', '\x61', '\x64', '\x64', '\x4e', '\x65', '\x78', '\x74', '\x46', '\x69', '\x6c', '\x74', '\x65', '\x72', '\x73', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x3e', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x66', '\x69', '\x6c', '\x74', '\x65', '\x72', '\x73', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x66', '\x69', '\x6c', '\x74', '\x65', '\x72', '\x73', '\x2e', '\x73', '\x69', '\x7a', '\x65', '\x28', '\x29', '\x20', '\x3e', '\x20', '\x31', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x66', '\x69', '\x6c', '\x74', '\x65', '\x72', '\x73', '\x2e', '\x69', '\x6e', '\x73', '\x65', '\x72', '\x74', '\x28', '\x20', '\x6d', '\x5f', '\x66', '\x69', '\x6c', '\x74', '\x65', '\x72', '\x73', '\x2e', '\x65', '\x6e', '\x64', '\x28', '\x29', '\x2c', '\x20', '\x66', '\x69', '\x6c', '\x74', '\x65', '\x72', '\x73', '\x2e', '\x62', '\x65', '\x67', '\x69', '\x6e', '\x28', '\x29', '\x2b', '\x31', '\x2c', '\x20', '\x66', '\x69', '\x6c', '\x74', '\x65', '\x72', '\x73', '\x2e', '\x65', '\x6e', '\x64', '\x28', '\x29', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x69', '\x6e', '\x67', '\x0d', '\x0a', '\x0d', '\x0a', '\x75', '\x73', '\x69', '\x6e', '\x67', '\x20', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x69', '\x6e', '\x67', '\x3a', '\x3a', '\x49', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x3b', '\x0d', '\x0a', '\x75', '\x73', '\x69', '\x6e', '\x67', '\x20', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x69', '\x6e', '\x67', '\x3a', '\x3a', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x43', '\x6f', '\x6e', '\x74', '\x65', '\x78', '\x74', '\x3b', '\x0d', '\x0a', '\x75', '\x73', '\x69', '\x6e', '\x67', '\x20', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x69', '\x6e', '\x67', '\x3a', '\x3a', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x54', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x5f', '\x5f', '\x63', '\x6c', '\x61', '\x6e', '\x67', '\x5f', '\x5f', '\x29', '\x0d', '\x0a', '\x23', '\x20', '\x20', '\x20', '\x20', '\x70', '\x72', '\x61', '\x67', '\x6d', '\x61', '\x20', '\x63', '\x6c', '\x61', '\x6e', '\x67', '\x20', '\x64', '\x69', '\x61', '\x67', '\x6e', '\x6f', '\x73', '\x74', '\x69', '\x63', '\x20', '\x70', '\x6f', '\x70', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x74', '\x65', '\x73', '\x74', '\x5f', '\x63', '\x61', '\x73', '\x65', '\x5f', '\x74', '\x72', '\x61', '\x63', '\x6b', '\x65', '\x72', '\x2e', '\x63', '\x70', '\x70', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x74', '\x65', '\x73', '\x74', '\x5f', '\x72', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x2e', '\x63', '\x70', '\x70', '\x0d', '\x0a', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x6d', '\x61', '\x6b', '\x65', '\x54', '\x65', '\x73', '\x74', '\x49', '\x6e', '\x76', '\x6f', '\x6b', '\x65', '\x72', '\x28', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x28', '\x2a', '\x74', '\x65', '\x73', '\x74', '\x41', '\x73', '\x46', '\x75', '\x6e', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x29', '\x28', '\x29', '\x20', '\x29', '\x20', '\x6e', '\x6f', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x20', '\x2d', '\x3e', '\x20', '\x49', '\x54', '\x65', '\x73', '\x74', '\x49', '\x6e', '\x76', '\x6f', '\x6b', '\x65', '\x72', '\x2a', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6e', '\x65', '\x77', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6e', '\x6f', '\x74', '\x68', '\x72', '\x6f', '\x77', '\x29', '\x20', '\x54', '\x65', '\x73', '\x74', '\x49', '\x6e', '\x76', '\x6f', '\x6b', '\x65', '\x72', '\x41', '\x73', '\x46', '\x75', '\x6e', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x28', '\x20', '\x74', '\x65', '\x73', '\x74', '\x41', '\x73', '\x46', '\x75', '\x6e', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x4e', '\x61', '\x6d', '\x65', '\x41', '\x6e', '\x64', '\x54', '\x61', '\x67', '\x73', '\x3a', '\x3a', '\x4e', '\x61', '\x6d', '\x65', '\x41', '\x6e', '\x64', '\x54', '\x61', '\x67', '\x73', '\x28', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x66', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x5f', '\x20', '\x2c', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x66', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x74', '\x61', '\x67', '\x73', '\x5f', '\x20', '\x29', '\x20', '\x6e', '\x6f', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x20', '\x3a', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x28', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x5f', '\x20', '\x29', '\x2c', '\x20', '\x74', '\x61', '\x67', '\x73', '\x28', '\x20', '\x74', '\x61', '\x67', '\x73', '\x5f', '\x20', '\x29', '\x20', '\x7b', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x41', '\x75', '\x74', '\x6f', '\x52', '\x65', '\x67', '\x3a', '\x3a', '\x41', '\x75', '\x74', '\x6f', '\x52', '\x65', '\x67', '\x28', '\x20', '\x49', '\x54', '\x65', '\x73', '\x74', '\x49', '\x6e', '\x76', '\x6f', '\x6b', '\x65', '\x72', '\x2a', '\x20', '\x69', '\x6e', '\x76', '\x6f', '\x6b', '\x65', '\x72', '\x2c', '\x20', '\x53', '\x6f', '\x75', '\x72', '\x63', '\x65', '\x4c', '\x69', '\x6e', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6c', '\x69', '\x6e', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x2c', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x66', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x4f', '\x72', '\x4d', '\x65', '\x74', '\x68', '\x6f', '\x64', '\x2c', '\x20', '\x4e', '\x61', '\x6d', '\x65', '\x41', '\x6e', '\x64', '\x54', '\x61', '\x67', '\x73', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x41', '\x6e', '\x64', '\x54', '\x61', '\x67', '\x73', '\x20', '\x29', '\x20', '\x6e', '\x6f', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x52', '\x59', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x67', '\x65', '\x74', '\x4d', '\x75', '\x74', '\x61', '\x62', '\x6c', '\x65', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x48', '\x75', '\x62', '\x28', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2e', '\x72', '\x65', '\x67', '\x69', '\x73', '\x74', '\x65', '\x72', '\x54', '\x65', '\x73', '\x74', '\x28', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x61', '\x6b', '\x65', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x28', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x6e', '\x76', '\x6f', '\x6b', '\x65', '\x72', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x78', '\x74', '\x72', '\x61', '\x63', '\x74', '\x43', '\x6c', '\x61', '\x73', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x28', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x4f', '\x72', '\x4d', '\x65', '\x74', '\x68', '\x6f', '\x64', '\x20', '\x29', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x41', '\x6e', '\x64', '\x54', '\x61', '\x67', '\x73', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6c', '\x69', '\x6e', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x29', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x41', '\x4c', '\x4c', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x44', '\x6f', '\x20', '\x6e', '\x6f', '\x74', '\x20', '\x74', '\x68', '\x72', '\x6f', '\x77', '\x20', '\x77', '\x68', '\x65', '\x6e', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x69', '\x6e', '\x67', '\x20', '\x67', '\x6c', '\x6f', '\x62', '\x61', '\x6c', '\x20', '\x6f', '\x62', '\x6a', '\x65', '\x63', '\x74', '\x73', '\x2c', '\x20', '\x69', '\x6e', '\x73', '\x74', '\x65', '\x61', '\x64', '\x20', '\x72', '\x65', '\x67', '\x69', '\x73', '\x74', '\x65', '\x72', '\x20', '\x74', '\x68', '\x65', '\x20', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x74', '\x6f', '\x20', '\x62', '\x65', '\x20', '\x70', '\x72', '\x6f', '\x63', '\x65', '\x73', '\x73', '\x65', '\x64', '\x20', '\x6c', '\x61', '\x74', '\x65', '\x72', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x67', '\x65', '\x74', '\x4d', '\x75', '\x74', '\x61', '\x62', '\x6c', '\x65', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x48', '\x75', '\x62', '\x28', '\x29', '\x2e', '\x72', '\x65', '\x67', '\x69', '\x73', '\x74', '\x65', '\x72', '\x53', '\x74', '\x61', '\x72', '\x74', '\x75', '\x70', '\x45', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x41', '\x75', '\x74', '\x6f', '\x52', '\x65', '\x67', '\x3a', '\x3a', '\x7e', '\x41', '\x75', '\x74', '\x6f', '\x52', '\x65', '\x67', '\x28', '\x29', '\x20', '\x3d', '\x20', '\x64', '\x65', '\x66', '\x61', '\x75', '\x6c', '\x74', '\x3b', '\x0d', '\x0a', '\x7d', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x74', '\x65', '\x73', '\x74', '\x5f', '\x72', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x2e', '\x63', '\x70', '\x70', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x74', '\x65', '\x73', '\x74', '\x5f', '\x73', '\x70', '\x65', '\x63', '\x2e', '\x63', '\x70', '\x70', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x61', '\x6c', '\x67', '\x6f', '\x72', '\x69', '\x74', '\x68', '\x6d', '\x3e', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x3e', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3e', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x6d', '\x65', '\x6d', '\x6f', '\x72', '\x79', '\x3e', '\x0d', '\x0a', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x54', '\x65', '\x73', '\x74', '\x53', '\x70', '\x65', '\x63', '\x3a', '\x3a', '\x50', '\x61', '\x74', '\x74', '\x65', '\x72', '\x6e', '\x3a', '\x3a', '\x50', '\x61', '\x74', '\x74', '\x65', '\x72', '\x6e', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x3a', '\x20', '\x6d', '\x5f', '\x6e', '\x61', '\x6d', '\x65', '\x28', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7b', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x54', '\x65', '\x73', '\x74', '\x53', '\x70', '\x65', '\x63', '\x3a', '\x3a', '\x50', '\x61', '\x74', '\x74', '\x65', '\x72', '\x6e', '\x3a', '\x3a', '\x7e', '\x50', '\x61', '\x74', '\x74', '\x65', '\x72', '\x6e', '\x28', '\x29', '\x20', '\x3d', '\x20', '\x64', '\x65', '\x66', '\x61', '\x75', '\x6c', '\x74', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x54', '\x65', '\x73', '\x74', '\x53', '\x70', '\x65', '\x63', '\x3a', '\x3a', '\x50', '\x61', '\x74', '\x74', '\x65', '\x72', '\x6e', '\x3a', '\x3a', '\x6e', '\x61', '\x6d', '\x65', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6d', '\x5f', '\x6e', '\x61', '\x6d', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x54', '\x65', '\x73', '\x74', '\x53', '\x70', '\x65', '\x63', '\x3a', '\x3a', '\x4e', '\x61', '\x6d', '\x65', '\x50', '\x61', '\x74', '\x74', '\x65', '\x72', '\x6e', '\x3a', '\x3a', '\x4e', '\x61', '\x6d', '\x65', '\x50', '\x61', '\x74', '\x74', '\x65', '\x72', '\x6e', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x66', '\x69', '\x6c', '\x74', '\x65', '\x72', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x3a', '\x20', '\x50', '\x61', '\x74', '\x74', '\x65', '\x72', '\x6e', '\x28', '\x20', '\x66', '\x69', '\x6c', '\x74', '\x65', '\x72', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x2c', '\x20', '\x6d', '\x5f', '\x77', '\x69', '\x6c', '\x64', '\x63', '\x61', '\x72', '\x64', '\x50', '\x61', '\x74', '\x74', '\x65', '\x72', '\x6e', '\x28', '\x20', '\x74', '\x6f', '\x4c', '\x6f', '\x77', '\x65', '\x72', '\x28', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x29', '\x2c', '\x20', '\x43', '\x61', '\x73', '\x65', '\x53', '\x65', '\x6e', '\x73', '\x69', '\x74', '\x69', '\x76', '\x65', '\x3a', '\x3a', '\x4e', '\x6f', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7b', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x54', '\x65', '\x73', '\x74', '\x53', '\x70', '\x65', '\x63', '\x3a', '\x3a', '\x4e', '\x61', '\x6d', '\x65', '\x50', '\x61', '\x74', '\x74', '\x65', '\x72', '\x6e', '\x3a', '\x3a', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x73', '\x28', '\x20', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x20', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6d', '\x5f', '\x77', '\x69', '\x6c', '\x64', '\x63', '\x61', '\x72', '\x64', '\x50', '\x61', '\x74', '\x74', '\x65', '\x72', '\x6e', '\x2e', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x73', '\x28', '\x20', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x2e', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x54', '\x65', '\x73', '\x74', '\x53', '\x70', '\x65', '\x63', '\x3a', '\x3a', '\x54', '\x61', '\x67', '\x50', '\x61', '\x74', '\x74', '\x65', '\x72', '\x6e', '\x3a', '\x3a', '\x54', '\x61', '\x67', '\x50', '\x61', '\x74', '\x74', '\x65', '\x72', '\x6e', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x74', '\x61', '\x67', '\x2c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x66', '\x69', '\x6c', '\x74', '\x65', '\x72', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x3a', '\x20', '\x50', '\x61', '\x74', '\x74', '\x65', '\x72', '\x6e', '\x28', '\x20', '\x66', '\x69', '\x6c', '\x74', '\x65', '\x72', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x2c', '\x20', '\x6d', '\x5f', '\x74', '\x61', '\x67', '\x28', '\x20', '\x74', '\x6f', '\x4c', '\x6f', '\x77', '\x65', '\x72', '\x28', '\x20', '\x74', '\x61', '\x67', '\x20', '\x29', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7b', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x54', '\x65', '\x73', '\x74', '\x53', '\x70', '\x65', '\x63', '\x3a', '\x3a', '\x54', '\x61', '\x67', '\x50', '\x61', '\x74', '\x74', '\x65', '\x72', '\x6e', '\x3a', '\x3a', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x73', '\x28', '\x20', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x20', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x66', '\x69', '\x6e', '\x64', '\x28', '\x62', '\x65', '\x67', '\x69', '\x6e', '\x28', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x2e', '\x6c', '\x63', '\x61', '\x73', '\x65', '\x54', '\x61', '\x67', '\x73', '\x29', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x6e', '\x64', '\x28', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x2e', '\x6c', '\x63', '\x61', '\x73', '\x65', '\x54', '\x61', '\x67', '\x73', '\x29', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x74', '\x61', '\x67', '\x29', '\x20', '\x21', '\x3d', '\x20', '\x65', '\x6e', '\x64', '\x28', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x2e', '\x6c', '\x63', '\x61', '\x73', '\x65', '\x54', '\x61', '\x67', '\x73', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x54', '\x65', '\x73', '\x74', '\x53', '\x70', '\x65', '\x63', '\x3a', '\x3a', '\x45', '\x78', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x64', '\x50', '\x61', '\x74', '\x74', '\x65', '\x72', '\x6e', '\x3a', '\x3a', '\x45', '\x78', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x64', '\x50', '\x61', '\x74', '\x74', '\x65', '\x72', '\x6e', '\x28', '\x20', '\x50', '\x61', '\x74', '\x74', '\x65', '\x72', '\x6e', '\x50', '\x74', '\x72', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x75', '\x6e', '\x64', '\x65', '\x72', '\x6c', '\x79', '\x69', '\x6e', '\x67', '\x50', '\x61', '\x74', '\x74', '\x65', '\x72', '\x6e', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x3a', '\x20', '\x50', '\x61', '\x74', '\x74', '\x65', '\x72', '\x6e', '\x28', '\x20', '\x75', '\x6e', '\x64', '\x65', '\x72', '\x6c', '\x79', '\x69', '\x6e', '\x67', '\x50', '\x61', '\x74', '\x74', '\x65', '\x72', '\x6e', '\x2d', '\x3e', '\x6e', '\x61', '\x6d', '\x65', '\x28', '\x29', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x2c', '\x20', '\x6d', '\x5f', '\x75', '\x6e', '\x64', '\x65', '\x72', '\x6c', '\x79', '\x69', '\x6e', '\x67', '\x50', '\x61', '\x74', '\x74', '\x65', '\x72', '\x6e', '\x28', '\x20', '\x75', '\x6e', '\x64', '\x65', '\x72', '\x6c', '\x79', '\x69', '\x6e', '\x67', '\x50', '\x61', '\x74', '\x74', '\x65', '\x72', '\x6e', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7b', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x54', '\x65', '\x73', '\x74', '\x53', '\x70', '\x65', '\x63', '\x3a', '\x3a', '\x45', '\x78', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x64', '\x50', '\x61', '\x74', '\x74', '\x65', '\x72', '\x6e', '\x3a', '\x3a', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x73', '\x28', '\x20', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x20', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x21', '\x6d', '\x5f', '\x75', '\x6e', '\x64', '\x65', '\x72', '\x6c', '\x79', '\x69', '\x6e', '\x67', '\x50', '\x61', '\x74', '\x74', '\x65', '\x72', '\x6e', '\x2d', '\x3e', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x73', '\x28', '\x20', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x54', '\x65', '\x73', '\x74', '\x53', '\x70', '\x65', '\x63', '\x3a', '\x3a', '\x46', '\x69', '\x6c', '\x74', '\x65', '\x72', '\x3a', '\x3a', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x73', '\x28', '\x20', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x20', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x61', '\x6c', '\x6c', '\x5f', '\x6f', '\x66', '\x28', '\x20', '\x6d', '\x5f', '\x70', '\x61', '\x74', '\x74', '\x65', '\x72', '\x6e', '\x73', '\x2e', '\x62', '\x65', '\x67', '\x69', '\x6e', '\x28', '\x29', '\x2c', '\x20', '\x6d', '\x5f', '\x70', '\x61', '\x74', '\x74', '\x65', '\x72', '\x6e', '\x73', '\x2e', '\x65', '\x6e', '\x64', '\x28', '\x29', '\x2c', '\x20', '\x5b', '\x26', '\x5d', '\x28', '\x20', '\x50', '\x61', '\x74', '\x74', '\x65', '\x72', '\x6e', '\x50', '\x74', '\x72', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x70', '\x20', '\x29', '\x7b', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x70', '\x2d', '\x3e', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x73', '\x28', '\x20', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x20', '\x29', '\x3b', '\x20', '\x7d', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x54', '\x65', '\x73', '\x74', '\x53', '\x70', '\x65', '\x63', '\x3a', '\x3a', '\x46', '\x69', '\x6c', '\x74', '\x65', '\x72', '\x3a', '\x3a', '\x6e', '\x61', '\x6d', '\x65', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x66', '\x6f', '\x72', '\x28', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x70', '\x20', '\x3a', '\x20', '\x6d', '\x5f', '\x70', '\x61', '\x74', '\x74', '\x65', '\x72', '\x6e', '\x73', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x2b', '\x3d', '\x20', '\x70', '\x2d', '\x3e', '\x6e', '\x61', '\x6d', '\x65', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x54', '\x65', '\x73', '\x74', '\x53', '\x70', '\x65', '\x63', '\x3a', '\x3a', '\x68', '\x61', '\x73', '\x46', '\x69', '\x6c', '\x74', '\x65', '\x72', '\x73', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x21', '\x6d', '\x5f', '\x66', '\x69', '\x6c', '\x74', '\x65', '\x72', '\x73', '\x2e', '\x65', '\x6d', '\x70', '\x74', '\x79', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x54', '\x65', '\x73', '\x74', '\x53', '\x70', '\x65', '\x63', '\x3a', '\x3a', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x73', '\x28', '\x20', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x20', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x61', '\x6e', '\x79', '\x5f', '\x6f', '\x66', '\x28', '\x20', '\x6d', '\x5f', '\x66', '\x69', '\x6c', '\x74', '\x65', '\x72', '\x73', '\x2e', '\x62', '\x65', '\x67', '\x69', '\x6e', '\x28', '\x29', '\x2c', '\x20', '\x6d', '\x5f', '\x66', '\x69', '\x6c', '\x74', '\x65', '\x72', '\x73', '\x2e', '\x65', '\x6e', '\x64', '\x28', '\x29', '\x2c', '\x20', '\x5b', '\x26', '\x5d', '\x28', '\x20', '\x46', '\x69', '\x6c', '\x74', '\x65', '\x72', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x66', '\x20', '\x29', '\x7b', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x66', '\x2e', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x73', '\x28', '\x20', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x20', '\x29', '\x3b', '\x20', '\x7d', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x54', '\x65', '\x73', '\x74', '\x53', '\x70', '\x65', '\x63', '\x3a', '\x3a', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x73', '\x20', '\x54', '\x65', '\x73', '\x74', '\x53', '\x70', '\x65', '\x63', '\x3a', '\x3a', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x73', '\x42', '\x79', '\x46', '\x69', '\x6c', '\x74', '\x65', '\x72', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x3e', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x73', '\x2c', '\x20', '\x49', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x20', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x73', '\x20', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x73', '\x28', '\x20', '\x6d', '\x5f', '\x66', '\x69', '\x6c', '\x74', '\x65', '\x72', '\x73', '\x2e', '\x73', '\x69', '\x7a', '\x65', '\x28', '\x29', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x74', '\x72', '\x61', '\x6e', '\x73', '\x66', '\x6f', '\x72', '\x6d', '\x28', '\x20', '\x6d', '\x5f', '\x66', '\x69', '\x6c', '\x74', '\x65', '\x72', '\x73', '\x2e', '\x62', '\x65', '\x67', '\x69', '\x6e', '\x28', '\x29', '\x2c', '\x20', '\x6d', '\x5f', '\x66', '\x69', '\x6c', '\x74', '\x65', '\x72', '\x73', '\x2e', '\x65', '\x6e', '\x64', '\x28', '\x29', '\x2c', '\x20', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x73', '\x2e', '\x62', '\x65', '\x67', '\x69', '\x6e', '\x28', '\x29', '\x2c', '\x20', '\x5b', '\x26', '\x5d', '\x28', '\x20', '\x46', '\x69', '\x6c', '\x74', '\x65', '\x72', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x66', '\x69', '\x6c', '\x74', '\x65', '\x72', '\x20', '\x29', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x2a', '\x3e', '\x20', '\x63', '\x75', '\x72', '\x72', '\x65', '\x6e', '\x74', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x66', '\x6f', '\x72', '\x28', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x74', '\x65', '\x73', '\x74', '\x20', '\x3a', '\x20', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x73', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x69', '\x73', '\x54', '\x68', '\x72', '\x6f', '\x77', '\x53', '\x61', '\x66', '\x65', '\x28', '\x20', '\x74', '\x65', '\x73', '\x74', '\x2c', '\x20', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x20', '\x29', '\x20', '\x26', '\x26', '\x20', '\x66', '\x69', '\x6c', '\x74', '\x65', '\x72', '\x2e', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x73', '\x28', '\x20', '\x74', '\x65', '\x73', '\x74', '\x20', '\x29', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x75', '\x72', '\x72', '\x65', '\x6e', '\x74', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x73', '\x2e', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x63', '\x65', '\x5f', '\x62', '\x61', '\x63', '\x6b', '\x28', '\x20', '\x26', '\x74', '\x65', '\x73', '\x74', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x46', '\x69', '\x6c', '\x74', '\x65', '\x72', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x7b', '\x20', '\x66', '\x69', '\x6c', '\x74', '\x65', '\x72', '\x2e', '\x6e', '\x61', '\x6d', '\x65', '\x28', '\x29', '\x2c', '\x20', '\x63', '\x75', '\x72', '\x72', '\x65', '\x6e', '\x74', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x73', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x54', '\x65', '\x73', '\x74', '\x53', '\x70', '\x65', '\x63', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x73', '\x26', '\x20', '\x54', '\x65', '\x73', '\x74', '\x53', '\x70', '\x65', '\x63', '\x3a', '\x3a', '\x67', '\x65', '\x74', '\x49', '\x6e', '\x76', '\x61', '\x6c', '\x69', '\x64', '\x41', '\x72', '\x67', '\x73', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x20', '\x28', '\x6d', '\x5f', '\x69', '\x6e', '\x76', '\x61', '\x6c', '\x69', '\x64', '\x41', '\x72', '\x67', '\x73', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x7d', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x74', '\x65', '\x73', '\x74', '\x5f', '\x73', '\x70', '\x65', '\x63', '\x2e', '\x63', '\x70', '\x70', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x74', '\x65', '\x73', '\x74', '\x5f', '\x73', '\x70', '\x65', '\x63', '\x5f', '\x70', '\x61', '\x72', '\x73', '\x65', '\x72', '\x2e', '\x63', '\x70', '\x70', '\x0d', '\x0a', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x54', '\x65', '\x73', '\x74', '\x53', '\x70', '\x65', '\x63', '\x50', '\x61', '\x72', '\x73', '\x65', '\x72', '\x3a', '\x3a', '\x54', '\x65', '\x73', '\x74', '\x53', '\x70', '\x65', '\x63', '\x50', '\x61', '\x72', '\x73', '\x65', '\x72', '\x28', '\x20', '\x49', '\x54', '\x61', '\x67', '\x41', '\x6c', '\x69', '\x61', '\x73', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x74', '\x61', '\x67', '\x41', '\x6c', '\x69', '\x61', '\x73', '\x65', '\x73', '\x20', '\x29', '\x20', '\x3a', '\x20', '\x6d', '\x5f', '\x74', '\x61', '\x67', '\x41', '\x6c', '\x69', '\x61', '\x73', '\x65', '\x73', '\x28', '\x20', '\x26', '\x74', '\x61', '\x67', '\x41', '\x6c', '\x69', '\x61', '\x73', '\x65', '\x73', '\x20', '\x29', '\x20', '\x7b', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x54', '\x65', '\x73', '\x74', '\x53', '\x70', '\x65', '\x63', '\x50', '\x61', '\x72', '\x73', '\x65', '\x72', '\x26', '\x20', '\x54', '\x65', '\x73', '\x74', '\x53', '\x70', '\x65', '\x63', '\x50', '\x61', '\x72', '\x73', '\x65', '\x72', '\x3a', '\x3a', '\x70', '\x61', '\x72', '\x73', '\x65', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x61', '\x72', '\x67', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x6d', '\x6f', '\x64', '\x65', '\x20', '\x3d', '\x20', '\x4e', '\x6f', '\x6e', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x65', '\x78', '\x63', '\x6c', '\x75', '\x73', '\x69', '\x6f', '\x6e', '\x20', '\x3d', '\x20', '\x66', '\x61', '\x6c', '\x73', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x61', '\x72', '\x67', '\x20', '\x3d', '\x20', '\x6d', '\x5f', '\x74', '\x61', '\x67', '\x41', '\x6c', '\x69', '\x61', '\x73', '\x65', '\x73', '\x2d', '\x3e', '\x65', '\x78', '\x70', '\x61', '\x6e', '\x64', '\x41', '\x6c', '\x69', '\x61', '\x73', '\x65', '\x73', '\x28', '\x20', '\x61', '\x72', '\x67', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x65', '\x73', '\x63', '\x61', '\x70', '\x65', '\x43', '\x68', '\x61', '\x72', '\x73', '\x2e', '\x63', '\x6c', '\x65', '\x61', '\x72', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x73', '\x75', '\x62', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x2e', '\x72', '\x65', '\x73', '\x65', '\x72', '\x76', '\x65', '\x28', '\x6d', '\x5f', '\x61', '\x72', '\x67', '\x2e', '\x73', '\x69', '\x7a', '\x65', '\x28', '\x29', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x70', '\x61', '\x74', '\x74', '\x65', '\x72', '\x6e', '\x4e', '\x61', '\x6d', '\x65', '\x2e', '\x72', '\x65', '\x73', '\x65', '\x72', '\x76', '\x65', '\x28', '\x6d', '\x5f', '\x61', '\x72', '\x67', '\x2e', '\x73', '\x69', '\x7a', '\x65', '\x28', '\x29', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x72', '\x65', '\x61', '\x6c', '\x50', '\x61', '\x74', '\x74', '\x65', '\x72', '\x6e', '\x50', '\x6f', '\x73', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x66', '\x6f', '\x72', '\x28', '\x20', '\x6d', '\x5f', '\x70', '\x6f', '\x73', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x20', '\x6d', '\x5f', '\x70', '\x6f', '\x73', '\x20', '\x3c', '\x20', '\x6d', '\x5f', '\x61', '\x72', '\x67', '\x2e', '\x73', '\x69', '\x7a', '\x65', '\x28', '\x29', '\x3b', '\x20', '\x2b', '\x2b', '\x6d', '\x5f', '\x70', '\x6f', '\x73', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x69', '\x66', '\x20', '\x76', '\x69', '\x73', '\x69', '\x74', '\x43', '\x68', '\x61', '\x72', '\x20', '\x66', '\x61', '\x69', '\x6c', '\x73', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x21', '\x76', '\x69', '\x73', '\x69', '\x74', '\x43', '\x68', '\x61', '\x72', '\x28', '\x20', '\x6d', '\x5f', '\x61', '\x72', '\x67', '\x5b', '\x6d', '\x5f', '\x70', '\x6f', '\x73', '\x5d', '\x20', '\x29', '\x20', '\x29', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x74', '\x65', '\x73', '\x74', '\x53', '\x70', '\x65', '\x63', '\x2e', '\x6d', '\x5f', '\x69', '\x6e', '\x76', '\x61', '\x6c', '\x69', '\x64', '\x41', '\x72', '\x67', '\x73', '\x2e', '\x70', '\x75', '\x73', '\x68', '\x5f', '\x62', '\x61', '\x63', '\x6b', '\x28', '\x61', '\x72', '\x67', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x72', '\x65', '\x61', '\x6b', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x6e', '\x64', '\x4d', '\x6f', '\x64', '\x65', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x2a', '\x74', '\x68', '\x69', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x54', '\x65', '\x73', '\x74', '\x53', '\x70', '\x65', '\x63', '\x20', '\x54', '\x65', '\x73', '\x74', '\x53', '\x70', '\x65', '\x63', '\x50', '\x61', '\x72', '\x73', '\x65', '\x72', '\x3a', '\x3a', '\x74', '\x65', '\x73', '\x74', '\x53', '\x70', '\x65', '\x63', '\x28', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x64', '\x64', '\x46', '\x69', '\x6c', '\x74', '\x65', '\x72', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6d', '\x5f', '\x74', '\x65', '\x73', '\x74', '\x53', '\x70', '\x65', '\x63', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x54', '\x65', '\x73', '\x74', '\x53', '\x70', '\x65', '\x63', '\x50', '\x61', '\x72', '\x73', '\x65', '\x72', '\x3a', '\x3a', '\x76', '\x69', '\x73', '\x69', '\x74', '\x43', '\x68', '\x61', '\x72', '\x28', '\x20', '\x63', '\x68', '\x61', '\x72', '\x20', '\x63', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x28', '\x6d', '\x5f', '\x6d', '\x6f', '\x64', '\x65', '\x20', '\x21', '\x3d', '\x20', '\x45', '\x73', '\x63', '\x61', '\x70', '\x65', '\x64', '\x4e', '\x61', '\x6d', '\x65', '\x29', '\x20', '\x26', '\x26', '\x20', '\x28', '\x63', '\x20', '\x3d', '\x3d', '\x20', '\x27', '\x5c', '\x5c', '\x27', '\x29', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x73', '\x63', '\x61', '\x70', '\x65', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x64', '\x64', '\x43', '\x68', '\x61', '\x72', '\x54', '\x6f', '\x50', '\x61', '\x74', '\x74', '\x65', '\x72', '\x6e', '\x28', '\x63', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x74', '\x72', '\x75', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x65', '\x6c', '\x73', '\x65', '\x20', '\x69', '\x66', '\x28', '\x28', '\x6d', '\x5f', '\x6d', '\x6f', '\x64', '\x65', '\x20', '\x21', '\x3d', '\x20', '\x45', '\x73', '\x63', '\x61', '\x70', '\x65', '\x64', '\x4e', '\x61', '\x6d', '\x65', '\x29', '\x20', '\x26', '\x26', '\x20', '\x28', '\x63', '\x20', '\x3d', '\x3d', '\x20', '\x27', '\x2c', '\x27', '\x29', '\x20', '\x29', '\x20', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x73', '\x65', '\x70', '\x61', '\x72', '\x61', '\x74', '\x65', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x77', '\x69', '\x74', '\x63', '\x68', '\x28', '\x20', '\x6d', '\x5f', '\x6d', '\x6f', '\x64', '\x65', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x61', '\x73', '\x65', '\x20', '\x4e', '\x6f', '\x6e', '\x65', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x70', '\x72', '\x6f', '\x63', '\x65', '\x73', '\x73', '\x4e', '\x6f', '\x6e', '\x65', '\x43', '\x68', '\x61', '\x72', '\x28', '\x20', '\x63', '\x20', '\x29', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x74', '\x72', '\x75', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x72', '\x65', '\x61', '\x6b', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x61', '\x73', '\x65', '\x20', '\x4e', '\x61', '\x6d', '\x65', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x72', '\x6f', '\x63', '\x65', '\x73', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x43', '\x68', '\x61', '\x72', '\x28', '\x20', '\x63', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x72', '\x65', '\x61', '\x6b', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x61', '\x73', '\x65', '\x20', '\x45', '\x73', '\x63', '\x61', '\x70', '\x65', '\x64', '\x4e', '\x61', '\x6d', '\x65', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x6e', '\x64', '\x4d', '\x6f', '\x64', '\x65', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x64', '\x64', '\x43', '\x68', '\x61', '\x72', '\x54', '\x6f', '\x50', '\x61', '\x74', '\x74', '\x65', '\x72', '\x6e', '\x28', '\x63', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x74', '\x72', '\x75', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x64', '\x65', '\x66', '\x61', '\x75', '\x6c', '\x74', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x61', '\x73', '\x65', '\x20', '\x54', '\x61', '\x67', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x61', '\x73', '\x65', '\x20', '\x51', '\x75', '\x6f', '\x74', '\x65', '\x64', '\x4e', '\x61', '\x6d', '\x65', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x70', '\x72', '\x6f', '\x63', '\x65', '\x73', '\x73', '\x4f', '\x74', '\x68', '\x65', '\x72', '\x43', '\x68', '\x61', '\x72', '\x28', '\x20', '\x63', '\x20', '\x29', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x74', '\x72', '\x75', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x72', '\x65', '\x61', '\x6b', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x73', '\x75', '\x62', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x2b', '\x3d', '\x20', '\x63', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x21', '\x69', '\x73', '\x43', '\x6f', '\x6e', '\x74', '\x72', '\x6f', '\x6c', '\x43', '\x68', '\x61', '\x72', '\x28', '\x20', '\x63', '\x20', '\x29', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x70', '\x61', '\x74', '\x74', '\x65', '\x72', '\x6e', '\x4e', '\x61', '\x6d', '\x65', '\x20', '\x2b', '\x3d', '\x20', '\x63', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x72', '\x65', '\x61', '\x6c', '\x50', '\x61', '\x74', '\x74', '\x65', '\x72', '\x6e', '\x50', '\x6f', '\x73', '\x2b', '\x2b', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x74', '\x72', '\x75', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x54', '\x77', '\x6f', '\x20', '\x6f', '\x66', '\x20', '\x74', '\x68', '\x65', '\x20', '\x70', '\x72', '\x6f', '\x63', '\x65', '\x73', '\x73', '\x69', '\x6e', '\x67', '\x20', '\x6d', '\x65', '\x74', '\x68', '\x6f', '\x64', '\x73', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x74', '\x72', '\x75', '\x65', '\x20', '\x74', '\x6f', '\x20', '\x73', '\x69', '\x67', '\x6e', '\x61', '\x6c', '\x20', '\x74', '\x68', '\x65', '\x20', '\x63', '\x61', '\x6c', '\x6c', '\x65', '\x72', '\x20', '\x74', '\x6f', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x77', '\x69', '\x74', '\x68', '\x6f', '\x75', '\x74', '\x20', '\x61', '\x64', '\x64', '\x69', '\x6e', '\x67', '\x20', '\x74', '\x68', '\x65', '\x20', '\x67', '\x69', '\x76', '\x65', '\x6e', '\x20', '\x63', '\x68', '\x61', '\x72', '\x61', '\x63', '\x74', '\x65', '\x72', '\x20', '\x74', '\x6f', '\x20', '\x74', '\x68', '\x65', '\x20', '\x63', '\x75', '\x72', '\x72', '\x65', '\x6e', '\x74', '\x20', '\x70', '\x61', '\x74', '\x74', '\x65', '\x72', '\x6e', '\x20', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x73', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x54', '\x65', '\x73', '\x74', '\x53', '\x70', '\x65', '\x63', '\x50', '\x61', '\x72', '\x73', '\x65', '\x72', '\x3a', '\x3a', '\x70', '\x72', '\x6f', '\x63', '\x65', '\x73', '\x73', '\x4e', '\x6f', '\x6e', '\x65', '\x43', '\x68', '\x61', '\x72', '\x28', '\x20', '\x63', '\x68', '\x61', '\x72', '\x20', '\x63', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x77', '\x69', '\x74', '\x63', '\x68', '\x28', '\x20', '\x63', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x61', '\x73', '\x65', '\x20', '\x27', '\x20', '\x27', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x74', '\x72', '\x75', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x61', '\x73', '\x65', '\x20', '\x27', '\x7e', '\x27', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x65', '\x78', '\x63', '\x6c', '\x75', '\x73', '\x69', '\x6f', '\x6e', '\x20', '\x3d', '\x20', '\x74', '\x72', '\x75', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x66', '\x61', '\x6c', '\x73', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x61', '\x73', '\x65', '\x20', '\x27', '\x5b', '\x27', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x4e', '\x65', '\x77', '\x4d', '\x6f', '\x64', '\x65', '\x28', '\x20', '\x54', '\x61', '\x67', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x66', '\x61', '\x6c', '\x73', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x61', '\x73', '\x65', '\x20', '\x27', '\x22', '\x27', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x4e', '\x65', '\x77', '\x4d', '\x6f', '\x64', '\x65', '\x28', '\x20', '\x51', '\x75', '\x6f', '\x74', '\x65', '\x64', '\x4e', '\x61', '\x6d', '\x65', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x66', '\x61', '\x6c', '\x73', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x64', '\x65', '\x66', '\x61', '\x75', '\x6c', '\x74', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x4e', '\x65', '\x77', '\x4d', '\x6f', '\x64', '\x65', '\x28', '\x20', '\x4e', '\x61', '\x6d', '\x65', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x66', '\x61', '\x6c', '\x73', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x54', '\x65', '\x73', '\x74', '\x53', '\x70', '\x65', '\x63', '\x50', '\x61', '\x72', '\x73', '\x65', '\x72', '\x3a', '\x3a', '\x70', '\x72', '\x6f', '\x63', '\x65', '\x73', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x43', '\x68', '\x61', '\x72', '\x28', '\x20', '\x63', '\x68', '\x61', '\x72', '\x20', '\x63', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x63', '\x20', '\x3d', '\x3d', '\x20', '\x27', '\x5b', '\x27', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x6d', '\x5f', '\x73', '\x75', '\x62', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x3d', '\x3d', '\x20', '\x22', '\x65', '\x78', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x3a', '\x22', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x65', '\x78', '\x63', '\x6c', '\x75', '\x73', '\x69', '\x6f', '\x6e', '\x20', '\x3d', '\x20', '\x74', '\x72', '\x75', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x6c', '\x73', '\x65', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x6e', '\x64', '\x4d', '\x6f', '\x64', '\x65', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x4e', '\x65', '\x77', '\x4d', '\x6f', '\x64', '\x65', '\x28', '\x20', '\x54', '\x61', '\x67', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x54', '\x65', '\x73', '\x74', '\x53', '\x70', '\x65', '\x63', '\x50', '\x61', '\x72', '\x73', '\x65', '\x72', '\x3a', '\x3a', '\x70', '\x72', '\x6f', '\x63', '\x65', '\x73', '\x73', '\x4f', '\x74', '\x68', '\x65', '\x72', '\x43', '\x68', '\x61', '\x72', '\x28', '\x20', '\x63', '\x68', '\x61', '\x72', '\x20', '\x63', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x21', '\x69', '\x73', '\x43', '\x6f', '\x6e', '\x74', '\x72', '\x6f', '\x6c', '\x43', '\x68', '\x61', '\x72', '\x28', '\x20', '\x63', '\x20', '\x29', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x66', '\x61', '\x6c', '\x73', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x73', '\x75', '\x62', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x2b', '\x3d', '\x20', '\x63', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x6e', '\x64', '\x4d', '\x6f', '\x64', '\x65', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x74', '\x72', '\x75', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x54', '\x65', '\x73', '\x74', '\x53', '\x70', '\x65', '\x63', '\x50', '\x61', '\x72', '\x73', '\x65', '\x72', '\x3a', '\x3a', '\x73', '\x74', '\x61', '\x72', '\x74', '\x4e', '\x65', '\x77', '\x4d', '\x6f', '\x64', '\x65', '\x28', '\x20', '\x4d', '\x6f', '\x64', '\x65', '\x20', '\x6d', '\x6f', '\x64', '\x65', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x6d', '\x6f', '\x64', '\x65', '\x20', '\x3d', '\x20', '\x6d', '\x6f', '\x64', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x54', '\x65', '\x73', '\x74', '\x53', '\x70', '\x65', '\x63', '\x50', '\x61', '\x72', '\x73', '\x65', '\x72', '\x3a', '\x3a', '\x65', '\x6e', '\x64', '\x4d', '\x6f', '\x64', '\x65', '\x28', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x77', '\x69', '\x74', '\x63', '\x68', '\x28', '\x20', '\x6d', '\x5f', '\x6d', '\x6f', '\x64', '\x65', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x61', '\x73', '\x65', '\x20', '\x4e', '\x61', '\x6d', '\x65', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x61', '\x73', '\x65', '\x20', '\x51', '\x75', '\x6f', '\x74', '\x65', '\x64', '\x4e', '\x61', '\x6d', '\x65', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x61', '\x64', '\x64', '\x50', '\x61', '\x74', '\x74', '\x65', '\x72', '\x6e', '\x3c', '\x54', '\x65', '\x73', '\x74', '\x53', '\x70', '\x65', '\x63', '\x3a', '\x3a', '\x4e', '\x61', '\x6d', '\x65', '\x50', '\x61', '\x74', '\x74', '\x65', '\x72', '\x6e', '\x3e', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x61', '\x73', '\x65', '\x20', '\x54', '\x61', '\x67', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x61', '\x64', '\x64', '\x50', '\x61', '\x74', '\x74', '\x65', '\x72', '\x6e', '\x3c', '\x54', '\x65', '\x73', '\x74', '\x53', '\x70', '\x65', '\x63', '\x3a', '\x3a', '\x54', '\x61', '\x67', '\x50', '\x61', '\x74', '\x74', '\x65', '\x72', '\x6e', '\x3e', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x61', '\x73', '\x65', '\x20', '\x45', '\x73', '\x63', '\x61', '\x70', '\x65', '\x64', '\x4e', '\x61', '\x6d', '\x65', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x76', '\x65', '\x72', '\x74', '\x42', '\x61', '\x63', '\x6b', '\x54', '\x6f', '\x4c', '\x61', '\x73', '\x74', '\x4d', '\x6f', '\x64', '\x65', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x61', '\x73', '\x65', '\x20', '\x4e', '\x6f', '\x6e', '\x65', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x64', '\x65', '\x66', '\x61', '\x75', '\x6c', '\x74', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x4e', '\x65', '\x77', '\x4d', '\x6f', '\x64', '\x65', '\x28', '\x20', '\x4e', '\x6f', '\x6e', '\x65', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x54', '\x65', '\x73', '\x74', '\x53', '\x70', '\x65', '\x63', '\x50', '\x61', '\x72', '\x73', '\x65', '\x72', '\x3a', '\x3a', '\x65', '\x73', '\x63', '\x61', '\x70', '\x65', '\x28', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x61', '\x76', '\x65', '\x4c', '\x61', '\x73', '\x74', '\x4d', '\x6f', '\x64', '\x65', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x6d', '\x6f', '\x64', '\x65', '\x20', '\x3d', '\x20', '\x45', '\x73', '\x63', '\x61', '\x70', '\x65', '\x64', '\x4e', '\x61', '\x6d', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x65', '\x73', '\x63', '\x61', '\x70', '\x65', '\x43', '\x68', '\x61', '\x72', '\x73', '\x2e', '\x70', '\x75', '\x73', '\x68', '\x5f', '\x62', '\x61', '\x63', '\x6b', '\x28', '\x6d', '\x5f', '\x72', '\x65', '\x61', '\x6c', '\x50', '\x61', '\x74', '\x74', '\x65', '\x72', '\x6e', '\x50', '\x6f', '\x73', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x54', '\x65', '\x73', '\x74', '\x53', '\x70', '\x65', '\x63', '\x50', '\x61', '\x72', '\x73', '\x65', '\x72', '\x3a', '\x3a', '\x69', '\x73', '\x43', '\x6f', '\x6e', '\x74', '\x72', '\x6f', '\x6c', '\x43', '\x68', '\x61', '\x72', '\x28', '\x20', '\x63', '\x68', '\x61', '\x72', '\x20', '\x63', '\x20', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x77', '\x69', '\x74', '\x63', '\x68', '\x28', '\x20', '\x6d', '\x5f', '\x6d', '\x6f', '\x64', '\x65', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x64', '\x65', '\x66', '\x61', '\x75', '\x6c', '\x74', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x66', '\x61', '\x6c', '\x73', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x61', '\x73', '\x65', '\x20', '\x4e', '\x6f', '\x6e', '\x65', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x63', '\x20', '\x3d', '\x3d', '\x20', '\x27', '\x7e', '\x27', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x61', '\x73', '\x65', '\x20', '\x4e', '\x61', '\x6d', '\x65', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x63', '\x20', '\x3d', '\x3d', '\x20', '\x27', '\x5b', '\x27', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x61', '\x73', '\x65', '\x20', '\x45', '\x73', '\x63', '\x61', '\x70', '\x65', '\x64', '\x4e', '\x61', '\x6d', '\x65', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x74', '\x72', '\x75', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x61', '\x73', '\x65', '\x20', '\x51', '\x75', '\x6f', '\x74', '\x65', '\x64', '\x4e', '\x61', '\x6d', '\x65', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x63', '\x20', '\x3d', '\x3d', '\x20', '\x27', '\x22', '\x27', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x61', '\x73', '\x65', '\x20', '\x54', '\x61', '\x67', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x63', '\x20', '\x3d', '\x3d', '\x20', '\x27', '\x5b', '\x27', '\x20', '\x7c', '\x7c', '\x20', '\x63', '\x20', '\x3d', '\x3d', '\x20', '\x27', '\x5d', '\x27', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x54', '\x65', '\x73', '\x74', '\x53', '\x70', '\x65', '\x63', '\x50', '\x61', '\x72', '\x73', '\x65', '\x72', '\x3a', '\x3a', '\x61', '\x64', '\x64', '\x46', '\x69', '\x6c', '\x74', '\x65', '\x72', '\x28', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x21', '\x6d', '\x5f', '\x63', '\x75', '\x72', '\x72', '\x65', '\x6e', '\x74', '\x46', '\x69', '\x6c', '\x74', '\x65', '\x72', '\x2e', '\x6d', '\x5f', '\x70', '\x61', '\x74', '\x74', '\x65', '\x72', '\x6e', '\x73', '\x2e', '\x65', '\x6d', '\x70', '\x74', '\x79', '\x28', '\x29', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x74', '\x65', '\x73', '\x74', '\x53', '\x70', '\x65', '\x63', '\x2e', '\x6d', '\x5f', '\x66', '\x69', '\x6c', '\x74', '\x65', '\x72', '\x73', '\x2e', '\x70', '\x75', '\x73', '\x68', '\x5f', '\x62', '\x61', '\x63', '\x6b', '\x28', '\x20', '\x6d', '\x5f', '\x63', '\x75', '\x72', '\x72', '\x65', '\x6e', '\x74', '\x46', '\x69', '\x6c', '\x74', '\x65', '\x72', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x63', '\x75', '\x72', '\x72', '\x65', '\x6e', '\x74', '\x46', '\x69', '\x6c', '\x74', '\x65', '\x72', '\x20', '\x3d', '\x20', '\x54', '\x65', '\x73', '\x74', '\x53', '\x70', '\x65', '\x63', '\x3a', '\x3a', '\x46', '\x69', '\x6c', '\x74', '\x65', '\x72', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x54', '\x65', '\x73', '\x74', '\x53', '\x70', '\x65', '\x63', '\x50', '\x61', '\x72', '\x73', '\x65', '\x72', '\x3a', '\x3a', '\x73', '\x61', '\x76', '\x65', '\x4c', '\x61', '\x73', '\x74', '\x4d', '\x6f', '\x64', '\x65', '\x28', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6c', '\x61', '\x73', '\x74', '\x4d', '\x6f', '\x64', '\x65', '\x20', '\x3d', '\x20', '\x6d', '\x5f', '\x6d', '\x6f', '\x64', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x54', '\x65', '\x73', '\x74', '\x53', '\x70', '\x65', '\x63', '\x50', '\x61', '\x72', '\x73', '\x65', '\x72', '\x3a', '\x3a', '\x72', '\x65', '\x76', '\x65', '\x72', '\x74', '\x42', '\x61', '\x63', '\x6b', '\x54', '\x6f', '\x4c', '\x61', '\x73', '\x74', '\x4d', '\x6f', '\x64', '\x65', '\x28', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x6d', '\x6f', '\x64', '\x65', '\x20', '\x3d', '\x20', '\x6c', '\x61', '\x73', '\x74', '\x4d', '\x6f', '\x64', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x54', '\x65', '\x73', '\x74', '\x53', '\x70', '\x65', '\x63', '\x50', '\x61', '\x72', '\x73', '\x65', '\x72', '\x3a', '\x3a', '\x73', '\x65', '\x70', '\x61', '\x72', '\x61', '\x74', '\x65', '\x28', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x28', '\x6d', '\x5f', '\x6d', '\x6f', '\x64', '\x65', '\x3d', '\x3d', '\x51', '\x75', '\x6f', '\x74', '\x65', '\x64', '\x4e', '\x61', '\x6d', '\x65', '\x29', '\x20', '\x7c', '\x7c', '\x20', '\x28', '\x6d', '\x5f', '\x6d', '\x6f', '\x64', '\x65', '\x3d', '\x3d', '\x54', '\x61', '\x67', '\x29', '\x20', '\x29', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x69', '\x6e', '\x76', '\x61', '\x6c', '\x69', '\x64', '\x20', '\x61', '\x72', '\x67', '\x75', '\x6d', '\x65', '\x6e', '\x74', '\x2c', '\x20', '\x73', '\x69', '\x67', '\x6e', '\x61', '\x6c', '\x20', '\x66', '\x61', '\x69', '\x6c', '\x75', '\x72', '\x65', '\x20', '\x74', '\x6f', '\x20', '\x70', '\x72', '\x65', '\x76', '\x69', '\x6f', '\x75', '\x73', '\x20', '\x73', '\x63', '\x6f', '\x70', '\x65', '\x2e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x6d', '\x6f', '\x64', '\x65', '\x20', '\x3d', '\x20', '\x4e', '\x6f', '\x6e', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x70', '\x6f', '\x73', '\x20', '\x3d', '\x20', '\x6d', '\x5f', '\x61', '\x72', '\x67', '\x2e', '\x73', '\x69', '\x7a', '\x65', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x73', '\x75', '\x62', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x2e', '\x63', '\x6c', '\x65', '\x61', '\x72', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x70', '\x61', '\x74', '\x74', '\x65', '\x72', '\x6e', '\x4e', '\x61', '\x6d', '\x65', '\x2e', '\x63', '\x6c', '\x65', '\x61', '\x72', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x66', '\x61', '\x6c', '\x73', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x6e', '\x64', '\x4d', '\x6f', '\x64', '\x65', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x64', '\x64', '\x46', '\x69', '\x6c', '\x74', '\x65', '\x72', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x74', '\x72', '\x75', '\x65', '\x3b', '\x20', '\x2f', '\x2f', '\x73', '\x75', '\x63', '\x63', '\x65', '\x73', '\x73', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x54', '\x65', '\x73', '\x74', '\x53', '\x70', '\x65', '\x63', '\x20', '\x70', '\x61', '\x72', '\x73', '\x65', '\x54', '\x65', '\x73', '\x74', '\x53', '\x70', '\x65', '\x63', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x61', '\x72', '\x67', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x54', '\x65', '\x73', '\x74', '\x53', '\x70', '\x65', '\x63', '\x50', '\x61', '\x72', '\x73', '\x65', '\x72', '\x28', '\x20', '\x49', '\x54', '\x61', '\x67', '\x41', '\x6c', '\x69', '\x61', '\x73', '\x52', '\x65', '\x67', '\x69', '\x73', '\x74', '\x72', '\x79', '\x3a', '\x3a', '\x67', '\x65', '\x74', '\x28', '\x29', '\x20', '\x29', '\x2e', '\x70', '\x61', '\x72', '\x73', '\x65', '\x28', '\x20', '\x61', '\x72', '\x67', '\x20', '\x29', '\x2e', '\x74', '\x65', '\x73', '\x74', '\x53', '\x70', '\x65', '\x63', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x74', '\x65', '\x73', '\x74', '\x5f', '\x73', '\x70', '\x65', '\x63', '\x5f', '\x70', '\x61', '\x72', '\x73', '\x65', '\x72', '\x2e', '\x63', '\x70', '\x70', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x74', '\x69', '\x6d', '\x65', '\x72', '\x2e', '\x63', '\x70', '\x70', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x63', '\x68', '\x72', '\x6f', '\x6e', '\x6f', '\x3e', '\x0d', '\x0a', '\x0d', '\x0a', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x75', '\x69', '\x6e', '\x74', '\x36', '\x34', '\x5f', '\x74', '\x20', '\x6e', '\x61', '\x6e', '\x6f', '\x73', '\x65', '\x63', '\x6f', '\x6e', '\x64', '\x73', '\x49', '\x6e', '\x53', '\x65', '\x63', '\x6f', '\x6e', '\x64', '\x20', '\x3d', '\x20', '\x31', '\x30', '\x30', '\x30', '\x30', '\x30', '\x30', '\x30', '\x30', '\x30', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x67', '\x65', '\x74', '\x43', '\x75', '\x72', '\x72', '\x65', '\x6e', '\x74', '\x4e', '\x61', '\x6e', '\x6f', '\x73', '\x65', '\x63', '\x6f', '\x6e', '\x64', '\x73', '\x53', '\x69', '\x6e', '\x63', '\x65', '\x45', '\x70', '\x6f', '\x63', '\x68', '\x28', '\x29', '\x20', '\x2d', '\x3e', '\x20', '\x75', '\x69', '\x6e', '\x74', '\x36', '\x34', '\x5f', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x63', '\x68', '\x72', '\x6f', '\x6e', '\x6f', '\x3a', '\x3a', '\x64', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x5f', '\x63', '\x61', '\x73', '\x74', '\x3c', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x63', '\x68', '\x72', '\x6f', '\x6e', '\x6f', '\x3a', '\x3a', '\x6e', '\x61', '\x6e', '\x6f', '\x73', '\x65', '\x63', '\x6f', '\x6e', '\x64', '\x73', '\x3e', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x63', '\x68', '\x72', '\x6f', '\x6e', '\x6f', '\x3a', '\x3a', '\x68', '\x69', '\x67', '\x68', '\x5f', '\x72', '\x65', '\x73', '\x6f', '\x6c', '\x75', '\x74', '\x69', '\x6f', '\x6e', '\x5f', '\x63', '\x6c', '\x6f', '\x63', '\x6b', '\x3a', '\x3a', '\x6e', '\x6f', '\x77', '\x28', '\x29', '\x2e', '\x74', '\x69', '\x6d', '\x65', '\x5f', '\x73', '\x69', '\x6e', '\x63', '\x65', '\x5f', '\x65', '\x70', '\x6f', '\x63', '\x68', '\x28', '\x29', '\x20', '\x29', '\x2e', '\x63', '\x6f', '\x75', '\x6e', '\x74', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x65', '\x73', '\x74', '\x69', '\x6d', '\x61', '\x74', '\x65', '\x43', '\x6c', '\x6f', '\x63', '\x6b', '\x52', '\x65', '\x73', '\x6f', '\x6c', '\x75', '\x74', '\x69', '\x6f', '\x6e', '\x28', '\x29', '\x20', '\x2d', '\x3e', '\x20', '\x75', '\x69', '\x6e', '\x74', '\x36', '\x34', '\x5f', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x75', '\x69', '\x6e', '\x74', '\x36', '\x34', '\x5f', '\x74', '\x20', '\x73', '\x75', '\x6d', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x75', '\x69', '\x6e', '\x74', '\x36', '\x34', '\x5f', '\x74', '\x20', '\x69', '\x74', '\x65', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x20', '\x3d', '\x20', '\x31', '\x30', '\x30', '\x30', '\x30', '\x30', '\x30', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x54', '\x69', '\x6d', '\x65', '\x20', '\x3d', '\x20', '\x67', '\x65', '\x74', '\x43', '\x75', '\x72', '\x72', '\x65', '\x6e', '\x74', '\x4e', '\x61', '\x6e', '\x6f', '\x73', '\x65', '\x63', '\x6f', '\x6e', '\x64', '\x73', '\x53', '\x69', '\x6e', '\x63', '\x65', '\x45', '\x70', '\x6f', '\x63', '\x68', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x66', '\x6f', '\x72', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x69', '\x7a', '\x65', '\x5f', '\x74', '\x20', '\x69', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x20', '\x69', '\x20', '\x3c', '\x20', '\x69', '\x74', '\x65', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x3b', '\x20', '\x2b', '\x2b', '\x69', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x75', '\x69', '\x6e', '\x74', '\x36', '\x34', '\x5f', '\x74', '\x20', '\x74', '\x69', '\x63', '\x6b', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x75', '\x69', '\x6e', '\x74', '\x36', '\x34', '\x5f', '\x74', '\x20', '\x62', '\x61', '\x73', '\x65', '\x54', '\x69', '\x63', '\x6b', '\x73', '\x20', '\x3d', '\x20', '\x67', '\x65', '\x74', '\x43', '\x75', '\x72', '\x72', '\x65', '\x6e', '\x74', '\x4e', '\x61', '\x6e', '\x6f', '\x73', '\x65', '\x63', '\x6f', '\x6e', '\x64', '\x73', '\x53', '\x69', '\x6e', '\x63', '\x65', '\x45', '\x70', '\x6f', '\x63', '\x68', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x64', '\x6f', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x69', '\x63', '\x6b', '\x73', '\x20', '\x3d', '\x20', '\x67', '\x65', '\x74', '\x43', '\x75', '\x72', '\x72', '\x65', '\x6e', '\x74', '\x4e', '\x61', '\x6e', '\x6f', '\x73', '\x65', '\x63', '\x6f', '\x6e', '\x64', '\x73', '\x53', '\x69', '\x6e', '\x63', '\x65', '\x45', '\x70', '\x6f', '\x63', '\x68', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x20', '\x77', '\x68', '\x69', '\x6c', '\x65', '\x28', '\x20', '\x74', '\x69', '\x63', '\x6b', '\x73', '\x20', '\x3d', '\x3d', '\x20', '\x62', '\x61', '\x73', '\x65', '\x54', '\x69', '\x63', '\x6b', '\x73', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x64', '\x65', '\x6c', '\x74', '\x61', '\x20', '\x3d', '\x20', '\x74', '\x69', '\x63', '\x6b', '\x73', '\x20', '\x2d', '\x20', '\x62', '\x61', '\x73', '\x65', '\x54', '\x69', '\x63', '\x6b', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x75', '\x6d', '\x20', '\x2b', '\x3d', '\x20', '\x64', '\x65', '\x6c', '\x74', '\x61', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x49', '\x66', '\x20', '\x77', '\x65', '\x20', '\x68', '\x61', '\x76', '\x65', '\x20', '\x62', '\x65', '\x65', '\x6e', '\x20', '\x63', '\x61', '\x6c', '\x69', '\x62', '\x72', '\x61', '\x74', '\x69', '\x6e', '\x67', '\x20', '\x66', '\x6f', '\x72', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x20', '\x33', '\x20', '\x73', '\x65', '\x63', '\x6f', '\x6e', '\x64', '\x73', '\x20', '\x2d', '\x2d', '\x20', '\x74', '\x68', '\x65', '\x20', '\x63', '\x6c', '\x6f', '\x63', '\x6b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x69', '\x73', '\x20', '\x74', '\x65', '\x72', '\x72', '\x69', '\x62', '\x6c', '\x65', '\x20', '\x61', '\x6e', '\x64', '\x20', '\x77', '\x65', '\x20', '\x73', '\x68', '\x6f', '\x75', '\x6c', '\x64', '\x20', '\x6d', '\x6f', '\x76', '\x65', '\x20', '\x6f', '\x6e', '\x2e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x54', '\x42', '\x44', '\x3a', '\x20', '\x48', '\x6f', '\x77', '\x20', '\x74', '\x6f', '\x20', '\x73', '\x69', '\x67', '\x6e', '\x61', '\x6c', '\x20', '\x74', '\x68', '\x61', '\x74', '\x20', '\x74', '\x68', '\x65', '\x20', '\x6d', '\x65', '\x61', '\x73', '\x75', '\x72', '\x65', '\x64', '\x20', '\x72', '\x65', '\x73', '\x6f', '\x6c', '\x75', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x69', '\x73', '\x20', '\x70', '\x72', '\x6f', '\x62', '\x61', '\x62', '\x6c', '\x79', '\x20', '\x77', '\x72', '\x6f', '\x6e', '\x67', '\x3f', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x74', '\x69', '\x63', '\x6b', '\x73', '\x20', '\x3e', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x54', '\x69', '\x6d', '\x65', '\x20', '\x2b', '\x20', '\x33', '\x20', '\x2a', '\x20', '\x6e', '\x61', '\x6e', '\x6f', '\x73', '\x65', '\x63', '\x6f', '\x6e', '\x64', '\x73', '\x49', '\x6e', '\x53', '\x65', '\x63', '\x6f', '\x6e', '\x64', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x73', '\x75', '\x6d', '\x20', '\x2f', '\x20', '\x28', '\x20', '\x69', '\x20', '\x2b', '\x20', '\x31', '\x75', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x57', '\x65', '\x27', '\x72', '\x65', '\x20', '\x6a', '\x75', '\x73', '\x74', '\x20', '\x74', '\x61', '\x6b', '\x69', '\x6e', '\x67', '\x20', '\x74', '\x68', '\x65', '\x20', '\x6d', '\x65', '\x61', '\x6e', '\x2c', '\x20', '\x68', '\x65', '\x72', '\x65', '\x2e', '\x20', '\x54', '\x6f', '\x20', '\x64', '\x6f', '\x20', '\x62', '\x65', '\x74', '\x74', '\x65', '\x72', '\x20', '\x77', '\x65', '\x20', '\x63', '\x6f', '\x75', '\x6c', '\x64', '\x20', '\x74', '\x61', '\x6b', '\x65', '\x20', '\x74', '\x68', '\x65', '\x20', '\x73', '\x74', '\x64', '\x2e', '\x20', '\x64', '\x65', '\x76', '\x20', '\x61', '\x6e', '\x64', '\x20', '\x65', '\x78', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x6f', '\x75', '\x74', '\x6c', '\x69', '\x65', '\x72', '\x73', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x2d', '\x20', '\x61', '\x6e', '\x64', '\x20', '\x70', '\x6f', '\x74', '\x65', '\x6e', '\x74', '\x69', '\x61', '\x6c', '\x6c', '\x79', '\x20', '\x64', '\x6f', '\x20', '\x6d', '\x6f', '\x72', '\x65', '\x20', '\x69', '\x74', '\x65', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x20', '\x69', '\x66', '\x20', '\x74', '\x68', '\x65', '\x72', '\x65', '\x27', '\x73', '\x20', '\x61', '\x20', '\x68', '\x69', '\x67', '\x68', '\x20', '\x76', '\x61', '\x72', '\x69', '\x61', '\x6e', '\x63', '\x65', '\x2e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x73', '\x75', '\x6d', '\x2f', '\x69', '\x74', '\x65', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x67', '\x65', '\x74', '\x45', '\x73', '\x74', '\x69', '\x6d', '\x61', '\x74', '\x65', '\x64', '\x43', '\x6c', '\x6f', '\x63', '\x6b', '\x52', '\x65', '\x73', '\x6f', '\x6c', '\x75', '\x74', '\x69', '\x6f', '\x6e', '\x28', '\x29', '\x20', '\x2d', '\x3e', '\x20', '\x75', '\x69', '\x6e', '\x74', '\x36', '\x34', '\x5f', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x73', '\x5f', '\x72', '\x65', '\x73', '\x6f', '\x6c', '\x75', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x3d', '\x20', '\x65', '\x73', '\x74', '\x69', '\x6d', '\x61', '\x74', '\x65', '\x43', '\x6c', '\x6f', '\x63', '\x6b', '\x52', '\x65', '\x73', '\x6f', '\x6c', '\x75', '\x74', '\x69', '\x6f', '\x6e', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x73', '\x5f', '\x72', '\x65', '\x73', '\x6f', '\x6c', '\x75', '\x74', '\x69', '\x6f', '\x6e', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x54', '\x69', '\x6d', '\x65', '\x72', '\x3a', '\x3a', '\x73', '\x74', '\x61', '\x72', '\x74', '\x28', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x6e', '\x61', '\x6e', '\x6f', '\x73', '\x65', '\x63', '\x6f', '\x6e', '\x64', '\x73', '\x20', '\x3d', '\x20', '\x67', '\x65', '\x74', '\x43', '\x75', '\x72', '\x72', '\x65', '\x6e', '\x74', '\x4e', '\x61', '\x6e', '\x6f', '\x73', '\x65', '\x63', '\x6f', '\x6e', '\x64', '\x73', '\x53', '\x69', '\x6e', '\x63', '\x65', '\x45', '\x70', '\x6f', '\x63', '\x68', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x54', '\x69', '\x6d', '\x65', '\x72', '\x3a', '\x3a', '\x67', '\x65', '\x74', '\x45', '\x6c', '\x61', '\x70', '\x73', '\x65', '\x64', '\x4e', '\x61', '\x6e', '\x6f', '\x73', '\x65', '\x63', '\x6f', '\x6e', '\x64', '\x73', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x2d', '\x3e', '\x20', '\x75', '\x69', '\x6e', '\x74', '\x36', '\x34', '\x5f', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x67', '\x65', '\x74', '\x43', '\x75', '\x72', '\x72', '\x65', '\x6e', '\x74', '\x4e', '\x61', '\x6e', '\x6f', '\x73', '\x65', '\x63', '\x6f', '\x6e', '\x64', '\x73', '\x53', '\x69', '\x6e', '\x63', '\x65', '\x45', '\x70', '\x6f', '\x63', '\x68', '\x28', '\x29', '\x20', '\x2d', '\x20', '\x6d', '\x5f', '\x6e', '\x61', '\x6e', '\x6f', '\x73', '\x65', '\x63', '\x6f', '\x6e', '\x64', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x54', '\x69', '\x6d', '\x65', '\x72', '\x3a', '\x3a', '\x67', '\x65', '\x74', '\x45', '\x6c', '\x61', '\x70', '\x73', '\x65', '\x64', '\x4d', '\x69', '\x63', '\x72', '\x6f', '\x73', '\x65', '\x63', '\x6f', '\x6e', '\x64', '\x73', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x2d', '\x3e', '\x20', '\x75', '\x69', '\x6e', '\x74', '\x36', '\x34', '\x5f', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x67', '\x65', '\x74', '\x45', '\x6c', '\x61', '\x70', '\x73', '\x65', '\x64', '\x4e', '\x61', '\x6e', '\x6f', '\x73', '\x65', '\x63', '\x6f', '\x6e', '\x64', '\x73', '\x28', '\x29', '\x2f', '\x31', '\x30', '\x30', '\x30', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x54', '\x69', '\x6d', '\x65', '\x72', '\x3a', '\x3a', '\x67', '\x65', '\x74', '\x45', '\x6c', '\x61', '\x70', '\x73', '\x65', '\x64', '\x4d', '\x69', '\x6c', '\x6c', '\x69', '\x73', '\x65', '\x63', '\x6f', '\x6e', '\x64', '\x73', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x2d', '\x3e', '\x20', '\x75', '\x6e', '\x73', '\x69', '\x67', '\x6e', '\x65', '\x64', '\x20', '\x69', '\x6e', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x5f', '\x63', '\x61', '\x73', '\x74', '\x3c', '\x75', '\x6e', '\x73', '\x69', '\x67', '\x6e', '\x65', '\x64', '\x20', '\x69', '\x6e', '\x74', '\x3e', '\x28', '\x67', '\x65', '\x74', '\x45', '\x6c', '\x61', '\x70', '\x73', '\x65', '\x64', '\x4d', '\x69', '\x63', '\x72', '\x6f', '\x73', '\x65', '\x63', '\x6f', '\x6e', '\x64', '\x73', '\x28', '\x29', '\x2f', '\x31', '\x30', '\x30', '\x30', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x54', '\x69', '\x6d', '\x65', '\x72', '\x3a', '\x3a', '\x67', '\x65', '\x74', '\x45', '\x6c', '\x61', '\x70', '\x73', '\x65', '\x64', '\x53', '\x65', '\x63', '\x6f', '\x6e', '\x64', '\x73', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x2d', '\x3e', '\x20', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x67', '\x65', '\x74', '\x45', '\x6c', '\x61', '\x70', '\x73', '\x65', '\x64', '\x4d', '\x69', '\x63', '\x72', '\x6f', '\x73', '\x65', '\x63', '\x6f', '\x6e', '\x64', '\x73', '\x28', '\x29', '\x2f', '\x31', '\x30', '\x30', '\x30', '\x30', '\x30', '\x30', '\x2e', '\x30', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x74', '\x69', '\x6d', '\x65', '\x72', '\x2e', '\x63', '\x70', '\x70', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x74', '\x6f', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x2e', '\x63', '\x70', '\x70', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x5f', '\x5f', '\x63', '\x6c', '\x61', '\x6e', '\x67', '\x5f', '\x5f', '\x29', '\x0d', '\x0a', '\x23', '\x20', '\x20', '\x20', '\x20', '\x70', '\x72', '\x61', '\x67', '\x6d', '\x61', '\x20', '\x63', '\x6c', '\x61', '\x6e', '\x67', '\x20', '\x64', '\x69', '\x61', '\x67', '\x6e', '\x6f', '\x73', '\x74', '\x69', '\x63', '\x20', '\x70', '\x75', '\x73', '\x68', '\x0d', '\x0a', '\x23', '\x20', '\x20', '\x20', '\x20', '\x70', '\x72', '\x61', '\x67', '\x6d', '\x61', '\x20', '\x63', '\x6c', '\x61', '\x6e', '\x67', '\x20', '\x64', '\x69', '\x61', '\x67', '\x6e', '\x6f', '\x73', '\x74', '\x69', '\x63', '\x20', '\x69', '\x67', '\x6e', '\x6f', '\x72', '\x65', '\x64', '\x20', '\x22', '\x2d', '\x57', '\x65', '\x78', '\x69', '\x74', '\x2d', '\x74', '\x69', '\x6d', '\x65', '\x2d', '\x64', '\x65', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x6f', '\x72', '\x73', '\x22', '\x0d', '\x0a', '\x23', '\x20', '\x20', '\x20', '\x20', '\x70', '\x72', '\x61', '\x67', '\x6d', '\x61', '\x20', '\x63', '\x6c', '\x61', '\x6e', '\x67', '\x20', '\x64', '\x69', '\x61', '\x67', '\x6e', '\x6f', '\x73', '\x74', '\x69', '\x63', '\x20', '\x69', '\x67', '\x6e', '\x6f', '\x72', '\x65', '\x64', '\x20', '\x22', '\x2d', '\x57', '\x67', '\x6c', '\x6f', '\x62', '\x61', '\x6c', '\x2d', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x6f', '\x72', '\x73', '\x22', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x45', '\x6e', '\x61', '\x62', '\x6c', '\x65', '\x20', '\x73', '\x70', '\x65', '\x63', '\x69', '\x66', '\x69', '\x63', '\x20', '\x64', '\x65', '\x63', '\x6c', '\x73', '\x20', '\x6c', '\x6f', '\x63', '\x61', '\x6c', '\x6c', '\x79', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x20', '\x21', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x45', '\x4e', '\x41', '\x42', '\x4c', '\x45', '\x5f', '\x43', '\x48', '\x52', '\x4f', '\x4e', '\x4f', '\x5f', '\x53', '\x54', '\x52', '\x49', '\x4e', '\x47', '\x4d', '\x41', '\x4b', '\x45', '\x52', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x45', '\x4e', '\x41', '\x42', '\x4c', '\x45', '\x5f', '\x43', '\x48', '\x52', '\x4f', '\x4e', '\x4f', '\x5f', '\x53', '\x54', '\x52', '\x49', '\x4e', '\x47', '\x4d', '\x41', '\x4b', '\x45', '\x52', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x63', '\x6d', '\x61', '\x74', '\x68', '\x3e', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x69', '\x6f', '\x6d', '\x61', '\x6e', '\x69', '\x70', '\x3e', '\x0d', '\x0a', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x44', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x75', '\x6e', '\x70', '\x72', '\x69', '\x6e', '\x74', '\x61', '\x62', '\x6c', '\x65', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x3d', '\x20', '\x22', '\x7b', '\x3f', '\x7d', '\x22', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x69', '\x6e', '\x74', '\x20', '\x68', '\x65', '\x78', '\x54', '\x68', '\x72', '\x65', '\x73', '\x68', '\x6f', '\x6c', '\x64', '\x20', '\x3d', '\x20', '\x32', '\x35', '\x35', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x45', '\x6e', '\x64', '\x69', '\x61', '\x6e', '\x6e', '\x65', '\x73', '\x73', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x6e', '\x75', '\x6d', '\x20', '\x41', '\x72', '\x63', '\x68', '\x20', '\x7b', '\x20', '\x42', '\x69', '\x67', '\x2c', '\x20', '\x4c', '\x69', '\x74', '\x74', '\x6c', '\x65', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x20', '\x41', '\x72', '\x63', '\x68', '\x20', '\x77', '\x68', '\x69', '\x63', '\x68', '\x28', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x75', '\x6e', '\x69', '\x6f', '\x6e', '\x20', '\x5f', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x6e', '\x74', '\x20', '\x61', '\x73', '\x49', '\x6e', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x68', '\x61', '\x72', '\x20', '\x61', '\x73', '\x43', '\x68', '\x61', '\x72', '\x5b', '\x73', '\x69', '\x7a', '\x65', '\x6f', '\x66', '\x20', '\x28', '\x69', '\x6e', '\x74', '\x29', '\x5d', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x20', '\x75', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x75', '\x2e', '\x61', '\x73', '\x49', '\x6e', '\x74', '\x20', '\x3d', '\x20', '\x31', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x28', '\x20', '\x75', '\x2e', '\x61', '\x73', '\x43', '\x68', '\x61', '\x72', '\x5b', '\x73', '\x69', '\x7a', '\x65', '\x6f', '\x66', '\x28', '\x69', '\x6e', '\x74', '\x29', '\x2d', '\x31', '\x5d', '\x20', '\x3d', '\x3d', '\x20', '\x31', '\x20', '\x29', '\x20', '\x3f', '\x20', '\x42', '\x69', '\x67', '\x20', '\x3a', '\x20', '\x4c', '\x69', '\x74', '\x74', '\x6c', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x72', '\x61', '\x77', '\x4d', '\x65', '\x6d', '\x6f', '\x72', '\x79', '\x54', '\x6f', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x28', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x2a', '\x6f', '\x62', '\x6a', '\x65', '\x63', '\x74', '\x2c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x69', '\x7a', '\x65', '\x5f', '\x74', '\x20', '\x73', '\x69', '\x7a', '\x65', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x52', '\x65', '\x76', '\x65', '\x72', '\x73', '\x65', '\x20', '\x6f', '\x72', '\x64', '\x65', '\x72', '\x20', '\x66', '\x6f', '\x72', '\x20', '\x6c', '\x69', '\x74', '\x74', '\x6c', '\x65', '\x20', '\x65', '\x6e', '\x64', '\x69', '\x61', '\x6e', '\x20', '\x61', '\x72', '\x63', '\x68', '\x69', '\x74', '\x65', '\x63', '\x74', '\x75', '\x72', '\x65', '\x73', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x6e', '\x74', '\x20', '\x69', '\x20', '\x3d', '\x20', '\x30', '\x2c', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x3d', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x5f', '\x63', '\x61', '\x73', '\x74', '\x3c', '\x69', '\x6e', '\x74', '\x3e', '\x28', '\x20', '\x73', '\x69', '\x7a', '\x65', '\x20', '\x29', '\x2c', '\x20', '\x69', '\x6e', '\x63', '\x20', '\x3d', '\x20', '\x31', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x45', '\x6e', '\x64', '\x69', '\x61', '\x6e', '\x6e', '\x65', '\x73', '\x73', '\x3a', '\x3a', '\x77', '\x68', '\x69', '\x63', '\x68', '\x28', '\x29', '\x20', '\x3d', '\x3d', '\x20', '\x45', '\x6e', '\x64', '\x69', '\x61', '\x6e', '\x6e', '\x65', '\x73', '\x73', '\x3a', '\x3a', '\x4c', '\x69', '\x74', '\x74', '\x6c', '\x65', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x20', '\x3d', '\x20', '\x65', '\x6e', '\x64', '\x2d', '\x31', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x3d', '\x20', '\x69', '\x6e', '\x63', '\x20', '\x3d', '\x20', '\x2d', '\x31', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x75', '\x6e', '\x73', '\x69', '\x67', '\x6e', '\x65', '\x64', '\x20', '\x63', '\x68', '\x61', '\x72', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x2a', '\x62', '\x79', '\x74', '\x65', '\x73', '\x20', '\x3d', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x5f', '\x63', '\x61', '\x73', '\x74', '\x3c', '\x75', '\x6e', '\x73', '\x69', '\x67', '\x6e', '\x65', '\x64', '\x20', '\x63', '\x68', '\x61', '\x72', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x2a', '\x3e', '\x28', '\x6f', '\x62', '\x6a', '\x65', '\x63', '\x74', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x52', '\x65', '\x75', '\x73', '\x61', '\x62', '\x6c', '\x65', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x20', '\x72', '\x73', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x73', '\x73', '\x20', '\x3c', '\x3c', '\x20', '\x22', '\x30', '\x78', '\x22', '\x20', '\x3c', '\x3c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x65', '\x74', '\x66', '\x69', '\x6c', '\x6c', '\x28', '\x27', '\x30', '\x27', '\x29', '\x20', '\x3c', '\x3c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x68', '\x65', '\x78', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x66', '\x6f', '\x72', '\x28', '\x20', '\x3b', '\x20', '\x69', '\x20', '\x21', '\x3d', '\x20', '\x65', '\x6e', '\x64', '\x3b', '\x20', '\x69', '\x20', '\x2b', '\x3d', '\x20', '\x69', '\x6e', '\x63', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x73', '\x73', '\x20', '\x3c', '\x3c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x65', '\x74', '\x77', '\x28', '\x32', '\x29', '\x20', '\x3c', '\x3c', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x5f', '\x63', '\x61', '\x73', '\x74', '\x3c', '\x75', '\x6e', '\x73', '\x69', '\x67', '\x6e', '\x65', '\x64', '\x3e', '\x28', '\x62', '\x79', '\x74', '\x65', '\x73', '\x5b', '\x69', '\x5d', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x72', '\x73', '\x73', '\x2e', '\x73', '\x74', '\x72', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x54', '\x3e', '\x0d', '\x0a', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x66', '\x70', '\x54', '\x6f', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x28', '\x20', '\x54', '\x20', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x2c', '\x20', '\x69', '\x6e', '\x74', '\x20', '\x70', '\x72', '\x65', '\x63', '\x69', '\x73', '\x69', '\x6f', '\x6e', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x69', '\x73', '\x6e', '\x61', '\x6e', '\x28', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x29', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x22', '\x6e', '\x61', '\x6e', '\x22', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x52', '\x65', '\x75', '\x73', '\x61', '\x62', '\x6c', '\x65', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x20', '\x72', '\x73', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x72', '\x73', '\x73', '\x20', '\x3c', '\x3c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x65', '\x74', '\x70', '\x72', '\x65', '\x63', '\x69', '\x73', '\x69', '\x6f', '\x6e', '\x28', '\x20', '\x70', '\x72', '\x65', '\x63', '\x69', '\x73', '\x69', '\x6f', '\x6e', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x3c', '\x3c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x66', '\x69', '\x78', '\x65', '\x64', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x3c', '\x3c', '\x20', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x64', '\x20', '\x3d', '\x20', '\x72', '\x73', '\x73', '\x2e', '\x73', '\x74', '\x72', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x69', '\x7a', '\x65', '\x5f', '\x74', '\x20', '\x69', '\x20', '\x3d', '\x20', '\x64', '\x2e', '\x66', '\x69', '\x6e', '\x64', '\x5f', '\x6c', '\x61', '\x73', '\x74', '\x5f', '\x6e', '\x6f', '\x74', '\x5f', '\x6f', '\x66', '\x28', '\x20', '\x27', '\x30', '\x27', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x69', '\x20', '\x21', '\x3d', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x3a', '\x3a', '\x6e', '\x70', '\x6f', '\x73', '\x20', '\x26', '\x26', '\x20', '\x69', '\x20', '\x21', '\x3d', '\x20', '\x64', '\x2e', '\x73', '\x69', '\x7a', '\x65', '\x28', '\x29', '\x2d', '\x31', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x64', '\x5b', '\x69', '\x5d', '\x20', '\x3d', '\x3d', '\x20', '\x27', '\x2e', '\x27', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x2b', '\x2b', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x64', '\x20', '\x3d', '\x20', '\x64', '\x2e', '\x73', '\x75', '\x62', '\x73', '\x74', '\x72', '\x28', '\x20', '\x30', '\x2c', '\x20', '\x69', '\x2b', '\x31', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x64', '\x3b', '\x0d', '\x0a', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x2f', '\x2f', '\x20', '\x3d', '\x3d', '\x3d', '\x3d', '\x3d', '\x3d', '\x3d', '\x3d', '\x3d', '\x3d', '\x3d', '\x3d', '\x3d', '\x3d', '\x3d', '\x3d', '\x3d', '\x3d', '\x3d', '\x3d', '\x3d', '\x3d', '\x3d', '\x3d', '\x3d', '\x3d', '\x3d', '\x3d', '\x3d', '\x3d', '\x3d', '\x3d', '\x3d', '\x3d', '\x3d', '\x3d', '\x3d', '\x3d', '\x3d', '\x3d', '\x3d', '\x3d', '\x3d', '\x3d', '\x3d', '\x3d', '\x3d', '\x3d', '\x3d', '\x3d', '\x3d', '\x3d', '\x3d', '\x3d', '\x3d', '\x20', '\x2f', '\x2f', '\x2f', '\x2f', '\x0d', '\x0a', '\x2f', '\x2f', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x20', '\x20', '\x4f', '\x75', '\x74', '\x2d', '\x6f', '\x66', '\x2d', '\x6c', '\x69', '\x6e', '\x65', '\x20', '\x64', '\x65', '\x66', '\x73', '\x20', '\x66', '\x6f', '\x72', '\x20', '\x66', '\x75', '\x6c', '\x6c', '\x20', '\x73', '\x70', '\x65', '\x63', '\x69', '\x61', '\x6c', '\x69', '\x7a', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x6f', '\x66', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x4d', '\x61', '\x6b', '\x65', '\x72', '\x0d', '\x0a', '\x2f', '\x2f', '\x0d', '\x0a', '\x2f', '\x2f', '\x2f', '\x2f', '\x20', '\x3d', '\x3d', '\x3d', '\x3d', '\x3d', '\x3d', '\x3d', '\x3d', '\x3d', '\x3d', '\x3d', '\x3d', '\x3d', '\x3d', '\x3d', '\x3d', '\x3d', '\x3d', '\x3d', '\x3d', '\x3d', '\x3d', '\x3d', '\x3d', '\x3d', '\x3d', '\x3d', '\x3d', '\x3d', '\x3d', '\x3d', '\x3d', '\x3d', '\x3d', '\x3d', '\x3d', '\x3d', '\x3d', '\x3d', '\x3d', '\x3d', '\x3d', '\x3d', '\x3d', '\x3d', '\x3d', '\x3d', '\x3d', '\x3d', '\x3d', '\x3d', '\x3d', '\x3d', '\x3d', '\x3d', '\x20', '\x2f', '\x2f', '\x2f', '\x2f', '\x0d', '\x0a', '\x0d', '\x0a', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x4d', '\x61', '\x6b', '\x65', '\x72', '\x3c', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x3e', '\x3a', '\x3a', '\x63', '\x6f', '\x6e', '\x76', '\x65', '\x72', '\x74', '\x28', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x26', '\x20', '\x73', '\x74', '\x72', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x21', '\x67', '\x65', '\x74', '\x43', '\x75', '\x72', '\x72', '\x65', '\x6e', '\x74', '\x43', '\x6f', '\x6e', '\x74', '\x65', '\x78', '\x74', '\x28', '\x29', '\x2e', '\x67', '\x65', '\x74', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x28', '\x29', '\x2d', '\x3e', '\x73', '\x68', '\x6f', '\x77', '\x49', '\x6e', '\x76', '\x69', '\x73', '\x69', '\x62', '\x6c', '\x65', '\x73', '\x28', '\x29', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x27', '\x22', '\x27', '\x20', '\x2b', '\x20', '\x73', '\x74', '\x72', '\x20', '\x2b', '\x20', '\x27', '\x22', '\x27', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x73', '\x28', '\x22', '\x5c', '\x22', '\x22', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x66', '\x6f', '\x72', '\x20', '\x28', '\x63', '\x68', '\x61', '\x72', '\x20', '\x63', '\x20', '\x3a', '\x20', '\x73', '\x74', '\x72', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x77', '\x69', '\x74', '\x63', '\x68', '\x20', '\x28', '\x63', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x61', '\x73', '\x65', '\x20', '\x27', '\x5c', '\x6e', '\x27', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x2e', '\x61', '\x70', '\x70', '\x65', '\x6e', '\x64', '\x28', '\x22', '\x5c', '\x5c', '\x6e', '\x22', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x72', '\x65', '\x61', '\x6b', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x61', '\x73', '\x65', '\x20', '\x27', '\x5c', '\x74', '\x27', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x2e', '\x61', '\x70', '\x70', '\x65', '\x6e', '\x64', '\x28', '\x22', '\x5c', '\x5c', '\x74', '\x22', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x72', '\x65', '\x61', '\x6b', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x64', '\x65', '\x66', '\x61', '\x75', '\x6c', '\x74', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x2e', '\x70', '\x75', '\x73', '\x68', '\x5f', '\x62', '\x61', '\x63', '\x6b', '\x28', '\x63', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x72', '\x65', '\x61', '\x6b', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x2e', '\x61', '\x70', '\x70', '\x65', '\x6e', '\x64', '\x28', '\x22', '\x5c', '\x22', '\x22', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x73', '\x3b', '\x0d', '\x0a', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x64', '\x65', '\x66', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x43', '\x50', '\x50', '\x31', '\x37', '\x5f', '\x53', '\x54', '\x52', '\x49', '\x4e', '\x47', '\x5f', '\x56', '\x49', '\x45', '\x57', '\x0d', '\x0a', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x4d', '\x61', '\x6b', '\x65', '\x72', '\x3c', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x5f', '\x76', '\x69', '\x65', '\x77', '\x3e', '\x3a', '\x3a', '\x63', '\x6f', '\x6e', '\x76', '\x65', '\x72', '\x74', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x5f', '\x76', '\x69', '\x65', '\x77', '\x20', '\x73', '\x74', '\x72', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x3a', '\x3a', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x44', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x69', '\x66', '\x79', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x7b', '\x20', '\x73', '\x74', '\x72', '\x20', '\x7d', '\x29', '\x3b', '\x0d', '\x0a', '\x7d', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x0d', '\x0a', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x4d', '\x61', '\x6b', '\x65', '\x72', '\x3c', '\x63', '\x68', '\x61', '\x72', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x2a', '\x3e', '\x3a', '\x3a', '\x63', '\x6f', '\x6e', '\x76', '\x65', '\x72', '\x74', '\x28', '\x63', '\x68', '\x61', '\x72', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x2a', '\x20', '\x73', '\x74', '\x72', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x73', '\x74', '\x72', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x3a', '\x3a', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x44', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x69', '\x66', '\x79', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x7b', '\x20', '\x73', '\x74', '\x72', '\x20', '\x7d', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x20', '\x65', '\x6c', '\x73', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x7b', '\x20', '\x22', '\x7b', '\x6e', '\x75', '\x6c', '\x6c', '\x20', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x7d', '\x22', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x7d', '\x0d', '\x0a', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x4d', '\x61', '\x6b', '\x65', '\x72', '\x3c', '\x63', '\x68', '\x61', '\x72', '\x2a', '\x3e', '\x3a', '\x3a', '\x63', '\x6f', '\x6e', '\x76', '\x65', '\x72', '\x74', '\x28', '\x63', '\x68', '\x61', '\x72', '\x2a', '\x20', '\x73', '\x74', '\x72', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x73', '\x74', '\x72', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x3a', '\x3a', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x44', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x69', '\x66', '\x79', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x7b', '\x20', '\x73', '\x74', '\x72', '\x20', '\x7d', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x20', '\x65', '\x6c', '\x73', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x7b', '\x20', '\x22', '\x7b', '\x6e', '\x75', '\x6c', '\x6c', '\x20', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x7d', '\x22', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x64', '\x65', '\x66', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x57', '\x43', '\x48', '\x41', '\x52', '\x0d', '\x0a', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x4d', '\x61', '\x6b', '\x65', '\x72', '\x3c', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x77', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x3e', '\x3a', '\x3a', '\x63', '\x6f', '\x6e', '\x76', '\x65', '\x72', '\x74', '\x28', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x77', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x26', '\x20', '\x77', '\x73', '\x74', '\x72', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x2e', '\x72', '\x65', '\x73', '\x65', '\x72', '\x76', '\x65', '\x28', '\x77', '\x73', '\x74', '\x72', '\x2e', '\x73', '\x69', '\x7a', '\x65', '\x28', '\x29', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x66', '\x6f', '\x72', '\x20', '\x28', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x63', '\x20', '\x3a', '\x20', '\x77', '\x73', '\x74', '\x72', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x20', '\x2b', '\x3d', '\x20', '\x28', '\x63', '\x20', '\x3c', '\x3d', '\x20', '\x30', '\x78', '\x66', '\x66', '\x29', '\x20', '\x3f', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x5f', '\x63', '\x61', '\x73', '\x74', '\x3c', '\x63', '\x68', '\x61', '\x72', '\x3e', '\x28', '\x63', '\x29', '\x20', '\x3a', '\x20', '\x27', '\x3f', '\x27', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x3a', '\x3a', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x44', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x69', '\x66', '\x79', '\x28', '\x73', '\x29', '\x3b', '\x0d', '\x0a', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x20', '\x69', '\x66', '\x64', '\x65', '\x66', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x43', '\x50', '\x50', '\x31', '\x37', '\x5f', '\x53', '\x54', '\x52', '\x49', '\x4e', '\x47', '\x5f', '\x56', '\x49', '\x45', '\x57', '\x0d', '\x0a', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x4d', '\x61', '\x6b', '\x65', '\x72', '\x3c', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x77', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x5f', '\x76', '\x69', '\x65', '\x77', '\x3e', '\x3a', '\x3a', '\x63', '\x6f', '\x6e', '\x76', '\x65', '\x72', '\x74', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x77', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x5f', '\x76', '\x69', '\x65', '\x77', '\x20', '\x73', '\x74', '\x72', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x4d', '\x61', '\x6b', '\x65', '\x72', '\x3c', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x77', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x3e', '\x3a', '\x3a', '\x63', '\x6f', '\x6e', '\x76', '\x65', '\x72', '\x74', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x77', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x28', '\x73', '\x74', '\x72', '\x29', '\x29', '\x3b', '\x0d', '\x0a', '\x7d', '\x0d', '\x0a', '\x23', '\x20', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x0d', '\x0a', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x4d', '\x61', '\x6b', '\x65', '\x72', '\x3c', '\x77', '\x63', '\x68', '\x61', '\x72', '\x5f', '\x74', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x2a', '\x3e', '\x3a', '\x3a', '\x63', '\x6f', '\x6e', '\x76', '\x65', '\x72', '\x74', '\x28', '\x77', '\x63', '\x68', '\x61', '\x72', '\x5f', '\x74', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x2a', '\x20', '\x73', '\x74', '\x72', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x73', '\x74', '\x72', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x3a', '\x3a', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x44', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x69', '\x66', '\x79', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x77', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x7b', '\x20', '\x73', '\x74', '\x72', '\x20', '\x7d', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x20', '\x65', '\x6c', '\x73', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x7b', '\x20', '\x22', '\x7b', '\x6e', '\x75', '\x6c', '\x6c', '\x20', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x7d', '\x22', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x7d', '\x0d', '\x0a', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x4d', '\x61', '\x6b', '\x65', '\x72', '\x3c', '\x77', '\x63', '\x68', '\x61', '\x72', '\x5f', '\x74', '\x20', '\x2a', '\x3e', '\x3a', '\x3a', '\x63', '\x6f', '\x6e', '\x76', '\x65', '\x72', '\x74', '\x28', '\x77', '\x63', '\x68', '\x61', '\x72', '\x5f', '\x74', '\x20', '\x2a', '\x20', '\x73', '\x74', '\x72', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x73', '\x74', '\x72', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x3a', '\x3a', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x44', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x69', '\x66', '\x79', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x77', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x7b', '\x20', '\x73', '\x74', '\x72', '\x20', '\x7d', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x20', '\x65', '\x6c', '\x73', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x7b', '\x20', '\x22', '\x7b', '\x6e', '\x75', '\x6c', '\x6c', '\x20', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x7d', '\x22', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x7d', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x43', '\x50', '\x50', '\x31', '\x37', '\x5f', '\x42', '\x59', '\x54', '\x45', '\x29', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x63', '\x73', '\x74', '\x64', '\x64', '\x65', '\x66', '\x3e', '\x0d', '\x0a', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x4d', '\x61', '\x6b', '\x65', '\x72', '\x3c', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x62', '\x79', '\x74', '\x65', '\x3e', '\x3a', '\x3a', '\x63', '\x6f', '\x6e', '\x76', '\x65', '\x72', '\x74', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x62', '\x79', '\x74', '\x65', '\x20', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x3a', '\x3a', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x44', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x69', '\x66', '\x79', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x74', '\x6f', '\x5f', '\x69', '\x6e', '\x74', '\x65', '\x67', '\x65', '\x72', '\x3c', '\x75', '\x6e', '\x73', '\x69', '\x67', '\x6e', '\x65', '\x64', '\x20', '\x6c', '\x6f', '\x6e', '\x67', '\x20', '\x6c', '\x6f', '\x6e', '\x67', '\x3e', '\x28', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x29', '\x29', '\x3b', '\x0d', '\x0a', '\x7d', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x20', '\x2f', '\x2f', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x43', '\x50', '\x50', '\x31', '\x37', '\x5f', '\x42', '\x59', '\x54', '\x45', '\x29', '\x0d', '\x0a', '\x0d', '\x0a', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x4d', '\x61', '\x6b', '\x65', '\x72', '\x3c', '\x69', '\x6e', '\x74', '\x3e', '\x3a', '\x3a', '\x63', '\x6f', '\x6e', '\x76', '\x65', '\x72', '\x74', '\x28', '\x69', '\x6e', '\x74', '\x20', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x3a', '\x3a', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x44', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x69', '\x66', '\x79', '\x28', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x5f', '\x63', '\x61', '\x73', '\x74', '\x3c', '\x6c', '\x6f', '\x6e', '\x67', '\x20', '\x6c', '\x6f', '\x6e', '\x67', '\x3e', '\x28', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x29', '\x29', '\x3b', '\x0d', '\x0a', '\x7d', '\x0d', '\x0a', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x4d', '\x61', '\x6b', '\x65', '\x72', '\x3c', '\x6c', '\x6f', '\x6e', '\x67', '\x3e', '\x3a', '\x3a', '\x63', '\x6f', '\x6e', '\x76', '\x65', '\x72', '\x74', '\x28', '\x6c', '\x6f', '\x6e', '\x67', '\x20', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x3a', '\x3a', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x44', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x69', '\x66', '\x79', '\x28', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x5f', '\x63', '\x61', '\x73', '\x74', '\x3c', '\x6c', '\x6f', '\x6e', '\x67', '\x20', '\x6c', '\x6f', '\x6e', '\x67', '\x3e', '\x28', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x29', '\x29', '\x3b', '\x0d', '\x0a', '\x7d', '\x0d', '\x0a', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x4d', '\x61', '\x6b', '\x65', '\x72', '\x3c', '\x6c', '\x6f', '\x6e', '\x67', '\x20', '\x6c', '\x6f', '\x6e', '\x67', '\x3e', '\x3a', '\x3a', '\x63', '\x6f', '\x6e', '\x76', '\x65', '\x72', '\x74', '\x28', '\x6c', '\x6f', '\x6e', '\x67', '\x20', '\x6c', '\x6f', '\x6e', '\x67', '\x20', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x52', '\x65', '\x75', '\x73', '\x61', '\x62', '\x6c', '\x65', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x20', '\x72', '\x73', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x72', '\x73', '\x73', '\x20', '\x3c', '\x3c', '\x20', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x20', '\x3e', '\x20', '\x44', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x3a', '\x3a', '\x68', '\x65', '\x78', '\x54', '\x68', '\x72', '\x65', '\x73', '\x68', '\x6f', '\x6c', '\x64', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x73', '\x73', '\x20', '\x3c', '\x3c', '\x20', '\x22', '\x20', '\x28', '\x30', '\x78', '\x22', '\x20', '\x3c', '\x3c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x68', '\x65', '\x78', '\x20', '\x3c', '\x3c', '\x20', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x20', '\x3c', '\x3c', '\x20', '\x27', '\x29', '\x27', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x72', '\x73', '\x73', '\x2e', '\x73', '\x74', '\x72', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x4d', '\x61', '\x6b', '\x65', '\x72', '\x3c', '\x75', '\x6e', '\x73', '\x69', '\x67', '\x6e', '\x65', '\x64', '\x20', '\x69', '\x6e', '\x74', '\x3e', '\x3a', '\x3a', '\x63', '\x6f', '\x6e', '\x76', '\x65', '\x72', '\x74', '\x28', '\x75', '\x6e', '\x73', '\x69', '\x67', '\x6e', '\x65', '\x64', '\x20', '\x69', '\x6e', '\x74', '\x20', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x3a', '\x3a', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x44', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x69', '\x66', '\x79', '\x28', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x5f', '\x63', '\x61', '\x73', '\x74', '\x3c', '\x75', '\x6e', '\x73', '\x69', '\x67', '\x6e', '\x65', '\x64', '\x20', '\x6c', '\x6f', '\x6e', '\x67', '\x20', '\x6c', '\x6f', '\x6e', '\x67', '\x3e', '\x28', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x29', '\x29', '\x3b', '\x0d', '\x0a', '\x7d', '\x0d', '\x0a', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x4d', '\x61', '\x6b', '\x65', '\x72', '\x3c', '\x75', '\x6e', '\x73', '\x69', '\x67', '\x6e', '\x65', '\x64', '\x20', '\x6c', '\x6f', '\x6e', '\x67', '\x3e', '\x3a', '\x3a', '\x63', '\x6f', '\x6e', '\x76', '\x65', '\x72', '\x74', '\x28', '\x75', '\x6e', '\x73', '\x69', '\x67', '\x6e', '\x65', '\x64', '\x20', '\x6c', '\x6f', '\x6e', '\x67', '\x20', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x3a', '\x3a', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x44', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x69', '\x66', '\x79', '\x28', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x5f', '\x63', '\x61', '\x73', '\x74', '\x3c', '\x75', '\x6e', '\x73', '\x69', '\x67', '\x6e', '\x65', '\x64', '\x20', '\x6c', '\x6f', '\x6e', '\x67', '\x20', '\x6c', '\x6f', '\x6e', '\x67', '\x3e', '\x28', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x29', '\x29', '\x3b', '\x0d', '\x0a', '\x7d', '\x0d', '\x0a', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x4d', '\x61', '\x6b', '\x65', '\x72', '\x3c', '\x75', '\x6e', '\x73', '\x69', '\x67', '\x6e', '\x65', '\x64', '\x20', '\x6c', '\x6f', '\x6e', '\x67', '\x20', '\x6c', '\x6f', '\x6e', '\x67', '\x3e', '\x3a', '\x3a', '\x63', '\x6f', '\x6e', '\x76', '\x65', '\x72', '\x74', '\x28', '\x75', '\x6e', '\x73', '\x69', '\x67', '\x6e', '\x65', '\x64', '\x20', '\x6c', '\x6f', '\x6e', '\x67', '\x20', '\x6c', '\x6f', '\x6e', '\x67', '\x20', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x52', '\x65', '\x75', '\x73', '\x61', '\x62', '\x6c', '\x65', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x20', '\x72', '\x73', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x72', '\x73', '\x73', '\x20', '\x3c', '\x3c', '\x20', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x20', '\x3e', '\x20', '\x44', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x3a', '\x3a', '\x68', '\x65', '\x78', '\x54', '\x68', '\x72', '\x65', '\x73', '\x68', '\x6f', '\x6c', '\x64', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x73', '\x73', '\x20', '\x3c', '\x3c', '\x20', '\x22', '\x20', '\x28', '\x30', '\x78', '\x22', '\x20', '\x3c', '\x3c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x68', '\x65', '\x78', '\x20', '\x3c', '\x3c', '\x20', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x20', '\x3c', '\x3c', '\x20', '\x27', '\x29', '\x27', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x72', '\x73', '\x73', '\x2e', '\x73', '\x74', '\x72', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x4d', '\x61', '\x6b', '\x65', '\x72', '\x3c', '\x62', '\x6f', '\x6f', '\x6c', '\x3e', '\x3a', '\x3a', '\x63', '\x6f', '\x6e', '\x76', '\x65', '\x72', '\x74', '\x28', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x62', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x62', '\x20', '\x3f', '\x20', '\x22', '\x74', '\x72', '\x75', '\x65', '\x22', '\x20', '\x3a', '\x20', '\x22', '\x66', '\x61', '\x6c', '\x73', '\x65', '\x22', '\x3b', '\x0d', '\x0a', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x4d', '\x61', '\x6b', '\x65', '\x72', '\x3c', '\x73', '\x69', '\x67', '\x6e', '\x65', '\x64', '\x20', '\x63', '\x68', '\x61', '\x72', '\x3e', '\x3a', '\x3a', '\x63', '\x6f', '\x6e', '\x76', '\x65', '\x72', '\x74', '\x28', '\x73', '\x69', '\x67', '\x6e', '\x65', '\x64', '\x20', '\x63', '\x68', '\x61', '\x72', '\x20', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x20', '\x3d', '\x3d', '\x20', '\x27', '\x5c', '\x72', '\x27', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x22', '\x27', '\x5c', '\x5c', '\x72', '\x27', '\x22', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x20', '\x65', '\x6c', '\x73', '\x65', '\x20', '\x69', '\x66', '\x20', '\x28', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x20', '\x3d', '\x3d', '\x20', '\x27', '\x5c', '\x66', '\x27', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x22', '\x27', '\x5c', '\x5c', '\x66', '\x27', '\x22', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x20', '\x65', '\x6c', '\x73', '\x65', '\x20', '\x69', '\x66', '\x20', '\x28', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x20', '\x3d', '\x3d', '\x20', '\x27', '\x5c', '\x6e', '\x27', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x22', '\x27', '\x5c', '\x5c', '\x6e', '\x27', '\x22', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x20', '\x65', '\x6c', '\x73', '\x65', '\x20', '\x69', '\x66', '\x20', '\x28', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x20', '\x3d', '\x3d', '\x20', '\x27', '\x5c', '\x74', '\x27', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x22', '\x27', '\x5c', '\x5c', '\x74', '\x27', '\x22', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x20', '\x65', '\x6c', '\x73', '\x65', '\x20', '\x69', '\x66', '\x20', '\x28', '\x27', '\x5c', '\x30', '\x27', '\x20', '\x3c', '\x3d', '\x20', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x20', '\x26', '\x26', '\x20', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x20', '\x3c', '\x20', '\x27', '\x20', '\x27', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x3a', '\x3a', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x44', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x69', '\x66', '\x79', '\x28', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x5f', '\x63', '\x61', '\x73', '\x74', '\x3c', '\x75', '\x6e', '\x73', '\x69', '\x67', '\x6e', '\x65', '\x64', '\x20', '\x69', '\x6e', '\x74', '\x3e', '\x28', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x29', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x20', '\x65', '\x6c', '\x73', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x68', '\x61', '\x72', '\x20', '\x63', '\x68', '\x73', '\x74', '\x72', '\x5b', '\x5d', '\x20', '\x3d', '\x20', '\x22', '\x27', '\x20', '\x27', '\x22', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x68', '\x73', '\x74', '\x72', '\x5b', '\x31', '\x5d', '\x20', '\x3d', '\x20', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x63', '\x68', '\x73', '\x74', '\x72', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x7d', '\x0d', '\x0a', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x4d', '\x61', '\x6b', '\x65', '\x72', '\x3c', '\x63', '\x68', '\x61', '\x72', '\x3e', '\x3a', '\x3a', '\x63', '\x6f', '\x6e', '\x76', '\x65', '\x72', '\x74', '\x28', '\x63', '\x68', '\x61', '\x72', '\x20', '\x63', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x3a', '\x3a', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x44', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x69', '\x66', '\x79', '\x28', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x5f', '\x63', '\x61', '\x73', '\x74', '\x3c', '\x73', '\x69', '\x67', '\x6e', '\x65', '\x64', '\x20', '\x63', '\x68', '\x61', '\x72', '\x3e', '\x28', '\x63', '\x29', '\x29', '\x3b', '\x0d', '\x0a', '\x7d', '\x0d', '\x0a', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x4d', '\x61', '\x6b', '\x65', '\x72', '\x3c', '\x75', '\x6e', '\x73', '\x69', '\x67', '\x6e', '\x65', '\x64', '\x20', '\x63', '\x68', '\x61', '\x72', '\x3e', '\x3a', '\x3a', '\x63', '\x6f', '\x6e', '\x76', '\x65', '\x72', '\x74', '\x28', '\x75', '\x6e', '\x73', '\x69', '\x67', '\x6e', '\x65', '\x64', '\x20', '\x63', '\x68', '\x61', '\x72', '\x20', '\x63', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x3a', '\x3a', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x44', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x69', '\x66', '\x79', '\x28', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x5f', '\x63', '\x61', '\x73', '\x74', '\x3c', '\x63', '\x68', '\x61', '\x72', '\x3e', '\x28', '\x63', '\x29', '\x29', '\x3b', '\x0d', '\x0a', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x4d', '\x61', '\x6b', '\x65', '\x72', '\x3c', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6e', '\x75', '\x6c', '\x6c', '\x70', '\x74', '\x72', '\x5f', '\x74', '\x3e', '\x3a', '\x3a', '\x63', '\x6f', '\x6e', '\x76', '\x65', '\x72', '\x74', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6e', '\x75', '\x6c', '\x6c', '\x70', '\x74', '\x72', '\x5f', '\x74', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x22', '\x6e', '\x75', '\x6c', '\x6c', '\x70', '\x74', '\x72', '\x22', '\x3b', '\x0d', '\x0a', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x69', '\x6e', '\x74', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x4d', '\x61', '\x6b', '\x65', '\x72', '\x3c', '\x66', '\x6c', '\x6f', '\x61', '\x74', '\x3e', '\x3a', '\x3a', '\x70', '\x72', '\x65', '\x63', '\x69', '\x73', '\x69', '\x6f', '\x6e', '\x20', '\x3d', '\x20', '\x35', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x4d', '\x61', '\x6b', '\x65', '\x72', '\x3c', '\x66', '\x6c', '\x6f', '\x61', '\x74', '\x3e', '\x3a', '\x3a', '\x63', '\x6f', '\x6e', '\x76', '\x65', '\x72', '\x74', '\x28', '\x66', '\x6c', '\x6f', '\x61', '\x74', '\x20', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x66', '\x70', '\x54', '\x6f', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x28', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x2c', '\x20', '\x70', '\x72', '\x65', '\x63', '\x69', '\x73', '\x69', '\x6f', '\x6e', '\x29', '\x20', '\x2b', '\x20', '\x27', '\x66', '\x27', '\x3b', '\x0d', '\x0a', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x69', '\x6e', '\x74', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x4d', '\x61', '\x6b', '\x65', '\x72', '\x3c', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x3e', '\x3a', '\x3a', '\x70', '\x72', '\x65', '\x63', '\x69', '\x73', '\x69', '\x6f', '\x6e', '\x20', '\x3d', '\x20', '\x31', '\x30', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x4d', '\x61', '\x6b', '\x65', '\x72', '\x3c', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x3e', '\x3a', '\x3a', '\x63', '\x6f', '\x6e', '\x76', '\x65', '\x72', '\x74', '\x28', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x20', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x66', '\x70', '\x54', '\x6f', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x28', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x2c', '\x20', '\x70', '\x72', '\x65', '\x63', '\x69', '\x73', '\x69', '\x6f', '\x6e', '\x29', '\x3b', '\x0d', '\x0a', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x5f', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x3c', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x61', '\x74', '\x74', '\x6f', '\x3e', '\x3a', '\x3a', '\x73', '\x79', '\x6d', '\x62', '\x6f', '\x6c', '\x28', '\x29', '\x20', '\x7b', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x22', '\x61', '\x22', '\x3b', '\x20', '\x7d', '\x0d', '\x0a', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x5f', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x3c', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x66', '\x65', '\x6d', '\x74', '\x6f', '\x3e', '\x3a', '\x3a', '\x73', '\x79', '\x6d', '\x62', '\x6f', '\x6c', '\x28', '\x29', '\x20', '\x7b', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x22', '\x66', '\x22', '\x3b', '\x20', '\x7d', '\x0d', '\x0a', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x5f', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x3c', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x70', '\x69', '\x63', '\x6f', '\x3e', '\x3a', '\x3a', '\x73', '\x79', '\x6d', '\x62', '\x6f', '\x6c', '\x28', '\x29', '\x20', '\x7b', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x22', '\x70', '\x22', '\x3b', '\x20', '\x7d', '\x0d', '\x0a', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x5f', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x3c', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6e', '\x61', '\x6e', '\x6f', '\x3e', '\x3a', '\x3a', '\x73', '\x79', '\x6d', '\x62', '\x6f', '\x6c', '\x28', '\x29', '\x20', '\x7b', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x22', '\x6e', '\x22', '\x3b', '\x20', '\x7d', '\x0d', '\x0a', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x5f', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x3c', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6d', '\x69', '\x63', '\x72', '\x6f', '\x3e', '\x3a', '\x3a', '\x73', '\x79', '\x6d', '\x62', '\x6f', '\x6c', '\x28', '\x29', '\x20', '\x7b', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x22', '\x75', '\x22', '\x3b', '\x20', '\x7d', '\x0d', '\x0a', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x5f', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x3c', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6d', '\x69', '\x6c', '\x6c', '\x69', '\x3e', '\x3a', '\x3a', '\x73', '\x79', '\x6d', '\x62', '\x6f', '\x6c', '\x28', '\x29', '\x20', '\x7b', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x22', '\x6d', '\x22', '\x3b', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x5f', '\x5f', '\x63', '\x6c', '\x61', '\x6e', '\x67', '\x5f', '\x5f', '\x29', '\x0d', '\x0a', '\x23', '\x20', '\x20', '\x20', '\x20', '\x70', '\x72', '\x61', '\x67', '\x6d', '\x61', '\x20', '\x63', '\x6c', '\x61', '\x6e', '\x67', '\x20', '\x64', '\x69', '\x61', '\x67', '\x6e', '\x6f', '\x73', '\x74', '\x69', '\x63', '\x20', '\x70', '\x6f', '\x70', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x74', '\x6f', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x2e', '\x63', '\x70', '\x70', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x74', '\x6f', '\x74', '\x61', '\x6c', '\x73', '\x2e', '\x63', '\x70', '\x70', '\x0d', '\x0a', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x43', '\x6f', '\x75', '\x6e', '\x74', '\x73', '\x20', '\x43', '\x6f', '\x75', '\x6e', '\x74', '\x73', '\x3a', '\x3a', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x2d', '\x20', '\x28', '\x20', '\x43', '\x6f', '\x75', '\x6e', '\x74', '\x73', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6f', '\x74', '\x68', '\x65', '\x72', '\x20', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x6f', '\x75', '\x6e', '\x74', '\x73', '\x20', '\x64', '\x69', '\x66', '\x66', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x64', '\x69', '\x66', '\x66', '\x2e', '\x70', '\x61', '\x73', '\x73', '\x65', '\x64', '\x20', '\x3d', '\x20', '\x70', '\x61', '\x73', '\x73', '\x65', '\x64', '\x20', '\x2d', '\x20', '\x6f', '\x74', '\x68', '\x65', '\x72', '\x2e', '\x70', '\x61', '\x73', '\x73', '\x65', '\x64', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x64', '\x69', '\x66', '\x66', '\x2e', '\x66', '\x61', '\x69', '\x6c', '\x65', '\x64', '\x20', '\x3d', '\x20', '\x66', '\x61', '\x69', '\x6c', '\x65', '\x64', '\x20', '\x2d', '\x20', '\x6f', '\x74', '\x68', '\x65', '\x72', '\x2e', '\x66', '\x61', '\x69', '\x6c', '\x65', '\x64', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x64', '\x69', '\x66', '\x66', '\x2e', '\x66', '\x61', '\x69', '\x6c', '\x65', '\x64', '\x42', '\x75', '\x74', '\x4f', '\x6b', '\x20', '\x3d', '\x20', '\x66', '\x61', '\x69', '\x6c', '\x65', '\x64', '\x42', '\x75', '\x74', '\x4f', '\x6b', '\x20', '\x2d', '\x20', '\x6f', '\x74', '\x68', '\x65', '\x72', '\x2e', '\x66', '\x61', '\x69', '\x6c', '\x65', '\x64', '\x42', '\x75', '\x74', '\x4f', '\x6b', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x64', '\x69', '\x66', '\x66', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x43', '\x6f', '\x75', '\x6e', '\x74', '\x73', '\x26', '\x20', '\x43', '\x6f', '\x75', '\x6e', '\x74', '\x73', '\x3a', '\x3a', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x2b', '\x3d', '\x20', '\x28', '\x20', '\x43', '\x6f', '\x75', '\x6e', '\x74', '\x73', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6f', '\x74', '\x68', '\x65', '\x72', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x61', '\x73', '\x73', '\x65', '\x64', '\x20', '\x2b', '\x3d', '\x20', '\x6f', '\x74', '\x68', '\x65', '\x72', '\x2e', '\x70', '\x61', '\x73', '\x73', '\x65', '\x64', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x66', '\x61', '\x69', '\x6c', '\x65', '\x64', '\x20', '\x2b', '\x3d', '\x20', '\x6f', '\x74', '\x68', '\x65', '\x72', '\x2e', '\x66', '\x61', '\x69', '\x6c', '\x65', '\x64', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x66', '\x61', '\x69', '\x6c', '\x65', '\x64', '\x42', '\x75', '\x74', '\x4f', '\x6b', '\x20', '\x2b', '\x3d', '\x20', '\x6f', '\x74', '\x68', '\x65', '\x72', '\x2e', '\x66', '\x61', '\x69', '\x6c', '\x65', '\x64', '\x42', '\x75', '\x74', '\x4f', '\x6b', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x2a', '\x74', '\x68', '\x69', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x69', '\x7a', '\x65', '\x5f', '\x74', '\x20', '\x43', '\x6f', '\x75', '\x6e', '\x74', '\x73', '\x3a', '\x3a', '\x74', '\x6f', '\x74', '\x61', '\x6c', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x70', '\x61', '\x73', '\x73', '\x65', '\x64', '\x20', '\x2b', '\x20', '\x66', '\x61', '\x69', '\x6c', '\x65', '\x64', '\x20', '\x2b', '\x20', '\x66', '\x61', '\x69', '\x6c', '\x65', '\x64', '\x42', '\x75', '\x74', '\x4f', '\x6b', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x43', '\x6f', '\x75', '\x6e', '\x74', '\x73', '\x3a', '\x3a', '\x61', '\x6c', '\x6c', '\x50', '\x61', '\x73', '\x73', '\x65', '\x64', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x66', '\x61', '\x69', '\x6c', '\x65', '\x64', '\x20', '\x3d', '\x3d', '\x20', '\x30', '\x20', '\x26', '\x26', '\x20', '\x66', '\x61', '\x69', '\x6c', '\x65', '\x64', '\x42', '\x75', '\x74', '\x4f', '\x6b', '\x20', '\x3d', '\x3d', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x43', '\x6f', '\x75', '\x6e', '\x74', '\x73', '\x3a', '\x3a', '\x61', '\x6c', '\x6c', '\x4f', '\x6b', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x66', '\x61', '\x69', '\x6c', '\x65', '\x64', '\x20', '\x3d', '\x3d', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x54', '\x6f', '\x74', '\x61', '\x6c', '\x73', '\x20', '\x54', '\x6f', '\x74', '\x61', '\x6c', '\x73', '\x3a', '\x3a', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x2d', '\x20', '\x28', '\x20', '\x54', '\x6f', '\x74', '\x61', '\x6c', '\x73', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6f', '\x74', '\x68', '\x65', '\x72', '\x20', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x54', '\x6f', '\x74', '\x61', '\x6c', '\x73', '\x20', '\x64', '\x69', '\x66', '\x66', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x64', '\x69', '\x66', '\x66', '\x2e', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x20', '\x3d', '\x20', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x20', '\x2d', '\x20', '\x6f', '\x74', '\x68', '\x65', '\x72', '\x2e', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x64', '\x69', '\x66', '\x66', '\x2e', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x73', '\x20', '\x3d', '\x20', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x73', '\x20', '\x2d', '\x20', '\x6f', '\x74', '\x68', '\x65', '\x72', '\x2e', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x64', '\x69', '\x66', '\x66', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x54', '\x6f', '\x74', '\x61', '\x6c', '\x73', '\x26', '\x20', '\x54', '\x6f', '\x74', '\x61', '\x6c', '\x73', '\x3a', '\x3a', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x2b', '\x3d', '\x20', '\x28', '\x20', '\x54', '\x6f', '\x74', '\x61', '\x6c', '\x73', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6f', '\x74', '\x68', '\x65', '\x72', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x20', '\x2b', '\x3d', '\x20', '\x6f', '\x74', '\x68', '\x65', '\x72', '\x2e', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x73', '\x20', '\x2b', '\x3d', '\x20', '\x6f', '\x74', '\x68', '\x65', '\x72', '\x2e', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x2a', '\x74', '\x68', '\x69', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x54', '\x6f', '\x74', '\x61', '\x6c', '\x73', '\x20', '\x54', '\x6f', '\x74', '\x61', '\x6c', '\x73', '\x3a', '\x3a', '\x64', '\x65', '\x6c', '\x74', '\x61', '\x28', '\x20', '\x54', '\x6f', '\x74', '\x61', '\x6c', '\x73', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x70', '\x72', '\x65', '\x76', '\x54', '\x6f', '\x74', '\x61', '\x6c', '\x73', '\x20', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x54', '\x6f', '\x74', '\x61', '\x6c', '\x73', '\x20', '\x64', '\x69', '\x66', '\x66', '\x20', '\x3d', '\x20', '\x2a', '\x74', '\x68', '\x69', '\x73', '\x20', '\x2d', '\x20', '\x70', '\x72', '\x65', '\x76', '\x54', '\x6f', '\x74', '\x61', '\x6c', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x64', '\x69', '\x66', '\x66', '\x2e', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x2e', '\x66', '\x61', '\x69', '\x6c', '\x65', '\x64', '\x20', '\x3e', '\x20', '\x30', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2b', '\x2b', '\x64', '\x69', '\x66', '\x66', '\x2e', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x73', '\x2e', '\x66', '\x61', '\x69', '\x6c', '\x65', '\x64', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x6c', '\x73', '\x65', '\x20', '\x69', '\x66', '\x28', '\x20', '\x64', '\x69', '\x66', '\x66', '\x2e', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x2e', '\x66', '\x61', '\x69', '\x6c', '\x65', '\x64', '\x42', '\x75', '\x74', '\x4f', '\x6b', '\x20', '\x3e', '\x20', '\x30', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2b', '\x2b', '\x64', '\x69', '\x66', '\x66', '\x2e', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x73', '\x2e', '\x66', '\x61', '\x69', '\x6c', '\x65', '\x64', '\x42', '\x75', '\x74', '\x4f', '\x6b', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x6c', '\x73', '\x65', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2b', '\x2b', '\x64', '\x69', '\x66', '\x66', '\x2e', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x73', '\x2e', '\x70', '\x61', '\x73', '\x73', '\x65', '\x64', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x64', '\x69', '\x66', '\x66', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x7d', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x74', '\x6f', '\x74', '\x61', '\x6c', '\x73', '\x2e', '\x63', '\x70', '\x70', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x75', '\x6e', '\x63', '\x61', '\x75', '\x67', '\x68', '\x74', '\x5f', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x2e', '\x63', '\x70', '\x70', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x3e', '\x0d', '\x0a', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x75', '\x6e', '\x63', '\x61', '\x75', '\x67', '\x68', '\x74', '\x5f', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x28', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x43', '\x50', '\x50', '\x31', '\x37', '\x5f', '\x55', '\x4e', '\x43', '\x41', '\x55', '\x47', '\x48', '\x54', '\x5f', '\x45', '\x58', '\x43', '\x45', '\x50', '\x54', '\x49', '\x4f', '\x4e', '\x53', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x75', '\x6e', '\x63', '\x61', '\x75', '\x67', '\x68', '\x74', '\x5f', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x28', '\x29', '\x20', '\x3e', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x23', '\x65', '\x6c', '\x73', '\x65', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x75', '\x6e', '\x63', '\x61', '\x75', '\x67', '\x68', '\x74', '\x5f', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x75', '\x6e', '\x63', '\x61', '\x75', '\x67', '\x68', '\x74', '\x5f', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x2e', '\x63', '\x70', '\x70', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x76', '\x65', '\x72', '\x73', '\x69', '\x6f', '\x6e', '\x2e', '\x63', '\x70', '\x70', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x6f', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x3e', '\x0d', '\x0a', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x56', '\x65', '\x72', '\x73', '\x69', '\x6f', '\x6e', '\x3a', '\x3a', '\x56', '\x65', '\x72', '\x73', '\x69', '\x6f', '\x6e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x28', '\x20', '\x20', '\x20', '\x75', '\x6e', '\x73', '\x69', '\x67', '\x6e', '\x65', '\x64', '\x20', '\x69', '\x6e', '\x74', '\x20', '\x5f', '\x6d', '\x61', '\x6a', '\x6f', '\x72', '\x56', '\x65', '\x72', '\x73', '\x69', '\x6f', '\x6e', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x75', '\x6e', '\x73', '\x69', '\x67', '\x6e', '\x65', '\x64', '\x20', '\x69', '\x6e', '\x74', '\x20', '\x5f', '\x6d', '\x69', '\x6e', '\x6f', '\x72', '\x56', '\x65', '\x72', '\x73', '\x69', '\x6f', '\x6e', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x75', '\x6e', '\x73', '\x69', '\x67', '\x6e', '\x65', '\x64', '\x20', '\x69', '\x6e', '\x74', '\x20', '\x5f', '\x70', '\x61', '\x74', '\x63', '\x68', '\x4e', '\x75', '\x6d', '\x62', '\x65', '\x72', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x68', '\x61', '\x72', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x2a', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x5f', '\x62', '\x72', '\x61', '\x6e', '\x63', '\x68', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x75', '\x6e', '\x73', '\x69', '\x67', '\x6e', '\x65', '\x64', '\x20', '\x69', '\x6e', '\x74', '\x20', '\x5f', '\x62', '\x75', '\x69', '\x6c', '\x64', '\x4e', '\x75', '\x6d', '\x62', '\x65', '\x72', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x3a', '\x20', '\x20', '\x20', '\x6d', '\x61', '\x6a', '\x6f', '\x72', '\x56', '\x65', '\x72', '\x73', '\x69', '\x6f', '\x6e', '\x28', '\x20', '\x5f', '\x6d', '\x61', '\x6a', '\x6f', '\x72', '\x56', '\x65', '\x72', '\x73', '\x69', '\x6f', '\x6e', '\x20', '\x29', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x69', '\x6e', '\x6f', '\x72', '\x56', '\x65', '\x72', '\x73', '\x69', '\x6f', '\x6e', '\x28', '\x20', '\x5f', '\x6d', '\x69', '\x6e', '\x6f', '\x72', '\x56', '\x65', '\x72', '\x73', '\x69', '\x6f', '\x6e', '\x20', '\x29', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x61', '\x74', '\x63', '\x68', '\x4e', '\x75', '\x6d', '\x62', '\x65', '\x72', '\x28', '\x20', '\x5f', '\x70', '\x61', '\x74', '\x63', '\x68', '\x4e', '\x75', '\x6d', '\x62', '\x65', '\x72', '\x20', '\x29', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x72', '\x61', '\x6e', '\x63', '\x68', '\x4e', '\x61', '\x6d', '\x65', '\x28', '\x20', '\x5f', '\x62', '\x72', '\x61', '\x6e', '\x63', '\x68', '\x4e', '\x61', '\x6d', '\x65', '\x20', '\x29', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x75', '\x69', '\x6c', '\x64', '\x4e', '\x75', '\x6d', '\x62', '\x65', '\x72', '\x28', '\x20', '\x5f', '\x62', '\x75', '\x69', '\x6c', '\x64', '\x4e', '\x75', '\x6d', '\x62', '\x65', '\x72', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7b', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6f', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x26', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x3c', '\x3c', '\x20', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6f', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x26', '\x20', '\x6f', '\x73', '\x2c', '\x20', '\x56', '\x65', '\x72', '\x73', '\x69', '\x6f', '\x6e', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x76', '\x65', '\x72', '\x73', '\x69', '\x6f', '\x6e', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6f', '\x73', '\x20', '\x20', '\x3c', '\x3c', '\x20', '\x76', '\x65', '\x72', '\x73', '\x69', '\x6f', '\x6e', '\x2e', '\x6d', '\x61', '\x6a', '\x6f', '\x72', '\x56', '\x65', '\x72', '\x73', '\x69', '\x6f', '\x6e', '\x20', '\x3c', '\x3c', '\x20', '\x27', '\x2e', '\x27', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x3c', '\x3c', '\x20', '\x76', '\x65', '\x72', '\x73', '\x69', '\x6f', '\x6e', '\x2e', '\x6d', '\x69', '\x6e', '\x6f', '\x72', '\x56', '\x65', '\x72', '\x73', '\x69', '\x6f', '\x6e', '\x20', '\x3c', '\x3c', '\x20', '\x27', '\x2e', '\x27', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x3c', '\x3c', '\x20', '\x76', '\x65', '\x72', '\x73', '\x69', '\x6f', '\x6e', '\x2e', '\x70', '\x61', '\x74', '\x63', '\x68', '\x4e', '\x75', '\x6d', '\x62', '\x65', '\x72', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x62', '\x72', '\x61', '\x6e', '\x63', '\x68', '\x4e', '\x61', '\x6d', '\x65', '\x20', '\x69', '\x73', '\x20', '\x6e', '\x65', '\x76', '\x65', '\x72', '\x20', '\x6e', '\x75', '\x6c', '\x6c', '\x20', '\x2d', '\x3e', '\x20', '\x30', '\x74', '\x68', '\x20', '\x63', '\x68', '\x61', '\x72', '\x20', '\x69', '\x73', '\x20', '\x5c', '\x30', '\x20', '\x69', '\x66', '\x20', '\x69', '\x74', '\x20', '\x69', '\x73', '\x20', '\x65', '\x6d', '\x70', '\x74', '\x79', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x76', '\x65', '\x72', '\x73', '\x69', '\x6f', '\x6e', '\x2e', '\x62', '\x72', '\x61', '\x6e', '\x63', '\x68', '\x4e', '\x61', '\x6d', '\x65', '\x5b', '\x30', '\x5d', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6f', '\x73', '\x20', '\x3c', '\x3c', '\x20', '\x27', '\x2d', '\x27', '\x20', '\x3c', '\x3c', '\x20', '\x76', '\x65', '\x72', '\x73', '\x69', '\x6f', '\x6e', '\x2e', '\x62', '\x72', '\x61', '\x6e', '\x63', '\x68', '\x4e', '\x61', '\x6d', '\x65', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x3c', '\x3c', '\x20', '\x27', '\x2e', '\x27', '\x20', '\x3c', '\x3c', '\x20', '\x76', '\x65', '\x72', '\x73', '\x69', '\x6f', '\x6e', '\x2e', '\x62', '\x75', '\x69', '\x6c', '\x64', '\x4e', '\x75', '\x6d', '\x62', '\x65', '\x72', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6f', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x56', '\x65', '\x72', '\x73', '\x69', '\x6f', '\x6e', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6c', '\x69', '\x62', '\x72', '\x61', '\x72', '\x79', '\x56', '\x65', '\x72', '\x73', '\x69', '\x6f', '\x6e', '\x28', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x20', '\x56', '\x65', '\x72', '\x73', '\x69', '\x6f', '\x6e', '\x20', '\x76', '\x65', '\x72', '\x73', '\x69', '\x6f', '\x6e', '\x28', '\x20', '\x32', '\x2c', '\x20', '\x31', '\x30', '\x2c', '\x20', '\x32', '\x2c', '\x20', '\x22', '\x22', '\x2c', '\x20', '\x30', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x76', '\x65', '\x72', '\x73', '\x69', '\x6f', '\x6e', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x7d', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x76', '\x65', '\x72', '\x73', '\x69', '\x6f', '\x6e', '\x2e', '\x63', '\x70', '\x70', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x77', '\x69', '\x6c', '\x64', '\x63', '\x61', '\x72', '\x64', '\x5f', '\x70', '\x61', '\x74', '\x74', '\x65', '\x72', '\x6e', '\x2e', '\x63', '\x70', '\x70', '\x0d', '\x0a', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x57', '\x69', '\x6c', '\x64', '\x63', '\x61', '\x72', '\x64', '\x50', '\x61', '\x74', '\x74', '\x65', '\x72', '\x6e', '\x3a', '\x3a', '\x57', '\x69', '\x6c', '\x64', '\x63', '\x61', '\x72', '\x64', '\x50', '\x61', '\x74', '\x74', '\x65', '\x72', '\x6e', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x70', '\x61', '\x74', '\x74', '\x65', '\x72', '\x6e', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x61', '\x73', '\x65', '\x53', '\x65', '\x6e', '\x73', '\x69', '\x74', '\x69', '\x76', '\x65', '\x3a', '\x3a', '\x43', '\x68', '\x6f', '\x69', '\x63', '\x65', '\x20', '\x63', '\x61', '\x73', '\x65', '\x53', '\x65', '\x6e', '\x73', '\x69', '\x74', '\x69', '\x76', '\x69', '\x74', '\x79', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x3a', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x63', '\x61', '\x73', '\x65', '\x53', '\x65', '\x6e', '\x73', '\x69', '\x74', '\x69', '\x76', '\x69', '\x74', '\x79', '\x28', '\x20', '\x63', '\x61', '\x73', '\x65', '\x53', '\x65', '\x6e', '\x73', '\x69', '\x74', '\x69', '\x76', '\x69', '\x74', '\x79', '\x20', '\x29', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x70', '\x61', '\x74', '\x74', '\x65', '\x72', '\x6e', '\x28', '\x20', '\x6e', '\x6f', '\x72', '\x6d', '\x61', '\x6c', '\x69', '\x73', '\x65', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x28', '\x20', '\x70', '\x61', '\x74', '\x74', '\x65', '\x72', '\x6e', '\x20', '\x29', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x73', '\x57', '\x69', '\x74', '\x68', '\x28', '\x20', '\x6d', '\x5f', '\x70', '\x61', '\x74', '\x74', '\x65', '\x72', '\x6e', '\x2c', '\x20', '\x27', '\x2a', '\x27', '\x20', '\x29', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x70', '\x61', '\x74', '\x74', '\x65', '\x72', '\x6e', '\x20', '\x3d', '\x20', '\x6d', '\x5f', '\x70', '\x61', '\x74', '\x74', '\x65', '\x72', '\x6e', '\x2e', '\x73', '\x75', '\x62', '\x73', '\x74', '\x72', '\x28', '\x20', '\x31', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x77', '\x69', '\x6c', '\x64', '\x63', '\x61', '\x72', '\x64', '\x20', '\x3d', '\x20', '\x57', '\x69', '\x6c', '\x64', '\x63', '\x61', '\x72', '\x64', '\x41', '\x74', '\x53', '\x74', '\x61', '\x72', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x65', '\x6e', '\x64', '\x73', '\x57', '\x69', '\x74', '\x68', '\x28', '\x20', '\x6d', '\x5f', '\x70', '\x61', '\x74', '\x74', '\x65', '\x72', '\x6e', '\x2c', '\x20', '\x27', '\x2a', '\x27', '\x20', '\x29', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x70', '\x61', '\x74', '\x74', '\x65', '\x72', '\x6e', '\x20', '\x3d', '\x20', '\x6d', '\x5f', '\x70', '\x61', '\x74', '\x74', '\x65', '\x72', '\x6e', '\x2e', '\x73', '\x75', '\x62', '\x73', '\x74', '\x72', '\x28', '\x20', '\x30', '\x2c', '\x20', '\x6d', '\x5f', '\x70', '\x61', '\x74', '\x74', '\x65', '\x72', '\x6e', '\x2e', '\x73', '\x69', '\x7a', '\x65', '\x28', '\x29', '\x2d', '\x31', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x77', '\x69', '\x6c', '\x64', '\x63', '\x61', '\x72', '\x64', '\x20', '\x3d', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x5f', '\x63', '\x61', '\x73', '\x74', '\x3c', '\x57', '\x69', '\x6c', '\x64', '\x63', '\x61', '\x72', '\x64', '\x50', '\x6f', '\x73', '\x69', '\x74', '\x69', '\x6f', '\x6e', '\x3e', '\x28', '\x20', '\x6d', '\x5f', '\x77', '\x69', '\x6c', '\x64', '\x63', '\x61', '\x72', '\x64', '\x20', '\x7c', '\x20', '\x57', '\x69', '\x6c', '\x64', '\x63', '\x61', '\x72', '\x64', '\x41', '\x74', '\x45', '\x6e', '\x64', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x57', '\x69', '\x6c', '\x64', '\x63', '\x61', '\x72', '\x64', '\x50', '\x61', '\x74', '\x74', '\x65', '\x72', '\x6e', '\x3a', '\x3a', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x73', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x73', '\x74', '\x72', '\x20', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x77', '\x69', '\x74', '\x63', '\x68', '\x28', '\x20', '\x6d', '\x5f', '\x77', '\x69', '\x6c', '\x64', '\x63', '\x61', '\x72', '\x64', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x61', '\x73', '\x65', '\x20', '\x4e', '\x6f', '\x57', '\x69', '\x6c', '\x64', '\x63', '\x61', '\x72', '\x64', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6d', '\x5f', '\x70', '\x61', '\x74', '\x74', '\x65', '\x72', '\x6e', '\x20', '\x3d', '\x3d', '\x20', '\x6e', '\x6f', '\x72', '\x6d', '\x61', '\x6c', '\x69', '\x73', '\x65', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x28', '\x20', '\x73', '\x74', '\x72', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x61', '\x73', '\x65', '\x20', '\x57', '\x69', '\x6c', '\x64', '\x63', '\x61', '\x72', '\x64', '\x41', '\x74', '\x53', '\x74', '\x61', '\x72', '\x74', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x65', '\x6e', '\x64', '\x73', '\x57', '\x69', '\x74', '\x68', '\x28', '\x20', '\x6e', '\x6f', '\x72', '\x6d', '\x61', '\x6c', '\x69', '\x73', '\x65', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x28', '\x20', '\x73', '\x74', '\x72', '\x20', '\x29', '\x2c', '\x20', '\x6d', '\x5f', '\x70', '\x61', '\x74', '\x74', '\x65', '\x72', '\x6e', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x61', '\x73', '\x65', '\x20', '\x57', '\x69', '\x6c', '\x64', '\x63', '\x61', '\x72', '\x64', '\x41', '\x74', '\x45', '\x6e', '\x64', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x73', '\x57', '\x69', '\x74', '\x68', '\x28', '\x20', '\x6e', '\x6f', '\x72', '\x6d', '\x61', '\x6c', '\x69', '\x73', '\x65', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x28', '\x20', '\x73', '\x74', '\x72', '\x20', '\x29', '\x2c', '\x20', '\x6d', '\x5f', '\x70', '\x61', '\x74', '\x74', '\x65', '\x72', '\x6e', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x61', '\x73', '\x65', '\x20', '\x57', '\x69', '\x6c', '\x64', '\x63', '\x61', '\x72', '\x64', '\x41', '\x74', '\x42', '\x6f', '\x74', '\x68', '\x45', '\x6e', '\x64', '\x73', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x63', '\x6f', '\x6e', '\x74', '\x61', '\x69', '\x6e', '\x73', '\x28', '\x20', '\x6e', '\x6f', '\x72', '\x6d', '\x61', '\x6c', '\x69', '\x73', '\x65', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x28', '\x20', '\x73', '\x74', '\x72', '\x20', '\x29', '\x2c', '\x20', '\x6d', '\x5f', '\x70', '\x61', '\x74', '\x74', '\x65', '\x72', '\x6e', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x64', '\x65', '\x66', '\x61', '\x75', '\x6c', '\x74', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x45', '\x52', '\x52', '\x4f', '\x52', '\x28', '\x20', '\x22', '\x55', '\x6e', '\x6b', '\x6e', '\x6f', '\x77', '\x6e', '\x20', '\x65', '\x6e', '\x75', '\x6d', '\x22', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x57', '\x69', '\x6c', '\x64', '\x63', '\x61', '\x72', '\x64', '\x50', '\x61', '\x74', '\x74', '\x65', '\x72', '\x6e', '\x3a', '\x3a', '\x6e', '\x6f', '\x72', '\x6d', '\x61', '\x6c', '\x69', '\x73', '\x65', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x73', '\x74', '\x72', '\x20', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x74', '\x72', '\x69', '\x6d', '\x28', '\x20', '\x6d', '\x5f', '\x63', '\x61', '\x73', '\x65', '\x53', '\x65', '\x6e', '\x73', '\x69', '\x74', '\x69', '\x76', '\x69', '\x74', '\x79', '\x20', '\x3d', '\x3d', '\x20', '\x43', '\x61', '\x73', '\x65', '\x53', '\x65', '\x6e', '\x73', '\x69', '\x74', '\x69', '\x76', '\x65', '\x3a', '\x3a', '\x4e', '\x6f', '\x20', '\x3f', '\x20', '\x74', '\x6f', '\x4c', '\x6f', '\x77', '\x65', '\x72', '\x28', '\x20', '\x73', '\x74', '\x72', '\x20', '\x29', '\x20', '\x3a', '\x20', '\x73', '\x74', '\x72', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x7d', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x77', '\x69', '\x6c', '\x64', '\x63', '\x61', '\x72', '\x64', '\x5f', '\x70', '\x61', '\x74', '\x74', '\x65', '\x72', '\x6e', '\x2e', '\x63', '\x70', '\x70', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x78', '\x6d', '\x6c', '\x77', '\x72', '\x69', '\x74', '\x65', '\x72', '\x2e', '\x63', '\x70', '\x70', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x69', '\x6f', '\x6d', '\x61', '\x6e', '\x69', '\x70', '\x3e', '\x0d', '\x0a', '\x0d', '\x0a', '\x75', '\x73', '\x69', '\x6e', '\x67', '\x20', '\x75', '\x63', '\x68', '\x61', '\x72', '\x20', '\x3d', '\x20', '\x75', '\x6e', '\x73', '\x69', '\x67', '\x6e', '\x65', '\x64', '\x20', '\x63', '\x68', '\x61', '\x72', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x69', '\x7a', '\x65', '\x5f', '\x74', '\x20', '\x74', '\x72', '\x61', '\x69', '\x6c', '\x69', '\x6e', '\x67', '\x42', '\x79', '\x74', '\x65', '\x73', '\x28', '\x75', '\x6e', '\x73', '\x69', '\x67', '\x6e', '\x65', '\x64', '\x20', '\x63', '\x68', '\x61', '\x72', '\x20', '\x63', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x28', '\x63', '\x20', '\x26', '\x20', '\x30', '\x78', '\x45', '\x30', '\x29', '\x20', '\x3d', '\x3d', '\x20', '\x30', '\x78', '\x43', '\x30', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x32', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x28', '\x63', '\x20', '\x26', '\x20', '\x30', '\x78', '\x46', '\x30', '\x29', '\x20', '\x3d', '\x3d', '\x20', '\x30', '\x78', '\x45', '\x30', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x33', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x28', '\x63', '\x20', '\x26', '\x20', '\x30', '\x78', '\x46', '\x38', '\x29', '\x20', '\x3d', '\x3d', '\x20', '\x30', '\x78', '\x46', '\x30', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x34', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x45', '\x52', '\x52', '\x4f', '\x52', '\x28', '\x22', '\x49', '\x6e', '\x76', '\x61', '\x6c', '\x69', '\x64', '\x20', '\x6d', '\x75', '\x6c', '\x74', '\x69', '\x62', '\x79', '\x74', '\x65', '\x20', '\x75', '\x74', '\x66', '\x2d', '\x38', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x62', '\x79', '\x74', '\x65', '\x20', '\x65', '\x6e', '\x63', '\x6f', '\x75', '\x6e', '\x74', '\x65', '\x72', '\x65', '\x64', '\x22', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x75', '\x69', '\x6e', '\x74', '\x33', '\x32', '\x5f', '\x74', '\x20', '\x68', '\x65', '\x61', '\x64', '\x65', '\x72', '\x56', '\x61', '\x6c', '\x75', '\x65', '\x28', '\x75', '\x6e', '\x73', '\x69', '\x67', '\x6e', '\x65', '\x64', '\x20', '\x63', '\x68', '\x61', '\x72', '\x20', '\x63', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x28', '\x63', '\x20', '\x26', '\x20', '\x30', '\x78', '\x45', '\x30', '\x29', '\x20', '\x3d', '\x3d', '\x20', '\x30', '\x78', '\x43', '\x30', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x63', '\x20', '\x26', '\x20', '\x30', '\x78', '\x31', '\x46', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x28', '\x63', '\x20', '\x26', '\x20', '\x30', '\x78', '\x46', '\x30', '\x29', '\x20', '\x3d', '\x3d', '\x20', '\x30', '\x78', '\x45', '\x30', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x63', '\x20', '\x26', '\x20', '\x30', '\x78', '\x30', '\x46', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x28', '\x63', '\x20', '\x26', '\x20', '\x30', '\x78', '\x46', '\x38', '\x29', '\x20', '\x3d', '\x3d', '\x20', '\x30', '\x78', '\x46', '\x30', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x63', '\x20', '\x26', '\x20', '\x30', '\x78', '\x30', '\x37', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x45', '\x52', '\x52', '\x4f', '\x52', '\x28', '\x22', '\x49', '\x6e', '\x76', '\x61', '\x6c', '\x69', '\x64', '\x20', '\x6d', '\x75', '\x6c', '\x74', '\x69', '\x62', '\x79', '\x74', '\x65', '\x20', '\x75', '\x74', '\x66', '\x2d', '\x38', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x62', '\x79', '\x74', '\x65', '\x20', '\x65', '\x6e', '\x63', '\x6f', '\x75', '\x6e', '\x74', '\x65', '\x72', '\x65', '\x64', '\x22', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x68', '\x65', '\x78', '\x45', '\x73', '\x63', '\x61', '\x70', '\x65', '\x43', '\x68', '\x61', '\x72', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6f', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x26', '\x20', '\x6f', '\x73', '\x2c', '\x20', '\x75', '\x6e', '\x73', '\x69', '\x67', '\x6e', '\x65', '\x64', '\x20', '\x63', '\x68', '\x61', '\x72', '\x20', '\x63', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x69', '\x6f', '\x73', '\x5f', '\x62', '\x61', '\x73', '\x65', '\x3a', '\x3a', '\x66', '\x6d', '\x74', '\x66', '\x6c', '\x61', '\x67', '\x73', '\x20', '\x66', '\x28', '\x6f', '\x73', '\x2e', '\x66', '\x6c', '\x61', '\x67', '\x73', '\x28', '\x29', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6f', '\x73', '\x20', '\x3c', '\x3c', '\x20', '\x22', '\x5c', '\x5c', '\x78', '\x22', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x3c', '\x3c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x75', '\x70', '\x70', '\x65', '\x72', '\x63', '\x61', '\x73', '\x65', '\x20', '\x3c', '\x3c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x68', '\x65', '\x78', '\x20', '\x3c', '\x3c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x65', '\x74', '\x66', '\x69', '\x6c', '\x6c', '\x28', '\x27', '\x30', '\x27', '\x29', '\x20', '\x3c', '\x3c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x65', '\x74', '\x77', '\x28', '\x32', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x3c', '\x3c', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x5f', '\x63', '\x61', '\x73', '\x74', '\x3c', '\x69', '\x6e', '\x74', '\x3e', '\x28', '\x63', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6f', '\x73', '\x2e', '\x66', '\x6c', '\x61', '\x67', '\x73', '\x28', '\x66', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x61', '\x6e', '\x6f', '\x6e', '\x79', '\x6d', '\x6f', '\x75', '\x73', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x58', '\x6d', '\x6c', '\x45', '\x6e', '\x63', '\x6f', '\x64', '\x65', '\x3a', '\x3a', '\x58', '\x6d', '\x6c', '\x45', '\x6e', '\x63', '\x6f', '\x64', '\x65', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x73', '\x74', '\x72', '\x2c', '\x20', '\x46', '\x6f', '\x72', '\x57', '\x68', '\x61', '\x74', '\x20', '\x66', '\x6f', '\x72', '\x57', '\x68', '\x61', '\x74', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x3a', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x73', '\x74', '\x72', '\x28', '\x20', '\x73', '\x74', '\x72', '\x20', '\x29', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x66', '\x6f', '\x72', '\x57', '\x68', '\x61', '\x74', '\x28', '\x20', '\x66', '\x6f', '\x72', '\x57', '\x68', '\x61', '\x74', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7b', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x58', '\x6d', '\x6c', '\x45', '\x6e', '\x63', '\x6f', '\x64', '\x65', '\x3a', '\x3a', '\x65', '\x6e', '\x63', '\x6f', '\x64', '\x65', '\x54', '\x6f', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6f', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x26', '\x20', '\x6f', '\x73', '\x20', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x41', '\x70', '\x6f', '\x73', '\x74', '\x72', '\x6f', '\x70', '\x68', '\x65', '\x20', '\x65', '\x73', '\x63', '\x61', '\x70', '\x69', '\x6e', '\x67', '\x20', '\x6e', '\x6f', '\x74', '\x20', '\x6e', '\x65', '\x63', '\x65', '\x73', '\x73', '\x61', '\x72', '\x79', '\x20', '\x69', '\x66', '\x20', '\x77', '\x65', '\x20', '\x61', '\x6c', '\x77', '\x61', '\x79', '\x73', '\x20', '\x75', '\x73', '\x65', '\x20', '\x22', '\x20', '\x74', '\x6f', '\x20', '\x77', '\x72', '\x69', '\x74', '\x65', '\x20', '\x61', '\x74', '\x74', '\x72', '\x69', '\x62', '\x75', '\x74', '\x65', '\x73', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x28', '\x73', '\x65', '\x65', '\x3a', '\x20', '\x68', '\x74', '\x74', '\x70', '\x3a', '\x2f', '\x2f', '\x77', '\x77', '\x77', '\x2e', '\x77', '\x33', '\x2e', '\x6f', '\x72', '\x67', '\x2f', '\x54', '\x52', '\x2f', '\x78', '\x6d', '\x6c', '\x2f', '\x23', '\x73', '\x79', '\x6e', '\x74', '\x61', '\x78', '\x29', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x66', '\x6f', '\x72', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x69', '\x7a', '\x65', '\x5f', '\x74', '\x20', '\x69', '\x64', '\x78', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x20', '\x69', '\x64', '\x78', '\x20', '\x3c', '\x20', '\x6d', '\x5f', '\x73', '\x74', '\x72', '\x2e', '\x73', '\x69', '\x7a', '\x65', '\x28', '\x29', '\x3b', '\x20', '\x2b', '\x2b', '\x20', '\x69', '\x64', '\x78', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x75', '\x63', '\x68', '\x61', '\x72', '\x20', '\x63', '\x20', '\x3d', '\x20', '\x6d', '\x5f', '\x73', '\x74', '\x72', '\x5b', '\x69', '\x64', '\x78', '\x5d', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x77', '\x69', '\x74', '\x63', '\x68', '\x20', '\x28', '\x63', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x61', '\x73', '\x65', '\x20', '\x27', '\x3c', '\x27', '\x3a', '\x20', '\x20', '\x20', '\x6f', '\x73', '\x20', '\x3c', '\x3c', '\x20', '\x22', '\x26', '\x6c', '\x74', '\x3b', '\x22', '\x3b', '\x20', '\x62', '\x72', '\x65', '\x61', '\x6b', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x61', '\x73', '\x65', '\x20', '\x27', '\x26', '\x27', '\x3a', '\x20', '\x20', '\x20', '\x6f', '\x73', '\x20', '\x3c', '\x3c', '\x20', '\x22', '\x26', '\x61', '\x6d', '\x70', '\x3b', '\x22', '\x3b', '\x20', '\x62', '\x72', '\x65', '\x61', '\x6b', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x61', '\x73', '\x65', '\x20', '\x27', '\x3e', '\x27', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x53', '\x65', '\x65', '\x3a', '\x20', '\x68', '\x74', '\x74', '\x70', '\x3a', '\x2f', '\x2f', '\x77', '\x77', '\x77', '\x2e', '\x77', '\x33', '\x2e', '\x6f', '\x72', '\x67', '\x2f', '\x54', '\x52', '\x2f', '\x78', '\x6d', '\x6c', '\x2f', '\x23', '\x73', '\x79', '\x6e', '\x74', '\x61', '\x78', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x69', '\x64', '\x78', '\x20', '\x3e', '\x20', '\x32', '\x20', '\x26', '\x26', '\x20', '\x6d', '\x5f', '\x73', '\x74', '\x72', '\x5b', '\x69', '\x64', '\x78', '\x20', '\x2d', '\x20', '\x31', '\x5d', '\x20', '\x3d', '\x3d', '\x20', '\x27', '\x5d', '\x27', '\x20', '\x26', '\x26', '\x20', '\x6d', '\x5f', '\x73', '\x74', '\x72', '\x5b', '\x69', '\x64', '\x78', '\x20', '\x2d', '\x20', '\x32', '\x5d', '\x20', '\x3d', '\x3d', '\x20', '\x27', '\x5d', '\x27', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6f', '\x73', '\x20', '\x3c', '\x3c', '\x20', '\x22', '\x26', '\x67', '\x74', '\x3b', '\x22', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x6c', '\x73', '\x65', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6f', '\x73', '\x20', '\x3c', '\x3c', '\x20', '\x63', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x72', '\x65', '\x61', '\x6b', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x61', '\x73', '\x65', '\x20', '\x27', '\x5c', '\x22', '\x27', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x6d', '\x5f', '\x66', '\x6f', '\x72', '\x57', '\x68', '\x61', '\x74', '\x20', '\x3d', '\x3d', '\x20', '\x46', '\x6f', '\x72', '\x41', '\x74', '\x74', '\x72', '\x69', '\x62', '\x75', '\x74', '\x65', '\x73', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6f', '\x73', '\x20', '\x3c', '\x3c', '\x20', '\x22', '\x26', '\x71', '\x75', '\x6f', '\x74', '\x3b', '\x22', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x6c', '\x73', '\x65', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6f', '\x73', '\x20', '\x3c', '\x3c', '\x20', '\x63', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x72', '\x65', '\x61', '\x6b', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x64', '\x65', '\x66', '\x61', '\x75', '\x6c', '\x74', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x43', '\x68', '\x65', '\x63', '\x6b', '\x20', '\x66', '\x6f', '\x72', '\x20', '\x63', '\x6f', '\x6e', '\x74', '\x72', '\x6f', '\x6c', '\x20', '\x63', '\x68', '\x61', '\x72', '\x61', '\x63', '\x74', '\x65', '\x72', '\x73', '\x20', '\x61', '\x6e', '\x64', '\x20', '\x69', '\x6e', '\x76', '\x61', '\x6c', '\x69', '\x64', '\x20', '\x75', '\x74', '\x66', '\x2d', '\x38', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x45', '\x73', '\x63', '\x61', '\x70', '\x65', '\x20', '\x63', '\x6f', '\x6e', '\x74', '\x72', '\x6f', '\x6c', '\x20', '\x63', '\x68', '\x61', '\x72', '\x61', '\x63', '\x74', '\x65', '\x72', '\x73', '\x20', '\x69', '\x6e', '\x20', '\x73', '\x74', '\x61', '\x6e', '\x64', '\x61', '\x72', '\x64', '\x20', '\x61', '\x73', '\x63', '\x69', '\x69', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x73', '\x65', '\x65', '\x20', '\x68', '\x74', '\x74', '\x70', '\x3a', '\x2f', '\x2f', '\x73', '\x74', '\x61', '\x63', '\x6b', '\x6f', '\x76', '\x65', '\x72', '\x66', '\x6c', '\x6f', '\x77', '\x2e', '\x63', '\x6f', '\x6d', '\x2f', '\x71', '\x75', '\x65', '\x73', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x2f', '\x34', '\x30', '\x34', '\x31', '\x30', '\x37', '\x2f', '\x77', '\x68', '\x79', '\x2d', '\x61', '\x72', '\x65', '\x2d', '\x63', '\x6f', '\x6e', '\x74', '\x72', '\x6f', '\x6c', '\x2d', '\x63', '\x68', '\x61', '\x72', '\x61', '\x63', '\x74', '\x65', '\x72', '\x73', '\x2d', '\x69', '\x6c', '\x6c', '\x65', '\x67', '\x61', '\x6c', '\x2d', '\x69', '\x6e', '\x2d', '\x78', '\x6d', '\x6c', '\x2d', '\x31', '\x2d', '\x30', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x63', '\x20', '\x3c', '\x20', '\x30', '\x78', '\x30', '\x39', '\x20', '\x7c', '\x7c', '\x20', '\x28', '\x63', '\x20', '\x3e', '\x20', '\x30', '\x78', '\x30', '\x44', '\x20', '\x26', '\x26', '\x20', '\x63', '\x20', '\x3c', '\x20', '\x30', '\x78', '\x32', '\x30', '\x29', '\x20', '\x7c', '\x7c', '\x20', '\x63', '\x20', '\x3d', '\x3d', '\x20', '\x30', '\x78', '\x37', '\x46', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x68', '\x65', '\x78', '\x45', '\x73', '\x63', '\x61', '\x70', '\x65', '\x43', '\x68', '\x61', '\x72', '\x28', '\x6f', '\x73', '\x2c', '\x20', '\x63', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x72', '\x65', '\x61', '\x6b', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x50', '\x6c', '\x61', '\x69', '\x6e', '\x20', '\x41', '\x53', '\x43', '\x49', '\x49', '\x3a', '\x20', '\x57', '\x72', '\x69', '\x74', '\x65', '\x20', '\x69', '\x74', '\x20', '\x74', '\x6f', '\x20', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x63', '\x20', '\x3c', '\x20', '\x30', '\x78', '\x37', '\x46', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6f', '\x73', '\x20', '\x3c', '\x3c', '\x20', '\x63', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x72', '\x65', '\x61', '\x6b', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x55', '\x54', '\x46', '\x2d', '\x38', '\x20', '\x74', '\x65', '\x72', '\x72', '\x69', '\x74', '\x6f', '\x72', '\x79', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x43', '\x68', '\x65', '\x63', '\x6b', '\x20', '\x69', '\x66', '\x20', '\x74', '\x68', '\x65', '\x20', '\x65', '\x6e', '\x63', '\x6f', '\x64', '\x69', '\x6e', '\x67', '\x20', '\x69', '\x73', '\x20', '\x76', '\x61', '\x6c', '\x69', '\x64', '\x20', '\x61', '\x6e', '\x64', '\x20', '\x69', '\x66', '\x20', '\x69', '\x74', '\x20', '\x69', '\x73', '\x20', '\x6e', '\x6f', '\x74', '\x2c', '\x20', '\x68', '\x65', '\x78', '\x20', '\x65', '\x73', '\x63', '\x61', '\x70', '\x65', '\x20', '\x62', '\x79', '\x74', '\x65', '\x73', '\x2e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x49', '\x6d', '\x70', '\x6f', '\x72', '\x74', '\x61', '\x6e', '\x74', '\x3a', '\x20', '\x57', '\x65', '\x20', '\x64', '\x6f', '\x20', '\x6e', '\x6f', '\x74', '\x20', '\x63', '\x68', '\x65', '\x63', '\x6b', '\x20', '\x74', '\x68', '\x65', '\x20', '\x65', '\x78', '\x61', '\x63', '\x74', '\x20', '\x64', '\x65', '\x63', '\x6f', '\x64', '\x65', '\x64', '\x20', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x73', '\x20', '\x66', '\x6f', '\x72', '\x20', '\x76', '\x61', '\x6c', '\x69', '\x64', '\x69', '\x74', '\x79', '\x2c', '\x20', '\x6f', '\x6e', '\x6c', '\x79', '\x20', '\x74', '\x68', '\x65', '\x20', '\x65', '\x6e', '\x63', '\x6f', '\x64', '\x69', '\x6e', '\x67', '\x20', '\x66', '\x6f', '\x72', '\x6d', '\x61', '\x74', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x46', '\x69', '\x72', '\x73', '\x74', '\x20', '\x63', '\x68', '\x65', '\x63', '\x6b', '\x20', '\x74', '\x68', '\x61', '\x74', '\x20', '\x74', '\x68', '\x69', '\x73', '\x20', '\x62', '\x79', '\x74', '\x65', '\x73', '\x20', '\x69', '\x73', '\x20', '\x61', '\x20', '\x76', '\x61', '\x6c', '\x69', '\x64', '\x20', '\x6c', '\x65', '\x61', '\x64', '\x20', '\x62', '\x79', '\x74', '\x65', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x54', '\x68', '\x69', '\x73', '\x20', '\x6d', '\x65', '\x61', '\x6e', '\x73', '\x20', '\x74', '\x68', '\x61', '\x74', '\x20', '\x69', '\x74', '\x20', '\x69', '\x73', '\x20', '\x6e', '\x6f', '\x74', '\x20', '\x65', '\x6e', '\x63', '\x6f', '\x64', '\x65', '\x64', '\x20', '\x61', '\x73', '\x20', '\x31', '\x31', '\x31', '\x31', '\x20', '\x31', '\x58', '\x58', '\x58', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x4f', '\x72', '\x20', '\x61', '\x73', '\x20', '\x31', '\x30', '\x58', '\x58', '\x20', '\x58', '\x58', '\x58', '\x58', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x63', '\x20', '\x3c', '\x20', '\x20', '\x30', '\x78', '\x43', '\x30', '\x20', '\x7c', '\x7c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x20', '\x3e', '\x3d', '\x20', '\x30', '\x78', '\x46', '\x38', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x68', '\x65', '\x78', '\x45', '\x73', '\x63', '\x61', '\x70', '\x65', '\x43', '\x68', '\x61', '\x72', '\x28', '\x6f', '\x73', '\x2c', '\x20', '\x63', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x72', '\x65', '\x61', '\x6b', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x65', '\x6e', '\x63', '\x42', '\x79', '\x74', '\x65', '\x73', '\x20', '\x3d', '\x20', '\x74', '\x72', '\x61', '\x69', '\x6c', '\x69', '\x6e', '\x67', '\x42', '\x79', '\x74', '\x65', '\x73', '\x28', '\x63', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x41', '\x72', '\x65', '\x20', '\x74', '\x68', '\x65', '\x72', '\x65', '\x20', '\x65', '\x6e', '\x6f', '\x75', '\x67', '\x68', '\x20', '\x62', '\x79', '\x74', '\x65', '\x73', '\x20', '\x6c', '\x65', '\x66', '\x74', '\x20', '\x74', '\x6f', '\x20', '\x61', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x61', '\x63', '\x63', '\x65', '\x73', '\x73', '\x69', '\x6e', '\x67', '\x20', '\x6f', '\x75', '\x74', '\x2d', '\x6f', '\x66', '\x2d', '\x62', '\x6f', '\x75', '\x6e', '\x64', '\x73', '\x20', '\x6d', '\x65', '\x6d', '\x6f', '\x72', '\x79', '\x3f', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x69', '\x64', '\x78', '\x20', '\x2b', '\x20', '\x65', '\x6e', '\x63', '\x42', '\x79', '\x74', '\x65', '\x73', '\x20', '\x2d', '\x20', '\x31', '\x20', '\x3e', '\x3d', '\x20', '\x6d', '\x5f', '\x73', '\x74', '\x72', '\x2e', '\x73', '\x69', '\x7a', '\x65', '\x28', '\x29', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x68', '\x65', '\x78', '\x45', '\x73', '\x63', '\x61', '\x70', '\x65', '\x43', '\x68', '\x61', '\x72', '\x28', '\x6f', '\x73', '\x2c', '\x20', '\x63', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x72', '\x65', '\x61', '\x6b', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x54', '\x68', '\x65', '\x20', '\x68', '\x65', '\x61', '\x64', '\x65', '\x72', '\x20', '\x69', '\x73', '\x20', '\x76', '\x61', '\x6c', '\x69', '\x64', '\x2c', '\x20', '\x63', '\x68', '\x65', '\x63', '\x6b', '\x20', '\x64', '\x61', '\x74', '\x61', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x54', '\x68', '\x65', '\x20', '\x6e', '\x65', '\x78', '\x74', '\x20', '\x65', '\x6e', '\x63', '\x42', '\x79', '\x74', '\x65', '\x73', '\x20', '\x62', '\x79', '\x74', '\x65', '\x73', '\x20', '\x6d', '\x75', '\x73', '\x74', '\x20', '\x74', '\x6f', '\x67', '\x65', '\x74', '\x68', '\x65', '\x72', '\x20', '\x62', '\x65', '\x20', '\x61', '\x20', '\x76', '\x61', '\x6c', '\x69', '\x64', '\x20', '\x75', '\x74', '\x66', '\x2d', '\x38', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x54', '\x68', '\x69', '\x73', '\x20', '\x6d', '\x65', '\x61', '\x6e', '\x73', '\x3a', '\x20', '\x62', '\x69', '\x74', '\x70', '\x61', '\x74', '\x74', '\x65', '\x72', '\x6e', '\x20', '\x31', '\x30', '\x58', '\x58', '\x20', '\x58', '\x58', '\x58', '\x58', '\x20', '\x61', '\x6e', '\x64', '\x20', '\x74', '\x68', '\x65', '\x20', '\x65', '\x78', '\x74', '\x72', '\x61', '\x63', '\x74', '\x65', '\x64', '\x20', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x20', '\x69', '\x73', '\x20', '\x73', '\x61', '\x6e', '\x65', '\x20', '\x28', '\x69', '\x73', '\x68', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x76', '\x61', '\x6c', '\x69', '\x64', '\x20', '\x3d', '\x20', '\x74', '\x72', '\x75', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x75', '\x69', '\x6e', '\x74', '\x33', '\x32', '\x5f', '\x74', '\x20', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x20', '\x3d', '\x20', '\x68', '\x65', '\x61', '\x64', '\x65', '\x72', '\x56', '\x61', '\x6c', '\x75', '\x65', '\x28', '\x63', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x66', '\x6f', '\x72', '\x20', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x69', '\x7a', '\x65', '\x5f', '\x74', '\x20', '\x6e', '\x20', '\x3d', '\x20', '\x31', '\x3b', '\x20', '\x6e', '\x20', '\x3c', '\x20', '\x65', '\x6e', '\x63', '\x42', '\x79', '\x74', '\x65', '\x73', '\x3b', '\x20', '\x2b', '\x2b', '\x6e', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x75', '\x63', '\x68', '\x61', '\x72', '\x20', '\x6e', '\x63', '\x20', '\x3d', '\x20', '\x6d', '\x5f', '\x73', '\x74', '\x72', '\x5b', '\x69', '\x64', '\x78', '\x20', '\x2b', '\x20', '\x6e', '\x5d', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x61', '\x6c', '\x69', '\x64', '\x20', '\x26', '\x3d', '\x20', '\x28', '\x28', '\x6e', '\x63', '\x20', '\x26', '\x20', '\x30', '\x78', '\x43', '\x30', '\x29', '\x20', '\x3d', '\x3d', '\x20', '\x30', '\x78', '\x38', '\x30', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x20', '\x3d', '\x20', '\x28', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x20', '\x3c', '\x3c', '\x20', '\x36', '\x29', '\x20', '\x7c', '\x20', '\x28', '\x6e', '\x63', '\x20', '\x26', '\x20', '\x30', '\x78', '\x33', '\x46', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x57', '\x72', '\x6f', '\x6e', '\x67', '\x20', '\x62', '\x69', '\x74', '\x20', '\x70', '\x61', '\x74', '\x74', '\x65', '\x72', '\x6e', '\x20', '\x6f', '\x66', '\x20', '\x66', '\x6f', '\x6c', '\x6c', '\x6f', '\x77', '\x69', '\x6e', '\x67', '\x20', '\x62', '\x79', '\x74', '\x65', '\x73', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x28', '\x21', '\x76', '\x61', '\x6c', '\x69', '\x64', '\x29', '\x20', '\x7c', '\x7c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x4f', '\x76', '\x65', '\x72', '\x6c', '\x6f', '\x6e', '\x67', '\x20', '\x65', '\x6e', '\x63', '\x6f', '\x64', '\x69', '\x6e', '\x67', '\x73', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x28', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x20', '\x3c', '\x20', '\x30', '\x78', '\x38', '\x30', '\x29', '\x20', '\x7c', '\x7c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x28', '\x30', '\x78', '\x38', '\x30', '\x20', '\x3c', '\x3d', '\x20', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x20', '\x26', '\x26', '\x20', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x20', '\x3c', '\x20', '\x30', '\x78', '\x38', '\x30', '\x30', '\x20', '\x20', '\x20', '\x26', '\x26', '\x20', '\x65', '\x6e', '\x63', '\x42', '\x79', '\x74', '\x65', '\x73', '\x20', '\x3e', '\x20', '\x32', '\x29', '\x20', '\x7c', '\x7c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x28', '\x30', '\x78', '\x38', '\x30', '\x30', '\x20', '\x3c', '\x20', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x20', '\x26', '\x26', '\x20', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x20', '\x3c', '\x20', '\x30', '\x78', '\x31', '\x30', '\x30', '\x30', '\x30', '\x20', '\x26', '\x26', '\x20', '\x65', '\x6e', '\x63', '\x42', '\x79', '\x74', '\x65', '\x73', '\x20', '\x3e', '\x20', '\x33', '\x29', '\x20', '\x7c', '\x7c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x45', '\x6e', '\x63', '\x6f', '\x64', '\x65', '\x64', '\x20', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x20', '\x6f', '\x75', '\x74', '\x20', '\x6f', '\x66', '\x20', '\x72', '\x61', '\x6e', '\x67', '\x65', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x28', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x20', '\x3e', '\x3d', '\x20', '\x30', '\x78', '\x31', '\x31', '\x30', '\x30', '\x30', '\x30', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x68', '\x65', '\x78', '\x45', '\x73', '\x63', '\x61', '\x70', '\x65', '\x43', '\x68', '\x61', '\x72', '\x28', '\x6f', '\x73', '\x2c', '\x20', '\x63', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x72', '\x65', '\x61', '\x6b', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x49', '\x66', '\x20', '\x77', '\x65', '\x20', '\x67', '\x6f', '\x74', '\x20', '\x68', '\x65', '\x72', '\x65', '\x2c', '\x20', '\x74', '\x68', '\x69', '\x73', '\x20', '\x69', '\x73', '\x20', '\x69', '\x6e', '\x20', '\x66', '\x61', '\x63', '\x74', '\x20', '\x61', '\x20', '\x76', '\x61', '\x6c', '\x69', '\x64', '\x28', '\x69', '\x73', '\x68', '\x29', '\x20', '\x75', '\x74', '\x66', '\x2d', '\x38', '\x20', '\x73', '\x65', '\x71', '\x75', '\x65', '\x6e', '\x63', '\x65', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x66', '\x6f', '\x72', '\x20', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x69', '\x7a', '\x65', '\x5f', '\x74', '\x20', '\x6e', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x20', '\x6e', '\x20', '\x3c', '\x20', '\x65', '\x6e', '\x63', '\x42', '\x79', '\x74', '\x65', '\x73', '\x3b', '\x20', '\x2b', '\x2b', '\x6e', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6f', '\x73', '\x20', '\x3c', '\x3c', '\x20', '\x6d', '\x5f', '\x73', '\x74', '\x72', '\x5b', '\x69', '\x64', '\x78', '\x20', '\x2b', '\x20', '\x6e', '\x5d', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x64', '\x78', '\x20', '\x2b', '\x3d', '\x20', '\x65', '\x6e', '\x63', '\x42', '\x79', '\x74', '\x65', '\x73', '\x20', '\x2d', '\x20', '\x31', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x72', '\x65', '\x61', '\x6b', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6f', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x26', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x3c', '\x3c', '\x20', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6f', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x26', '\x20', '\x6f', '\x73', '\x2c', '\x20', '\x58', '\x6d', '\x6c', '\x45', '\x6e', '\x63', '\x6f', '\x64', '\x65', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x78', '\x6d', '\x6c', '\x45', '\x6e', '\x63', '\x6f', '\x64', '\x65', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x78', '\x6d', '\x6c', '\x45', '\x6e', '\x63', '\x6f', '\x64', '\x65', '\x2e', '\x65', '\x6e', '\x63', '\x6f', '\x64', '\x65', '\x54', '\x6f', '\x28', '\x20', '\x6f', '\x73', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6f', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x58', '\x6d', '\x6c', '\x57', '\x72', '\x69', '\x74', '\x65', '\x72', '\x3a', '\x3a', '\x53', '\x63', '\x6f', '\x70', '\x65', '\x64', '\x45', '\x6c', '\x65', '\x6d', '\x65', '\x6e', '\x74', '\x3a', '\x3a', '\x53', '\x63', '\x6f', '\x70', '\x65', '\x64', '\x45', '\x6c', '\x65', '\x6d', '\x65', '\x6e', '\x74', '\x28', '\x20', '\x58', '\x6d', '\x6c', '\x57', '\x72', '\x69', '\x74', '\x65', '\x72', '\x2a', '\x20', '\x77', '\x72', '\x69', '\x74', '\x65', '\x72', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x3a', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x77', '\x72', '\x69', '\x74', '\x65', '\x72', '\x28', '\x20', '\x77', '\x72', '\x69', '\x74', '\x65', '\x72', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7b', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x58', '\x6d', '\x6c', '\x57', '\x72', '\x69', '\x74', '\x65', '\x72', '\x3a', '\x3a', '\x53', '\x63', '\x6f', '\x70', '\x65', '\x64', '\x45', '\x6c', '\x65', '\x6d', '\x65', '\x6e', '\x74', '\x3a', '\x3a', '\x53', '\x63', '\x6f', '\x70', '\x65', '\x64', '\x45', '\x6c', '\x65', '\x6d', '\x65', '\x6e', '\x74', '\x28', '\x20', '\x53', '\x63', '\x6f', '\x70', '\x65', '\x64', '\x45', '\x6c', '\x65', '\x6d', '\x65', '\x6e', '\x74', '\x26', '\x26', '\x20', '\x6f', '\x74', '\x68', '\x65', '\x72', '\x20', '\x29', '\x20', '\x6e', '\x6f', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x3a', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x77', '\x72', '\x69', '\x74', '\x65', '\x72', '\x28', '\x20', '\x6f', '\x74', '\x68', '\x65', '\x72', '\x2e', '\x6d', '\x5f', '\x77', '\x72', '\x69', '\x74', '\x65', '\x72', '\x20', '\x29', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6f', '\x74', '\x68', '\x65', '\x72', '\x2e', '\x6d', '\x5f', '\x77', '\x72', '\x69', '\x74', '\x65', '\x72', '\x20', '\x3d', '\x20', '\x6e', '\x75', '\x6c', '\x6c', '\x70', '\x74', '\x72', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x58', '\x6d', '\x6c', '\x57', '\x72', '\x69', '\x74', '\x65', '\x72', '\x3a', '\x3a', '\x53', '\x63', '\x6f', '\x70', '\x65', '\x64', '\x45', '\x6c', '\x65', '\x6d', '\x65', '\x6e', '\x74', '\x26', '\x20', '\x58', '\x6d', '\x6c', '\x57', '\x72', '\x69', '\x74', '\x65', '\x72', '\x3a', '\x3a', '\x53', '\x63', '\x6f', '\x70', '\x65', '\x64', '\x45', '\x6c', '\x65', '\x6d', '\x65', '\x6e', '\x74', '\x3a', '\x3a', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x3d', '\x28', '\x20', '\x53', '\x63', '\x6f', '\x70', '\x65', '\x64', '\x45', '\x6c', '\x65', '\x6d', '\x65', '\x6e', '\x74', '\x26', '\x26', '\x20', '\x6f', '\x74', '\x68', '\x65', '\x72', '\x20', '\x29', '\x20', '\x6e', '\x6f', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x20', '\x6d', '\x5f', '\x77', '\x72', '\x69', '\x74', '\x65', '\x72', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x77', '\x72', '\x69', '\x74', '\x65', '\x72', '\x2d', '\x3e', '\x65', '\x6e', '\x64', '\x45', '\x6c', '\x65', '\x6d', '\x65', '\x6e', '\x74', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x77', '\x72', '\x69', '\x74', '\x65', '\x72', '\x20', '\x3d', '\x20', '\x6f', '\x74', '\x68', '\x65', '\x72', '\x2e', '\x6d', '\x5f', '\x77', '\x72', '\x69', '\x74', '\x65', '\x72', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6f', '\x74', '\x68', '\x65', '\x72', '\x2e', '\x6d', '\x5f', '\x77', '\x72', '\x69', '\x74', '\x65', '\x72', '\x20', '\x3d', '\x20', '\x6e', '\x75', '\x6c', '\x6c', '\x70', '\x74', '\x72', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x2a', '\x74', '\x68', '\x69', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x58', '\x6d', '\x6c', '\x57', '\x72', '\x69', '\x74', '\x65', '\x72', '\x3a', '\x3a', '\x53', '\x63', '\x6f', '\x70', '\x65', '\x64', '\x45', '\x6c', '\x65', '\x6d', '\x65', '\x6e', '\x74', '\x3a', '\x3a', '\x7e', '\x53', '\x63', '\x6f', '\x70', '\x65', '\x64', '\x45', '\x6c', '\x65', '\x6d', '\x65', '\x6e', '\x74', '\x28', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x6d', '\x5f', '\x77', '\x72', '\x69', '\x74', '\x65', '\x72', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x77', '\x72', '\x69', '\x74', '\x65', '\x72', '\x2d', '\x3e', '\x65', '\x6e', '\x64', '\x45', '\x6c', '\x65', '\x6d', '\x65', '\x6e', '\x74', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x58', '\x6d', '\x6c', '\x57', '\x72', '\x69', '\x74', '\x65', '\x72', '\x3a', '\x3a', '\x53', '\x63', '\x6f', '\x70', '\x65', '\x64', '\x45', '\x6c', '\x65', '\x6d', '\x65', '\x6e', '\x74', '\x26', '\x20', '\x58', '\x6d', '\x6c', '\x57', '\x72', '\x69', '\x74', '\x65', '\x72', '\x3a', '\x3a', '\x53', '\x63', '\x6f', '\x70', '\x65', '\x64', '\x45', '\x6c', '\x65', '\x6d', '\x65', '\x6e', '\x74', '\x3a', '\x3a', '\x77', '\x72', '\x69', '\x74', '\x65', '\x54', '\x65', '\x78', '\x74', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x74', '\x65', '\x78', '\x74', '\x2c', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x69', '\x6e', '\x64', '\x65', '\x6e', '\x74', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x77', '\x72', '\x69', '\x74', '\x65', '\x72', '\x2d', '\x3e', '\x77', '\x72', '\x69', '\x74', '\x65', '\x54', '\x65', '\x78', '\x74', '\x28', '\x20', '\x74', '\x65', '\x78', '\x74', '\x2c', '\x20', '\x69', '\x6e', '\x64', '\x65', '\x6e', '\x74', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x2a', '\x74', '\x68', '\x69', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x58', '\x6d', '\x6c', '\x57', '\x72', '\x69', '\x74', '\x65', '\x72', '\x3a', '\x3a', '\x58', '\x6d', '\x6c', '\x57', '\x72', '\x69', '\x74', '\x65', '\x72', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6f', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x26', '\x20', '\x6f', '\x73', '\x20', '\x29', '\x20', '\x3a', '\x20', '\x6d', '\x5f', '\x6f', '\x73', '\x28', '\x20', '\x6f', '\x73', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x77', '\x72', '\x69', '\x74', '\x65', '\x44', '\x65', '\x63', '\x6c', '\x61', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x58', '\x6d', '\x6c', '\x57', '\x72', '\x69', '\x74', '\x65', '\x72', '\x3a', '\x3a', '\x7e', '\x58', '\x6d', '\x6c', '\x57', '\x72', '\x69', '\x74', '\x65', '\x72', '\x28', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x77', '\x68', '\x69', '\x6c', '\x65', '\x28', '\x20', '\x21', '\x6d', '\x5f', '\x74', '\x61', '\x67', '\x73', '\x2e', '\x65', '\x6d', '\x70', '\x74', '\x79', '\x28', '\x29', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x6e', '\x64', '\x45', '\x6c', '\x65', '\x6d', '\x65', '\x6e', '\x74', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x58', '\x6d', '\x6c', '\x57', '\x72', '\x69', '\x74', '\x65', '\x72', '\x26', '\x20', '\x58', '\x6d', '\x6c', '\x57', '\x72', '\x69', '\x74', '\x65', '\x72', '\x3a', '\x3a', '\x73', '\x74', '\x61', '\x72', '\x74', '\x45', '\x6c', '\x65', '\x6d', '\x65', '\x6e', '\x74', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x6e', '\x73', '\x75', '\x72', '\x65', '\x54', '\x61', '\x67', '\x43', '\x6c', '\x6f', '\x73', '\x65', '\x64', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6e', '\x65', '\x77', '\x6c', '\x69', '\x6e', '\x65', '\x49', '\x66', '\x4e', '\x65', '\x63', '\x65', '\x73', '\x73', '\x61', '\x72', '\x79', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x6f', '\x73', '\x20', '\x3c', '\x3c', '\x20', '\x6d', '\x5f', '\x69', '\x6e', '\x64', '\x65', '\x6e', '\x74', '\x20', '\x3c', '\x3c', '\x20', '\x27', '\x3c', '\x27', '\x20', '\x3c', '\x3c', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x74', '\x61', '\x67', '\x73', '\x2e', '\x70', '\x75', '\x73', '\x68', '\x5f', '\x62', '\x61', '\x63', '\x6b', '\x28', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x69', '\x6e', '\x64', '\x65', '\x6e', '\x74', '\x20', '\x2b', '\x3d', '\x20', '\x22', '\x20', '\x20', '\x22', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x74', '\x61', '\x67', '\x49', '\x73', '\x4f', '\x70', '\x65', '\x6e', '\x20', '\x3d', '\x20', '\x74', '\x72', '\x75', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x2a', '\x74', '\x68', '\x69', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x58', '\x6d', '\x6c', '\x57', '\x72', '\x69', '\x74', '\x65', '\x72', '\x3a', '\x3a', '\x53', '\x63', '\x6f', '\x70', '\x65', '\x64', '\x45', '\x6c', '\x65', '\x6d', '\x65', '\x6e', '\x74', '\x20', '\x58', '\x6d', '\x6c', '\x57', '\x72', '\x69', '\x74', '\x65', '\x72', '\x3a', '\x3a', '\x73', '\x63', '\x6f', '\x70', '\x65', '\x64', '\x45', '\x6c', '\x65', '\x6d', '\x65', '\x6e', '\x74', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x53', '\x63', '\x6f', '\x70', '\x65', '\x64', '\x45', '\x6c', '\x65', '\x6d', '\x65', '\x6e', '\x74', '\x20', '\x73', '\x63', '\x6f', '\x70', '\x65', '\x64', '\x28', '\x20', '\x74', '\x68', '\x69', '\x73', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x45', '\x6c', '\x65', '\x6d', '\x65', '\x6e', '\x74', '\x28', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x73', '\x63', '\x6f', '\x70', '\x65', '\x64', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x58', '\x6d', '\x6c', '\x57', '\x72', '\x69', '\x74', '\x65', '\x72', '\x26', '\x20', '\x58', '\x6d', '\x6c', '\x57', '\x72', '\x69', '\x74', '\x65', '\x72', '\x3a', '\x3a', '\x65', '\x6e', '\x64', '\x45', '\x6c', '\x65', '\x6d', '\x65', '\x6e', '\x74', '\x28', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6e', '\x65', '\x77', '\x6c', '\x69', '\x6e', '\x65', '\x49', '\x66', '\x4e', '\x65', '\x63', '\x65', '\x73', '\x73', '\x61', '\x72', '\x79', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x69', '\x6e', '\x64', '\x65', '\x6e', '\x74', '\x20', '\x3d', '\x20', '\x6d', '\x5f', '\x69', '\x6e', '\x64', '\x65', '\x6e', '\x74', '\x2e', '\x73', '\x75', '\x62', '\x73', '\x74', '\x72', '\x28', '\x20', '\x30', '\x2c', '\x20', '\x6d', '\x5f', '\x69', '\x6e', '\x64', '\x65', '\x6e', '\x74', '\x2e', '\x73', '\x69', '\x7a', '\x65', '\x28', '\x29', '\x2d', '\x32', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x6d', '\x5f', '\x74', '\x61', '\x67', '\x49', '\x73', '\x4f', '\x70', '\x65', '\x6e', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x6f', '\x73', '\x20', '\x3c', '\x3c', '\x20', '\x22', '\x2f', '\x3e', '\x22', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x74', '\x61', '\x67', '\x49', '\x73', '\x4f', '\x70', '\x65', '\x6e', '\x20', '\x3d', '\x20', '\x66', '\x61', '\x6c', '\x73', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x6c', '\x73', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x6f', '\x73', '\x20', '\x3c', '\x3c', '\x20', '\x6d', '\x5f', '\x69', '\x6e', '\x64', '\x65', '\x6e', '\x74', '\x20', '\x3c', '\x3c', '\x20', '\x22', '\x3c', '\x2f', '\x22', '\x20', '\x3c', '\x3c', '\x20', '\x6d', '\x5f', '\x74', '\x61', '\x67', '\x73', '\x2e', '\x62', '\x61', '\x63', '\x6b', '\x28', '\x29', '\x20', '\x3c', '\x3c', '\x20', '\x22', '\x3e', '\x22', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x6f', '\x73', '\x20', '\x3c', '\x3c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x65', '\x6e', '\x64', '\x6c', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x74', '\x61', '\x67', '\x73', '\x2e', '\x70', '\x6f', '\x70', '\x5f', '\x62', '\x61', '\x63', '\x6b', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x2a', '\x74', '\x68', '\x69', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x58', '\x6d', '\x6c', '\x57', '\x72', '\x69', '\x74', '\x65', '\x72', '\x26', '\x20', '\x58', '\x6d', '\x6c', '\x57', '\x72', '\x69', '\x74', '\x65', '\x72', '\x3a', '\x3a', '\x77', '\x72', '\x69', '\x74', '\x65', '\x41', '\x74', '\x74', '\x72', '\x69', '\x62', '\x75', '\x74', '\x65', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x61', '\x74', '\x74', '\x72', '\x69', '\x62', '\x75', '\x74', '\x65', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x21', '\x6e', '\x61', '\x6d', '\x65', '\x2e', '\x65', '\x6d', '\x70', '\x74', '\x79', '\x28', '\x29', '\x20', '\x26', '\x26', '\x20', '\x21', '\x61', '\x74', '\x74', '\x72', '\x69', '\x62', '\x75', '\x74', '\x65', '\x2e', '\x65', '\x6d', '\x70', '\x74', '\x79', '\x28', '\x29', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x6f', '\x73', '\x20', '\x3c', '\x3c', '\x20', '\x27', '\x20', '\x27', '\x20', '\x3c', '\x3c', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x3c', '\x3c', '\x20', '\x22', '\x3d', '\x5c', '\x22', '\x22', '\x20', '\x3c', '\x3c', '\x20', '\x58', '\x6d', '\x6c', '\x45', '\x6e', '\x63', '\x6f', '\x64', '\x65', '\x28', '\x20', '\x61', '\x74', '\x74', '\x72', '\x69', '\x62', '\x75', '\x74', '\x65', '\x2c', '\x20', '\x58', '\x6d', '\x6c', '\x45', '\x6e', '\x63', '\x6f', '\x64', '\x65', '\x3a', '\x3a', '\x46', '\x6f', '\x72', '\x41', '\x74', '\x74', '\x72', '\x69', '\x62', '\x75', '\x74', '\x65', '\x73', '\x20', '\x29', '\x20', '\x3c', '\x3c', '\x20', '\x27', '\x22', '\x27', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x2a', '\x74', '\x68', '\x69', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x58', '\x6d', '\x6c', '\x57', '\x72', '\x69', '\x74', '\x65', '\x72', '\x26', '\x20', '\x58', '\x6d', '\x6c', '\x57', '\x72', '\x69', '\x74', '\x65', '\x72', '\x3a', '\x3a', '\x77', '\x72', '\x69', '\x74', '\x65', '\x41', '\x74', '\x74', '\x72', '\x69', '\x62', '\x75', '\x74', '\x65', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x61', '\x74', '\x74', '\x72', '\x69', '\x62', '\x75', '\x74', '\x65', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x6f', '\x73', '\x20', '\x3c', '\x3c', '\x20', '\x27', '\x20', '\x27', '\x20', '\x3c', '\x3c', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x3c', '\x3c', '\x20', '\x22', '\x3d', '\x5c', '\x22', '\x22', '\x20', '\x3c', '\x3c', '\x20', '\x28', '\x20', '\x61', '\x74', '\x74', '\x72', '\x69', '\x62', '\x75', '\x74', '\x65', '\x20', '\x3f', '\x20', '\x22', '\x74', '\x72', '\x75', '\x65', '\x22', '\x20', '\x3a', '\x20', '\x22', '\x66', '\x61', '\x6c', '\x73', '\x65', '\x22', '\x20', '\x29', '\x20', '\x3c', '\x3c', '\x20', '\x27', '\x22', '\x27', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x2a', '\x74', '\x68', '\x69', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x58', '\x6d', '\x6c', '\x57', '\x72', '\x69', '\x74', '\x65', '\x72', '\x26', '\x20', '\x58', '\x6d', '\x6c', '\x57', '\x72', '\x69', '\x74', '\x65', '\x72', '\x3a', '\x3a', '\x77', '\x72', '\x69', '\x74', '\x65', '\x54', '\x65', '\x78', '\x74', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x74', '\x65', '\x78', '\x74', '\x2c', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x69', '\x6e', '\x64', '\x65', '\x6e', '\x74', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x21', '\x74', '\x65', '\x78', '\x74', '\x2e', '\x65', '\x6d', '\x70', '\x74', '\x79', '\x28', '\x29', '\x20', '\x29', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x74', '\x61', '\x67', '\x57', '\x61', '\x73', '\x4f', '\x70', '\x65', '\x6e', '\x20', '\x3d', '\x20', '\x6d', '\x5f', '\x74', '\x61', '\x67', '\x49', '\x73', '\x4f', '\x70', '\x65', '\x6e', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x6e', '\x73', '\x75', '\x72', '\x65', '\x54', '\x61', '\x67', '\x43', '\x6c', '\x6f', '\x73', '\x65', '\x64', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x74', '\x61', '\x67', '\x57', '\x61', '\x73', '\x4f', '\x70', '\x65', '\x6e', '\x20', '\x26', '\x26', '\x20', '\x69', '\x6e', '\x64', '\x65', '\x6e', '\x74', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x6f', '\x73', '\x20', '\x3c', '\x3c', '\x20', '\x6d', '\x5f', '\x69', '\x6e', '\x64', '\x65', '\x6e', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x6f', '\x73', '\x20', '\x3c', '\x3c', '\x20', '\x58', '\x6d', '\x6c', '\x45', '\x6e', '\x63', '\x6f', '\x64', '\x65', '\x28', '\x20', '\x74', '\x65', '\x78', '\x74', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x6e', '\x65', '\x65', '\x64', '\x73', '\x4e', '\x65', '\x77', '\x6c', '\x69', '\x6e', '\x65', '\x20', '\x3d', '\x20', '\x74', '\x72', '\x75', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x2a', '\x74', '\x68', '\x69', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x58', '\x6d', '\x6c', '\x57', '\x72', '\x69', '\x74', '\x65', '\x72', '\x26', '\x20', '\x58', '\x6d', '\x6c', '\x57', '\x72', '\x69', '\x74', '\x65', '\x72', '\x3a', '\x3a', '\x77', '\x72', '\x69', '\x74', '\x65', '\x43', '\x6f', '\x6d', '\x6d', '\x65', '\x6e', '\x74', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x74', '\x65', '\x78', '\x74', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x6e', '\x73', '\x75', '\x72', '\x65', '\x54', '\x61', '\x67', '\x43', '\x6c', '\x6f', '\x73', '\x65', '\x64', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x6f', '\x73', '\x20', '\x3c', '\x3c', '\x20', '\x6d', '\x5f', '\x69', '\x6e', '\x64', '\x65', '\x6e', '\x74', '\x20', '\x3c', '\x3c', '\x20', '\x22', '\x3c', '\x21', '\x2d', '\x2d', '\x22', '\x20', '\x3c', '\x3c', '\x20', '\x74', '\x65', '\x78', '\x74', '\x20', '\x3c', '\x3c', '\x20', '\x22', '\x2d', '\x2d', '\x3e', '\x22', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x6e', '\x65', '\x65', '\x64', '\x73', '\x4e', '\x65', '\x77', '\x6c', '\x69', '\x6e', '\x65', '\x20', '\x3d', '\x20', '\x74', '\x72', '\x75', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x2a', '\x74', '\x68', '\x69', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x58', '\x6d', '\x6c', '\x57', '\x72', '\x69', '\x74', '\x65', '\x72', '\x3a', '\x3a', '\x77', '\x72', '\x69', '\x74', '\x65', '\x53', '\x74', '\x79', '\x6c', '\x65', '\x73', '\x68', '\x65', '\x65', '\x74', '\x52', '\x65', '\x66', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x75', '\x72', '\x6c', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x6f', '\x73', '\x20', '\x3c', '\x3c', '\x20', '\x22', '\x3c', '\x3f', '\x78', '\x6d', '\x6c', '\x2d', '\x73', '\x74', '\x79', '\x6c', '\x65', '\x73', '\x68', '\x65', '\x65', '\x74', '\x20', '\x74', '\x79', '\x70', '\x65', '\x3d', '\x5c', '\x22', '\x74', '\x65', '\x78', '\x74', '\x2f', '\x78', '\x73', '\x6c', '\x5c', '\x22', '\x20', '\x68', '\x72', '\x65', '\x66', '\x3d', '\x5c', '\x22', '\x22', '\x20', '\x3c', '\x3c', '\x20', '\x75', '\x72', '\x6c', '\x20', '\x3c', '\x3c', '\x20', '\x22', '\x5c', '\x22', '\x3f', '\x3e', '\x5c', '\x6e', '\x22', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x58', '\x6d', '\x6c', '\x57', '\x72', '\x69', '\x74', '\x65', '\x72', '\x26', '\x20', '\x58', '\x6d', '\x6c', '\x57', '\x72', '\x69', '\x74', '\x65', '\x72', '\x3a', '\x3a', '\x77', '\x72', '\x69', '\x74', '\x65', '\x42', '\x6c', '\x61', '\x6e', '\x6b', '\x4c', '\x69', '\x6e', '\x65', '\x28', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x6e', '\x73', '\x75', '\x72', '\x65', '\x54', '\x61', '\x67', '\x43', '\x6c', '\x6f', '\x73', '\x65', '\x64', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x6f', '\x73', '\x20', '\x3c', '\x3c', '\x20', '\x27', '\x5c', '\x6e', '\x27', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x2a', '\x74', '\x68', '\x69', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x58', '\x6d', '\x6c', '\x57', '\x72', '\x69', '\x74', '\x65', '\x72', '\x3a', '\x3a', '\x65', '\x6e', '\x73', '\x75', '\x72', '\x65', '\x54', '\x61', '\x67', '\x43', '\x6c', '\x6f', '\x73', '\x65', '\x64', '\x28', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x6d', '\x5f', '\x74', '\x61', '\x67', '\x49', '\x73', '\x4f', '\x70', '\x65', '\x6e', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x6f', '\x73', '\x20', '\x3c', '\x3c', '\x20', '\x22', '\x3e', '\x22', '\x20', '\x3c', '\x3c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x65', '\x6e', '\x64', '\x6c', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x74', '\x61', '\x67', '\x49', '\x73', '\x4f', '\x70', '\x65', '\x6e', '\x20', '\x3d', '\x20', '\x66', '\x61', '\x6c', '\x73', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x58', '\x6d', '\x6c', '\x57', '\x72', '\x69', '\x74', '\x65', '\x72', '\x3a', '\x3a', '\x77', '\x72', '\x69', '\x74', '\x65', '\x44', '\x65', '\x63', '\x6c', '\x61', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x28', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x6f', '\x73', '\x20', '\x3c', '\x3c', '\x20', '\x22', '\x3c', '\x3f', '\x78', '\x6d', '\x6c', '\x20', '\x76', '\x65', '\x72', '\x73', '\x69', '\x6f', '\x6e', '\x3d', '\x5c', '\x22', '\x31', '\x2e', '\x30', '\x5c', '\x22', '\x20', '\x65', '\x6e', '\x63', '\x6f', '\x64', '\x69', '\x6e', '\x67', '\x3d', '\x5c', '\x22', '\x55', '\x54', '\x46', '\x2d', '\x38', '\x5c', '\x22', '\x3f', '\x3e', '\x5c', '\x6e', '\x22', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x58', '\x6d', '\x6c', '\x57', '\x72', '\x69', '\x74', '\x65', '\x72', '\x3a', '\x3a', '\x6e', '\x65', '\x77', '\x6c', '\x69', '\x6e', '\x65', '\x49', '\x66', '\x4e', '\x65', '\x63', '\x65', '\x73', '\x73', '\x61', '\x72', '\x79', '\x28', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x6d', '\x5f', '\x6e', '\x65', '\x65', '\x64', '\x73', '\x4e', '\x65', '\x77', '\x6c', '\x69', '\x6e', '\x65', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x6f', '\x73', '\x20', '\x3c', '\x3c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x65', '\x6e', '\x64', '\x6c', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x6e', '\x65', '\x65', '\x64', '\x73', '\x4e', '\x65', '\x77', '\x6c', '\x69', '\x6e', '\x65', '\x20', '\x3d', '\x20', '\x66', '\x61', '\x6c', '\x73', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x7d', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x78', '\x6d', '\x6c', '\x77', '\x72', '\x69', '\x74', '\x65', '\x72', '\x2e', '\x63', '\x70', '\x70', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x72', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x5f', '\x62', '\x61', '\x73', '\x65', '\x73', '\x2e', '\x63', '\x70', '\x70', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x63', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x3e', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x63', '\x66', '\x6c', '\x6f', '\x61', '\x74', '\x3e', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x63', '\x73', '\x74', '\x64', '\x69', '\x6f', '\x3e', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x63', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x3e', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x6d', '\x65', '\x6d', '\x6f', '\x72', '\x79', '\x3e', '\x0d', '\x0a', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x70', '\x72', '\x65', '\x70', '\x61', '\x72', '\x65', '\x45', '\x78', '\x70', '\x61', '\x6e', '\x64', '\x65', '\x64', '\x45', '\x78', '\x70', '\x72', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x28', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x26', '\x20', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x2e', '\x67', '\x65', '\x74', '\x45', '\x78', '\x70', '\x61', '\x6e', '\x64', '\x65', '\x64', '\x45', '\x78', '\x70', '\x72', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x42', '\x65', '\x63', '\x61', '\x75', '\x73', '\x65', '\x20', '\x66', '\x6f', '\x72', '\x6d', '\x61', '\x74', '\x74', '\x69', '\x6e', '\x67', '\x20', '\x75', '\x73', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x2b', '\x2b', '\x20', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x73', '\x20', '\x69', '\x73', '\x20', '\x73', '\x74', '\x61', '\x74', '\x65', '\x66', '\x75', '\x6c', '\x2c', '\x20', '\x64', '\x72', '\x6f', '\x70', '\x20', '\x64', '\x6f', '\x77', '\x6e', '\x20', '\x74', '\x6f', '\x20', '\x43', '\x20', '\x69', '\x73', '\x20', '\x72', '\x65', '\x71', '\x75', '\x69', '\x72', '\x65', '\x64', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x41', '\x6c', '\x74', '\x65', '\x72', '\x6e', '\x61', '\x74', '\x69', '\x76', '\x65', '\x6c', '\x79', '\x20', '\x77', '\x65', '\x20', '\x63', '\x6f', '\x75', '\x6c', '\x64', '\x20', '\x75', '\x73', '\x65', '\x20', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x2c', '\x20', '\x62', '\x75', '\x74', '\x20', '\x69', '\x74', '\x73', '\x20', '\x70', '\x65', '\x72', '\x66', '\x6f', '\x72', '\x6d', '\x61', '\x6e', '\x63', '\x65', '\x20', '\x69', '\x73', '\x2e', '\x2e', '\x2e', '\x20', '\x6e', '\x6f', '\x74', '\x20', '\x67', '\x6f', '\x6f', '\x64', '\x2e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x67', '\x65', '\x74', '\x46', '\x6f', '\x72', '\x6d', '\x61', '\x74', '\x74', '\x65', '\x64', '\x44', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x28', '\x20', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x20', '\x64', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x4d', '\x61', '\x78', '\x20', '\x65', '\x78', '\x70', '\x6f', '\x6e', '\x65', '\x6e', '\x74', '\x20', '\x2b', '\x20', '\x31', '\x20', '\x69', '\x73', '\x20', '\x72', '\x65', '\x71', '\x75', '\x69', '\x72', '\x65', '\x64', '\x20', '\x74', '\x6f', '\x20', '\x72', '\x65', '\x70', '\x72', '\x65', '\x73', '\x65', '\x6e', '\x74', '\x20', '\x74', '\x68', '\x65', '\x20', '\x77', '\x68', '\x6f', '\x6c', '\x65', '\x20', '\x70', '\x61', '\x72', '\x74', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x2b', '\x20', '\x31', '\x20', '\x66', '\x6f', '\x72', '\x20', '\x64', '\x65', '\x63', '\x69', '\x6d', '\x61', '\x6c', '\x20', '\x70', '\x6f', '\x69', '\x6e', '\x74', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x2b', '\x20', '\x33', '\x20', '\x66', '\x6f', '\x72', '\x20', '\x74', '\x68', '\x65', '\x20', '\x33', '\x20', '\x64', '\x65', '\x63', '\x69', '\x6d', '\x61', '\x6c', '\x20', '\x70', '\x6c', '\x61', '\x63', '\x65', '\x73', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x2b', '\x20', '\x31', '\x20', '\x66', '\x6f', '\x72', '\x20', '\x6e', '\x75', '\x6c', '\x6c', '\x20', '\x74', '\x65', '\x72', '\x6d', '\x69', '\x6e', '\x61', '\x74', '\x6f', '\x72', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x69', '\x7a', '\x65', '\x5f', '\x74', '\x20', '\x6d', '\x61', '\x78', '\x44', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x53', '\x69', '\x7a', '\x65', '\x20', '\x3d', '\x20', '\x44', '\x42', '\x4c', '\x5f', '\x4d', '\x41', '\x58', '\x5f', '\x31', '\x30', '\x5f', '\x45', '\x58', '\x50', '\x20', '\x2b', '\x20', '\x31', '\x20', '\x2b', '\x20', '\x31', '\x20', '\x2b', '\x20', '\x33', '\x20', '\x2b', '\x20', '\x31', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x68', '\x61', '\x72', '\x20', '\x62', '\x75', '\x66', '\x66', '\x65', '\x72', '\x5b', '\x6d', '\x61', '\x78', '\x44', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x53', '\x69', '\x7a', '\x65', '\x5d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x53', '\x61', '\x76', '\x65', '\x20', '\x70', '\x72', '\x65', '\x76', '\x69', '\x6f', '\x75', '\x73', '\x20', '\x65', '\x72', '\x72', '\x6e', '\x6f', '\x2c', '\x20', '\x74', '\x6f', '\x20', '\x70', '\x72', '\x65', '\x76', '\x65', '\x6e', '\x74', '\x20', '\x73', '\x70', '\x72', '\x69', '\x6e', '\x74', '\x66', '\x20', '\x66', '\x72', '\x6f', '\x6d', '\x20', '\x6f', '\x76', '\x65', '\x72', '\x77', '\x72', '\x69', '\x74', '\x69', '\x6e', '\x67', '\x20', '\x69', '\x74', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x45', '\x72', '\x72', '\x6e', '\x6f', '\x47', '\x75', '\x61', '\x72', '\x64', '\x20', '\x67', '\x75', '\x61', '\x72', '\x64', '\x3b', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x64', '\x65', '\x66', '\x20', '\x5f', '\x4d', '\x53', '\x43', '\x5f', '\x56', '\x45', '\x52', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x70', '\x72', '\x69', '\x6e', '\x74', '\x66', '\x5f', '\x73', '\x28', '\x62', '\x75', '\x66', '\x66', '\x65', '\x72', '\x2c', '\x20', '\x22', '\x25', '\x2e', '\x33', '\x66', '\x22', '\x2c', '\x20', '\x64', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x29', '\x3b', '\x0d', '\x0a', '\x23', '\x65', '\x6c', '\x73', '\x65', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x70', '\x72', '\x69', '\x6e', '\x74', '\x66', '\x28', '\x62', '\x75', '\x66', '\x66', '\x65', '\x72', '\x2c', '\x20', '\x22', '\x25', '\x2e', '\x33', '\x66', '\x22', '\x2c', '\x20', '\x64', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x29', '\x3b', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x28', '\x62', '\x75', '\x66', '\x66', '\x65', '\x72', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x73', '\x65', '\x72', '\x69', '\x61', '\x6c', '\x69', '\x7a', '\x65', '\x46', '\x69', '\x6c', '\x74', '\x65', '\x72', '\x73', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x3e', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x63', '\x6f', '\x6e', '\x74', '\x61', '\x69', '\x6e', '\x65', '\x72', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x52', '\x65', '\x75', '\x73', '\x61', '\x62', '\x6c', '\x65', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x20', '\x6f', '\x73', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x66', '\x69', '\x72', '\x73', '\x74', '\x20', '\x3d', '\x20', '\x74', '\x72', '\x75', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x66', '\x6f', '\x72', '\x20', '\x28', '\x61', '\x75', '\x74', '\x6f', '\x26', '\x26', '\x20', '\x66', '\x69', '\x6c', '\x74', '\x65', '\x72', '\x20', '\x3a', '\x20', '\x63', '\x6f', '\x6e', '\x74', '\x61', '\x69', '\x6e', '\x65', '\x72', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x21', '\x66', '\x69', '\x72', '\x73', '\x74', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6f', '\x73', '\x73', '\x20', '\x3c', '\x3c', '\x20', '\x27', '\x20', '\x27', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x6c', '\x73', '\x65', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x66', '\x69', '\x72', '\x73', '\x74', '\x20', '\x3d', '\x20', '\x66', '\x61', '\x6c', '\x73', '\x65', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6f', '\x73', '\x73', '\x20', '\x3c', '\x3c', '\x20', '\x66', '\x69', '\x6c', '\x74', '\x65', '\x72', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6f', '\x73', '\x73', '\x2e', '\x73', '\x74', '\x72', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x54', '\x65', '\x73', '\x74', '\x45', '\x76', '\x65', '\x6e', '\x74', '\x4c', '\x69', '\x73', '\x74', '\x65', '\x6e', '\x65', '\x72', '\x42', '\x61', '\x73', '\x65', '\x3a', '\x3a', '\x54', '\x65', '\x73', '\x74', '\x45', '\x76', '\x65', '\x6e', '\x74', '\x4c', '\x69', '\x73', '\x74', '\x65', '\x6e', '\x65', '\x72', '\x42', '\x61', '\x73', '\x65', '\x28', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x26', '\x20', '\x5f', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x3a', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x42', '\x61', '\x73', '\x65', '\x28', '\x5f', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x29', '\x20', '\x7b', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x65', '\x74', '\x3c', '\x56', '\x65', '\x72', '\x62', '\x6f', '\x73', '\x69', '\x74', '\x79', '\x3e', '\x20', '\x54', '\x65', '\x73', '\x74', '\x45', '\x76', '\x65', '\x6e', '\x74', '\x4c', '\x69', '\x73', '\x74', '\x65', '\x6e', '\x65', '\x72', '\x42', '\x61', '\x73', '\x65', '\x3a', '\x3a', '\x67', '\x65', '\x74', '\x53', '\x75', '\x70', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x64', '\x56', '\x65', '\x72', '\x62', '\x6f', '\x73', '\x69', '\x74', '\x69', '\x65', '\x73', '\x28', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x7b', '\x20', '\x56', '\x65', '\x72', '\x62', '\x6f', '\x73', '\x69', '\x74', '\x79', '\x3a', '\x3a', '\x51', '\x75', '\x69', '\x65', '\x74', '\x2c', '\x20', '\x56', '\x65', '\x72', '\x62', '\x6f', '\x73', '\x69', '\x74', '\x79', '\x3a', '\x3a', '\x4e', '\x6f', '\x72', '\x6d', '\x61', '\x6c', '\x2c', '\x20', '\x56', '\x65', '\x72', '\x62', '\x6f', '\x73', '\x69', '\x74', '\x79', '\x3a', '\x3a', '\x48', '\x69', '\x67', '\x68', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x54', '\x65', '\x73', '\x74', '\x45', '\x76', '\x65', '\x6e', '\x74', '\x4c', '\x69', '\x73', '\x74', '\x65', '\x6e', '\x65', '\x72', '\x42', '\x61', '\x73', '\x65', '\x3a', '\x3a', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x53', '\x74', '\x61', '\x72', '\x74', '\x69', '\x6e', '\x67', '\x28', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x26', '\x29', '\x20', '\x7b', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x54', '\x65', '\x73', '\x74', '\x45', '\x76', '\x65', '\x6e', '\x74', '\x4c', '\x69', '\x73', '\x74', '\x65', '\x6e', '\x65', '\x72', '\x42', '\x61', '\x73', '\x65', '\x3a', '\x3a', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x45', '\x6e', '\x64', '\x65', '\x64', '\x28', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x73', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x26', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x66', '\x61', '\x6c', '\x73', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x72', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x5f', '\x62', '\x61', '\x73', '\x65', '\x73', '\x2e', '\x63', '\x70', '\x70', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x72', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x5f', '\x63', '\x6f', '\x6d', '\x70', '\x61', '\x63', '\x74', '\x2e', '\x63', '\x70', '\x70', '\x0d', '\x0a', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x64', '\x65', '\x66', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x50', '\x4c', '\x41', '\x54', '\x46', '\x4f', '\x52', '\x4d', '\x5f', '\x4d', '\x41', '\x43', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x63', '\x68', '\x61', '\x72', '\x2a', '\x20', '\x66', '\x61', '\x69', '\x6c', '\x65', '\x64', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x28', '\x29', '\x20', '\x7b', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x22', '\x46', '\x41', '\x49', '\x4c', '\x45', '\x44', '\x22', '\x3b', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x63', '\x68', '\x61', '\x72', '\x2a', '\x20', '\x70', '\x61', '\x73', '\x73', '\x65', '\x64', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x28', '\x29', '\x20', '\x7b', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x22', '\x50', '\x41', '\x53', '\x53', '\x45', '\x44', '\x22', '\x3b', '\x20', '\x7d', '\x0d', '\x0a', '\x23', '\x65', '\x6c', '\x73', '\x65', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x63', '\x68', '\x61', '\x72', '\x2a', '\x20', '\x66', '\x61', '\x69', '\x6c', '\x65', '\x64', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x28', '\x29', '\x20', '\x7b', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x22', '\x66', '\x61', '\x69', '\x6c', '\x65', '\x64', '\x22', '\x3b', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x63', '\x68', '\x61', '\x72', '\x2a', '\x20', '\x70', '\x61', '\x73', '\x73', '\x65', '\x64', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x28', '\x29', '\x20', '\x7b', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x22', '\x70', '\x61', '\x73', '\x73', '\x65', '\x64', '\x22', '\x3b', '\x20', '\x7d', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x3a', '\x3a', '\x4c', '\x69', '\x67', '\x68', '\x74', '\x47', '\x72', '\x65', '\x79', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x3a', '\x3a', '\x43', '\x6f', '\x64', '\x65', '\x20', '\x64', '\x69', '\x6d', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x28', '\x29', '\x20', '\x7b', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x3a', '\x3a', '\x46', '\x69', '\x6c', '\x65', '\x4e', '\x61', '\x6d', '\x65', '\x3b', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x62', '\x6f', '\x74', '\x68', '\x4f', '\x72', '\x41', '\x6c', '\x6c', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x69', '\x7a', '\x65', '\x5f', '\x74', '\x20', '\x63', '\x6f', '\x75', '\x6e', '\x74', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x63', '\x6f', '\x75', '\x6e', '\x74', '\x20', '\x3d', '\x3d', '\x20', '\x31', '\x20', '\x3f', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x28', '\x29', '\x20', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6f', '\x75', '\x6e', '\x74', '\x20', '\x3d', '\x3d', '\x20', '\x32', '\x20', '\x3f', '\x20', '\x22', '\x62', '\x6f', '\x74', '\x68', '\x20', '\x22', '\x20', '\x3a', '\x20', '\x22', '\x61', '\x6c', '\x6c', '\x20', '\x22', '\x20', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x61', '\x6e', '\x6f', '\x6e', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x0d', '\x0a', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x2c', '\x20', '\x6d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x20', '\x76', '\x61', '\x72', '\x69', '\x61', '\x6e', '\x74', '\x73', '\x3a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x2d', '\x20', '\x77', '\x68', '\x69', '\x74', '\x65', '\x3a', '\x20', '\x4e', '\x6f', '\x20', '\x74', '\x65', '\x73', '\x74', '\x73', '\x20', '\x72', '\x61', '\x6e', '\x2e', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x2d', '\x20', '\x20', '\x20', '\x72', '\x65', '\x64', '\x3a', '\x20', '\x46', '\x61', '\x69', '\x6c', '\x65', '\x64', '\x20', '\x5b', '\x62', '\x6f', '\x74', '\x68', '\x2f', '\x61', '\x6c', '\x6c', '\x5d', '\x20', '\x4e', '\x20', '\x74', '\x65', '\x73', '\x74', '\x20', '\x63', '\x61', '\x73', '\x65', '\x73', '\x2c', '\x20', '\x66', '\x61', '\x69', '\x6c', '\x65', '\x64', '\x20', '\x5b', '\x62', '\x6f', '\x74', '\x68', '\x2f', '\x61', '\x6c', '\x6c', '\x5d', '\x20', '\x4d', '\x20', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x2e', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x2d', '\x20', '\x77', '\x68', '\x69', '\x74', '\x65', '\x3a', '\x20', '\x50', '\x61', '\x73', '\x73', '\x65', '\x64', '\x20', '\x5b', '\x62', '\x6f', '\x74', '\x68', '\x2f', '\x61', '\x6c', '\x6c', '\x5d', '\x20', '\x4e', '\x20', '\x74', '\x65', '\x73', '\x74', '\x20', '\x63', '\x61', '\x73', '\x65', '\x73', '\x20', '\x28', '\x6e', '\x6f', '\x20', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x29', '\x2e', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x2d', '\x20', '\x20', '\x20', '\x72', '\x65', '\x64', '\x3a', '\x20', '\x46', '\x61', '\x69', '\x6c', '\x65', '\x64', '\x20', '\x4e', '\x20', '\x74', '\x65', '\x73', '\x74', '\x73', '\x20', '\x63', '\x61', '\x73', '\x65', '\x73', '\x2c', '\x20', '\x66', '\x61', '\x69', '\x6c', '\x65', '\x64', '\x20', '\x4d', '\x20', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x2e', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x2d', '\x20', '\x67', '\x72', '\x65', '\x65', '\x6e', '\x3a', '\x20', '\x50', '\x61', '\x73', '\x73', '\x65', '\x64', '\x20', '\x5b', '\x62', '\x6f', '\x74', '\x68', '\x2f', '\x61', '\x6c', '\x6c', '\x5d', '\x20', '\x4e', '\x20', '\x74', '\x65', '\x73', '\x74', '\x73', '\x20', '\x63', '\x61', '\x73', '\x65', '\x73', '\x20', '\x77', '\x69', '\x74', '\x68', '\x20', '\x4d', '\x20', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x2e', '\x0d', '\x0a', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x70', '\x72', '\x69', '\x6e', '\x74', '\x54', '\x6f', '\x74', '\x61', '\x6c', '\x73', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6f', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x26', '\x20', '\x6f', '\x75', '\x74', '\x2c', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x54', '\x6f', '\x74', '\x61', '\x6c', '\x73', '\x26', '\x20', '\x74', '\x6f', '\x74', '\x61', '\x6c', '\x73', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x74', '\x6f', '\x74', '\x61', '\x6c', '\x73', '\x2e', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x73', '\x2e', '\x74', '\x6f', '\x74', '\x61', '\x6c', '\x28', '\x29', '\x20', '\x3d', '\x3d', '\x20', '\x30', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6f', '\x75', '\x74', '\x20', '\x3c', '\x3c', '\x20', '\x22', '\x4e', '\x6f', '\x20', '\x74', '\x65', '\x73', '\x74', '\x73', '\x20', '\x72', '\x61', '\x6e', '\x2e', '\x22', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x20', '\x65', '\x6c', '\x73', '\x65', '\x20', '\x69', '\x66', '\x20', '\x28', '\x74', '\x6f', '\x74', '\x61', '\x6c', '\x73', '\x2e', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x73', '\x2e', '\x66', '\x61', '\x69', '\x6c', '\x65', '\x64', '\x20', '\x3d', '\x3d', '\x20', '\x74', '\x6f', '\x74', '\x61', '\x6c', '\x73', '\x2e', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x73', '\x2e', '\x74', '\x6f', '\x74', '\x61', '\x6c', '\x28', '\x29', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x20', '\x63', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x28', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x3a', '\x3a', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x45', '\x72', '\x72', '\x6f', '\x72', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x71', '\x75', '\x61', '\x6c', '\x69', '\x66', '\x79', '\x5f', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x5f', '\x66', '\x61', '\x69', '\x6c', '\x65', '\x64', '\x20', '\x3d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x6f', '\x74', '\x61', '\x6c', '\x73', '\x2e', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x2e', '\x66', '\x61', '\x69', '\x6c', '\x65', '\x64', '\x20', '\x3d', '\x3d', '\x20', '\x74', '\x6f', '\x74', '\x61', '\x6c', '\x73', '\x2e', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x2e', '\x74', '\x6f', '\x74', '\x61', '\x6c', '\x28', '\x29', '\x20', '\x3f', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x74', '\x68', '\x4f', '\x72', '\x41', '\x6c', '\x6c', '\x28', '\x74', '\x6f', '\x74', '\x61', '\x6c', '\x73', '\x2e', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x2e', '\x66', '\x61', '\x69', '\x6c', '\x65', '\x64', '\x29', '\x20', '\x3a', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6f', '\x75', '\x74', '\x20', '\x3c', '\x3c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x22', '\x46', '\x61', '\x69', '\x6c', '\x65', '\x64', '\x20', '\x22', '\x20', '\x3c', '\x3c', '\x20', '\x62', '\x6f', '\x74', '\x68', '\x4f', '\x72', '\x41', '\x6c', '\x6c', '\x28', '\x74', '\x6f', '\x74', '\x61', '\x6c', '\x73', '\x2e', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x73', '\x2e', '\x66', '\x61', '\x69', '\x6c', '\x65', '\x64', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x3c', '\x3c', '\x20', '\x70', '\x6c', '\x75', '\x72', '\x61', '\x6c', '\x69', '\x73', '\x65', '\x28', '\x74', '\x6f', '\x74', '\x61', '\x6c', '\x73', '\x2e', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x73', '\x2e', '\x66', '\x61', '\x69', '\x6c', '\x65', '\x64', '\x2c', '\x20', '\x22', '\x74', '\x65', '\x73', '\x74', '\x20', '\x63', '\x61', '\x73', '\x65', '\x22', '\x29', '\x20', '\x3c', '\x3c', '\x20', '\x22', '\x2c', '\x20', '\x22', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x22', '\x66', '\x61', '\x69', '\x6c', '\x65', '\x64', '\x20', '\x22', '\x20', '\x3c', '\x3c', '\x20', '\x71', '\x75', '\x61', '\x6c', '\x69', '\x66', '\x79', '\x5f', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x5f', '\x66', '\x61', '\x69', '\x6c', '\x65', '\x64', '\x20', '\x3c', '\x3c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x6c', '\x75', '\x72', '\x61', '\x6c', '\x69', '\x73', '\x65', '\x28', '\x74', '\x6f', '\x74', '\x61', '\x6c', '\x73', '\x2e', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x2e', '\x66', '\x61', '\x69', '\x6c', '\x65', '\x64', '\x2c', '\x20', '\x22', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x22', '\x29', '\x20', '\x3c', '\x3c', '\x20', '\x27', '\x2e', '\x27', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x20', '\x65', '\x6c', '\x73', '\x65', '\x20', '\x69', '\x66', '\x20', '\x28', '\x74', '\x6f', '\x74', '\x61', '\x6c', '\x73', '\x2e', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x2e', '\x74', '\x6f', '\x74', '\x61', '\x6c', '\x28', '\x29', '\x20', '\x3d', '\x3d', '\x20', '\x30', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6f', '\x75', '\x74', '\x20', '\x3c', '\x3c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x22', '\x50', '\x61', '\x73', '\x73', '\x65', '\x64', '\x20', '\x22', '\x20', '\x3c', '\x3c', '\x20', '\x62', '\x6f', '\x74', '\x68', '\x4f', '\x72', '\x41', '\x6c', '\x6c', '\x28', '\x74', '\x6f', '\x74', '\x61', '\x6c', '\x73', '\x2e', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x73', '\x2e', '\x74', '\x6f', '\x74', '\x61', '\x6c', '\x28', '\x29', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x3c', '\x3c', '\x20', '\x70', '\x6c', '\x75', '\x72', '\x61', '\x6c', '\x69', '\x73', '\x65', '\x28', '\x74', '\x6f', '\x74', '\x61', '\x6c', '\x73', '\x2e', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x73', '\x2e', '\x74', '\x6f', '\x74', '\x61', '\x6c', '\x28', '\x29', '\x2c', '\x20', '\x22', '\x74', '\x65', '\x73', '\x74', '\x20', '\x63', '\x61', '\x73', '\x65', '\x22', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x3c', '\x3c', '\x20', '\x22', '\x20', '\x28', '\x6e', '\x6f', '\x20', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x29', '\x2e', '\x22', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x20', '\x65', '\x6c', '\x73', '\x65', '\x20', '\x69', '\x66', '\x20', '\x28', '\x74', '\x6f', '\x74', '\x61', '\x6c', '\x73', '\x2e', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x2e', '\x66', '\x61', '\x69', '\x6c', '\x65', '\x64', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x20', '\x63', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x28', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x3a', '\x3a', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x45', '\x72', '\x72', '\x6f', '\x72', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6f', '\x75', '\x74', '\x20', '\x3c', '\x3c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x22', '\x46', '\x61', '\x69', '\x6c', '\x65', '\x64', '\x20', '\x22', '\x20', '\x3c', '\x3c', '\x20', '\x70', '\x6c', '\x75', '\x72', '\x61', '\x6c', '\x69', '\x73', '\x65', '\x28', '\x74', '\x6f', '\x74', '\x61', '\x6c', '\x73', '\x2e', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x73', '\x2e', '\x66', '\x61', '\x69', '\x6c', '\x65', '\x64', '\x2c', '\x20', '\x22', '\x74', '\x65', '\x73', '\x74', '\x20', '\x63', '\x61', '\x73', '\x65', '\x22', '\x29', '\x20', '\x3c', '\x3c', '\x20', '\x22', '\x2c', '\x20', '\x22', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x22', '\x66', '\x61', '\x69', '\x6c', '\x65', '\x64', '\x20', '\x22', '\x20', '\x3c', '\x3c', '\x20', '\x70', '\x6c', '\x75', '\x72', '\x61', '\x6c', '\x69', '\x73', '\x65', '\x28', '\x74', '\x6f', '\x74', '\x61', '\x6c', '\x73', '\x2e', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x2e', '\x66', '\x61', '\x69', '\x6c', '\x65', '\x64', '\x2c', '\x20', '\x22', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x22', '\x29', '\x20', '\x3c', '\x3c', '\x20', '\x27', '\x2e', '\x27', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x20', '\x65', '\x6c', '\x73', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x20', '\x63', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x28', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x3a', '\x3a', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x53', '\x75', '\x63', '\x63', '\x65', '\x73', '\x73', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6f', '\x75', '\x74', '\x20', '\x3c', '\x3c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x22', '\x50', '\x61', '\x73', '\x73', '\x65', '\x64', '\x20', '\x22', '\x20', '\x3c', '\x3c', '\x20', '\x62', '\x6f', '\x74', '\x68', '\x4f', '\x72', '\x41', '\x6c', '\x6c', '\x28', '\x74', '\x6f', '\x74', '\x61', '\x6c', '\x73', '\x2e', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x73', '\x2e', '\x70', '\x61', '\x73', '\x73', '\x65', '\x64', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x3c', '\x3c', '\x20', '\x70', '\x6c', '\x75', '\x72', '\x61', '\x6c', '\x69', '\x73', '\x65', '\x28', '\x74', '\x6f', '\x74', '\x61', '\x6c', '\x73', '\x2e', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x73', '\x2e', '\x70', '\x61', '\x73', '\x73', '\x65', '\x64', '\x2c', '\x20', '\x22', '\x74', '\x65', '\x73', '\x74', '\x20', '\x63', '\x61', '\x73', '\x65', '\x22', '\x29', '\x20', '\x3c', '\x3c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x22', '\x20', '\x77', '\x69', '\x74', '\x68', '\x20', '\x22', '\x20', '\x3c', '\x3c', '\x20', '\x70', '\x6c', '\x75', '\x72', '\x61', '\x6c', '\x69', '\x73', '\x65', '\x28', '\x74', '\x6f', '\x74', '\x61', '\x6c', '\x73', '\x2e', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x2e', '\x70', '\x61', '\x73', '\x73', '\x65', '\x64', '\x2c', '\x20', '\x22', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x22', '\x29', '\x20', '\x3c', '\x3c', '\x20', '\x27', '\x2e', '\x27', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x49', '\x6d', '\x70', '\x6c', '\x65', '\x6d', '\x65', '\x6e', '\x74', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x6f', '\x66', '\x20', '\x43', '\x6f', '\x6d', '\x70', '\x61', '\x63', '\x74', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x20', '\x66', '\x6f', '\x72', '\x6d', '\x61', '\x74', '\x74', '\x69', '\x6e', '\x67', '\x0d', '\x0a', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x20', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x50', '\x72', '\x69', '\x6e', '\x74', '\x65', '\x72', '\x20', '\x7b', '\x0d', '\x0a', '\x70', '\x75', '\x62', '\x6c', '\x69', '\x63', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x50', '\x72', '\x69', '\x6e', '\x74', '\x65', '\x72', '\x26', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x3d', '\x20', '\x28', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x50', '\x72', '\x69', '\x6e', '\x74', '\x65', '\x72', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x29', '\x20', '\x3d', '\x20', '\x64', '\x65', '\x6c', '\x65', '\x74', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x50', '\x72', '\x69', '\x6e', '\x74', '\x65', '\x72', '\x28', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x50', '\x72', '\x69', '\x6e', '\x74', '\x65', '\x72', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x29', '\x20', '\x3d', '\x20', '\x64', '\x65', '\x6c', '\x65', '\x74', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x50', '\x72', '\x69', '\x6e', '\x74', '\x65', '\x72', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6f', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x26', '\x20', '\x5f', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x2c', '\x20', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x73', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x5f', '\x73', '\x74', '\x61', '\x74', '\x73', '\x2c', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x5f', '\x70', '\x72', '\x69', '\x6e', '\x74', '\x49', '\x6e', '\x66', '\x6f', '\x4d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x73', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x3a', '\x20', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x28', '\x5f', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2c', '\x20', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x28', '\x5f', '\x73', '\x74', '\x61', '\x74', '\x73', '\x2e', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2c', '\x20', '\x6d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x73', '\x28', '\x5f', '\x73', '\x74', '\x61', '\x74', '\x73', '\x2e', '\x69', '\x6e', '\x66', '\x6f', '\x4d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x73', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2c', '\x20', '\x69', '\x74', '\x4d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x28', '\x5f', '\x73', '\x74', '\x61', '\x74', '\x73', '\x2e', '\x69', '\x6e', '\x66', '\x6f', '\x4d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x73', '\x2e', '\x62', '\x65', '\x67', '\x69', '\x6e', '\x28', '\x29', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2c', '\x20', '\x70', '\x72', '\x69', '\x6e', '\x74', '\x49', '\x6e', '\x66', '\x6f', '\x4d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x73', '\x28', '\x5f', '\x70', '\x72', '\x69', '\x6e', '\x74', '\x49', '\x6e', '\x66', '\x6f', '\x4d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x73', '\x29', '\x20', '\x7b', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x70', '\x72', '\x69', '\x6e', '\x74', '\x28', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x72', '\x69', '\x6e', '\x74', '\x53', '\x6f', '\x75', '\x72', '\x63', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x74', '\x4d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x20', '\x3d', '\x20', '\x6d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x73', '\x2e', '\x62', '\x65', '\x67', '\x69', '\x6e', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x77', '\x69', '\x74', '\x63', '\x68', '\x20', '\x28', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x2e', '\x67', '\x65', '\x74', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x54', '\x79', '\x70', '\x65', '\x28', '\x29', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x61', '\x73', '\x65', '\x20', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x57', '\x61', '\x73', '\x3a', '\x3a', '\x4f', '\x6b', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x72', '\x69', '\x6e', '\x74', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x54', '\x79', '\x70', '\x65', '\x28', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x3a', '\x3a', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x53', '\x75', '\x63', '\x63', '\x65', '\x73', '\x73', '\x2c', '\x20', '\x70', '\x61', '\x73', '\x73', '\x65', '\x64', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x28', '\x29', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x72', '\x69', '\x6e', '\x74', '\x4f', '\x72', '\x69', '\x67', '\x69', '\x6e', '\x61', '\x6c', '\x45', '\x78', '\x70', '\x72', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x72', '\x69', '\x6e', '\x74', '\x52', '\x65', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x65', '\x64', '\x45', '\x78', '\x70', '\x72', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x21', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x2e', '\x68', '\x61', '\x73', '\x45', '\x78', '\x70', '\x72', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x28', '\x29', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x72', '\x69', '\x6e', '\x74', '\x52', '\x65', '\x6d', '\x61', '\x69', '\x6e', '\x69', '\x6e', '\x67', '\x4d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x73', '\x28', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x3a', '\x3a', '\x4e', '\x6f', '\x6e', '\x65', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x6c', '\x73', '\x65', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x72', '\x69', '\x6e', '\x74', '\x52', '\x65', '\x6d', '\x61', '\x69', '\x6e', '\x69', '\x6e', '\x67', '\x4d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x73', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x72', '\x65', '\x61', '\x6b', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x61', '\x73', '\x65', '\x20', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x57', '\x61', '\x73', '\x3a', '\x3a', '\x45', '\x78', '\x70', '\x72', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x46', '\x61', '\x69', '\x6c', '\x65', '\x64', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x2e', '\x69', '\x73', '\x4f', '\x6b', '\x28', '\x29', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x72', '\x69', '\x6e', '\x74', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x54', '\x79', '\x70', '\x65', '\x28', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x3a', '\x3a', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x53', '\x75', '\x63', '\x63', '\x65', '\x73', '\x73', '\x2c', '\x20', '\x66', '\x61', '\x69', '\x6c', '\x65', '\x64', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x28', '\x29', '\x20', '\x2b', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x28', '\x22', '\x20', '\x2d', '\x20', '\x62', '\x75', '\x74', '\x20', '\x77', '\x61', '\x73', '\x20', '\x6f', '\x6b', '\x22', '\x29', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x6c', '\x73', '\x65', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x72', '\x69', '\x6e', '\x74', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x54', '\x79', '\x70', '\x65', '\x28', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x3a', '\x3a', '\x45', '\x72', '\x72', '\x6f', '\x72', '\x2c', '\x20', '\x66', '\x61', '\x69', '\x6c', '\x65', '\x64', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x28', '\x29', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x72', '\x69', '\x6e', '\x74', '\x4f', '\x72', '\x69', '\x67', '\x69', '\x6e', '\x61', '\x6c', '\x45', '\x78', '\x70', '\x72', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x72', '\x69', '\x6e', '\x74', '\x52', '\x65', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x65', '\x64', '\x45', '\x78', '\x70', '\x72', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x72', '\x69', '\x6e', '\x74', '\x52', '\x65', '\x6d', '\x61', '\x69', '\x6e', '\x69', '\x6e', '\x67', '\x4d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x73', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x72', '\x65', '\x61', '\x6b', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x61', '\x73', '\x65', '\x20', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x57', '\x61', '\x73', '\x3a', '\x3a', '\x54', '\x68', '\x72', '\x65', '\x77', '\x45', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x72', '\x69', '\x6e', '\x74', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x54', '\x79', '\x70', '\x65', '\x28', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x3a', '\x3a', '\x45', '\x72', '\x72', '\x6f', '\x72', '\x2c', '\x20', '\x66', '\x61', '\x69', '\x6c', '\x65', '\x64', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x28', '\x29', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x72', '\x69', '\x6e', '\x74', '\x49', '\x73', '\x73', '\x75', '\x65', '\x28', '\x22', '\x75', '\x6e', '\x65', '\x78', '\x70', '\x65', '\x63', '\x74', '\x65', '\x64', '\x20', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x77', '\x69', '\x74', '\x68', '\x20', '\x6d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x3a', '\x22', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x72', '\x69', '\x6e', '\x74', '\x4d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x72', '\x69', '\x6e', '\x74', '\x45', '\x78', '\x70', '\x72', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x57', '\x61', '\x73', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x72', '\x69', '\x6e', '\x74', '\x52', '\x65', '\x6d', '\x61', '\x69', '\x6e', '\x69', '\x6e', '\x67', '\x4d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x73', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x72', '\x65', '\x61', '\x6b', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x61', '\x73', '\x65', '\x20', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x57', '\x61', '\x73', '\x3a', '\x3a', '\x46', '\x61', '\x74', '\x61', '\x6c', '\x45', '\x72', '\x72', '\x6f', '\x72', '\x43', '\x6f', '\x6e', '\x64', '\x69', '\x74', '\x69', '\x6f', '\x6e', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x72', '\x69', '\x6e', '\x74', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x54', '\x79', '\x70', '\x65', '\x28', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x3a', '\x3a', '\x45', '\x72', '\x72', '\x6f', '\x72', '\x2c', '\x20', '\x66', '\x61', '\x69', '\x6c', '\x65', '\x64', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x28', '\x29', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x72', '\x69', '\x6e', '\x74', '\x49', '\x73', '\x73', '\x75', '\x65', '\x28', '\x22', '\x66', '\x61', '\x74', '\x61', '\x6c', '\x20', '\x65', '\x72', '\x72', '\x6f', '\x72', '\x20', '\x63', '\x6f', '\x6e', '\x64', '\x69', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x77', '\x69', '\x74', '\x68', '\x20', '\x6d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x3a', '\x22', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x72', '\x69', '\x6e', '\x74', '\x4d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x72', '\x69', '\x6e', '\x74', '\x45', '\x78', '\x70', '\x72', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x57', '\x61', '\x73', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x72', '\x69', '\x6e', '\x74', '\x52', '\x65', '\x6d', '\x61', '\x69', '\x6e', '\x69', '\x6e', '\x67', '\x4d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x73', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x72', '\x65', '\x61', '\x6b', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x61', '\x73', '\x65', '\x20', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x57', '\x61', '\x73', '\x3a', '\x3a', '\x44', '\x69', '\x64', '\x6e', '\x74', '\x54', '\x68', '\x72', '\x6f', '\x77', '\x45', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x72', '\x69', '\x6e', '\x74', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x54', '\x79', '\x70', '\x65', '\x28', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x3a', '\x3a', '\x45', '\x72', '\x72', '\x6f', '\x72', '\x2c', '\x20', '\x66', '\x61', '\x69', '\x6c', '\x65', '\x64', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x28', '\x29', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x72', '\x69', '\x6e', '\x74', '\x49', '\x73', '\x73', '\x75', '\x65', '\x28', '\x22', '\x65', '\x78', '\x70', '\x65', '\x63', '\x74', '\x65', '\x64', '\x20', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x2c', '\x20', '\x67', '\x6f', '\x74', '\x20', '\x6e', '\x6f', '\x6e', '\x65', '\x22', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x72', '\x69', '\x6e', '\x74', '\x45', '\x78', '\x70', '\x72', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x57', '\x61', '\x73', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x72', '\x69', '\x6e', '\x74', '\x52', '\x65', '\x6d', '\x61', '\x69', '\x6e', '\x69', '\x6e', '\x67', '\x4d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x73', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x72', '\x65', '\x61', '\x6b', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x61', '\x73', '\x65', '\x20', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x57', '\x61', '\x73', '\x3a', '\x3a', '\x49', '\x6e', '\x66', '\x6f', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x72', '\x69', '\x6e', '\x74', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x54', '\x79', '\x70', '\x65', '\x28', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x3a', '\x3a', '\x4e', '\x6f', '\x6e', '\x65', '\x2c', '\x20', '\x22', '\x69', '\x6e', '\x66', '\x6f', '\x22', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x72', '\x69', '\x6e', '\x74', '\x4d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x72', '\x69', '\x6e', '\x74', '\x52', '\x65', '\x6d', '\x61', '\x69', '\x6e', '\x69', '\x6e', '\x67', '\x4d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x73', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x72', '\x65', '\x61', '\x6b', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x61', '\x73', '\x65', '\x20', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x57', '\x61', '\x73', '\x3a', '\x3a', '\x57', '\x61', '\x72', '\x6e', '\x69', '\x6e', '\x67', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x72', '\x69', '\x6e', '\x74', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x54', '\x79', '\x70', '\x65', '\x28', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x3a', '\x3a', '\x4e', '\x6f', '\x6e', '\x65', '\x2c', '\x20', '\x22', '\x77', '\x61', '\x72', '\x6e', '\x69', '\x6e', '\x67', '\x22', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x72', '\x69', '\x6e', '\x74', '\x4d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x72', '\x69', '\x6e', '\x74', '\x52', '\x65', '\x6d', '\x61', '\x69', '\x6e', '\x69', '\x6e', '\x67', '\x4d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x73', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x72', '\x65', '\x61', '\x6b', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x61', '\x73', '\x65', '\x20', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x57', '\x61', '\x73', '\x3a', '\x3a', '\x45', '\x78', '\x70', '\x6c', '\x69', '\x63', '\x69', '\x74', '\x46', '\x61', '\x69', '\x6c', '\x75', '\x72', '\x65', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x72', '\x69', '\x6e', '\x74', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x54', '\x79', '\x70', '\x65', '\x28', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x3a', '\x3a', '\x45', '\x72', '\x72', '\x6f', '\x72', '\x2c', '\x20', '\x66', '\x61', '\x69', '\x6c', '\x65', '\x64', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x28', '\x29', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x72', '\x69', '\x6e', '\x74', '\x49', '\x73', '\x73', '\x75', '\x65', '\x28', '\x22', '\x65', '\x78', '\x70', '\x6c', '\x69', '\x63', '\x69', '\x74', '\x6c', '\x79', '\x22', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x72', '\x69', '\x6e', '\x74', '\x52', '\x65', '\x6d', '\x61', '\x69', '\x6e', '\x69', '\x6e', '\x67', '\x4d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x73', '\x28', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x3a', '\x3a', '\x4e', '\x6f', '\x6e', '\x65', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x72', '\x65', '\x61', '\x6b', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x54', '\x68', '\x65', '\x73', '\x65', '\x20', '\x63', '\x61', '\x73', '\x65', '\x73', '\x20', '\x61', '\x72', '\x65', '\x20', '\x68', '\x65', '\x72', '\x65', '\x20', '\x74', '\x6f', '\x20', '\x70', '\x72', '\x65', '\x76', '\x65', '\x6e', '\x74', '\x20', '\x63', '\x6f', '\x6d', '\x70', '\x69', '\x6c', '\x65', '\x72', '\x20', '\x77', '\x61', '\x72', '\x6e', '\x69', '\x6e', '\x67', '\x73', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x61', '\x73', '\x65', '\x20', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x57', '\x61', '\x73', '\x3a', '\x3a', '\x55', '\x6e', '\x6b', '\x6e', '\x6f', '\x77', '\x6e', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x61', '\x73', '\x65', '\x20', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x57', '\x61', '\x73', '\x3a', '\x3a', '\x46', '\x61', '\x69', '\x6c', '\x75', '\x72', '\x65', '\x42', '\x69', '\x74', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x61', '\x73', '\x65', '\x20', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x57', '\x61', '\x73', '\x3a', '\x3a', '\x45', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x72', '\x69', '\x6e', '\x74', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x54', '\x79', '\x70', '\x65', '\x28', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x3a', '\x3a', '\x45', '\x72', '\x72', '\x6f', '\x72', '\x2c', '\x20', '\x22', '\x2a', '\x2a', '\x20', '\x69', '\x6e', '\x74', '\x65', '\x72', '\x6e', '\x61', '\x6c', '\x20', '\x65', '\x72', '\x72', '\x6f', '\x72', '\x20', '\x2a', '\x2a', '\x22', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x72', '\x65', '\x61', '\x6b', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x70', '\x72', '\x69', '\x76', '\x61', '\x74', '\x65', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x70', '\x72', '\x69', '\x6e', '\x74', '\x53', '\x6f', '\x75', '\x72', '\x63', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x20', '\x63', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x47', '\x75', '\x61', '\x72', '\x64', '\x28', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x3a', '\x3a', '\x46', '\x69', '\x6c', '\x65', '\x4e', '\x61', '\x6d', '\x65', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x20', '\x3c', '\x3c', '\x20', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x2e', '\x67', '\x65', '\x74', '\x53', '\x6f', '\x75', '\x72', '\x63', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x28', '\x29', '\x20', '\x3c', '\x3c', '\x20', '\x27', '\x3a', '\x27', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x70', '\x72', '\x69', '\x6e', '\x74', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x54', '\x79', '\x70', '\x65', '\x28', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x3a', '\x3a', '\x43', '\x6f', '\x64', '\x65', '\x20', '\x63', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x2c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x70', '\x61', '\x73', '\x73', '\x4f', '\x72', '\x46', '\x61', '\x69', '\x6c', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x21', '\x70', '\x61', '\x73', '\x73', '\x4f', '\x72', '\x46', '\x61', '\x69', '\x6c', '\x2e', '\x65', '\x6d', '\x70', '\x74', '\x79', '\x28', '\x29', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x20', '\x63', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x47', '\x75', '\x61', '\x72', '\x64', '\x28', '\x63', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x20', '\x3c', '\x3c', '\x20', '\x27', '\x20', '\x27', '\x20', '\x3c', '\x3c', '\x20', '\x70', '\x61', '\x73', '\x73', '\x4f', '\x72', '\x46', '\x61', '\x69', '\x6c', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x20', '\x3c', '\x3c', '\x20', '\x27', '\x3a', '\x27', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x70', '\x72', '\x69', '\x6e', '\x74', '\x49', '\x73', '\x73', '\x75', '\x65', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x69', '\x73', '\x73', '\x75', '\x65', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x20', '\x3c', '\x3c', '\x20', '\x27', '\x20', '\x27', '\x20', '\x3c', '\x3c', '\x20', '\x69', '\x73', '\x73', '\x75', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x70', '\x72', '\x69', '\x6e', '\x74', '\x45', '\x78', '\x70', '\x72', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x57', '\x61', '\x73', '\x28', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x2e', '\x68', '\x61', '\x73', '\x45', '\x78', '\x70', '\x72', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x28', '\x29', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x20', '\x3c', '\x3c', '\x20', '\x27', '\x3b', '\x27', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x20', '\x63', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x28', '\x64', '\x69', '\x6d', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x28', '\x29', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x20', '\x3c', '\x3c', '\x20', '\x22', '\x20', '\x65', '\x78', '\x70', '\x72', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x20', '\x77', '\x61', '\x73', '\x3a', '\x22', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x72', '\x69', '\x6e', '\x74', '\x4f', '\x72', '\x69', '\x67', '\x69', '\x6e', '\x61', '\x6c', '\x45', '\x78', '\x70', '\x72', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x70', '\x72', '\x69', '\x6e', '\x74', '\x4f', '\x72', '\x69', '\x67', '\x69', '\x6e', '\x61', '\x6c', '\x45', '\x78', '\x70', '\x72', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x2e', '\x68', '\x61', '\x73', '\x45', '\x78', '\x70', '\x72', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x28', '\x29', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x20', '\x3c', '\x3c', '\x20', '\x27', '\x20', '\x27', '\x20', '\x3c', '\x3c', '\x20', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x2e', '\x67', '\x65', '\x74', '\x45', '\x78', '\x70', '\x72', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x70', '\x72', '\x69', '\x6e', '\x74', '\x52', '\x65', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x65', '\x64', '\x45', '\x78', '\x70', '\x72', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x2e', '\x68', '\x61', '\x73', '\x45', '\x78', '\x70', '\x61', '\x6e', '\x64', '\x65', '\x64', '\x45', '\x78', '\x70', '\x72', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x28', '\x29', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x20', '\x63', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x28', '\x64', '\x69', '\x6d', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x28', '\x29', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x20', '\x3c', '\x3c', '\x20', '\x22', '\x20', '\x66', '\x6f', '\x72', '\x3a', '\x20', '\x22', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x20', '\x3c', '\x3c', '\x20', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x2e', '\x67', '\x65', '\x74', '\x45', '\x78', '\x70', '\x61', '\x6e', '\x64', '\x65', '\x64', '\x45', '\x78', '\x70', '\x72', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x70', '\x72', '\x69', '\x6e', '\x74', '\x4d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x28', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x69', '\x74', '\x4d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x20', '\x21', '\x3d', '\x20', '\x6d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x73', '\x2e', '\x65', '\x6e', '\x64', '\x28', '\x29', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x20', '\x3c', '\x3c', '\x20', '\x22', '\x20', '\x27', '\x22', '\x20', '\x3c', '\x3c', '\x20', '\x69', '\x74', '\x4d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x2d', '\x3e', '\x6d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x20', '\x3c', '\x3c', '\x20', '\x27', '\x5c', '\x27', '\x27', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2b', '\x2b', '\x69', '\x74', '\x4d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x70', '\x72', '\x69', '\x6e', '\x74', '\x52', '\x65', '\x6d', '\x61', '\x69', '\x6e', '\x69', '\x6e', '\x67', '\x4d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x73', '\x28', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x3a', '\x3a', '\x43', '\x6f', '\x64', '\x65', '\x20', '\x63', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x20', '\x3d', '\x20', '\x64', '\x69', '\x6d', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x28', '\x29', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x69', '\x74', '\x4d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x20', '\x3d', '\x3d', '\x20', '\x6d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x73', '\x2e', '\x65', '\x6e', '\x64', '\x28', '\x29', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x69', '\x74', '\x45', '\x6e', '\x64', '\x20', '\x3d', '\x20', '\x6d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x73', '\x2e', '\x63', '\x65', '\x6e', '\x64', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x4e', '\x20', '\x3d', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x5f', '\x63', '\x61', '\x73', '\x74', '\x3c', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x69', '\x7a', '\x65', '\x5f', '\x74', '\x3e', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x64', '\x69', '\x73', '\x74', '\x61', '\x6e', '\x63', '\x65', '\x28', '\x69', '\x74', '\x4d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x2c', '\x20', '\x69', '\x74', '\x45', '\x6e', '\x64', '\x29', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x20', '\x63', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x47', '\x75', '\x61', '\x72', '\x64', '\x28', '\x63', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x20', '\x3c', '\x3c', '\x20', '\x22', '\x20', '\x77', '\x69', '\x74', '\x68', '\x20', '\x22', '\x20', '\x3c', '\x3c', '\x20', '\x70', '\x6c', '\x75', '\x72', '\x61', '\x6c', '\x69', '\x73', '\x65', '\x28', '\x4e', '\x2c', '\x20', '\x22', '\x6d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x22', '\x29', '\x20', '\x3c', '\x3c', '\x20', '\x27', '\x3a', '\x27', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x77', '\x68', '\x69', '\x6c', '\x65', '\x20', '\x28', '\x69', '\x74', '\x4d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x20', '\x21', '\x3d', '\x20', '\x69', '\x74', '\x45', '\x6e', '\x64', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x49', '\x66', '\x20', '\x74', '\x68', '\x69', '\x73', '\x20', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x69', '\x73', '\x20', '\x61', '\x20', '\x77', '\x61', '\x72', '\x6e', '\x69', '\x6e', '\x67', '\x20', '\x69', '\x67', '\x6e', '\x6f', '\x72', '\x65', '\x20', '\x61', '\x6e', '\x79', '\x20', '\x49', '\x4e', '\x46', '\x4f', '\x20', '\x6d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x73', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x70', '\x72', '\x69', '\x6e', '\x74', '\x49', '\x6e', '\x66', '\x6f', '\x4d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x73', '\x20', '\x7c', '\x7c', '\x20', '\x69', '\x74', '\x4d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x2d', '\x3e', '\x74', '\x79', '\x70', '\x65', '\x20', '\x21', '\x3d', '\x20', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x57', '\x61', '\x73', '\x3a', '\x3a', '\x49', '\x6e', '\x66', '\x6f', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x72', '\x69', '\x6e', '\x74', '\x4d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x69', '\x74', '\x4d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x20', '\x21', '\x3d', '\x20', '\x69', '\x74', '\x45', '\x6e', '\x64', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x20', '\x63', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x47', '\x75', '\x61', '\x72', '\x64', '\x28', '\x64', '\x69', '\x6d', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x28', '\x29', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x20', '\x3c', '\x3c', '\x20', '\x22', '\x20', '\x61', '\x6e', '\x64', '\x22', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6f', '\x6e', '\x74', '\x69', '\x6e', '\x75', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2b', '\x2b', '\x69', '\x74', '\x4d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x70', '\x72', '\x69', '\x76', '\x61', '\x74', '\x65', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6f', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x26', '\x20', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x4d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x3e', '\x20', '\x6d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x4d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x3e', '\x3a', '\x3a', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x5f', '\x69', '\x74', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x69', '\x74', '\x4d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x70', '\x72', '\x69', '\x6e', '\x74', '\x49', '\x6e', '\x66', '\x6f', '\x4d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x73', '\x3b', '\x0d', '\x0a', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x61', '\x6e', '\x6f', '\x6e', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x43', '\x6f', '\x6d', '\x70', '\x61', '\x63', '\x74', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x3a', '\x3a', '\x67', '\x65', '\x74', '\x44', '\x65', '\x73', '\x63', '\x72', '\x69', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x28', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x22', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x73', '\x20', '\x74', '\x65', '\x73', '\x74', '\x20', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x73', '\x20', '\x6f', '\x6e', '\x20', '\x61', '\x20', '\x73', '\x69', '\x6e', '\x67', '\x6c', '\x65', '\x20', '\x6c', '\x69', '\x6e', '\x65', '\x2c', '\x20', '\x73', '\x75', '\x69', '\x74', '\x61', '\x62', '\x6c', '\x65', '\x20', '\x66', '\x6f', '\x72', '\x20', '\x49', '\x44', '\x45', '\x73', '\x22', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x50', '\x72', '\x65', '\x66', '\x65', '\x72', '\x65', '\x6e', '\x63', '\x65', '\x73', '\x20', '\x43', '\x6f', '\x6d', '\x70', '\x61', '\x63', '\x74', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x3a', '\x3a', '\x67', '\x65', '\x74', '\x50', '\x72', '\x65', '\x66', '\x65', '\x72', '\x65', '\x6e', '\x63', '\x65', '\x73', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6d', '\x5f', '\x72', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x50', '\x72', '\x65', '\x66', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x43', '\x6f', '\x6d', '\x70', '\x61', '\x63', '\x74', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x3a', '\x3a', '\x6e', '\x6f', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x69', '\x6e', '\x67', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x73', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x73', '\x70', '\x65', '\x63', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x20', '\x3c', '\x3c', '\x20', '\x22', '\x4e', '\x6f', '\x20', '\x74', '\x65', '\x73', '\x74', '\x20', '\x63', '\x61', '\x73', '\x65', '\x73', '\x20', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x64', '\x20', '\x27', '\x22', '\x20', '\x3c', '\x3c', '\x20', '\x73', '\x70', '\x65', '\x63', '\x20', '\x3c', '\x3c', '\x20', '\x27', '\x5c', '\x27', '\x27', '\x20', '\x3c', '\x3c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x65', '\x6e', '\x64', '\x6c', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x43', '\x6f', '\x6d', '\x70', '\x61', '\x63', '\x74', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x3a', '\x3a', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x53', '\x74', '\x61', '\x72', '\x74', '\x69', '\x6e', '\x67', '\x28', '\x20', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x29', '\x20', '\x7b', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x43', '\x6f', '\x6d', '\x70', '\x61', '\x63', '\x74', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x3a', '\x3a', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x45', '\x6e', '\x64', '\x65', '\x64', '\x28', '\x20', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x73', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x5f', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x73', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x20', '\x3d', '\x20', '\x5f', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x73', '\x2e', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x70', '\x72', '\x69', '\x6e', '\x74', '\x49', '\x6e', '\x66', '\x6f', '\x4d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x73', '\x20', '\x3d', '\x20', '\x74', '\x72', '\x75', '\x65', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x44', '\x72', '\x6f', '\x70', '\x20', '\x6f', '\x75', '\x74', '\x20', '\x69', '\x66', '\x20', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x20', '\x77', '\x61', '\x73', '\x20', '\x73', '\x75', '\x63', '\x63', '\x65', '\x73', '\x73', '\x66', '\x75', '\x6c', '\x20', '\x61', '\x6e', '\x64', '\x20', '\x77', '\x65', '\x27', '\x72', '\x65', '\x20', '\x6e', '\x6f', '\x74', '\x20', '\x70', '\x72', '\x69', '\x6e', '\x74', '\x69', '\x6e', '\x67', '\x20', '\x74', '\x68', '\x6f', '\x73', '\x65', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x21', '\x6d', '\x5f', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x2d', '\x3e', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x53', '\x75', '\x63', '\x63', '\x65', '\x73', '\x73', '\x66', '\x75', '\x6c', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x73', '\x28', '\x29', '\x20', '\x26', '\x26', '\x20', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x2e', '\x69', '\x73', '\x4f', '\x6b', '\x28', '\x29', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x2e', '\x67', '\x65', '\x74', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x54', '\x79', '\x70', '\x65', '\x28', '\x29', '\x20', '\x21', '\x3d', '\x20', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x57', '\x61', '\x73', '\x3a', '\x3a', '\x57', '\x61', '\x72', '\x6e', '\x69', '\x6e', '\x67', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x66', '\x61', '\x6c', '\x73', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x72', '\x69', '\x6e', '\x74', '\x49', '\x6e', '\x66', '\x6f', '\x4d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x73', '\x20', '\x3d', '\x20', '\x66', '\x61', '\x6c', '\x73', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x50', '\x72', '\x69', '\x6e', '\x74', '\x65', '\x72', '\x20', '\x70', '\x72', '\x69', '\x6e', '\x74', '\x65', '\x72', '\x28', '\x20', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x2c', '\x20', '\x5f', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x73', '\x2c', '\x20', '\x70', '\x72', '\x69', '\x6e', '\x74', '\x49', '\x6e', '\x66', '\x6f', '\x4d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x73', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x72', '\x69', '\x6e', '\x74', '\x65', '\x72', '\x2e', '\x70', '\x72', '\x69', '\x6e', '\x74', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x20', '\x3c', '\x3c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x65', '\x6e', '\x64', '\x6c', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x74', '\x72', '\x75', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x43', '\x6f', '\x6d', '\x70', '\x61', '\x63', '\x74', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x3a', '\x3a', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x45', '\x6e', '\x64', '\x65', '\x64', '\x28', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x73', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x5f', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x73', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x6d', '\x5f', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x2d', '\x3e', '\x73', '\x68', '\x6f', '\x77', '\x44', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x28', '\x29', '\x20', '\x3d', '\x3d', '\x20', '\x53', '\x68', '\x6f', '\x77', '\x44', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x3a', '\x3a', '\x41', '\x6c', '\x77', '\x61', '\x79', '\x73', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x20', '\x3c', '\x3c', '\x20', '\x67', '\x65', '\x74', '\x46', '\x6f', '\x72', '\x6d', '\x61', '\x74', '\x74', '\x65', '\x64', '\x44', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x28', '\x5f', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x73', '\x2e', '\x64', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x49', '\x6e', '\x53', '\x65', '\x63', '\x6f', '\x6e', '\x64', '\x73', '\x29', '\x20', '\x3c', '\x3c', '\x20', '\x22', '\x20', '\x73', '\x3a', '\x20', '\x22', '\x20', '\x3c', '\x3c', '\x20', '\x5f', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x73', '\x2e', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x2e', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x3c', '\x3c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x65', '\x6e', '\x64', '\x6c', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x43', '\x6f', '\x6d', '\x70', '\x61', '\x63', '\x74', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x3a', '\x3a', '\x74', '\x65', '\x73', '\x74', '\x52', '\x75', '\x6e', '\x45', '\x6e', '\x64', '\x65', '\x64', '\x28', '\x20', '\x54', '\x65', '\x73', '\x74', '\x52', '\x75', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x73', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x5f', '\x74', '\x65', '\x73', '\x74', '\x52', '\x75', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x73', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x72', '\x69', '\x6e', '\x74', '\x54', '\x6f', '\x74', '\x61', '\x6c', '\x73', '\x28', '\x20', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x2c', '\x20', '\x5f', '\x74', '\x65', '\x73', '\x74', '\x52', '\x75', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x73', '\x2e', '\x74', '\x6f', '\x74', '\x61', '\x6c', '\x73', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x20', '\x3c', '\x3c', '\x20', '\x27', '\x5c', '\x6e', '\x27', '\x20', '\x3c', '\x3c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x65', '\x6e', '\x64', '\x6c', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x42', '\x61', '\x73', '\x65', '\x3a', '\x3a', '\x74', '\x65', '\x73', '\x74', '\x52', '\x75', '\x6e', '\x45', '\x6e', '\x64', '\x65', '\x64', '\x28', '\x20', '\x5f', '\x74', '\x65', '\x73', '\x74', '\x52', '\x75', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x73', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x6f', '\x6d', '\x70', '\x61', '\x63', '\x74', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x3a', '\x3a', '\x7e', '\x43', '\x6f', '\x6d', '\x70', '\x61', '\x63', '\x74', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x28', '\x29', '\x20', '\x7b', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x47', '\x49', '\x53', '\x54', '\x45', '\x52', '\x5f', '\x52', '\x45', '\x50', '\x4f', '\x52', '\x54', '\x45', '\x52', '\x28', '\x20', '\x22', '\x63', '\x6f', '\x6d', '\x70', '\x61', '\x63', '\x74', '\x22', '\x2c', '\x20', '\x43', '\x6f', '\x6d', '\x70', '\x61', '\x63', '\x74', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x20', '\x29', '\x0d', '\x0a', '\x0d', '\x0a', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x72', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x5f', '\x63', '\x6f', '\x6d', '\x70', '\x61', '\x63', '\x74', '\x2e', '\x63', '\x70', '\x70', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x72', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x5f', '\x63', '\x6f', '\x6e', '\x73', '\x6f', '\x6c', '\x65', '\x2e', '\x63', '\x70', '\x70', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x63', '\x66', '\x6c', '\x6f', '\x61', '\x74', '\x3e', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x63', '\x73', '\x74', '\x64', '\x69', '\x6f', '\x3e', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x5f', '\x4d', '\x53', '\x43', '\x5f', '\x56', '\x45', '\x52', '\x29', '\x0d', '\x0a', '\x23', '\x70', '\x72', '\x61', '\x67', '\x6d', '\x61', '\x20', '\x77', '\x61', '\x72', '\x6e', '\x69', '\x6e', '\x67', '\x28', '\x70', '\x75', '\x73', '\x68', '\x29', '\x0d', '\x0a', '\x23', '\x70', '\x72', '\x61', '\x67', '\x6d', '\x61', '\x20', '\x77', '\x61', '\x72', '\x6e', '\x69', '\x6e', '\x67', '\x28', '\x64', '\x69', '\x73', '\x61', '\x62', '\x6c', '\x65', '\x3a', '\x34', '\x30', '\x36', '\x31', '\x29', '\x20', '\x2f', '\x2f', '\x20', '\x4e', '\x6f', '\x74', '\x20', '\x61', '\x6c', '\x6c', '\x20', '\x6c', '\x61', '\x62', '\x65', '\x6c', '\x73', '\x20', '\x61', '\x72', '\x65', '\x20', '\x45', '\x58', '\x50', '\x4c', '\x49', '\x43', '\x49', '\x54', '\x4c', '\x59', '\x20', '\x68', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x64', '\x20', '\x69', '\x6e', '\x20', '\x73', '\x77', '\x69', '\x74', '\x63', '\x68', '\x0d', '\x0a', '\x20', '\x2f', '\x2f', '\x20', '\x4e', '\x6f', '\x74', '\x65', '\x20', '\x74', '\x68', '\x61', '\x74', '\x20', '\x34', '\x30', '\x36', '\x32', '\x20', '\x28', '\x6e', '\x6f', '\x74', '\x20', '\x61', '\x6c', '\x6c', '\x20', '\x6c', '\x61', '\x62', '\x65', '\x6c', '\x73', '\x20', '\x61', '\x72', '\x65', '\x20', '\x68', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x64', '\x20', '\x61', '\x6e', '\x64', '\x20', '\x64', '\x65', '\x66', '\x61', '\x75', '\x6c', '\x74', '\x20', '\x69', '\x73', '\x20', '\x6d', '\x69', '\x73', '\x73', '\x69', '\x6e', '\x67', '\x29', '\x20', '\x69', '\x73', '\x20', '\x65', '\x6e', '\x61', '\x62', '\x6c', '\x65', '\x64', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x5f', '\x5f', '\x63', '\x6c', '\x61', '\x6e', '\x67', '\x5f', '\x5f', '\x29', '\x0d', '\x0a', '\x23', '\x20', '\x20', '\x70', '\x72', '\x61', '\x67', '\x6d', '\x61', '\x20', '\x63', '\x6c', '\x61', '\x6e', '\x67', '\x20', '\x64', '\x69', '\x61', '\x67', '\x6e', '\x6f', '\x73', '\x74', '\x69', '\x63', '\x20', '\x70', '\x75', '\x73', '\x68', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x46', '\x6f', '\x72', '\x20', '\x73', '\x69', '\x6d', '\x70', '\x6c', '\x69', '\x63', '\x69', '\x74', '\x79', '\x2c', '\x20', '\x62', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x69', '\x6e', '\x67', '\x2d', '\x6f', '\x6e', '\x6c', '\x79', '\x20', '\x68', '\x65', '\x6c', '\x70', '\x65', '\x72', '\x73', '\x20', '\x61', '\x72', '\x65', '\x20', '\x61', '\x6c', '\x77', '\x61', '\x79', '\x73', '\x20', '\x65', '\x6e', '\x61', '\x62', '\x6c', '\x65', '\x64', '\x0d', '\x0a', '\x23', '\x20', '\x20', '\x70', '\x72', '\x61', '\x67', '\x6d', '\x61', '\x20', '\x63', '\x6c', '\x61', '\x6e', '\x67', '\x20', '\x64', '\x69', '\x61', '\x67', '\x6e', '\x6f', '\x73', '\x74', '\x69', '\x63', '\x20', '\x69', '\x67', '\x6e', '\x6f', '\x72', '\x65', '\x64', '\x20', '\x22', '\x2d', '\x57', '\x75', '\x6e', '\x75', '\x73', '\x65', '\x64', '\x2d', '\x66', '\x75', '\x6e', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x22', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x46', '\x6f', '\x72', '\x6d', '\x61', '\x74', '\x74', '\x65', '\x72', '\x20', '\x69', '\x6d', '\x70', '\x6c', '\x20', '\x66', '\x6f', '\x72', '\x20', '\x43', '\x6f', '\x6e', '\x73', '\x6f', '\x6c', '\x65', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x0d', '\x0a', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x20', '\x43', '\x6f', '\x6e', '\x73', '\x6f', '\x6c', '\x65', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x50', '\x72', '\x69', '\x6e', '\x74', '\x65', '\x72', '\x20', '\x7b', '\x0d', '\x0a', '\x70', '\x75', '\x62', '\x6c', '\x69', '\x63', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x43', '\x6f', '\x6e', '\x73', '\x6f', '\x6c', '\x65', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x50', '\x72', '\x69', '\x6e', '\x74', '\x65', '\x72', '\x26', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x3d', '\x20', '\x28', '\x43', '\x6f', '\x6e', '\x73', '\x6f', '\x6c', '\x65', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x50', '\x72', '\x69', '\x6e', '\x74', '\x65', '\x72', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x29', '\x20', '\x3d', '\x20', '\x64', '\x65', '\x6c', '\x65', '\x74', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x43', '\x6f', '\x6e', '\x73', '\x6f', '\x6c', '\x65', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x50', '\x72', '\x69', '\x6e', '\x74', '\x65', '\x72', '\x28', '\x43', '\x6f', '\x6e', '\x73', '\x6f', '\x6c', '\x65', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x50', '\x72', '\x69', '\x6e', '\x74', '\x65', '\x72', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x29', '\x20', '\x3d', '\x20', '\x64', '\x65', '\x6c', '\x65', '\x74', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x43', '\x6f', '\x6e', '\x73', '\x6f', '\x6c', '\x65', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x50', '\x72', '\x69', '\x6e', '\x74', '\x65', '\x72', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6f', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x26', '\x20', '\x5f', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x2c', '\x20', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x73', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x5f', '\x73', '\x74', '\x61', '\x74', '\x73', '\x2c', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x5f', '\x70', '\x72', '\x69', '\x6e', '\x74', '\x49', '\x6e', '\x66', '\x6f', '\x4d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x73', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x3a', '\x20', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x28', '\x5f', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x29', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x73', '\x28', '\x5f', '\x73', '\x74', '\x61', '\x74', '\x73', '\x29', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x28', '\x5f', '\x73', '\x74', '\x61', '\x74', '\x73', '\x2e', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x29', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x28', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x3a', '\x3a', '\x4e', '\x6f', '\x6e', '\x65', '\x29', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x28', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x2e', '\x67', '\x65', '\x74', '\x4d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x28', '\x29', '\x29', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x73', '\x28', '\x5f', '\x73', '\x74', '\x61', '\x74', '\x73', '\x2e', '\x69', '\x6e', '\x66', '\x6f', '\x4d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x73', '\x29', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x72', '\x69', '\x6e', '\x74', '\x49', '\x6e', '\x66', '\x6f', '\x4d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x73', '\x28', '\x5f', '\x70', '\x72', '\x69', '\x6e', '\x74', '\x49', '\x6e', '\x66', '\x6f', '\x4d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x73', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x77', '\x69', '\x74', '\x63', '\x68', '\x20', '\x28', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x2e', '\x67', '\x65', '\x74', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x54', '\x79', '\x70', '\x65', '\x28', '\x29', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x61', '\x73', '\x65', '\x20', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x57', '\x61', '\x73', '\x3a', '\x3a', '\x4f', '\x6b', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x20', '\x3d', '\x20', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x3a', '\x3a', '\x53', '\x75', '\x63', '\x63', '\x65', '\x73', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x61', '\x73', '\x73', '\x4f', '\x72', '\x46', '\x61', '\x69', '\x6c', '\x20', '\x3d', '\x20', '\x22', '\x50', '\x41', '\x53', '\x53', '\x45', '\x44', '\x22', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x69', '\x66', '\x28', '\x20', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x2e', '\x68', '\x61', '\x73', '\x4d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x28', '\x29', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x5f', '\x73', '\x74', '\x61', '\x74', '\x73', '\x2e', '\x69', '\x6e', '\x66', '\x6f', '\x4d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x73', '\x2e', '\x73', '\x69', '\x7a', '\x65', '\x28', '\x29', '\x20', '\x3d', '\x3d', '\x20', '\x31', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x4c', '\x61', '\x62', '\x65', '\x6c', '\x20', '\x3d', '\x20', '\x22', '\x77', '\x69', '\x74', '\x68', '\x20', '\x6d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x22', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x5f', '\x73', '\x74', '\x61', '\x74', '\x73', '\x2e', '\x69', '\x6e', '\x66', '\x6f', '\x4d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x73', '\x2e', '\x73', '\x69', '\x7a', '\x65', '\x28', '\x29', '\x20', '\x3e', '\x20', '\x31', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x4c', '\x61', '\x62', '\x65', '\x6c', '\x20', '\x3d', '\x20', '\x22', '\x77', '\x69', '\x74', '\x68', '\x20', '\x6d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x73', '\x22', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x72', '\x65', '\x61', '\x6b', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x61', '\x73', '\x65', '\x20', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x57', '\x61', '\x73', '\x3a', '\x3a', '\x45', '\x78', '\x70', '\x72', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x46', '\x61', '\x69', '\x6c', '\x65', '\x64', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x2e', '\x69', '\x73', '\x4f', '\x6b', '\x28', '\x29', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x20', '\x3d', '\x20', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x3a', '\x3a', '\x53', '\x75', '\x63', '\x63', '\x65', '\x73', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x61', '\x73', '\x73', '\x4f', '\x72', '\x46', '\x61', '\x69', '\x6c', '\x20', '\x3d', '\x20', '\x22', '\x46', '\x41', '\x49', '\x4c', '\x45', '\x44', '\x20', '\x2d', '\x20', '\x62', '\x75', '\x74', '\x20', '\x77', '\x61', '\x73', '\x20', '\x6f', '\x6b', '\x22', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x20', '\x65', '\x6c', '\x73', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x20', '\x3d', '\x20', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x3a', '\x3a', '\x45', '\x72', '\x72', '\x6f', '\x72', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x61', '\x73', '\x73', '\x4f', '\x72', '\x46', '\x61', '\x69', '\x6c', '\x20', '\x3d', '\x20', '\x22', '\x46', '\x41', '\x49', '\x4c', '\x45', '\x44', '\x22', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x5f', '\x73', '\x74', '\x61', '\x74', '\x73', '\x2e', '\x69', '\x6e', '\x66', '\x6f', '\x4d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x73', '\x2e', '\x73', '\x69', '\x7a', '\x65', '\x28', '\x29', '\x20', '\x3d', '\x3d', '\x20', '\x31', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x4c', '\x61', '\x62', '\x65', '\x6c', '\x20', '\x3d', '\x20', '\x22', '\x77', '\x69', '\x74', '\x68', '\x20', '\x6d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x22', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x5f', '\x73', '\x74', '\x61', '\x74', '\x73', '\x2e', '\x69', '\x6e', '\x66', '\x6f', '\x4d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x73', '\x2e', '\x73', '\x69', '\x7a', '\x65', '\x28', '\x29', '\x20', '\x3e', '\x20', '\x31', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x4c', '\x61', '\x62', '\x65', '\x6c', '\x20', '\x3d', '\x20', '\x22', '\x77', '\x69', '\x74', '\x68', '\x20', '\x6d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x73', '\x22', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x72', '\x65', '\x61', '\x6b', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x61', '\x73', '\x65', '\x20', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x57', '\x61', '\x73', '\x3a', '\x3a', '\x54', '\x68', '\x72', '\x65', '\x77', '\x45', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x20', '\x3d', '\x20', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x3a', '\x3a', '\x45', '\x72', '\x72', '\x6f', '\x72', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x61', '\x73', '\x73', '\x4f', '\x72', '\x46', '\x61', '\x69', '\x6c', '\x20', '\x3d', '\x20', '\x22', '\x46', '\x41', '\x49', '\x4c', '\x45', '\x44', '\x22', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x4c', '\x61', '\x62', '\x65', '\x6c', '\x20', '\x3d', '\x20', '\x22', '\x64', '\x75', '\x65', '\x20', '\x74', '\x6f', '\x20', '\x75', '\x6e', '\x65', '\x78', '\x70', '\x65', '\x63', '\x74', '\x65', '\x64', '\x20', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x77', '\x69', '\x74', '\x68', '\x20', '\x22', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x5f', '\x73', '\x74', '\x61', '\x74', '\x73', '\x2e', '\x69', '\x6e', '\x66', '\x6f', '\x4d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x73', '\x2e', '\x73', '\x69', '\x7a', '\x65', '\x28', '\x29', '\x20', '\x3d', '\x3d', '\x20', '\x31', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x4c', '\x61', '\x62', '\x65', '\x6c', '\x20', '\x2b', '\x3d', '\x20', '\x22', '\x6d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x22', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x5f', '\x73', '\x74', '\x61', '\x74', '\x73', '\x2e', '\x69', '\x6e', '\x66', '\x6f', '\x4d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x73', '\x2e', '\x73', '\x69', '\x7a', '\x65', '\x28', '\x29', '\x20', '\x3e', '\x20', '\x31', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x4c', '\x61', '\x62', '\x65', '\x6c', '\x20', '\x2b', '\x3d', '\x20', '\x22', '\x6d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x73', '\x22', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x72', '\x65', '\x61', '\x6b', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x61', '\x73', '\x65', '\x20', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x57', '\x61', '\x73', '\x3a', '\x3a', '\x46', '\x61', '\x74', '\x61', '\x6c', '\x45', '\x72', '\x72', '\x6f', '\x72', '\x43', '\x6f', '\x6e', '\x64', '\x69', '\x74', '\x69', '\x6f', '\x6e', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x20', '\x3d', '\x20', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x3a', '\x3a', '\x45', '\x72', '\x72', '\x6f', '\x72', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x61', '\x73', '\x73', '\x4f', '\x72', '\x46', '\x61', '\x69', '\x6c', '\x20', '\x3d', '\x20', '\x22', '\x46', '\x41', '\x49', '\x4c', '\x45', '\x44', '\x22', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x4c', '\x61', '\x62', '\x65', '\x6c', '\x20', '\x3d', '\x20', '\x22', '\x64', '\x75', '\x65', '\x20', '\x74', '\x6f', '\x20', '\x61', '\x20', '\x66', '\x61', '\x74', '\x61', '\x6c', '\x20', '\x65', '\x72', '\x72', '\x6f', '\x72', '\x20', '\x63', '\x6f', '\x6e', '\x64', '\x69', '\x74', '\x69', '\x6f', '\x6e', '\x22', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x72', '\x65', '\x61', '\x6b', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x61', '\x73', '\x65', '\x20', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x57', '\x61', '\x73', '\x3a', '\x3a', '\x44', '\x69', '\x64', '\x6e', '\x74', '\x54', '\x68', '\x72', '\x6f', '\x77', '\x45', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x20', '\x3d', '\x20', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x3a', '\x3a', '\x45', '\x72', '\x72', '\x6f', '\x72', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x61', '\x73', '\x73', '\x4f', '\x72', '\x46', '\x61', '\x69', '\x6c', '\x20', '\x3d', '\x20', '\x22', '\x46', '\x41', '\x49', '\x4c', '\x45', '\x44', '\x22', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x4c', '\x61', '\x62', '\x65', '\x6c', '\x20', '\x3d', '\x20', '\x22', '\x62', '\x65', '\x63', '\x61', '\x75', '\x73', '\x65', '\x20', '\x6e', '\x6f', '\x20', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x77', '\x61', '\x73', '\x20', '\x74', '\x68', '\x72', '\x6f', '\x77', '\x6e', '\x20', '\x77', '\x68', '\x65', '\x72', '\x65', '\x20', '\x6f', '\x6e', '\x65', '\x20', '\x77', '\x61', '\x73', '\x20', '\x65', '\x78', '\x70', '\x65', '\x63', '\x74', '\x65', '\x64', '\x22', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x72', '\x65', '\x61', '\x6b', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x61', '\x73', '\x65', '\x20', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x57', '\x61', '\x73', '\x3a', '\x3a', '\x49', '\x6e', '\x66', '\x6f', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x4c', '\x61', '\x62', '\x65', '\x6c', '\x20', '\x3d', '\x20', '\x22', '\x69', '\x6e', '\x66', '\x6f', '\x22', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x72', '\x65', '\x61', '\x6b', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x61', '\x73', '\x65', '\x20', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x57', '\x61', '\x73', '\x3a', '\x3a', '\x57', '\x61', '\x72', '\x6e', '\x69', '\x6e', '\x67', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x4c', '\x61', '\x62', '\x65', '\x6c', '\x20', '\x3d', '\x20', '\x22', '\x77', '\x61', '\x72', '\x6e', '\x69', '\x6e', '\x67', '\x22', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x72', '\x65', '\x61', '\x6b', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x61', '\x73', '\x65', '\x20', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x57', '\x61', '\x73', '\x3a', '\x3a', '\x45', '\x78', '\x70', '\x6c', '\x69', '\x63', '\x69', '\x74', '\x46', '\x61', '\x69', '\x6c', '\x75', '\x72', '\x65', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x61', '\x73', '\x73', '\x4f', '\x72', '\x46', '\x61', '\x69', '\x6c', '\x20', '\x3d', '\x20', '\x22', '\x46', '\x41', '\x49', '\x4c', '\x45', '\x44', '\x22', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x20', '\x3d', '\x20', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x3a', '\x3a', '\x45', '\x72', '\x72', '\x6f', '\x72', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x5f', '\x73', '\x74', '\x61', '\x74', '\x73', '\x2e', '\x69', '\x6e', '\x66', '\x6f', '\x4d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x73', '\x2e', '\x73', '\x69', '\x7a', '\x65', '\x28', '\x29', '\x20', '\x3d', '\x3d', '\x20', '\x31', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x4c', '\x61', '\x62', '\x65', '\x6c', '\x20', '\x3d', '\x20', '\x22', '\x65', '\x78', '\x70', '\x6c', '\x69', '\x63', '\x69', '\x74', '\x6c', '\x79', '\x20', '\x77', '\x69', '\x74', '\x68', '\x20', '\x6d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x22', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x5f', '\x73', '\x74', '\x61', '\x74', '\x73', '\x2e', '\x69', '\x6e', '\x66', '\x6f', '\x4d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x73', '\x2e', '\x73', '\x69', '\x7a', '\x65', '\x28', '\x29', '\x20', '\x3e', '\x20', '\x31', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x4c', '\x61', '\x62', '\x65', '\x6c', '\x20', '\x3d', '\x20', '\x22', '\x65', '\x78', '\x70', '\x6c', '\x69', '\x63', '\x69', '\x74', '\x6c', '\x79', '\x20', '\x77', '\x69', '\x74', '\x68', '\x20', '\x6d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x73', '\x22', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x72', '\x65', '\x61', '\x6b', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x54', '\x68', '\x65', '\x73', '\x65', '\x20', '\x63', '\x61', '\x73', '\x65', '\x73', '\x20', '\x61', '\x72', '\x65', '\x20', '\x68', '\x65', '\x72', '\x65', '\x20', '\x74', '\x6f', '\x20', '\x70', '\x72', '\x65', '\x76', '\x65', '\x6e', '\x74', '\x20', '\x63', '\x6f', '\x6d', '\x70', '\x69', '\x6c', '\x65', '\x72', '\x20', '\x77', '\x61', '\x72', '\x6e', '\x69', '\x6e', '\x67', '\x73', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x61', '\x73', '\x65', '\x20', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x57', '\x61', '\x73', '\x3a', '\x3a', '\x55', '\x6e', '\x6b', '\x6e', '\x6f', '\x77', '\x6e', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x61', '\x73', '\x65', '\x20', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x57', '\x61', '\x73', '\x3a', '\x3a', '\x46', '\x61', '\x69', '\x6c', '\x75', '\x72', '\x65', '\x42', '\x69', '\x74', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x61', '\x73', '\x65', '\x20', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x57', '\x61', '\x73', '\x3a', '\x3a', '\x45', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x61', '\x73', '\x73', '\x4f', '\x72', '\x46', '\x61', '\x69', '\x6c', '\x20', '\x3d', '\x20', '\x22', '\x2a', '\x2a', '\x20', '\x69', '\x6e', '\x74', '\x65', '\x72', '\x6e', '\x61', '\x6c', '\x20', '\x65', '\x72', '\x72', '\x6f', '\x72', '\x20', '\x2a', '\x2a', '\x22', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x20', '\x3d', '\x20', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x3a', '\x3a', '\x45', '\x72', '\x72', '\x6f', '\x72', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x72', '\x65', '\x61', '\x6b', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x70', '\x72', '\x69', '\x6e', '\x74', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x72', '\x69', '\x6e', '\x74', '\x53', '\x6f', '\x75', '\x72', '\x63', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x73', '\x74', '\x61', '\x74', '\x73', '\x2e', '\x74', '\x6f', '\x74', '\x61', '\x6c', '\x73', '\x2e', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x2e', '\x74', '\x6f', '\x74', '\x61', '\x6c', '\x28', '\x29', '\x20', '\x3e', '\x20', '\x30', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x72', '\x69', '\x6e', '\x74', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x54', '\x79', '\x70', '\x65', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x72', '\x69', '\x6e', '\x74', '\x4f', '\x72', '\x69', '\x67', '\x69', '\x6e', '\x61', '\x6c', '\x45', '\x78', '\x70', '\x72', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x72', '\x69', '\x6e', '\x74', '\x52', '\x65', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x65', '\x64', '\x45', '\x78', '\x70', '\x72', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x20', '\x65', '\x6c', '\x73', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x20', '\x3c', '\x3c', '\x20', '\x27', '\x5c', '\x6e', '\x27', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x72', '\x69', '\x6e', '\x74', '\x4d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x70', '\x72', '\x69', '\x76', '\x61', '\x74', '\x65', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x70', '\x72', '\x69', '\x6e', '\x74', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x54', '\x79', '\x70', '\x65', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x21', '\x70', '\x61', '\x73', '\x73', '\x4f', '\x72', '\x46', '\x61', '\x69', '\x6c', '\x2e', '\x65', '\x6d', '\x70', '\x74', '\x79', '\x28', '\x29', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x20', '\x63', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x47', '\x75', '\x61', '\x72', '\x64', '\x28', '\x63', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x20', '\x3c', '\x3c', '\x20', '\x70', '\x61', '\x73', '\x73', '\x4f', '\x72', '\x46', '\x61', '\x69', '\x6c', '\x20', '\x3c', '\x3c', '\x20', '\x22', '\x3a', '\x5c', '\x6e', '\x22', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x70', '\x72', '\x69', '\x6e', '\x74', '\x4f', '\x72', '\x69', '\x67', '\x69', '\x6e', '\x61', '\x6c', '\x45', '\x78', '\x70', '\x72', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x2e', '\x68', '\x61', '\x73', '\x45', '\x78', '\x70', '\x72', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x28', '\x29', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x20', '\x63', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x47', '\x75', '\x61', '\x72', '\x64', '\x28', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x3a', '\x3a', '\x4f', '\x72', '\x69', '\x67', '\x69', '\x6e', '\x61', '\x6c', '\x45', '\x78', '\x70', '\x72', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x20', '\x3c', '\x3c', '\x20', '\x22', '\x20', '\x20', '\x22', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x20', '\x3c', '\x3c', '\x20', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x2e', '\x67', '\x65', '\x74', '\x45', '\x78', '\x70', '\x72', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x49', '\x6e', '\x4d', '\x61', '\x63', '\x72', '\x6f', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x20', '\x3c', '\x3c', '\x20', '\x27', '\x5c', '\x6e', '\x27', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x70', '\x72', '\x69', '\x6e', '\x74', '\x52', '\x65', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x65', '\x64', '\x45', '\x78', '\x70', '\x72', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x2e', '\x68', '\x61', '\x73', '\x45', '\x78', '\x70', '\x61', '\x6e', '\x64', '\x65', '\x64', '\x45', '\x78', '\x70', '\x72', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x28', '\x29', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x20', '\x3c', '\x3c', '\x20', '\x22', '\x77', '\x69', '\x74', '\x68', '\x20', '\x65', '\x78', '\x70', '\x61', '\x6e', '\x73', '\x69', '\x6f', '\x6e', '\x3a', '\x5c', '\x6e', '\x22', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x20', '\x63', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x47', '\x75', '\x61', '\x72', '\x64', '\x28', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x3a', '\x3a', '\x52', '\x65', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x65', '\x64', '\x45', '\x78', '\x70', '\x72', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x20', '\x3c', '\x3c', '\x20', '\x43', '\x6f', '\x6c', '\x75', '\x6d', '\x6e', '\x28', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x2e', '\x67', '\x65', '\x74', '\x45', '\x78', '\x70', '\x61', '\x6e', '\x64', '\x65', '\x64', '\x45', '\x78', '\x70', '\x72', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x28', '\x29', '\x29', '\x2e', '\x69', '\x6e', '\x64', '\x65', '\x6e', '\x74', '\x28', '\x32', '\x29', '\x20', '\x3c', '\x3c', '\x20', '\x27', '\x5c', '\x6e', '\x27', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x70', '\x72', '\x69', '\x6e', '\x74', '\x4d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x21', '\x6d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x4c', '\x61', '\x62', '\x65', '\x6c', '\x2e', '\x65', '\x6d', '\x70', '\x74', '\x79', '\x28', '\x29', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x20', '\x3c', '\x3c', '\x20', '\x6d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x4c', '\x61', '\x62', '\x65', '\x6c', '\x20', '\x3c', '\x3c', '\x20', '\x27', '\x3a', '\x27', '\x20', '\x3c', '\x3c', '\x20', '\x27', '\x5c', '\x6e', '\x27', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x66', '\x6f', '\x72', '\x20', '\x28', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6d', '\x73', '\x67', '\x20', '\x3a', '\x20', '\x6d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x73', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x49', '\x66', '\x20', '\x74', '\x68', '\x69', '\x73', '\x20', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x69', '\x73', '\x20', '\x61', '\x20', '\x77', '\x61', '\x72', '\x6e', '\x69', '\x6e', '\x67', '\x20', '\x69', '\x67', '\x6e', '\x6f', '\x72', '\x65', '\x20', '\x61', '\x6e', '\x79', '\x20', '\x49', '\x4e', '\x46', '\x4f', '\x20', '\x6d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x73', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x70', '\x72', '\x69', '\x6e', '\x74', '\x49', '\x6e', '\x66', '\x6f', '\x4d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x73', '\x20', '\x7c', '\x7c', '\x20', '\x6d', '\x73', '\x67', '\x2e', '\x74', '\x79', '\x70', '\x65', '\x20', '\x21', '\x3d', '\x20', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x57', '\x61', '\x73', '\x3a', '\x3a', '\x49', '\x6e', '\x66', '\x6f', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x20', '\x3c', '\x3c', '\x20', '\x43', '\x6f', '\x6c', '\x75', '\x6d', '\x6e', '\x28', '\x6d', '\x73', '\x67', '\x2e', '\x6d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x29', '\x2e', '\x69', '\x6e', '\x64', '\x65', '\x6e', '\x74', '\x28', '\x32', '\x29', '\x20', '\x3c', '\x3c', '\x20', '\x27', '\x5c', '\x6e', '\x27', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x70', '\x72', '\x69', '\x6e', '\x74', '\x53', '\x6f', '\x75', '\x72', '\x63', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x20', '\x63', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x47', '\x75', '\x61', '\x72', '\x64', '\x28', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x3a', '\x3a', '\x46', '\x69', '\x6c', '\x65', '\x4e', '\x61', '\x6d', '\x65', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x20', '\x3c', '\x3c', '\x20', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x2e', '\x67', '\x65', '\x74', '\x53', '\x6f', '\x75', '\x72', '\x63', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x28', '\x29', '\x20', '\x3c', '\x3c', '\x20', '\x22', '\x3a', '\x20', '\x22', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6f', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x26', '\x20', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x73', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x73', '\x74', '\x61', '\x74', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x3a', '\x3a', '\x43', '\x6f', '\x64', '\x65', '\x20', '\x63', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x70', '\x61', '\x73', '\x73', '\x4f', '\x72', '\x46', '\x61', '\x69', '\x6c', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x6d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x4c', '\x61', '\x62', '\x65', '\x6c', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x6d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x4d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x3e', '\x20', '\x6d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x70', '\x72', '\x69', '\x6e', '\x74', '\x49', '\x6e', '\x66', '\x6f', '\x4d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x73', '\x3b', '\x0d', '\x0a', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x69', '\x7a', '\x65', '\x5f', '\x74', '\x20', '\x6d', '\x61', '\x6b', '\x65', '\x52', '\x61', '\x74', '\x69', '\x6f', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x69', '\x7a', '\x65', '\x5f', '\x74', '\x20', '\x6e', '\x75', '\x6d', '\x62', '\x65', '\x72', '\x2c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x69', '\x7a', '\x65', '\x5f', '\x74', '\x20', '\x74', '\x6f', '\x74', '\x61', '\x6c', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x69', '\x7a', '\x65', '\x5f', '\x74', '\x20', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x20', '\x3d', '\x20', '\x74', '\x6f', '\x74', '\x61', '\x6c', '\x20', '\x3e', '\x20', '\x30', '\x20', '\x3f', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x43', '\x4f', '\x4e', '\x53', '\x4f', '\x4c', '\x45', '\x5f', '\x57', '\x49', '\x44', '\x54', '\x48', '\x20', '\x2a', '\x20', '\x6e', '\x75', '\x6d', '\x62', '\x65', '\x72', '\x20', '\x2f', '\x20', '\x74', '\x6f', '\x74', '\x61', '\x6c', '\x20', '\x3a', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x28', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x20', '\x3d', '\x3d', '\x20', '\x30', '\x20', '\x26', '\x26', '\x20', '\x6e', '\x75', '\x6d', '\x62', '\x65', '\x72', '\x20', '\x3e', '\x20', '\x30', '\x29', '\x20', '\x3f', '\x20', '\x31', '\x20', '\x3a', '\x20', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x3b', '\x0d', '\x0a', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x69', '\x7a', '\x65', '\x5f', '\x74', '\x26', '\x20', '\x66', '\x69', '\x6e', '\x64', '\x4d', '\x61', '\x78', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x69', '\x7a', '\x65', '\x5f', '\x74', '\x26', '\x20', '\x69', '\x2c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x69', '\x7a', '\x65', '\x5f', '\x74', '\x26', '\x20', '\x6a', '\x2c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x69', '\x7a', '\x65', '\x5f', '\x74', '\x26', '\x20', '\x6b', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x69', '\x20', '\x3e', '\x20', '\x6a', '\x20', '\x26', '\x26', '\x20', '\x69', '\x20', '\x3e', '\x20', '\x6b', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x69', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x65', '\x6c', '\x73', '\x65', '\x20', '\x69', '\x66', '\x20', '\x28', '\x6a', '\x20', '\x3e', '\x20', '\x6b', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6a', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x65', '\x6c', '\x73', '\x65', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6b', '\x3b', '\x0d', '\x0a', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x43', '\x6f', '\x6c', '\x75', '\x6d', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x65', '\x6e', '\x75', '\x6d', '\x20', '\x4a', '\x75', '\x73', '\x74', '\x69', '\x66', '\x69', '\x63', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x7b', '\x20', '\x4c', '\x65', '\x66', '\x74', '\x2c', '\x20', '\x52', '\x69', '\x67', '\x68', '\x74', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x69', '\x6e', '\x74', '\x20', '\x77', '\x69', '\x64', '\x74', '\x68', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x4a', '\x75', '\x73', '\x74', '\x69', '\x66', '\x69', '\x63', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x6a', '\x75', '\x73', '\x74', '\x69', '\x66', '\x69', '\x63', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x3b', '\x0d', '\x0a', '\x7d', '\x3b', '\x0d', '\x0a', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x43', '\x6f', '\x6c', '\x75', '\x6d', '\x6e', '\x42', '\x72', '\x65', '\x61', '\x6b', '\x20', '\x7b', '\x7d', '\x3b', '\x0d', '\x0a', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x52', '\x6f', '\x77', '\x42', '\x72', '\x65', '\x61', '\x6b', '\x20', '\x7b', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x20', '\x44', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x65', '\x6e', '\x75', '\x6d', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x20', '\x55', '\x6e', '\x69', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x41', '\x75', '\x74', '\x6f', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x4e', '\x61', '\x6e', '\x6f', '\x73', '\x65', '\x63', '\x6f', '\x6e', '\x64', '\x73', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x4d', '\x69', '\x63', '\x72', '\x6f', '\x73', '\x65', '\x63', '\x6f', '\x6e', '\x64', '\x73', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x4d', '\x69', '\x6c', '\x6c', '\x69', '\x73', '\x65', '\x63', '\x6f', '\x6e', '\x64', '\x73', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x53', '\x65', '\x63', '\x6f', '\x6e', '\x64', '\x73', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x4d', '\x69', '\x6e', '\x75', '\x74', '\x65', '\x73', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x75', '\x69', '\x6e', '\x74', '\x36', '\x34', '\x5f', '\x74', '\x20', '\x73', '\x5f', '\x6e', '\x61', '\x6e', '\x6f', '\x73', '\x65', '\x63', '\x6f', '\x6e', '\x64', '\x73', '\x49', '\x6e', '\x41', '\x4d', '\x69', '\x63', '\x72', '\x6f', '\x73', '\x65', '\x63', '\x6f', '\x6e', '\x64', '\x20', '\x3d', '\x20', '\x31', '\x30', '\x30', '\x30', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x75', '\x69', '\x6e', '\x74', '\x36', '\x34', '\x5f', '\x74', '\x20', '\x73', '\x5f', '\x6e', '\x61', '\x6e', '\x6f', '\x73', '\x65', '\x63', '\x6f', '\x6e', '\x64', '\x73', '\x49', '\x6e', '\x41', '\x4d', '\x69', '\x6c', '\x6c', '\x69', '\x73', '\x65', '\x63', '\x6f', '\x6e', '\x64', '\x20', '\x3d', '\x20', '\x31', '\x30', '\x30', '\x30', '\x20', '\x2a', '\x20', '\x73', '\x5f', '\x6e', '\x61', '\x6e', '\x6f', '\x73', '\x65', '\x63', '\x6f', '\x6e', '\x64', '\x73', '\x49', '\x6e', '\x41', '\x4d', '\x69', '\x63', '\x72', '\x6f', '\x73', '\x65', '\x63', '\x6f', '\x6e', '\x64', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x75', '\x69', '\x6e', '\x74', '\x36', '\x34', '\x5f', '\x74', '\x20', '\x73', '\x5f', '\x6e', '\x61', '\x6e', '\x6f', '\x73', '\x65', '\x63', '\x6f', '\x6e', '\x64', '\x73', '\x49', '\x6e', '\x41', '\x53', '\x65', '\x63', '\x6f', '\x6e', '\x64', '\x20', '\x3d', '\x20', '\x31', '\x30', '\x30', '\x30', '\x20', '\x2a', '\x20', '\x73', '\x5f', '\x6e', '\x61', '\x6e', '\x6f', '\x73', '\x65', '\x63', '\x6f', '\x6e', '\x64', '\x73', '\x49', '\x6e', '\x41', '\x4d', '\x69', '\x6c', '\x6c', '\x69', '\x73', '\x65', '\x63', '\x6f', '\x6e', '\x64', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x75', '\x69', '\x6e', '\x74', '\x36', '\x34', '\x5f', '\x74', '\x20', '\x73', '\x5f', '\x6e', '\x61', '\x6e', '\x6f', '\x73', '\x65', '\x63', '\x6f', '\x6e', '\x64', '\x73', '\x49', '\x6e', '\x41', '\x4d', '\x69', '\x6e', '\x75', '\x74', '\x65', '\x20', '\x3d', '\x20', '\x36', '\x30', '\x20', '\x2a', '\x20', '\x73', '\x5f', '\x6e', '\x61', '\x6e', '\x6f', '\x73', '\x65', '\x63', '\x6f', '\x6e', '\x64', '\x73', '\x49', '\x6e', '\x41', '\x53', '\x65', '\x63', '\x6f', '\x6e', '\x64', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x75', '\x69', '\x6e', '\x74', '\x36', '\x34', '\x5f', '\x74', '\x20', '\x6d', '\x5f', '\x69', '\x6e', '\x4e', '\x61', '\x6e', '\x6f', '\x73', '\x65', '\x63', '\x6f', '\x6e', '\x64', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x55', '\x6e', '\x69', '\x74', '\x20', '\x6d', '\x5f', '\x75', '\x6e', '\x69', '\x74', '\x73', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x70', '\x75', '\x62', '\x6c', '\x69', '\x63', '\x3a', '\x0d', '\x0a', '\x09', '\x65', '\x78', '\x70', '\x6c', '\x69', '\x63', '\x69', '\x74', '\x20', '\x44', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x28', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x20', '\x69', '\x6e', '\x4e', '\x61', '\x6e', '\x6f', '\x73', '\x65', '\x63', '\x6f', '\x6e', '\x64', '\x73', '\x2c', '\x20', '\x55', '\x6e', '\x69', '\x74', '\x20', '\x75', '\x6e', '\x69', '\x74', '\x73', '\x20', '\x3d', '\x20', '\x55', '\x6e', '\x69', '\x74', '\x3a', '\x3a', '\x41', '\x75', '\x74', '\x6f', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x3a', '\x20', '\x44', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x28', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x5f', '\x63', '\x61', '\x73', '\x74', '\x3c', '\x75', '\x69', '\x6e', '\x74', '\x36', '\x34', '\x5f', '\x74', '\x3e', '\x28', '\x69', '\x6e', '\x4e', '\x61', '\x6e', '\x6f', '\x73', '\x65', '\x63', '\x6f', '\x6e', '\x64', '\x73', '\x29', '\x2c', '\x20', '\x75', '\x6e', '\x69', '\x74', '\x73', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x65', '\x78', '\x70', '\x6c', '\x69', '\x63', '\x69', '\x74', '\x20', '\x44', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x28', '\x75', '\x69', '\x6e', '\x74', '\x36', '\x34', '\x5f', '\x74', '\x20', '\x69', '\x6e', '\x4e', '\x61', '\x6e', '\x6f', '\x73', '\x65', '\x63', '\x6f', '\x6e', '\x64', '\x73', '\x2c', '\x20', '\x55', '\x6e', '\x69', '\x74', '\x20', '\x75', '\x6e', '\x69', '\x74', '\x73', '\x20', '\x3d', '\x20', '\x55', '\x6e', '\x69', '\x74', '\x3a', '\x3a', '\x41', '\x75', '\x74', '\x6f', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x3a', '\x20', '\x6d', '\x5f', '\x69', '\x6e', '\x4e', '\x61', '\x6e', '\x6f', '\x73', '\x65', '\x63', '\x6f', '\x6e', '\x64', '\x73', '\x28', '\x69', '\x6e', '\x4e', '\x61', '\x6e', '\x6f', '\x73', '\x65', '\x63', '\x6f', '\x6e', '\x64', '\x73', '\x29', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x75', '\x6e', '\x69', '\x74', '\x73', '\x28', '\x75', '\x6e', '\x69', '\x74', '\x73', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x6d', '\x5f', '\x75', '\x6e', '\x69', '\x74', '\x73', '\x20', '\x3d', '\x3d', '\x20', '\x55', '\x6e', '\x69', '\x74', '\x3a', '\x3a', '\x41', '\x75', '\x74', '\x6f', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x6d', '\x5f', '\x69', '\x6e', '\x4e', '\x61', '\x6e', '\x6f', '\x73', '\x65', '\x63', '\x6f', '\x6e', '\x64', '\x73', '\x20', '\x3c', '\x20', '\x73', '\x5f', '\x6e', '\x61', '\x6e', '\x6f', '\x73', '\x65', '\x63', '\x6f', '\x6e', '\x64', '\x73', '\x49', '\x6e', '\x41', '\x4d', '\x69', '\x63', '\x72', '\x6f', '\x73', '\x65', '\x63', '\x6f', '\x6e', '\x64', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x75', '\x6e', '\x69', '\x74', '\x73', '\x20', '\x3d', '\x20', '\x55', '\x6e', '\x69', '\x74', '\x3a', '\x3a', '\x4e', '\x61', '\x6e', '\x6f', '\x73', '\x65', '\x63', '\x6f', '\x6e', '\x64', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x6c', '\x73', '\x65', '\x20', '\x69', '\x66', '\x20', '\x28', '\x6d', '\x5f', '\x69', '\x6e', '\x4e', '\x61', '\x6e', '\x6f', '\x73', '\x65', '\x63', '\x6f', '\x6e', '\x64', '\x73', '\x20', '\x3c', '\x20', '\x73', '\x5f', '\x6e', '\x61', '\x6e', '\x6f', '\x73', '\x65', '\x63', '\x6f', '\x6e', '\x64', '\x73', '\x49', '\x6e', '\x41', '\x4d', '\x69', '\x6c', '\x6c', '\x69', '\x73', '\x65', '\x63', '\x6f', '\x6e', '\x64', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x75', '\x6e', '\x69', '\x74', '\x73', '\x20', '\x3d', '\x20', '\x55', '\x6e', '\x69', '\x74', '\x3a', '\x3a', '\x4d', '\x69', '\x63', '\x72', '\x6f', '\x73', '\x65', '\x63', '\x6f', '\x6e', '\x64', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x6c', '\x73', '\x65', '\x20', '\x69', '\x66', '\x20', '\x28', '\x6d', '\x5f', '\x69', '\x6e', '\x4e', '\x61', '\x6e', '\x6f', '\x73', '\x65', '\x63', '\x6f', '\x6e', '\x64', '\x73', '\x20', '\x3c', '\x20', '\x73', '\x5f', '\x6e', '\x61', '\x6e', '\x6f', '\x73', '\x65', '\x63', '\x6f', '\x6e', '\x64', '\x73', '\x49', '\x6e', '\x41', '\x53', '\x65', '\x63', '\x6f', '\x6e', '\x64', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x75', '\x6e', '\x69', '\x74', '\x73', '\x20', '\x3d', '\x20', '\x55', '\x6e', '\x69', '\x74', '\x3a', '\x3a', '\x4d', '\x69', '\x6c', '\x6c', '\x69', '\x73', '\x65', '\x63', '\x6f', '\x6e', '\x64', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x6c', '\x73', '\x65', '\x20', '\x69', '\x66', '\x20', '\x28', '\x6d', '\x5f', '\x69', '\x6e', '\x4e', '\x61', '\x6e', '\x6f', '\x73', '\x65', '\x63', '\x6f', '\x6e', '\x64', '\x73', '\x20', '\x3c', '\x20', '\x73', '\x5f', '\x6e', '\x61', '\x6e', '\x6f', '\x73', '\x65', '\x63', '\x6f', '\x6e', '\x64', '\x73', '\x49', '\x6e', '\x41', '\x4d', '\x69', '\x6e', '\x75', '\x74', '\x65', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x75', '\x6e', '\x69', '\x74', '\x73', '\x20', '\x3d', '\x20', '\x55', '\x6e', '\x69', '\x74', '\x3a', '\x3a', '\x53', '\x65', '\x63', '\x6f', '\x6e', '\x64', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x6c', '\x73', '\x65', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x75', '\x6e', '\x69', '\x74', '\x73', '\x20', '\x3d', '\x20', '\x55', '\x6e', '\x69', '\x74', '\x3a', '\x3a', '\x4d', '\x69', '\x6e', '\x75', '\x74', '\x65', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x2d', '\x3e', '\x20', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x77', '\x69', '\x74', '\x63', '\x68', '\x20', '\x28', '\x6d', '\x5f', '\x75', '\x6e', '\x69', '\x74', '\x73', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x61', '\x73', '\x65', '\x20', '\x55', '\x6e', '\x69', '\x74', '\x3a', '\x3a', '\x4d', '\x69', '\x63', '\x72', '\x6f', '\x73', '\x65', '\x63', '\x6f', '\x6e', '\x64', '\x73', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6d', '\x5f', '\x69', '\x6e', '\x4e', '\x61', '\x6e', '\x6f', '\x73', '\x65', '\x63', '\x6f', '\x6e', '\x64', '\x73', '\x20', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x5f', '\x63', '\x61', '\x73', '\x74', '\x3c', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x3e', '\x28', '\x73', '\x5f', '\x6e', '\x61', '\x6e', '\x6f', '\x73', '\x65', '\x63', '\x6f', '\x6e', '\x64', '\x73', '\x49', '\x6e', '\x41', '\x4d', '\x69', '\x63', '\x72', '\x6f', '\x73', '\x65', '\x63', '\x6f', '\x6e', '\x64', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x61', '\x73', '\x65', '\x20', '\x55', '\x6e', '\x69', '\x74', '\x3a', '\x3a', '\x4d', '\x69', '\x6c', '\x6c', '\x69', '\x73', '\x65', '\x63', '\x6f', '\x6e', '\x64', '\x73', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6d', '\x5f', '\x69', '\x6e', '\x4e', '\x61', '\x6e', '\x6f', '\x73', '\x65', '\x63', '\x6f', '\x6e', '\x64', '\x73', '\x20', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x5f', '\x63', '\x61', '\x73', '\x74', '\x3c', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x3e', '\x28', '\x73', '\x5f', '\x6e', '\x61', '\x6e', '\x6f', '\x73', '\x65', '\x63', '\x6f', '\x6e', '\x64', '\x73', '\x49', '\x6e', '\x41', '\x4d', '\x69', '\x6c', '\x6c', '\x69', '\x73', '\x65', '\x63', '\x6f', '\x6e', '\x64', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x61', '\x73', '\x65', '\x20', '\x55', '\x6e', '\x69', '\x74', '\x3a', '\x3a', '\x53', '\x65', '\x63', '\x6f', '\x6e', '\x64', '\x73', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6d', '\x5f', '\x69', '\x6e', '\x4e', '\x61', '\x6e', '\x6f', '\x73', '\x65', '\x63', '\x6f', '\x6e', '\x64', '\x73', '\x20', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x5f', '\x63', '\x61', '\x73', '\x74', '\x3c', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x3e', '\x28', '\x73', '\x5f', '\x6e', '\x61', '\x6e', '\x6f', '\x73', '\x65', '\x63', '\x6f', '\x6e', '\x64', '\x73', '\x49', '\x6e', '\x41', '\x53', '\x65', '\x63', '\x6f', '\x6e', '\x64', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x61', '\x73', '\x65', '\x20', '\x55', '\x6e', '\x69', '\x74', '\x3a', '\x3a', '\x4d', '\x69', '\x6e', '\x75', '\x74', '\x65', '\x73', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6d', '\x5f', '\x69', '\x6e', '\x4e', '\x61', '\x6e', '\x6f', '\x73', '\x65', '\x63', '\x6f', '\x6e', '\x64', '\x73', '\x20', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x5f', '\x63', '\x61', '\x73', '\x74', '\x3c', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x3e', '\x28', '\x73', '\x5f', '\x6e', '\x61', '\x6e', '\x6f', '\x73', '\x65', '\x63', '\x6f', '\x6e', '\x64', '\x73', '\x49', '\x6e', '\x41', '\x4d', '\x69', '\x6e', '\x75', '\x74', '\x65', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x64', '\x65', '\x66', '\x61', '\x75', '\x6c', '\x74', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x5f', '\x63', '\x61', '\x73', '\x74', '\x3c', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x3e', '\x28', '\x6d', '\x5f', '\x69', '\x6e', '\x4e', '\x61', '\x6e', '\x6f', '\x73', '\x65', '\x63', '\x6f', '\x6e', '\x64', '\x73', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x75', '\x6e', '\x69', '\x74', '\x73', '\x41', '\x73', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x2d', '\x3e', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x77', '\x69', '\x74', '\x63', '\x68', '\x20', '\x28', '\x6d', '\x5f', '\x75', '\x6e', '\x69', '\x74', '\x73', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x61', '\x73', '\x65', '\x20', '\x55', '\x6e', '\x69', '\x74', '\x3a', '\x3a', '\x4e', '\x61', '\x6e', '\x6f', '\x73', '\x65', '\x63', '\x6f', '\x6e', '\x64', '\x73', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x22', '\x6e', '\x73', '\x22', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x61', '\x73', '\x65', '\x20', '\x55', '\x6e', '\x69', '\x74', '\x3a', '\x3a', '\x4d', '\x69', '\x63', '\x72', '\x6f', '\x73', '\x65', '\x63', '\x6f', '\x6e', '\x64', '\x73', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x22', '\x75', '\x73', '\x22', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x61', '\x73', '\x65', '\x20', '\x55', '\x6e', '\x69', '\x74', '\x3a', '\x3a', '\x4d', '\x69', '\x6c', '\x6c', '\x69', '\x73', '\x65', '\x63', '\x6f', '\x6e', '\x64', '\x73', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x22', '\x6d', '\x73', '\x22', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x61', '\x73', '\x65', '\x20', '\x55', '\x6e', '\x69', '\x74', '\x3a', '\x3a', '\x53', '\x65', '\x63', '\x6f', '\x6e', '\x64', '\x73', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x22', '\x73', '\x22', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x61', '\x73', '\x65', '\x20', '\x55', '\x6e', '\x69', '\x74', '\x3a', '\x3a', '\x4d', '\x69', '\x6e', '\x75', '\x74', '\x65', '\x73', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x22', '\x6d', '\x22', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x64', '\x65', '\x66', '\x61', '\x75', '\x6c', '\x74', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x22', '\x2a', '\x2a', '\x20', '\x69', '\x6e', '\x74', '\x65', '\x72', '\x6e', '\x61', '\x6c', '\x20', '\x65', '\x72', '\x72', '\x6f', '\x72', '\x20', '\x2a', '\x2a', '\x22', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x66', '\x72', '\x69', '\x65', '\x6e', '\x64', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x3c', '\x3c', '\x20', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6f', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x26', '\x20', '\x6f', '\x73', '\x2c', '\x20', '\x44', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x64', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x29', '\x20', '\x2d', '\x3e', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6f', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x26', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6f', '\x73', '\x20', '\x3c', '\x3c', '\x20', '\x64', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x2e', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x28', '\x29', '\x20', '\x3c', '\x3c', '\x20', '\x27', '\x20', '\x27', '\x20', '\x3c', '\x3c', '\x20', '\x64', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x2e', '\x75', '\x6e', '\x69', '\x74', '\x73', '\x41', '\x73', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x7d', '\x3b', '\x0d', '\x0a', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x61', '\x6e', '\x6f', '\x6e', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x0d', '\x0a', '\x0d', '\x0a', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x20', '\x54', '\x61', '\x62', '\x6c', '\x65', '\x50', '\x72', '\x69', '\x6e', '\x74', '\x65', '\x72', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6f', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x26', '\x20', '\x6d', '\x5f', '\x6f', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x43', '\x6f', '\x6c', '\x75', '\x6d', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x3e', '\x20', '\x6d', '\x5f', '\x63', '\x6f', '\x6c', '\x75', '\x6d', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6f', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x20', '\x6d', '\x5f', '\x6f', '\x73', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x69', '\x6e', '\x74', '\x20', '\x6d', '\x5f', '\x63', '\x75', '\x72', '\x72', '\x65', '\x6e', '\x74', '\x43', '\x6f', '\x6c', '\x75', '\x6d', '\x6e', '\x20', '\x3d', '\x20', '\x2d', '\x31', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x6d', '\x5f', '\x69', '\x73', '\x4f', '\x70', '\x65', '\x6e', '\x20', '\x3d', '\x20', '\x66', '\x61', '\x6c', '\x73', '\x65', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x70', '\x75', '\x62', '\x6c', '\x69', '\x63', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x54', '\x61', '\x62', '\x6c', '\x65', '\x50', '\x72', '\x69', '\x6e', '\x74', '\x65', '\x72', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6f', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x26', '\x20', '\x6f', '\x73', '\x2c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x43', '\x6f', '\x6c', '\x75', '\x6d', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x3e', '\x20', '\x63', '\x6f', '\x6c', '\x75', '\x6d', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x73', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x3a', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x6f', '\x73', '\x28', '\x20', '\x6f', '\x73', '\x20', '\x29', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x63', '\x6f', '\x6c', '\x75', '\x6d', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x73', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6d', '\x6f', '\x76', '\x65', '\x28', '\x20', '\x63', '\x6f', '\x6c', '\x75', '\x6d', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x73', '\x20', '\x29', '\x20', '\x29', '\x20', '\x7b', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x63', '\x6f', '\x6c', '\x75', '\x6d', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x73', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x2d', '\x3e', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x43', '\x6f', '\x6c', '\x75', '\x6d', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x3e', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6d', '\x5f', '\x63', '\x6f', '\x6c', '\x75', '\x6d', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x6f', '\x70', '\x65', '\x6e', '\x28', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x21', '\x6d', '\x5f', '\x69', '\x73', '\x4f', '\x70', '\x65', '\x6e', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x69', '\x73', '\x4f', '\x70', '\x65', '\x6e', '\x20', '\x3d', '\x20', '\x74', '\x72', '\x75', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2a', '\x74', '\x68', '\x69', '\x73', '\x20', '\x3c', '\x3c', '\x20', '\x52', '\x6f', '\x77', '\x42', '\x72', '\x65', '\x61', '\x6b', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x09', '\x09', '\x09', '\x43', '\x6f', '\x6c', '\x75', '\x6d', '\x6e', '\x73', '\x20', '\x68', '\x65', '\x61', '\x64', '\x65', '\x72', '\x43', '\x6f', '\x6c', '\x73', '\x3b', '\x0d', '\x0a', '\x09', '\x09', '\x09', '\x53', '\x70', '\x61', '\x63', '\x65', '\x72', '\x20', '\x73', '\x70', '\x61', '\x63', '\x65', '\x72', '\x28', '\x32', '\x29', '\x3b', '\x0d', '\x0a', '\x09', '\x09', '\x09', '\x66', '\x6f', '\x72', '\x20', '\x28', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x69', '\x6e', '\x66', '\x6f', '\x20', '\x3a', '\x20', '\x6d', '\x5f', '\x63', '\x6f', '\x6c', '\x75', '\x6d', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x73', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x09', '\x09', '\x09', '\x09', '\x68', '\x65', '\x61', '\x64', '\x65', '\x72', '\x43', '\x6f', '\x6c', '\x73', '\x20', '\x2b', '\x3d', '\x20', '\x43', '\x6f', '\x6c', '\x75', '\x6d', '\x6e', '\x28', '\x69', '\x6e', '\x66', '\x6f', '\x2e', '\x6e', '\x61', '\x6d', '\x65', '\x29', '\x2e', '\x77', '\x69', '\x64', '\x74', '\x68', '\x28', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x5f', '\x63', '\x61', '\x73', '\x74', '\x3c', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x69', '\x7a', '\x65', '\x5f', '\x74', '\x3e', '\x28', '\x69', '\x6e', '\x66', '\x6f', '\x2e', '\x77', '\x69', '\x64', '\x74', '\x68', '\x20', '\x2d', '\x20', '\x32', '\x29', '\x29', '\x3b', '\x0d', '\x0a', '\x09', '\x09', '\x09', '\x09', '\x68', '\x65', '\x61', '\x64', '\x65', '\x72', '\x43', '\x6f', '\x6c', '\x73', '\x20', '\x2b', '\x3d', '\x20', '\x73', '\x70', '\x61', '\x63', '\x65', '\x72', '\x3b', '\x0d', '\x0a', '\x09', '\x09', '\x09', '\x7d', '\x0d', '\x0a', '\x09', '\x09', '\x09', '\x6d', '\x5f', '\x6f', '\x73', '\x20', '\x3c', '\x3c', '\x20', '\x68', '\x65', '\x61', '\x64', '\x65', '\x72', '\x43', '\x6f', '\x6c', '\x73', '\x20', '\x3c', '\x3c', '\x20', '\x27', '\x5c', '\x6e', '\x27', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x6f', '\x73', '\x20', '\x3c', '\x3c', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x67', '\x65', '\x74', '\x4c', '\x69', '\x6e', '\x65', '\x4f', '\x66', '\x43', '\x68', '\x61', '\x72', '\x73', '\x3c', '\x27', '\x2d', '\x27', '\x3e', '\x28', '\x29', '\x20', '\x3c', '\x3c', '\x20', '\x27', '\x5c', '\x6e', '\x27', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x63', '\x6c', '\x6f', '\x73', '\x65', '\x28', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x6d', '\x5f', '\x69', '\x73', '\x4f', '\x70', '\x65', '\x6e', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2a', '\x74', '\x68', '\x69', '\x73', '\x20', '\x3c', '\x3c', '\x20', '\x52', '\x6f', '\x77', '\x42', '\x72', '\x65', '\x61', '\x6b', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x6f', '\x73', '\x20', '\x3c', '\x3c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x65', '\x6e', '\x64', '\x6c', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x69', '\x73', '\x4f', '\x70', '\x65', '\x6e', '\x20', '\x3d', '\x20', '\x66', '\x61', '\x6c', '\x73', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x74', '\x65', '\x6d', '\x70', '\x6c', '\x61', '\x74', '\x65', '\x3c', '\x74', '\x79', '\x70', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x54', '\x3e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x66', '\x72', '\x69', '\x65', '\x6e', '\x64', '\x20', '\x54', '\x61', '\x62', '\x6c', '\x65', '\x50', '\x72', '\x69', '\x6e', '\x74', '\x65', '\x72', '\x26', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x3c', '\x3c', '\x20', '\x28', '\x54', '\x61', '\x62', '\x6c', '\x65', '\x50', '\x72', '\x69', '\x6e', '\x74', '\x65', '\x72', '\x26', '\x20', '\x74', '\x70', '\x2c', '\x20', '\x54', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x70', '\x2e', '\x6d', '\x5f', '\x6f', '\x73', '\x73', '\x20', '\x3c', '\x3c', '\x20', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x74', '\x70', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x66', '\x72', '\x69', '\x65', '\x6e', '\x64', '\x20', '\x54', '\x61', '\x62', '\x6c', '\x65', '\x50', '\x72', '\x69', '\x6e', '\x74', '\x65', '\x72', '\x26', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x3c', '\x3c', '\x20', '\x28', '\x54', '\x61', '\x62', '\x6c', '\x65', '\x50', '\x72', '\x69', '\x6e', '\x74', '\x65', '\x72', '\x26', '\x20', '\x74', '\x70', '\x2c', '\x20', '\x43', '\x6f', '\x6c', '\x75', '\x6d', '\x6e', '\x42', '\x72', '\x65', '\x61', '\x6b', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x63', '\x6f', '\x6c', '\x53', '\x74', '\x72', '\x20', '\x3d', '\x20', '\x74', '\x70', '\x2e', '\x6d', '\x5f', '\x6f', '\x73', '\x73', '\x2e', '\x73', '\x74', '\x72', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x73', '\x74', '\x72', '\x53', '\x69', '\x7a', '\x65', '\x20', '\x3d', '\x20', '\x63', '\x6f', '\x6c', '\x53', '\x74', '\x72', '\x2e', '\x73', '\x69', '\x7a', '\x65', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x70', '\x2e', '\x6d', '\x5f', '\x6f', '\x73', '\x73', '\x2e', '\x73', '\x74', '\x72', '\x28', '\x22', '\x22', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x70', '\x2e', '\x6f', '\x70', '\x65', '\x6e', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x74', '\x70', '\x2e', '\x6d', '\x5f', '\x63', '\x75', '\x72', '\x72', '\x65', '\x6e', '\x74', '\x43', '\x6f', '\x6c', '\x75', '\x6d', '\x6e', '\x20', '\x3d', '\x3d', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x5f', '\x63', '\x61', '\x73', '\x74', '\x3c', '\x69', '\x6e', '\x74', '\x3e', '\x28', '\x74', '\x70', '\x2e', '\x6d', '\x5f', '\x63', '\x6f', '\x6c', '\x75', '\x6d', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x73', '\x2e', '\x73', '\x69', '\x7a', '\x65', '\x28', '\x29', '\x20', '\x2d', '\x20', '\x31', '\x29', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x70', '\x2e', '\x6d', '\x5f', '\x63', '\x75', '\x72', '\x72', '\x65', '\x6e', '\x74', '\x43', '\x6f', '\x6c', '\x75', '\x6d', '\x6e', '\x20', '\x3d', '\x20', '\x2d', '\x31', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x70', '\x2e', '\x6d', '\x5f', '\x6f', '\x73', '\x20', '\x3c', '\x3c', '\x20', '\x27', '\x5c', '\x6e', '\x27', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x70', '\x2e', '\x6d', '\x5f', '\x63', '\x75', '\x72', '\x72', '\x65', '\x6e', '\x74', '\x43', '\x6f', '\x6c', '\x75', '\x6d', '\x6e', '\x2b', '\x2b', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x63', '\x6f', '\x6c', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x3d', '\x20', '\x74', '\x70', '\x2e', '\x6d', '\x5f', '\x63', '\x6f', '\x6c', '\x75', '\x6d', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x73', '\x5b', '\x74', '\x70', '\x2e', '\x6d', '\x5f', '\x63', '\x75', '\x72', '\x72', '\x65', '\x6e', '\x74', '\x43', '\x6f', '\x6c', '\x75', '\x6d', '\x6e', '\x5d', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x70', '\x61', '\x64', '\x64', '\x69', '\x6e', '\x67', '\x20', '\x3d', '\x20', '\x28', '\x73', '\x74', '\x72', '\x53', '\x69', '\x7a', '\x65', '\x20', '\x2b', '\x20', '\x31', '\x20', '\x3c', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x5f', '\x63', '\x61', '\x73', '\x74', '\x3c', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x69', '\x7a', '\x65', '\x5f', '\x74', '\x3e', '\x28', '\x63', '\x6f', '\x6c', '\x49', '\x6e', '\x66', '\x6f', '\x2e', '\x77', '\x69', '\x64', '\x74', '\x68', '\x29', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x3f', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x28', '\x63', '\x6f', '\x6c', '\x49', '\x6e', '\x66', '\x6f', '\x2e', '\x77', '\x69', '\x64', '\x74', '\x68', '\x20', '\x2d', '\x20', '\x28', '\x73', '\x74', '\x72', '\x53', '\x69', '\x7a', '\x65', '\x20', '\x2b', '\x20', '\x31', '\x29', '\x2c', '\x20', '\x27', '\x20', '\x27', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x3a', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x63', '\x6f', '\x6c', '\x49', '\x6e', '\x66', '\x6f', '\x2e', '\x6a', '\x75', '\x73', '\x74', '\x69', '\x66', '\x69', '\x63', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x3d', '\x3d', '\x20', '\x43', '\x6f', '\x6c', '\x75', '\x6d', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x3a', '\x3a', '\x4c', '\x65', '\x66', '\x74', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x70', '\x2e', '\x6d', '\x5f', '\x6f', '\x73', '\x20', '\x3c', '\x3c', '\x20', '\x63', '\x6f', '\x6c', '\x53', '\x74', '\x72', '\x20', '\x3c', '\x3c', '\x20', '\x70', '\x61', '\x64', '\x64', '\x69', '\x6e', '\x67', '\x20', '\x3c', '\x3c', '\x20', '\x27', '\x20', '\x27', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x6c', '\x73', '\x65', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x70', '\x2e', '\x6d', '\x5f', '\x6f', '\x73', '\x20', '\x3c', '\x3c', '\x20', '\x70', '\x61', '\x64', '\x64', '\x69', '\x6e', '\x67', '\x20', '\x3c', '\x3c', '\x20', '\x63', '\x6f', '\x6c', '\x53', '\x74', '\x72', '\x20', '\x3c', '\x3c', '\x20', '\x27', '\x20', '\x27', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x74', '\x70', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x66', '\x72', '\x69', '\x65', '\x6e', '\x64', '\x20', '\x54', '\x61', '\x62', '\x6c', '\x65', '\x50', '\x72', '\x69', '\x6e', '\x74', '\x65', '\x72', '\x26', '\x20', '\x6f', '\x70', '\x65', '\x72', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x3c', '\x3c', '\x20', '\x28', '\x54', '\x61', '\x62', '\x6c', '\x65', '\x50', '\x72', '\x69', '\x6e', '\x74', '\x65', '\x72', '\x26', '\x20', '\x74', '\x70', '\x2c', '\x20', '\x52', '\x6f', '\x77', '\x42', '\x72', '\x65', '\x61', '\x6b', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x74', '\x70', '\x2e', '\x6d', '\x5f', '\x63', '\x75', '\x72', '\x72', '\x65', '\x6e', '\x74', '\x43', '\x6f', '\x6c', '\x75', '\x6d', '\x6e', '\x20', '\x3e', '\x20', '\x30', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x70', '\x2e', '\x6d', '\x5f', '\x6f', '\x73', '\x20', '\x3c', '\x3c', '\x20', '\x27', '\x5c', '\x6e', '\x27', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x70', '\x2e', '\x6d', '\x5f', '\x63', '\x75', '\x72', '\x72', '\x65', '\x6e', '\x74', '\x43', '\x6f', '\x6c', '\x75', '\x6d', '\x6e', '\x20', '\x3d', '\x20', '\x2d', '\x31', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x74', '\x70', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x43', '\x6f', '\x6e', '\x73', '\x6f', '\x6c', '\x65', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x3a', '\x3a', '\x43', '\x6f', '\x6e', '\x73', '\x6f', '\x6c', '\x65', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x28', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x3a', '\x20', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x42', '\x61', '\x73', '\x65', '\x28', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x29', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x74', '\x61', '\x62', '\x6c', '\x65', '\x50', '\x72', '\x69', '\x6e', '\x74', '\x65', '\x72', '\x28', '\x6e', '\x65', '\x77', '\x20', '\x54', '\x61', '\x62', '\x6c', '\x65', '\x50', '\x72', '\x69', '\x6e', '\x74', '\x65', '\x72', '\x28', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x2e', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x28', '\x29', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x5b', '\x26', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x5d', '\x28', '\x29', '\x20', '\x2d', '\x3e', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x43', '\x6f', '\x6c', '\x75', '\x6d', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x3e', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x2e', '\x66', '\x75', '\x6c', '\x6c', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x28', '\x29', '\x2d', '\x3e', '\x62', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x4e', '\x6f', '\x41', '\x6e', '\x61', '\x6c', '\x79', '\x73', '\x69', '\x73', '\x28', '\x29', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7b', '\x20', '\x22', '\x62', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x22', '\x2c', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x43', '\x4f', '\x4e', '\x53', '\x4f', '\x4c', '\x45', '\x5f', '\x57', '\x49', '\x44', '\x54', '\x48', '\x20', '\x2d', '\x20', '\x34', '\x33', '\x2c', '\x20', '\x43', '\x6f', '\x6c', '\x75', '\x6d', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x3a', '\x3a', '\x4c', '\x65', '\x66', '\x74', '\x20', '\x7d', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7b', '\x20', '\x22', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x61', '\x6d', '\x70', '\x6c', '\x65', '\x73', '\x22', '\x2c', '\x20', '\x31', '\x34', '\x2c', '\x20', '\x43', '\x6f', '\x6c', '\x75', '\x6d', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x3a', '\x3a', '\x52', '\x69', '\x67', '\x68', '\x74', '\x20', '\x7d', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7b', '\x20', '\x22', '\x20', '\x20', '\x69', '\x74', '\x65', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x22', '\x2c', '\x20', '\x31', '\x34', '\x2c', '\x20', '\x43', '\x6f', '\x6c', '\x75', '\x6d', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x3a', '\x3a', '\x52', '\x69', '\x67', '\x68', '\x74', '\x20', '\x7d', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7b', '\x20', '\x22', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x65', '\x61', '\x6e', '\x22', '\x2c', '\x20', '\x31', '\x34', '\x2c', '\x20', '\x43', '\x6f', '\x6c', '\x75', '\x6d', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x3a', '\x3a', '\x52', '\x69', '\x67', '\x68', '\x74', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x6c', '\x73', '\x65', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7b', '\x20', '\x22', '\x62', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x22', '\x2c', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x43', '\x4f', '\x4e', '\x53', '\x4f', '\x4c', '\x45', '\x5f', '\x57', '\x49', '\x44', '\x54', '\x48', '\x20', '\x2d', '\x20', '\x33', '\x32', '\x2c', '\x20', '\x43', '\x6f', '\x6c', '\x75', '\x6d', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x3a', '\x3a', '\x4c', '\x65', '\x66', '\x74', '\x20', '\x7d', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7b', '\x20', '\x22', '\x73', '\x61', '\x6d', '\x70', '\x6c', '\x65', '\x73', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x65', '\x61', '\x6e', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x20', '\x64', '\x65', '\x76', '\x22', '\x2c', '\x20', '\x31', '\x34', '\x2c', '\x20', '\x43', '\x6f', '\x6c', '\x75', '\x6d', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x3a', '\x3a', '\x52', '\x69', '\x67', '\x68', '\x74', '\x20', '\x7d', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7b', '\x20', '\x22', '\x69', '\x74', '\x65', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x20', '\x20', '\x20', '\x6c', '\x6f', '\x77', '\x20', '\x6d', '\x65', '\x61', '\x6e', '\x20', '\x20', '\x20', '\x6c', '\x6f', '\x77', '\x20', '\x73', '\x74', '\x64', '\x20', '\x64', '\x65', '\x76', '\x22', '\x2c', '\x20', '\x31', '\x34', '\x2c', '\x20', '\x43', '\x6f', '\x6c', '\x75', '\x6d', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x3a', '\x3a', '\x52', '\x69', '\x67', '\x68', '\x74', '\x20', '\x7d', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7b', '\x20', '\x22', '\x65', '\x73', '\x74', '\x69', '\x6d', '\x61', '\x74', '\x65', '\x64', '\x20', '\x20', '\x20', '\x20', '\x68', '\x69', '\x67', '\x68', '\x20', '\x6d', '\x65', '\x61', '\x6e', '\x20', '\x20', '\x68', '\x69', '\x67', '\x68', '\x20', '\x73', '\x74', '\x64', '\x20', '\x64', '\x65', '\x76', '\x22', '\x2c', '\x20', '\x31', '\x34', '\x2c', '\x20', '\x43', '\x6f', '\x6c', '\x75', '\x6d', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x3a', '\x3a', '\x52', '\x69', '\x67', '\x68', '\x74', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x28', '\x29', '\x29', '\x29', '\x20', '\x7b', '\x7d', '\x0d', '\x0a', '\x43', '\x6f', '\x6e', '\x73', '\x6f', '\x6c', '\x65', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x3a', '\x3a', '\x7e', '\x43', '\x6f', '\x6e', '\x73', '\x6f', '\x6c', '\x65', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x28', '\x29', '\x20', '\x3d', '\x20', '\x64', '\x65', '\x66', '\x61', '\x75', '\x6c', '\x74', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x43', '\x6f', '\x6e', '\x73', '\x6f', '\x6c', '\x65', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x3a', '\x3a', '\x67', '\x65', '\x74', '\x44', '\x65', '\x73', '\x63', '\x72', '\x69', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x28', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x22', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x73', '\x20', '\x74', '\x65', '\x73', '\x74', '\x20', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x73', '\x20', '\x61', '\x73', '\x20', '\x70', '\x6c', '\x61', '\x69', '\x6e', '\x20', '\x6c', '\x69', '\x6e', '\x65', '\x73', '\x20', '\x6f', '\x66', '\x20', '\x74', '\x65', '\x78', '\x74', '\x22', '\x3b', '\x0d', '\x0a', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x43', '\x6f', '\x6e', '\x73', '\x6f', '\x6c', '\x65', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x3a', '\x3a', '\x6e', '\x6f', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x69', '\x6e', '\x67', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x73', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x73', '\x70', '\x65', '\x63', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x20', '\x3c', '\x3c', '\x20', '\x22', '\x4e', '\x6f', '\x20', '\x74', '\x65', '\x73', '\x74', '\x20', '\x63', '\x61', '\x73', '\x65', '\x73', '\x20', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x64', '\x20', '\x27', '\x22', '\x20', '\x3c', '\x3c', '\x20', '\x73', '\x70', '\x65', '\x63', '\x20', '\x3c', '\x3c', '\x20', '\x27', '\x5c', '\x27', '\x27', '\x20', '\x3c', '\x3c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x65', '\x6e', '\x64', '\x6c', '\x3b', '\x0d', '\x0a', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x43', '\x6f', '\x6e', '\x73', '\x6f', '\x6c', '\x65', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x3a', '\x3a', '\x72', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x49', '\x6e', '\x76', '\x61', '\x6c', '\x69', '\x64', '\x41', '\x72', '\x67', '\x75', '\x6d', '\x65', '\x6e', '\x74', '\x73', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x61', '\x72', '\x67', '\x29', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x20', '\x3c', '\x3c', '\x20', '\x22', '\x49', '\x6e', '\x76', '\x61', '\x6c', '\x69', '\x64', '\x20', '\x46', '\x69', '\x6c', '\x74', '\x65', '\x72', '\x3a', '\x20', '\x22', '\x20', '\x3c', '\x3c', '\x20', '\x61', '\x72', '\x67', '\x20', '\x3c', '\x3c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x65', '\x6e', '\x64', '\x6c', '\x3b', '\x0d', '\x0a', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x43', '\x6f', '\x6e', '\x73', '\x6f', '\x6c', '\x65', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x3a', '\x3a', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x53', '\x74', '\x61', '\x72', '\x74', '\x69', '\x6e', '\x67', '\x28', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x29', '\x20', '\x7b', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x43', '\x6f', '\x6e', '\x73', '\x6f', '\x6c', '\x65', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x3a', '\x3a', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x45', '\x6e', '\x64', '\x65', '\x64', '\x28', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x73', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x5f', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x73', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x20', '\x3d', '\x20', '\x5f', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x73', '\x2e', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x73', '\x20', '\x3d', '\x20', '\x6d', '\x5f', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x2d', '\x3e', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x53', '\x75', '\x63', '\x63', '\x65', '\x73', '\x73', '\x66', '\x75', '\x6c', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x73', '\x28', '\x29', '\x20', '\x7c', '\x7c', '\x20', '\x21', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x2e', '\x69', '\x73', '\x4f', '\x6b', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x44', '\x72', '\x6f', '\x70', '\x20', '\x6f', '\x75', '\x74', '\x20', '\x69', '\x66', '\x20', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x20', '\x77', '\x61', '\x73', '\x20', '\x73', '\x75', '\x63', '\x63', '\x65', '\x73', '\x73', '\x66', '\x75', '\x6c', '\x20', '\x62', '\x75', '\x74', '\x20', '\x77', '\x65', '\x27', '\x72', '\x65', '\x20', '\x6e', '\x6f', '\x74', '\x20', '\x70', '\x72', '\x69', '\x6e', '\x74', '\x69', '\x6e', '\x67', '\x20', '\x74', '\x68', '\x65', '\x6d', '\x2e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x21', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x73', '\x20', '\x26', '\x26', '\x20', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x2e', '\x67', '\x65', '\x74', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x54', '\x79', '\x70', '\x65', '\x28', '\x29', '\x20', '\x21', '\x3d', '\x20', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x57', '\x61', '\x73', '\x3a', '\x3a', '\x57', '\x61', '\x72', '\x6e', '\x69', '\x6e', '\x67', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x66', '\x61', '\x6c', '\x73', '\x65', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x6c', '\x61', '\x7a', '\x79', '\x50', '\x72', '\x69', '\x6e', '\x74', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x43', '\x6f', '\x6e', '\x73', '\x6f', '\x6c', '\x65', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x50', '\x72', '\x69', '\x6e', '\x74', '\x65', '\x72', '\x20', '\x70', '\x72', '\x69', '\x6e', '\x74', '\x65', '\x72', '\x28', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x2c', '\x20', '\x5f', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x73', '\x2c', '\x20', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x73', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x70', '\x72', '\x69', '\x6e', '\x74', '\x65', '\x72', '\x2e', '\x70', '\x72', '\x69', '\x6e', '\x74', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x20', '\x3c', '\x3c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x65', '\x6e', '\x64', '\x6c', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x74', '\x72', '\x75', '\x65', '\x3b', '\x0d', '\x0a', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x43', '\x6f', '\x6e', '\x73', '\x6f', '\x6c', '\x65', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x3a', '\x3a', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x53', '\x74', '\x61', '\x72', '\x74', '\x69', '\x6e', '\x67', '\x28', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x5f', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x74', '\x61', '\x62', '\x6c', '\x65', '\x50', '\x72', '\x69', '\x6e', '\x74', '\x65', '\x72', '\x2d', '\x3e', '\x63', '\x6c', '\x6f', '\x73', '\x65', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x68', '\x65', '\x61', '\x64', '\x65', '\x72', '\x50', '\x72', '\x69', '\x6e', '\x74', '\x65', '\x64', '\x20', '\x3d', '\x20', '\x66', '\x61', '\x6c', '\x73', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x42', '\x61', '\x73', '\x65', '\x3a', '\x3a', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x53', '\x74', '\x61', '\x72', '\x74', '\x69', '\x6e', '\x67', '\x28', '\x5f', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x29', '\x3b', '\x0d', '\x0a', '\x7d', '\x0d', '\x0a', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x43', '\x6f', '\x6e', '\x73', '\x6f', '\x6c', '\x65', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x3a', '\x3a', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x45', '\x6e', '\x64', '\x65', '\x64', '\x28', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x73', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x5f', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x73', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x74', '\x61', '\x62', '\x6c', '\x65', '\x50', '\x72', '\x69', '\x6e', '\x74', '\x65', '\x72', '\x2d', '\x3e', '\x63', '\x6c', '\x6f', '\x73', '\x65', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x5f', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x73', '\x2e', '\x6d', '\x69', '\x73', '\x73', '\x69', '\x6e', '\x67', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6c', '\x61', '\x7a', '\x79', '\x50', '\x72', '\x69', '\x6e', '\x74', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x20', '\x63', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x28', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x3a', '\x3a', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x45', '\x72', '\x72', '\x6f', '\x72', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x6d', '\x5f', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x53', '\x74', '\x61', '\x63', '\x6b', '\x2e', '\x73', '\x69', '\x7a', '\x65', '\x28', '\x29', '\x20', '\x3e', '\x20', '\x31', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x20', '\x3c', '\x3c', '\x20', '\x22', '\x5c', '\x6e', '\x4e', '\x6f', '\x20', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x20', '\x69', '\x6e', '\x20', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x22', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x6c', '\x73', '\x65', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x20', '\x3c', '\x3c', '\x20', '\x22', '\x5c', '\x6e', '\x4e', '\x6f', '\x20', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x20', '\x69', '\x6e', '\x20', '\x74', '\x65', '\x73', '\x74', '\x20', '\x63', '\x61', '\x73', '\x65', '\x22', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x20', '\x3c', '\x3c', '\x20', '\x22', '\x20', '\x27', '\x22', '\x20', '\x3c', '\x3c', '\x20', '\x5f', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x73', '\x2e', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x2e', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x3c', '\x3c', '\x20', '\x22', '\x27', '\x5c', '\x6e', '\x22', '\x20', '\x3c', '\x3c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x65', '\x6e', '\x64', '\x6c', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x6d', '\x5f', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x2d', '\x3e', '\x73', '\x68', '\x6f', '\x77', '\x44', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x28', '\x29', '\x20', '\x3d', '\x3d', '\x20', '\x53', '\x68', '\x6f', '\x77', '\x44', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x3a', '\x3a', '\x41', '\x6c', '\x77', '\x61', '\x79', '\x73', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x20', '\x3c', '\x3c', '\x20', '\x67', '\x65', '\x74', '\x46', '\x6f', '\x72', '\x6d', '\x61', '\x74', '\x74', '\x65', '\x64', '\x44', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x28', '\x5f', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x73', '\x2e', '\x64', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x49', '\x6e', '\x53', '\x65', '\x63', '\x6f', '\x6e', '\x64', '\x73', '\x29', '\x20', '\x3c', '\x3c', '\x20', '\x22', '\x20', '\x73', '\x3a', '\x20', '\x22', '\x20', '\x3c', '\x3c', '\x20', '\x5f', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x73', '\x2e', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x2e', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x3c', '\x3c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x65', '\x6e', '\x64', '\x6c', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x6d', '\x5f', '\x68', '\x65', '\x61', '\x64', '\x65', '\x72', '\x50', '\x72', '\x69', '\x6e', '\x74', '\x65', '\x64', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x68', '\x65', '\x61', '\x64', '\x65', '\x72', '\x50', '\x72', '\x69', '\x6e', '\x74', '\x65', '\x64', '\x20', '\x3d', '\x20', '\x66', '\x61', '\x6c', '\x73', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x42', '\x61', '\x73', '\x65', '\x3a', '\x3a', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x45', '\x6e', '\x64', '\x65', '\x64', '\x28', '\x5f', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x73', '\x29', '\x3b', '\x0d', '\x0a', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x45', '\x4e', '\x41', '\x42', '\x4c', '\x45', '\x5f', '\x42', '\x45', '\x4e', '\x43', '\x48', '\x4d', '\x41', '\x52', '\x4b', '\x49', '\x4e', '\x47', '\x29', '\x0d', '\x0a', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x43', '\x6f', '\x6e', '\x73', '\x6f', '\x6c', '\x65', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x3a', '\x3a', '\x62', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x50', '\x72', '\x65', '\x70', '\x61', '\x72', '\x69', '\x6e', '\x67', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x09', '\x6c', '\x61', '\x7a', '\x79', '\x50', '\x72', '\x69', '\x6e', '\x74', '\x57', '\x69', '\x74', '\x68', '\x6f', '\x75', '\x74', '\x43', '\x6c', '\x6f', '\x73', '\x69', '\x6e', '\x67', '\x42', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x54', '\x61', '\x62', '\x6c', '\x65', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x09', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x43', '\x6f', '\x6c', '\x20', '\x3d', '\x20', '\x43', '\x6f', '\x6c', '\x75', '\x6d', '\x6e', '\x28', '\x6e', '\x61', '\x6d', '\x65', '\x29', '\x2e', '\x77', '\x69', '\x64', '\x74', '\x68', '\x28', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x5f', '\x63', '\x61', '\x73', '\x74', '\x3c', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x69', '\x7a', '\x65', '\x5f', '\x74', '\x3e', '\x28', '\x6d', '\x5f', '\x74', '\x61', '\x62', '\x6c', '\x65', '\x50', '\x72', '\x69', '\x6e', '\x74', '\x65', '\x72', '\x2d', '\x3e', '\x63', '\x6f', '\x6c', '\x75', '\x6d', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x73', '\x28', '\x29', '\x5b', '\x30', '\x5d', '\x2e', '\x77', '\x69', '\x64', '\x74', '\x68', '\x20', '\x2d', '\x20', '\x32', '\x29', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x09', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x66', '\x69', '\x72', '\x73', '\x74', '\x4c', '\x69', '\x6e', '\x65', '\x20', '\x3d', '\x20', '\x74', '\x72', '\x75', '\x65', '\x3b', '\x0d', '\x0a', '\x09', '\x66', '\x6f', '\x72', '\x20', '\x28', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x6c', '\x69', '\x6e', '\x65', '\x20', '\x3a', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x43', '\x6f', '\x6c', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x09', '\x09', '\x69', '\x66', '\x20', '\x28', '\x21', '\x66', '\x69', '\x72', '\x73', '\x74', '\x4c', '\x69', '\x6e', '\x65', '\x29', '\x0d', '\x0a', '\x09', '\x09', '\x09', '\x28', '\x2a', '\x6d', '\x5f', '\x74', '\x61', '\x62', '\x6c', '\x65', '\x50', '\x72', '\x69', '\x6e', '\x74', '\x65', '\x72', '\x29', '\x20', '\x3c', '\x3c', '\x20', '\x43', '\x6f', '\x6c', '\x75', '\x6d', '\x6e', '\x42', '\x72', '\x65', '\x61', '\x6b', '\x28', '\x29', '\x20', '\x3c', '\x3c', '\x20', '\x43', '\x6f', '\x6c', '\x75', '\x6d', '\x6e', '\x42', '\x72', '\x65', '\x61', '\x6b', '\x28', '\x29', '\x20', '\x3c', '\x3c', '\x20', '\x43', '\x6f', '\x6c', '\x75', '\x6d', '\x6e', '\x42', '\x72', '\x65', '\x61', '\x6b', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x09', '\x09', '\x65', '\x6c', '\x73', '\x65', '\x0d', '\x0a', '\x09', '\x09', '\x09', '\x66', '\x69', '\x72', '\x73', '\x74', '\x4c', '\x69', '\x6e', '\x65', '\x20', '\x3d', '\x20', '\x66', '\x61', '\x6c', '\x73', '\x65', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x09', '\x09', '\x28', '\x2a', '\x6d', '\x5f', '\x74', '\x61', '\x62', '\x6c', '\x65', '\x50', '\x72', '\x69', '\x6e', '\x74', '\x65', '\x72', '\x29', '\x20', '\x3c', '\x3c', '\x20', '\x6c', '\x69', '\x6e', '\x65', '\x20', '\x3c', '\x3c', '\x20', '\x43', '\x6f', '\x6c', '\x75', '\x6d', '\x6e', '\x42', '\x72', '\x65', '\x61', '\x6b', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x09', '\x7d', '\x0d', '\x0a', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x43', '\x6f', '\x6e', '\x73', '\x6f', '\x6c', '\x65', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x3a', '\x3a', '\x62', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x53', '\x74', '\x61', '\x72', '\x74', '\x69', '\x6e', '\x67', '\x28', '\x42', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x69', '\x6e', '\x66', '\x6f', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x28', '\x2a', '\x6d', '\x5f', '\x74', '\x61', '\x62', '\x6c', '\x65', '\x50', '\x72', '\x69', '\x6e', '\x74', '\x65', '\x72', '\x29', '\x20', '\x3c', '\x3c', '\x20', '\x69', '\x6e', '\x66', '\x6f', '\x2e', '\x73', '\x61', '\x6d', '\x70', '\x6c', '\x65', '\x73', '\x20', '\x3c', '\x3c', '\x20', '\x43', '\x6f', '\x6c', '\x75', '\x6d', '\x6e', '\x42', '\x72', '\x65', '\x61', '\x6b', '\x28', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x3c', '\x3c', '\x20', '\x69', '\x6e', '\x66', '\x6f', '\x2e', '\x69', '\x74', '\x65', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x20', '\x3c', '\x3c', '\x20', '\x43', '\x6f', '\x6c', '\x75', '\x6d', '\x6e', '\x42', '\x72', '\x65', '\x61', '\x6b', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x21', '\x6d', '\x5f', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x2d', '\x3e', '\x62', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x4e', '\x6f', '\x41', '\x6e', '\x61', '\x6c', '\x79', '\x73', '\x69', '\x73', '\x28', '\x29', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x28', '\x2a', '\x6d', '\x5f', '\x74', '\x61', '\x62', '\x6c', '\x65', '\x50', '\x72', '\x69', '\x6e', '\x74', '\x65', '\x72', '\x29', '\x20', '\x3c', '\x3c', '\x20', '\x44', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x28', '\x69', '\x6e', '\x66', '\x6f', '\x2e', '\x65', '\x73', '\x74', '\x69', '\x6d', '\x61', '\x74', '\x65', '\x64', '\x44', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x29', '\x20', '\x3c', '\x3c', '\x20', '\x43', '\x6f', '\x6c', '\x75', '\x6d', '\x6e', '\x42', '\x72', '\x65', '\x61', '\x6b', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x7d', '\x0d', '\x0a', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x43', '\x6f', '\x6e', '\x73', '\x6f', '\x6c', '\x65', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x3a', '\x3a', '\x62', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x45', '\x6e', '\x64', '\x65', '\x64', '\x28', '\x42', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x53', '\x74', '\x61', '\x74', '\x73', '\x3c', '\x3e', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x73', '\x74', '\x61', '\x74', '\x73', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x6d', '\x5f', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x2d', '\x3e', '\x62', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x4e', '\x6f', '\x41', '\x6e', '\x61', '\x6c', '\x79', '\x73', '\x69', '\x73', '\x28', '\x29', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x28', '\x2a', '\x6d', '\x5f', '\x74', '\x61', '\x62', '\x6c', '\x65', '\x50', '\x72', '\x69', '\x6e', '\x74', '\x65', '\x72', '\x29', '\x20', '\x3c', '\x3c', '\x20', '\x44', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x28', '\x73', '\x74', '\x61', '\x74', '\x73', '\x2e', '\x6d', '\x65', '\x61', '\x6e', '\x2e', '\x70', '\x6f', '\x69', '\x6e', '\x74', '\x2e', '\x63', '\x6f', '\x75', '\x6e', '\x74', '\x28', '\x29', '\x29', '\x20', '\x3c', '\x3c', '\x20', '\x43', '\x6f', '\x6c', '\x75', '\x6d', '\x6e', '\x42', '\x72', '\x65', '\x61', '\x6b', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x65', '\x6c', '\x73', '\x65', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x28', '\x2a', '\x6d', '\x5f', '\x74', '\x61', '\x62', '\x6c', '\x65', '\x50', '\x72', '\x69', '\x6e', '\x74', '\x65', '\x72', '\x29', '\x20', '\x3c', '\x3c', '\x20', '\x43', '\x6f', '\x6c', '\x75', '\x6d', '\x6e', '\x42', '\x72', '\x65', '\x61', '\x6b', '\x28', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x3c', '\x3c', '\x20', '\x44', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x28', '\x73', '\x74', '\x61', '\x74', '\x73', '\x2e', '\x6d', '\x65', '\x61', '\x6e', '\x2e', '\x70', '\x6f', '\x69', '\x6e', '\x74', '\x2e', '\x63', '\x6f', '\x75', '\x6e', '\x74', '\x28', '\x29', '\x29', '\x20', '\x3c', '\x3c', '\x20', '\x43', '\x6f', '\x6c', '\x75', '\x6d', '\x6e', '\x42', '\x72', '\x65', '\x61', '\x6b', '\x28', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x3c', '\x3c', '\x20', '\x44', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x28', '\x73', '\x74', '\x61', '\x74', '\x73', '\x2e', '\x6d', '\x65', '\x61', '\x6e', '\x2e', '\x6c', '\x6f', '\x77', '\x65', '\x72', '\x5f', '\x62', '\x6f', '\x75', '\x6e', '\x64', '\x2e', '\x63', '\x6f', '\x75', '\x6e', '\x74', '\x28', '\x29', '\x29', '\x20', '\x3c', '\x3c', '\x20', '\x43', '\x6f', '\x6c', '\x75', '\x6d', '\x6e', '\x42', '\x72', '\x65', '\x61', '\x6b', '\x28', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x3c', '\x3c', '\x20', '\x44', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x28', '\x73', '\x74', '\x61', '\x74', '\x73', '\x2e', '\x6d', '\x65', '\x61', '\x6e', '\x2e', '\x75', '\x70', '\x70', '\x65', '\x72', '\x5f', '\x62', '\x6f', '\x75', '\x6e', '\x64', '\x2e', '\x63', '\x6f', '\x75', '\x6e', '\x74', '\x28', '\x29', '\x29', '\x20', '\x3c', '\x3c', '\x20', '\x43', '\x6f', '\x6c', '\x75', '\x6d', '\x6e', '\x42', '\x72', '\x65', '\x61', '\x6b', '\x28', '\x29', '\x20', '\x3c', '\x3c', '\x20', '\x43', '\x6f', '\x6c', '\x75', '\x6d', '\x6e', '\x42', '\x72', '\x65', '\x61', '\x6b', '\x28', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x3c', '\x3c', '\x20', '\x44', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x28', '\x73', '\x74', '\x61', '\x74', '\x73', '\x2e', '\x73', '\x74', '\x61', '\x6e', '\x64', '\x61', '\x72', '\x64', '\x44', '\x65', '\x76', '\x69', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x2e', '\x70', '\x6f', '\x69', '\x6e', '\x74', '\x2e', '\x63', '\x6f', '\x75', '\x6e', '\x74', '\x28', '\x29', '\x29', '\x20', '\x3c', '\x3c', '\x20', '\x43', '\x6f', '\x6c', '\x75', '\x6d', '\x6e', '\x42', '\x72', '\x65', '\x61', '\x6b', '\x28', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x3c', '\x3c', '\x20', '\x44', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x28', '\x73', '\x74', '\x61', '\x74', '\x73', '\x2e', '\x73', '\x74', '\x61', '\x6e', '\x64', '\x61', '\x72', '\x64', '\x44', '\x65', '\x76', '\x69', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x2e', '\x6c', '\x6f', '\x77', '\x65', '\x72', '\x5f', '\x62', '\x6f', '\x75', '\x6e', '\x64', '\x2e', '\x63', '\x6f', '\x75', '\x6e', '\x74', '\x28', '\x29', '\x29', '\x20', '\x3c', '\x3c', '\x20', '\x43', '\x6f', '\x6c', '\x75', '\x6d', '\x6e', '\x42', '\x72', '\x65', '\x61', '\x6b', '\x28', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x3c', '\x3c', '\x20', '\x44', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x28', '\x73', '\x74', '\x61', '\x74', '\x73', '\x2e', '\x73', '\x74', '\x61', '\x6e', '\x64', '\x61', '\x72', '\x64', '\x44', '\x65', '\x76', '\x69', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x2e', '\x75', '\x70', '\x70', '\x65', '\x72', '\x5f', '\x62', '\x6f', '\x75', '\x6e', '\x64', '\x2e', '\x63', '\x6f', '\x75', '\x6e', '\x74', '\x28', '\x29', '\x29', '\x20', '\x3c', '\x3c', '\x20', '\x43', '\x6f', '\x6c', '\x75', '\x6d', '\x6e', '\x42', '\x72', '\x65', '\x61', '\x6b', '\x28', '\x29', '\x20', '\x3c', '\x3c', '\x20', '\x43', '\x6f', '\x6c', '\x75', '\x6d', '\x6e', '\x42', '\x72', '\x65', '\x61', '\x6b', '\x28', '\x29', '\x20', '\x3c', '\x3c', '\x20', '\x43', '\x6f', '\x6c', '\x75', '\x6d', '\x6e', '\x42', '\x72', '\x65', '\x61', '\x6b', '\x28', '\x29', '\x20', '\x3c', '\x3c', '\x20', '\x43', '\x6f', '\x6c', '\x75', '\x6d', '\x6e', '\x42', '\x72', '\x65', '\x61', '\x6b', '\x28', '\x29', '\x20', '\x3c', '\x3c', '\x20', '\x43', '\x6f', '\x6c', '\x75', '\x6d', '\x6e', '\x42', '\x72', '\x65', '\x61', '\x6b', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x43', '\x6f', '\x6e', '\x73', '\x6f', '\x6c', '\x65', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x3a', '\x3a', '\x62', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x46', '\x61', '\x69', '\x6c', '\x65', '\x64', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x65', '\x72', '\x72', '\x6f', '\x72', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x09', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x20', '\x63', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x28', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x3a', '\x3a', '\x52', '\x65', '\x64', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x28', '\x2a', '\x6d', '\x5f', '\x74', '\x61', '\x62', '\x6c', '\x65', '\x50', '\x72', '\x69', '\x6e', '\x74', '\x65', '\x72', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x3c', '\x3c', '\x20', '\x22', '\x42', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x20', '\x66', '\x61', '\x69', '\x6c', '\x65', '\x64', '\x20', '\x28', '\x22', '\x20', '\x3c', '\x3c', '\x20', '\x65', '\x72', '\x72', '\x6f', '\x72', '\x20', '\x3c', '\x3c', '\x20', '\x27', '\x29', '\x27', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x3c', '\x3c', '\x20', '\x43', '\x6f', '\x6c', '\x75', '\x6d', '\x6e', '\x42', '\x72', '\x65', '\x61', '\x6b', '\x28', '\x29', '\x20', '\x3c', '\x3c', '\x20', '\x52', '\x6f', '\x77', '\x42', '\x72', '\x65', '\x61', '\x6b', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x7d', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x20', '\x2f', '\x2f', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x45', '\x4e', '\x41', '\x42', '\x4c', '\x45', '\x5f', '\x42', '\x45', '\x4e', '\x43', '\x48', '\x4d', '\x41', '\x52', '\x4b', '\x49', '\x4e', '\x47', '\x0d', '\x0a', '\x0d', '\x0a', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x43', '\x6f', '\x6e', '\x73', '\x6f', '\x6c', '\x65', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x3a', '\x3a', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x45', '\x6e', '\x64', '\x65', '\x64', '\x28', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x53', '\x74', '\x61', '\x74', '\x73', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x5f', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x53', '\x74', '\x61', '\x74', '\x73', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x74', '\x61', '\x62', '\x6c', '\x65', '\x50', '\x72', '\x69', '\x6e', '\x74', '\x65', '\x72', '\x2d', '\x3e', '\x63', '\x6c', '\x6f', '\x73', '\x65', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x42', '\x61', '\x73', '\x65', '\x3a', '\x3a', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x45', '\x6e', '\x64', '\x65', '\x64', '\x28', '\x5f', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x53', '\x74', '\x61', '\x74', '\x73', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x68', '\x65', '\x61', '\x64', '\x65', '\x72', '\x50', '\x72', '\x69', '\x6e', '\x74', '\x65', '\x64', '\x20', '\x3d', '\x20', '\x66', '\x61', '\x6c', '\x73', '\x65', '\x3b', '\x0d', '\x0a', '\x7d', '\x0d', '\x0a', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x43', '\x6f', '\x6e', '\x73', '\x6f', '\x6c', '\x65', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x3a', '\x3a', '\x74', '\x65', '\x73', '\x74', '\x47', '\x72', '\x6f', '\x75', '\x70', '\x45', '\x6e', '\x64', '\x65', '\x64', '\x28', '\x54', '\x65', '\x73', '\x74', '\x47', '\x72', '\x6f', '\x75', '\x70', '\x53', '\x74', '\x61', '\x74', '\x73', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x5f', '\x74', '\x65', '\x73', '\x74', '\x47', '\x72', '\x6f', '\x75', '\x70', '\x53', '\x74', '\x61', '\x74', '\x73', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x63', '\x75', '\x72', '\x72', '\x65', '\x6e', '\x74', '\x47', '\x72', '\x6f', '\x75', '\x70', '\x49', '\x6e', '\x66', '\x6f', '\x2e', '\x75', '\x73', '\x65', '\x64', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x72', '\x69', '\x6e', '\x74', '\x53', '\x75', '\x6d', '\x6d', '\x61', '\x72', '\x79', '\x44', '\x69', '\x76', '\x69', '\x64', '\x65', '\x72', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x20', '\x3c', '\x3c', '\x20', '\x22', '\x53', '\x75', '\x6d', '\x6d', '\x61', '\x72', '\x79', '\x20', '\x66', '\x6f', '\x72', '\x20', '\x67', '\x72', '\x6f', '\x75', '\x70', '\x20', '\x27', '\x22', '\x20', '\x3c', '\x3c', '\x20', '\x5f', '\x74', '\x65', '\x73', '\x74', '\x47', '\x72', '\x6f', '\x75', '\x70', '\x53', '\x74', '\x61', '\x74', '\x73', '\x2e', '\x67', '\x72', '\x6f', '\x75', '\x70', '\x49', '\x6e', '\x66', '\x6f', '\x2e', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x3c', '\x3c', '\x20', '\x22', '\x27', '\x3a', '\x5c', '\x6e', '\x22', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x72', '\x69', '\x6e', '\x74', '\x54', '\x6f', '\x74', '\x61', '\x6c', '\x73', '\x28', '\x5f', '\x74', '\x65', '\x73', '\x74', '\x47', '\x72', '\x6f', '\x75', '\x70', '\x53', '\x74', '\x61', '\x74', '\x73', '\x2e', '\x74', '\x6f', '\x74', '\x61', '\x6c', '\x73', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x20', '\x3c', '\x3c', '\x20', '\x27', '\x5c', '\x6e', '\x27', '\x20', '\x3c', '\x3c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x65', '\x6e', '\x64', '\x6c', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x42', '\x61', '\x73', '\x65', '\x3a', '\x3a', '\x74', '\x65', '\x73', '\x74', '\x47', '\x72', '\x6f', '\x75', '\x70', '\x45', '\x6e', '\x64', '\x65', '\x64', '\x28', '\x5f', '\x74', '\x65', '\x73', '\x74', '\x47', '\x72', '\x6f', '\x75', '\x70', '\x53', '\x74', '\x61', '\x74', '\x73', '\x29', '\x3b', '\x0d', '\x0a', '\x7d', '\x0d', '\x0a', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x43', '\x6f', '\x6e', '\x73', '\x6f', '\x6c', '\x65', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x3a', '\x3a', '\x74', '\x65', '\x73', '\x74', '\x52', '\x75', '\x6e', '\x45', '\x6e', '\x64', '\x65', '\x64', '\x28', '\x54', '\x65', '\x73', '\x74', '\x52', '\x75', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x73', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x5f', '\x74', '\x65', '\x73', '\x74', '\x52', '\x75', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x73', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x70', '\x72', '\x69', '\x6e', '\x74', '\x54', '\x6f', '\x74', '\x61', '\x6c', '\x73', '\x44', '\x69', '\x76', '\x69', '\x64', '\x65', '\x72', '\x28', '\x5f', '\x74', '\x65', '\x73', '\x74', '\x52', '\x75', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x73', '\x2e', '\x74', '\x6f', '\x74', '\x61', '\x6c', '\x73', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x70', '\x72', '\x69', '\x6e', '\x74', '\x54', '\x6f', '\x74', '\x61', '\x6c', '\x73', '\x28', '\x5f', '\x74', '\x65', '\x73', '\x74', '\x52', '\x75', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x73', '\x2e', '\x74', '\x6f', '\x74', '\x61', '\x6c', '\x73', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x20', '\x3c', '\x3c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x65', '\x6e', '\x64', '\x6c', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x42', '\x61', '\x73', '\x65', '\x3a', '\x3a', '\x74', '\x65', '\x73', '\x74', '\x52', '\x75', '\x6e', '\x45', '\x6e', '\x64', '\x65', '\x64', '\x28', '\x5f', '\x74', '\x65', '\x73', '\x74', '\x52', '\x75', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x73', '\x29', '\x3b', '\x0d', '\x0a', '\x7d', '\x0d', '\x0a', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x43', '\x6f', '\x6e', '\x73', '\x6f', '\x6c', '\x65', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x3a', '\x3a', '\x74', '\x65', '\x73', '\x74', '\x52', '\x75', '\x6e', '\x53', '\x74', '\x61', '\x72', '\x74', '\x69', '\x6e', '\x67', '\x28', '\x54', '\x65', '\x73', '\x74', '\x52', '\x75', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x5f', '\x74', '\x65', '\x73', '\x74', '\x49', '\x6e', '\x66', '\x6f', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x42', '\x61', '\x73', '\x65', '\x3a', '\x3a', '\x74', '\x65', '\x73', '\x74', '\x52', '\x75', '\x6e', '\x53', '\x74', '\x61', '\x72', '\x74', '\x69', '\x6e', '\x67', '\x28', '\x5f', '\x74', '\x65', '\x73', '\x74', '\x49', '\x6e', '\x66', '\x6f', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x70', '\x72', '\x69', '\x6e', '\x74', '\x54', '\x65', '\x73', '\x74', '\x46', '\x69', '\x6c', '\x74', '\x65', '\x72', '\x73', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x43', '\x6f', '\x6e', '\x73', '\x6f', '\x6c', '\x65', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x3a', '\x3a', '\x6c', '\x61', '\x7a', '\x79', '\x50', '\x72', '\x69', '\x6e', '\x74', '\x28', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x74', '\x61', '\x62', '\x6c', '\x65', '\x50', '\x72', '\x69', '\x6e', '\x74', '\x65', '\x72', '\x2d', '\x3e', '\x63', '\x6c', '\x6f', '\x73', '\x65', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x6c', '\x61', '\x7a', '\x79', '\x50', '\x72', '\x69', '\x6e', '\x74', '\x57', '\x69', '\x74', '\x68', '\x6f', '\x75', '\x74', '\x43', '\x6c', '\x6f', '\x73', '\x69', '\x6e', '\x67', '\x42', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x54', '\x61', '\x62', '\x6c', '\x65', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x43', '\x6f', '\x6e', '\x73', '\x6f', '\x6c', '\x65', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x3a', '\x3a', '\x6c', '\x61', '\x7a', '\x79', '\x50', '\x72', '\x69', '\x6e', '\x74', '\x57', '\x69', '\x74', '\x68', '\x6f', '\x75', '\x74', '\x43', '\x6c', '\x6f', '\x73', '\x69', '\x6e', '\x67', '\x42', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x54', '\x61', '\x62', '\x6c', '\x65', '\x28', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x21', '\x63', '\x75', '\x72', '\x72', '\x65', '\x6e', '\x74', '\x54', '\x65', '\x73', '\x74', '\x52', '\x75', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x2e', '\x75', '\x73', '\x65', '\x64', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6c', '\x61', '\x7a', '\x79', '\x50', '\x72', '\x69', '\x6e', '\x74', '\x52', '\x75', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x21', '\x63', '\x75', '\x72', '\x72', '\x65', '\x6e', '\x74', '\x47', '\x72', '\x6f', '\x75', '\x70', '\x49', '\x6e', '\x66', '\x6f', '\x2e', '\x75', '\x73', '\x65', '\x64', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6c', '\x61', '\x7a', '\x79', '\x50', '\x72', '\x69', '\x6e', '\x74', '\x47', '\x72', '\x6f', '\x75', '\x70', '\x49', '\x6e', '\x66', '\x6f', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x21', '\x6d', '\x5f', '\x68', '\x65', '\x61', '\x64', '\x65', '\x72', '\x50', '\x72', '\x69', '\x6e', '\x74', '\x65', '\x64', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x72', '\x69', '\x6e', '\x74', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x41', '\x6e', '\x64', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x48', '\x65', '\x61', '\x64', '\x65', '\x72', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x68', '\x65', '\x61', '\x64', '\x65', '\x72', '\x50', '\x72', '\x69', '\x6e', '\x74', '\x65', '\x64', '\x20', '\x3d', '\x20', '\x74', '\x72', '\x75', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x7d', '\x0d', '\x0a', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x43', '\x6f', '\x6e', '\x73', '\x6f', '\x6c', '\x65', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x3a', '\x3a', '\x6c', '\x61', '\x7a', '\x79', '\x50', '\x72', '\x69', '\x6e', '\x74', '\x52', '\x75', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x28', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x20', '\x3c', '\x3c', '\x20', '\x27', '\x5c', '\x6e', '\x27', '\x20', '\x3c', '\x3c', '\x20', '\x67', '\x65', '\x74', '\x4c', '\x69', '\x6e', '\x65', '\x4f', '\x66', '\x43', '\x68', '\x61', '\x72', '\x73', '\x3c', '\x27', '\x7e', '\x27', '\x3e', '\x28', '\x29', '\x20', '\x3c', '\x3c', '\x20', '\x27', '\x5c', '\x6e', '\x27', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x20', '\x63', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x28', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x3a', '\x3a', '\x53', '\x65', '\x63', '\x6f', '\x6e', '\x64', '\x61', '\x72', '\x79', '\x54', '\x65', '\x78', '\x74', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x20', '\x3c', '\x3c', '\x20', '\x63', '\x75', '\x72', '\x72', '\x65', '\x6e', '\x74', '\x54', '\x65', '\x73', '\x74', '\x52', '\x75', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x2d', '\x3e', '\x6e', '\x61', '\x6d', '\x65', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x3c', '\x3c', '\x20', '\x22', '\x20', '\x69', '\x73', '\x20', '\x61', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x76', '\x22', '\x20', '\x3c', '\x3c', '\x20', '\x6c', '\x69', '\x62', '\x72', '\x61', '\x72', '\x79', '\x56', '\x65', '\x72', '\x73', '\x69', '\x6f', '\x6e', '\x28', '\x29', '\x20', '\x3c', '\x3c', '\x20', '\x22', '\x20', '\x68', '\x6f', '\x73', '\x74', '\x20', '\x61', '\x70', '\x70', '\x6c', '\x69', '\x63', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x2e', '\x5c', '\x6e', '\x22', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x3c', '\x3c', '\x20', '\x22', '\x52', '\x75', '\x6e', '\x20', '\x77', '\x69', '\x74', '\x68', '\x20', '\x2d', '\x3f', '\x20', '\x66', '\x6f', '\x72', '\x20', '\x6f', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x5c', '\x6e', '\x5c', '\x6e', '\x22', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x6d', '\x5f', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x2d', '\x3e', '\x72', '\x6e', '\x67', '\x53', '\x65', '\x65', '\x64', '\x28', '\x29', '\x20', '\x21', '\x3d', '\x20', '\x30', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x20', '\x3c', '\x3c', '\x20', '\x22', '\x52', '\x61', '\x6e', '\x64', '\x6f', '\x6d', '\x6e', '\x65', '\x73', '\x73', '\x20', '\x73', '\x65', '\x65', '\x64', '\x65', '\x64', '\x20', '\x74', '\x6f', '\x3a', '\x20', '\x22', '\x20', '\x3c', '\x3c', '\x20', '\x6d', '\x5f', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x2d', '\x3e', '\x72', '\x6e', '\x67', '\x53', '\x65', '\x65', '\x64', '\x28', '\x29', '\x20', '\x3c', '\x3c', '\x20', '\x22', '\x5c', '\x6e', '\x5c', '\x6e', '\x22', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x63', '\x75', '\x72', '\x72', '\x65', '\x6e', '\x74', '\x54', '\x65', '\x73', '\x74', '\x52', '\x75', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x2e', '\x75', '\x73', '\x65', '\x64', '\x20', '\x3d', '\x20', '\x74', '\x72', '\x75', '\x65', '\x3b', '\x0d', '\x0a', '\x7d', '\x0d', '\x0a', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x43', '\x6f', '\x6e', '\x73', '\x6f', '\x6c', '\x65', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x3a', '\x3a', '\x6c', '\x61', '\x7a', '\x79', '\x50', '\x72', '\x69', '\x6e', '\x74', '\x47', '\x72', '\x6f', '\x75', '\x70', '\x49', '\x6e', '\x66', '\x6f', '\x28', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x21', '\x63', '\x75', '\x72', '\x72', '\x65', '\x6e', '\x74', '\x47', '\x72', '\x6f', '\x75', '\x70', '\x49', '\x6e', '\x66', '\x6f', '\x2d', '\x3e', '\x6e', '\x61', '\x6d', '\x65', '\x2e', '\x65', '\x6d', '\x70', '\x74', '\x79', '\x28', '\x29', '\x20', '\x26', '\x26', '\x20', '\x63', '\x75', '\x72', '\x72', '\x65', '\x6e', '\x74', '\x47', '\x72', '\x6f', '\x75', '\x70', '\x49', '\x6e', '\x66', '\x6f', '\x2d', '\x3e', '\x67', '\x72', '\x6f', '\x75', '\x70', '\x73', '\x43', '\x6f', '\x75', '\x6e', '\x74', '\x73', '\x20', '\x3e', '\x20', '\x31', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x72', '\x69', '\x6e', '\x74', '\x43', '\x6c', '\x6f', '\x73', '\x65', '\x64', '\x48', '\x65', '\x61', '\x64', '\x65', '\x72', '\x28', '\x22', '\x47', '\x72', '\x6f', '\x75', '\x70', '\x3a', '\x20', '\x22', '\x20', '\x2b', '\x20', '\x63', '\x75', '\x72', '\x72', '\x65', '\x6e', '\x74', '\x47', '\x72', '\x6f', '\x75', '\x70', '\x49', '\x6e', '\x66', '\x6f', '\x2d', '\x3e', '\x6e', '\x61', '\x6d', '\x65', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x75', '\x72', '\x72', '\x65', '\x6e', '\x74', '\x47', '\x72', '\x6f', '\x75', '\x70', '\x49', '\x6e', '\x66', '\x6f', '\x2e', '\x75', '\x73', '\x65', '\x64', '\x20', '\x3d', '\x20', '\x74', '\x72', '\x75', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x7d', '\x0d', '\x0a', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x43', '\x6f', '\x6e', '\x73', '\x6f', '\x6c', '\x65', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x3a', '\x3a', '\x70', '\x72', '\x69', '\x6e', '\x74', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x41', '\x6e', '\x64', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x48', '\x65', '\x61', '\x64', '\x65', '\x72', '\x28', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x28', '\x21', '\x6d', '\x5f', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x53', '\x74', '\x61', '\x63', '\x6b', '\x2e', '\x65', '\x6d', '\x70', '\x74', '\x79', '\x28', '\x29', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x70', '\x72', '\x69', '\x6e', '\x74', '\x4f', '\x70', '\x65', '\x6e', '\x48', '\x65', '\x61', '\x64', '\x65', '\x72', '\x28', '\x63', '\x75', '\x72', '\x72', '\x65', '\x6e', '\x74', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x2d', '\x3e', '\x6e', '\x61', '\x6d', '\x65', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x6d', '\x5f', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x53', '\x74', '\x61', '\x63', '\x6b', '\x2e', '\x73', '\x69', '\x7a', '\x65', '\x28', '\x29', '\x20', '\x3e', '\x20', '\x31', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x20', '\x63', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x47', '\x75', '\x61', '\x72', '\x64', '\x28', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x3a', '\x3a', '\x48', '\x65', '\x61', '\x64', '\x65', '\x72', '\x73', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x74', '\x20', '\x3d', '\x20', '\x6d', '\x5f', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x53', '\x74', '\x61', '\x63', '\x6b', '\x2e', '\x62', '\x65', '\x67', '\x69', '\x6e', '\x28', '\x29', '\x20', '\x2b', '\x20', '\x31', '\x2c', '\x20', '\x2f', '\x2f', '\x20', '\x53', '\x6b', '\x69', '\x70', '\x20', '\x66', '\x69', '\x72', '\x73', '\x74', '\x20', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x28', '\x74', '\x65', '\x73', '\x74', '\x20', '\x63', '\x61', '\x73', '\x65', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x74', '\x45', '\x6e', '\x64', '\x20', '\x3d', '\x20', '\x6d', '\x5f', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x53', '\x74', '\x61', '\x63', '\x6b', '\x2e', '\x65', '\x6e', '\x64', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x66', '\x6f', '\x72', '\x20', '\x28', '\x3b', '\x20', '\x69', '\x74', '\x20', '\x21', '\x3d', '\x20', '\x69', '\x74', '\x45', '\x6e', '\x64', '\x3b', '\x20', '\x2b', '\x2b', '\x69', '\x74', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x72', '\x69', '\x6e', '\x74', '\x48', '\x65', '\x61', '\x64', '\x65', '\x72', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x28', '\x69', '\x74', '\x2d', '\x3e', '\x6e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x32', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x53', '\x6f', '\x75', '\x72', '\x63', '\x65', '\x4c', '\x69', '\x6e', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x6c', '\x69', '\x6e', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x3d', '\x20', '\x6d', '\x5f', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x53', '\x74', '\x61', '\x63', '\x6b', '\x2e', '\x62', '\x61', '\x63', '\x6b', '\x28', '\x29', '\x2e', '\x6c', '\x69', '\x6e', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x20', '\x3c', '\x3c', '\x20', '\x67', '\x65', '\x74', '\x4c', '\x69', '\x6e', '\x65', '\x4f', '\x66', '\x43', '\x68', '\x61', '\x72', '\x73', '\x3c', '\x27', '\x2d', '\x27', '\x3e', '\x28', '\x29', '\x20', '\x3c', '\x3c', '\x20', '\x27', '\x5c', '\x6e', '\x27', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x20', '\x63', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x47', '\x75', '\x61', '\x72', '\x64', '\x28', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x3a', '\x3a', '\x46', '\x69', '\x6c', '\x65', '\x4e', '\x61', '\x6d', '\x65', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x20', '\x3c', '\x3c', '\x20', '\x6c', '\x69', '\x6e', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x3c', '\x3c', '\x20', '\x27', '\x5c', '\x6e', '\x27', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x20', '\x3c', '\x3c', '\x20', '\x67', '\x65', '\x74', '\x4c', '\x69', '\x6e', '\x65', '\x4f', '\x66', '\x43', '\x68', '\x61', '\x72', '\x73', '\x3c', '\x27', '\x2e', '\x27', '\x3e', '\x28', '\x29', '\x20', '\x3c', '\x3c', '\x20', '\x27', '\x5c', '\x6e', '\x27', '\x20', '\x3c', '\x3c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x65', '\x6e', '\x64', '\x6c', '\x3b', '\x0d', '\x0a', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x43', '\x6f', '\x6e', '\x73', '\x6f', '\x6c', '\x65', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x3a', '\x3a', '\x70', '\x72', '\x69', '\x6e', '\x74', '\x43', '\x6c', '\x6f', '\x73', '\x65', '\x64', '\x48', '\x65', '\x61', '\x64', '\x65', '\x72', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x5f', '\x6e', '\x61', '\x6d', '\x65', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x70', '\x72', '\x69', '\x6e', '\x74', '\x4f', '\x70', '\x65', '\x6e', '\x48', '\x65', '\x61', '\x64', '\x65', '\x72', '\x28', '\x5f', '\x6e', '\x61', '\x6d', '\x65', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x20', '\x3c', '\x3c', '\x20', '\x67', '\x65', '\x74', '\x4c', '\x69', '\x6e', '\x65', '\x4f', '\x66', '\x43', '\x68', '\x61', '\x72', '\x73', '\x3c', '\x27', '\x2e', '\x27', '\x3e', '\x28', '\x29', '\x20', '\x3c', '\x3c', '\x20', '\x27', '\x5c', '\x6e', '\x27', '\x3b', '\x0d', '\x0a', '\x7d', '\x0d', '\x0a', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x43', '\x6f', '\x6e', '\x73', '\x6f', '\x6c', '\x65', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x3a', '\x3a', '\x70', '\x72', '\x69', '\x6e', '\x74', '\x4f', '\x70', '\x65', '\x6e', '\x48', '\x65', '\x61', '\x64', '\x65', '\x72', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x5f', '\x6e', '\x61', '\x6d', '\x65', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x20', '\x3c', '\x3c', '\x20', '\x67', '\x65', '\x74', '\x4c', '\x69', '\x6e', '\x65', '\x4f', '\x66', '\x43', '\x68', '\x61', '\x72', '\x73', '\x3c', '\x27', '\x2d', '\x27', '\x3e', '\x28', '\x29', '\x20', '\x3c', '\x3c', '\x20', '\x27', '\x5c', '\x6e', '\x27', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x20', '\x63', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x47', '\x75', '\x61', '\x72', '\x64', '\x28', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x3a', '\x3a', '\x48', '\x65', '\x61', '\x64', '\x65', '\x72', '\x73', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x72', '\x69', '\x6e', '\x74', '\x48', '\x65', '\x61', '\x64', '\x65', '\x72', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x28', '\x5f', '\x6e', '\x61', '\x6d', '\x65', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x69', '\x66', '\x20', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x68', '\x61', '\x73', '\x20', '\x61', '\x20', '\x3a', '\x20', '\x69', '\x6e', '\x20', '\x66', '\x69', '\x72', '\x73', '\x74', '\x20', '\x6c', '\x69', '\x6e', '\x65', '\x20', '\x77', '\x69', '\x6c', '\x6c', '\x20', '\x73', '\x65', '\x74', '\x20', '\x69', '\x6e', '\x64', '\x65', '\x6e', '\x74', '\x20', '\x74', '\x6f', '\x20', '\x66', '\x6f', '\x6c', '\x6c', '\x6f', '\x77', '\x20', '\x69', '\x74', '\x20', '\x6f', '\x6e', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x75', '\x62', '\x73', '\x65', '\x71', '\x75', '\x65', '\x6e', '\x74', '\x20', '\x6c', '\x69', '\x6e', '\x65', '\x73', '\x0d', '\x0a', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x43', '\x6f', '\x6e', '\x73', '\x6f', '\x6c', '\x65', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x3a', '\x3a', '\x70', '\x72', '\x69', '\x6e', '\x74', '\x48', '\x65', '\x61', '\x64', '\x65', '\x72', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x5f', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x2c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x69', '\x7a', '\x65', '\x5f', '\x74', '\x20', '\x69', '\x6e', '\x64', '\x65', '\x6e', '\x74', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x69', '\x7a', '\x65', '\x5f', '\x74', '\x20', '\x69', '\x20', '\x3d', '\x20', '\x5f', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x2e', '\x66', '\x69', '\x6e', '\x64', '\x28', '\x22', '\x3a', '\x20', '\x22', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x69', '\x20', '\x21', '\x3d', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x3a', '\x3a', '\x6e', '\x70', '\x6f', '\x73', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x20', '\x2b', '\x3d', '\x20', '\x32', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x65', '\x6c', '\x73', '\x65', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x20', '\x3c', '\x3c', '\x20', '\x43', '\x6f', '\x6c', '\x75', '\x6d', '\x6e', '\x28', '\x5f', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x29', '\x2e', '\x69', '\x6e', '\x64', '\x65', '\x6e', '\x74', '\x28', '\x69', '\x6e', '\x64', '\x65', '\x6e', '\x74', '\x20', '\x2b', '\x20', '\x69', '\x29', '\x2e', '\x69', '\x6e', '\x69', '\x74', '\x69', '\x61', '\x6c', '\x49', '\x6e', '\x64', '\x65', '\x6e', '\x74', '\x28', '\x69', '\x6e', '\x64', '\x65', '\x6e', '\x74', '\x29', '\x20', '\x3c', '\x3c', '\x20', '\x27', '\x5c', '\x6e', '\x27', '\x3b', '\x0d', '\x0a', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x73', '\x74', '\x72', '\x75', '\x63', '\x74', '\x20', '\x53', '\x75', '\x6d', '\x6d', '\x61', '\x72', '\x79', '\x43', '\x6f', '\x6c', '\x75', '\x6d', '\x6e', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x53', '\x75', '\x6d', '\x6d', '\x61', '\x72', '\x79', '\x43', '\x6f', '\x6c', '\x75', '\x6d', '\x6e', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x5f', '\x6c', '\x61', '\x62', '\x65', '\x6c', '\x2c', '\x20', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x3a', '\x3a', '\x43', '\x6f', '\x64', '\x65', '\x20', '\x5f', '\x63', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x3a', '\x20', '\x20', '\x20', '\x6c', '\x61', '\x62', '\x65', '\x6c', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6d', '\x6f', '\x76', '\x65', '\x28', '\x20', '\x5f', '\x6c', '\x61', '\x62', '\x65', '\x6c', '\x20', '\x29', '\x20', '\x29', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x28', '\x20', '\x5f', '\x63', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x20', '\x29', '\x20', '\x7b', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x53', '\x75', '\x6d', '\x6d', '\x61', '\x72', '\x79', '\x43', '\x6f', '\x6c', '\x75', '\x6d', '\x6e', '\x20', '\x61', '\x64', '\x64', '\x52', '\x6f', '\x77', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x69', '\x7a', '\x65', '\x5f', '\x74', '\x20', '\x63', '\x6f', '\x75', '\x6e', '\x74', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x52', '\x65', '\x75', '\x73', '\x61', '\x62', '\x6c', '\x65', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x20', '\x72', '\x73', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x73', '\x73', '\x20', '\x3c', '\x3c', '\x20', '\x63', '\x6f', '\x75', '\x6e', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x72', '\x6f', '\x77', '\x20', '\x3d', '\x20', '\x72', '\x73', '\x73', '\x2e', '\x73', '\x74', '\x72', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x66', '\x6f', '\x72', '\x20', '\x28', '\x61', '\x75', '\x74', '\x6f', '\x26', '\x20', '\x6f', '\x6c', '\x64', '\x52', '\x6f', '\x77', '\x20', '\x3a', '\x20', '\x72', '\x6f', '\x77', '\x73', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x77', '\x68', '\x69', '\x6c', '\x65', '\x20', '\x28', '\x6f', '\x6c', '\x64', '\x52', '\x6f', '\x77', '\x2e', '\x73', '\x69', '\x7a', '\x65', '\x28', '\x29', '\x20', '\x3c', '\x20', '\x72', '\x6f', '\x77', '\x2e', '\x73', '\x69', '\x7a', '\x65', '\x28', '\x29', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6f', '\x6c', '\x64', '\x52', '\x6f', '\x77', '\x20', '\x3d', '\x20', '\x27', '\x20', '\x27', '\x20', '\x2b', '\x20', '\x6f', '\x6c', '\x64', '\x52', '\x6f', '\x77', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x77', '\x68', '\x69', '\x6c', '\x65', '\x20', '\x28', '\x6f', '\x6c', '\x64', '\x52', '\x6f', '\x77', '\x2e', '\x73', '\x69', '\x7a', '\x65', '\x28', '\x29', '\x20', '\x3e', '\x20', '\x72', '\x6f', '\x77', '\x2e', '\x73', '\x69', '\x7a', '\x65', '\x28', '\x29', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x6f', '\x77', '\x20', '\x3d', '\x20', '\x27', '\x20', '\x27', '\x20', '\x2b', '\x20', '\x72', '\x6f', '\x77', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x6f', '\x77', '\x73', '\x2e', '\x70', '\x75', '\x73', '\x68', '\x5f', '\x62', '\x61', '\x63', '\x6b', '\x28', '\x72', '\x6f', '\x77', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x2a', '\x74', '\x68', '\x69', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x6c', '\x61', '\x62', '\x65', '\x6c', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x3a', '\x3a', '\x43', '\x6f', '\x64', '\x65', '\x20', '\x63', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x3e', '\x20', '\x72', '\x6f', '\x77', '\x73', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x7d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x43', '\x6f', '\x6e', '\x73', '\x6f', '\x6c', '\x65', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x3a', '\x3a', '\x70', '\x72', '\x69', '\x6e', '\x74', '\x54', '\x6f', '\x74', '\x61', '\x6c', '\x73', '\x28', '\x20', '\x54', '\x6f', '\x74', '\x61', '\x6c', '\x73', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x74', '\x6f', '\x74', '\x61', '\x6c', '\x73', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x74', '\x6f', '\x74', '\x61', '\x6c', '\x73', '\x2e', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x73', '\x2e', '\x74', '\x6f', '\x74', '\x61', '\x6c', '\x28', '\x29', '\x20', '\x3d', '\x3d', '\x20', '\x30', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x20', '\x3c', '\x3c', '\x20', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x28', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x3a', '\x3a', '\x57', '\x61', '\x72', '\x6e', '\x69', '\x6e', '\x67', '\x29', '\x20', '\x3c', '\x3c', '\x20', '\x22', '\x4e', '\x6f', '\x20', '\x74', '\x65', '\x73', '\x74', '\x73', '\x20', '\x72', '\x61', '\x6e', '\x5c', '\x6e', '\x22', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x20', '\x65', '\x6c', '\x73', '\x65', '\x20', '\x69', '\x66', '\x20', '\x28', '\x74', '\x6f', '\x74', '\x61', '\x6c', '\x73', '\x2e', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x2e', '\x74', '\x6f', '\x74', '\x61', '\x6c', '\x28', '\x29', '\x20', '\x3e', '\x20', '\x30', '\x20', '\x26', '\x26', '\x20', '\x74', '\x6f', '\x74', '\x61', '\x6c', '\x73', '\x2e', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x73', '\x2e', '\x61', '\x6c', '\x6c', '\x50', '\x61', '\x73', '\x73', '\x65', '\x64', '\x28', '\x29', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x20', '\x3c', '\x3c', '\x20', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x28', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x3a', '\x3a', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x53', '\x75', '\x63', '\x63', '\x65', '\x73', '\x73', '\x29', '\x20', '\x3c', '\x3c', '\x20', '\x22', '\x41', '\x6c', '\x6c', '\x20', '\x74', '\x65', '\x73', '\x74', '\x73', '\x20', '\x70', '\x61', '\x73', '\x73', '\x65', '\x64', '\x22', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x20', '\x3c', '\x3c', '\x20', '\x22', '\x20', '\x28', '\x22', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x3c', '\x3c', '\x20', '\x70', '\x6c', '\x75', '\x72', '\x61', '\x6c', '\x69', '\x73', '\x65', '\x28', '\x74', '\x6f', '\x74', '\x61', '\x6c', '\x73', '\x2e', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x2e', '\x70', '\x61', '\x73', '\x73', '\x65', '\x64', '\x2c', '\x20', '\x22', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x22', '\x29', '\x20', '\x3c', '\x3c', '\x20', '\x22', '\x20', '\x69', '\x6e', '\x20', '\x22', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x3c', '\x3c', '\x20', '\x70', '\x6c', '\x75', '\x72', '\x61', '\x6c', '\x69', '\x73', '\x65', '\x28', '\x74', '\x6f', '\x74', '\x61', '\x6c', '\x73', '\x2e', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x73', '\x2e', '\x70', '\x61', '\x73', '\x73', '\x65', '\x64', '\x2c', '\x20', '\x22', '\x74', '\x65', '\x73', '\x74', '\x20', '\x63', '\x61', '\x73', '\x65', '\x22', '\x29', '\x20', '\x3c', '\x3c', '\x20', '\x27', '\x29', '\x27', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x3c', '\x3c', '\x20', '\x27', '\x5c', '\x6e', '\x27', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x20', '\x65', '\x6c', '\x73', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x53', '\x75', '\x6d', '\x6d', '\x61', '\x72', '\x79', '\x43', '\x6f', '\x6c', '\x75', '\x6d', '\x6e', '\x3e', '\x20', '\x63', '\x6f', '\x6c', '\x75', '\x6d', '\x6e', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6f', '\x6c', '\x75', '\x6d', '\x6e', '\x73', '\x2e', '\x70', '\x75', '\x73', '\x68', '\x5f', '\x62', '\x61', '\x63', '\x6b', '\x28', '\x53', '\x75', '\x6d', '\x6d', '\x61', '\x72', '\x79', '\x43', '\x6f', '\x6c', '\x75', '\x6d', '\x6e', '\x28', '\x22', '\x22', '\x2c', '\x20', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x3a', '\x3a', '\x4e', '\x6f', '\x6e', '\x65', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2e', '\x61', '\x64', '\x64', '\x52', '\x6f', '\x77', '\x28', '\x74', '\x6f', '\x74', '\x61', '\x6c', '\x73', '\x2e', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x73', '\x2e', '\x74', '\x6f', '\x74', '\x61', '\x6c', '\x28', '\x29', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2e', '\x61', '\x64', '\x64', '\x52', '\x6f', '\x77', '\x28', '\x74', '\x6f', '\x74', '\x61', '\x6c', '\x73', '\x2e', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x2e', '\x74', '\x6f', '\x74', '\x61', '\x6c', '\x28', '\x29', '\x29', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6f', '\x6c', '\x75', '\x6d', '\x6e', '\x73', '\x2e', '\x70', '\x75', '\x73', '\x68', '\x5f', '\x62', '\x61', '\x63', '\x6b', '\x28', '\x53', '\x75', '\x6d', '\x6d', '\x61', '\x72', '\x79', '\x43', '\x6f', '\x6c', '\x75', '\x6d', '\x6e', '\x28', '\x22', '\x70', '\x61', '\x73', '\x73', '\x65', '\x64', '\x22', '\x2c', '\x20', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x3a', '\x3a', '\x53', '\x75', '\x63', '\x63', '\x65', '\x73', '\x73', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2e', '\x61', '\x64', '\x64', '\x52', '\x6f', '\x77', '\x28', '\x74', '\x6f', '\x74', '\x61', '\x6c', '\x73', '\x2e', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x73', '\x2e', '\x70', '\x61', '\x73', '\x73', '\x65', '\x64', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2e', '\x61', '\x64', '\x64', '\x52', '\x6f', '\x77', '\x28', '\x74', '\x6f', '\x74', '\x61', '\x6c', '\x73', '\x2e', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x2e', '\x70', '\x61', '\x73', '\x73', '\x65', '\x64', '\x29', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6f', '\x6c', '\x75', '\x6d', '\x6e', '\x73', '\x2e', '\x70', '\x75', '\x73', '\x68', '\x5f', '\x62', '\x61', '\x63', '\x6b', '\x28', '\x53', '\x75', '\x6d', '\x6d', '\x61', '\x72', '\x79', '\x43', '\x6f', '\x6c', '\x75', '\x6d', '\x6e', '\x28', '\x22', '\x66', '\x61', '\x69', '\x6c', '\x65', '\x64', '\x22', '\x2c', '\x20', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x3a', '\x3a', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x45', '\x72', '\x72', '\x6f', '\x72', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2e', '\x61', '\x64', '\x64', '\x52', '\x6f', '\x77', '\x28', '\x74', '\x6f', '\x74', '\x61', '\x6c', '\x73', '\x2e', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x73', '\x2e', '\x66', '\x61', '\x69', '\x6c', '\x65', '\x64', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2e', '\x61', '\x64', '\x64', '\x52', '\x6f', '\x77', '\x28', '\x74', '\x6f', '\x74', '\x61', '\x6c', '\x73', '\x2e', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x2e', '\x66', '\x61', '\x69', '\x6c', '\x65', '\x64', '\x29', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6f', '\x6c', '\x75', '\x6d', '\x6e', '\x73', '\x2e', '\x70', '\x75', '\x73', '\x68', '\x5f', '\x62', '\x61', '\x63', '\x6b', '\x28', '\x53', '\x75', '\x6d', '\x6d', '\x61', '\x72', '\x79', '\x43', '\x6f', '\x6c', '\x75', '\x6d', '\x6e', '\x28', '\x22', '\x66', '\x61', '\x69', '\x6c', '\x65', '\x64', '\x20', '\x61', '\x73', '\x20', '\x65', '\x78', '\x70', '\x65', '\x63', '\x74', '\x65', '\x64', '\x22', '\x2c', '\x20', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x3a', '\x3a', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x45', '\x78', '\x70', '\x65', '\x63', '\x74', '\x65', '\x64', '\x46', '\x61', '\x69', '\x6c', '\x75', '\x72', '\x65', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2e', '\x61', '\x64', '\x64', '\x52', '\x6f', '\x77', '\x28', '\x74', '\x6f', '\x74', '\x61', '\x6c', '\x73', '\x2e', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x73', '\x2e', '\x66', '\x61', '\x69', '\x6c', '\x65', '\x64', '\x42', '\x75', '\x74', '\x4f', '\x6b', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2e', '\x61', '\x64', '\x64', '\x52', '\x6f', '\x77', '\x28', '\x74', '\x6f', '\x74', '\x61', '\x6c', '\x73', '\x2e', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x2e', '\x66', '\x61', '\x69', '\x6c', '\x65', '\x64', '\x42', '\x75', '\x74', '\x4f', '\x6b', '\x29', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x72', '\x69', '\x6e', '\x74', '\x53', '\x75', '\x6d', '\x6d', '\x61', '\x72', '\x79', '\x52', '\x6f', '\x77', '\x28', '\x22', '\x74', '\x65', '\x73', '\x74', '\x20', '\x63', '\x61', '\x73', '\x65', '\x73', '\x22', '\x2c', '\x20', '\x63', '\x6f', '\x6c', '\x75', '\x6d', '\x6e', '\x73', '\x2c', '\x20', '\x30', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x72', '\x69', '\x6e', '\x74', '\x53', '\x75', '\x6d', '\x6d', '\x61', '\x72', '\x79', '\x52', '\x6f', '\x77', '\x28', '\x22', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x22', '\x2c', '\x20', '\x63', '\x6f', '\x6c', '\x75', '\x6d', '\x6e', '\x73', '\x2c', '\x20', '\x31', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x7d', '\x0d', '\x0a', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x43', '\x6f', '\x6e', '\x73', '\x6f', '\x6c', '\x65', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x3a', '\x3a', '\x70', '\x72', '\x69', '\x6e', '\x74', '\x53', '\x75', '\x6d', '\x6d', '\x61', '\x72', '\x79', '\x52', '\x6f', '\x77', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6c', '\x61', '\x62', '\x65', '\x6c', '\x2c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x53', '\x75', '\x6d', '\x6d', '\x61', '\x72', '\x79', '\x43', '\x6f', '\x6c', '\x75', '\x6d', '\x6e', '\x3e', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x63', '\x6f', '\x6c', '\x73', '\x2c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x69', '\x7a', '\x65', '\x5f', '\x74', '\x20', '\x72', '\x6f', '\x77', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x66', '\x6f', '\x72', '\x20', '\x28', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x63', '\x6f', '\x6c', '\x20', '\x3a', '\x20', '\x63', '\x6f', '\x6c', '\x73', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x20', '\x3d', '\x20', '\x63', '\x6f', '\x6c', '\x2e', '\x72', '\x6f', '\x77', '\x73', '\x5b', '\x72', '\x6f', '\x77', '\x5d', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x63', '\x6f', '\x6c', '\x2e', '\x6c', '\x61', '\x62', '\x65', '\x6c', '\x2e', '\x65', '\x6d', '\x70', '\x74', '\x79', '\x28', '\x29', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x20', '\x3c', '\x3c', '\x20', '\x6c', '\x61', '\x62', '\x65', '\x6c', '\x20', '\x3c', '\x3c', '\x20', '\x22', '\x3a', '\x20', '\x22', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x20', '\x21', '\x3d', '\x20', '\x22', '\x30', '\x22', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x20', '\x3c', '\x3c', '\x20', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x6c', '\x73', '\x65', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x20', '\x3c', '\x3c', '\x20', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x28', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x3a', '\x3a', '\x57', '\x61', '\x72', '\x6e', '\x69', '\x6e', '\x67', '\x29', '\x20', '\x3c', '\x3c', '\x20', '\x22', '\x2d', '\x20', '\x6e', '\x6f', '\x6e', '\x65', '\x20', '\x2d', '\x22', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x20', '\x65', '\x6c', '\x73', '\x65', '\x20', '\x69', '\x66', '\x20', '\x28', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x20', '\x21', '\x3d', '\x20', '\x22', '\x30', '\x22', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x20', '\x3c', '\x3c', '\x20', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x28', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x3a', '\x3a', '\x4c', '\x69', '\x67', '\x68', '\x74', '\x47', '\x72', '\x65', '\x79', '\x29', '\x20', '\x3c', '\x3c', '\x20', '\x22', '\x20', '\x7c', '\x20', '\x22', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x20', '\x3c', '\x3c', '\x20', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x28', '\x63', '\x6f', '\x6c', '\x2e', '\x63', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x3c', '\x3c', '\x20', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x20', '\x3c', '\x3c', '\x20', '\x27', '\x20', '\x27', '\x20', '\x3c', '\x3c', '\x20', '\x63', '\x6f', '\x6c', '\x2e', '\x6c', '\x61', '\x62', '\x65', '\x6c', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x20', '\x3c', '\x3c', '\x20', '\x27', '\x5c', '\x6e', '\x27', '\x3b', '\x0d', '\x0a', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x43', '\x6f', '\x6e', '\x73', '\x6f', '\x6c', '\x65', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x3a', '\x3a', '\x70', '\x72', '\x69', '\x6e', '\x74', '\x54', '\x6f', '\x74', '\x61', '\x6c', '\x73', '\x44', '\x69', '\x76', '\x69', '\x64', '\x65', '\x72', '\x28', '\x54', '\x6f', '\x74', '\x61', '\x6c', '\x73', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x74', '\x6f', '\x74', '\x61', '\x6c', '\x73', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x74', '\x6f', '\x74', '\x61', '\x6c', '\x73', '\x2e', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x73', '\x2e', '\x74', '\x6f', '\x74', '\x61', '\x6c', '\x28', '\x29', '\x20', '\x3e', '\x20', '\x30', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x69', '\x7a', '\x65', '\x5f', '\x74', '\x20', '\x66', '\x61', '\x69', '\x6c', '\x65', '\x64', '\x52', '\x61', '\x74', '\x69', '\x6f', '\x20', '\x3d', '\x20', '\x6d', '\x61', '\x6b', '\x65', '\x52', '\x61', '\x74', '\x69', '\x6f', '\x28', '\x74', '\x6f', '\x74', '\x61', '\x6c', '\x73', '\x2e', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x73', '\x2e', '\x66', '\x61', '\x69', '\x6c', '\x65', '\x64', '\x2c', '\x20', '\x74', '\x6f', '\x74', '\x61', '\x6c', '\x73', '\x2e', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x73', '\x2e', '\x74', '\x6f', '\x74', '\x61', '\x6c', '\x28', '\x29', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x69', '\x7a', '\x65', '\x5f', '\x74', '\x20', '\x66', '\x61', '\x69', '\x6c', '\x65', '\x64', '\x42', '\x75', '\x74', '\x4f', '\x6b', '\x52', '\x61', '\x74', '\x69', '\x6f', '\x20', '\x3d', '\x20', '\x6d', '\x61', '\x6b', '\x65', '\x52', '\x61', '\x74', '\x69', '\x6f', '\x28', '\x74', '\x6f', '\x74', '\x61', '\x6c', '\x73', '\x2e', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x73', '\x2e', '\x66', '\x61', '\x69', '\x6c', '\x65', '\x64', '\x42', '\x75', '\x74', '\x4f', '\x6b', '\x2c', '\x20', '\x74', '\x6f', '\x74', '\x61', '\x6c', '\x73', '\x2e', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x73', '\x2e', '\x74', '\x6f', '\x74', '\x61', '\x6c', '\x28', '\x29', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x69', '\x7a', '\x65', '\x5f', '\x74', '\x20', '\x70', '\x61', '\x73', '\x73', '\x65', '\x64', '\x52', '\x61', '\x74', '\x69', '\x6f', '\x20', '\x3d', '\x20', '\x6d', '\x61', '\x6b', '\x65', '\x52', '\x61', '\x74', '\x69', '\x6f', '\x28', '\x74', '\x6f', '\x74', '\x61', '\x6c', '\x73', '\x2e', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x73', '\x2e', '\x70', '\x61', '\x73', '\x73', '\x65', '\x64', '\x2c', '\x20', '\x74', '\x6f', '\x74', '\x61', '\x6c', '\x73', '\x2e', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x73', '\x2e', '\x74', '\x6f', '\x74', '\x61', '\x6c', '\x28', '\x29', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x77', '\x68', '\x69', '\x6c', '\x65', '\x20', '\x28', '\x66', '\x61', '\x69', '\x6c', '\x65', '\x64', '\x52', '\x61', '\x74', '\x69', '\x6f', '\x20', '\x2b', '\x20', '\x66', '\x61', '\x69', '\x6c', '\x65', '\x64', '\x42', '\x75', '\x74', '\x4f', '\x6b', '\x52', '\x61', '\x74', '\x69', '\x6f', '\x20', '\x2b', '\x20', '\x70', '\x61', '\x73', '\x73', '\x65', '\x64', '\x52', '\x61', '\x74', '\x69', '\x6f', '\x20', '\x3c', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x43', '\x4f', '\x4e', '\x53', '\x4f', '\x4c', '\x45', '\x5f', '\x57', '\x49', '\x44', '\x54', '\x48', '\x20', '\x2d', '\x20', '\x31', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x66', '\x69', '\x6e', '\x64', '\x4d', '\x61', '\x78', '\x28', '\x66', '\x61', '\x69', '\x6c', '\x65', '\x64', '\x52', '\x61', '\x74', '\x69', '\x6f', '\x2c', '\x20', '\x66', '\x61', '\x69', '\x6c', '\x65', '\x64', '\x42', '\x75', '\x74', '\x4f', '\x6b', '\x52', '\x61', '\x74', '\x69', '\x6f', '\x2c', '\x20', '\x70', '\x61', '\x73', '\x73', '\x65', '\x64', '\x52', '\x61', '\x74', '\x69', '\x6f', '\x29', '\x2b', '\x2b', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x77', '\x68', '\x69', '\x6c', '\x65', '\x20', '\x28', '\x66', '\x61', '\x69', '\x6c', '\x65', '\x64', '\x52', '\x61', '\x74', '\x69', '\x6f', '\x20', '\x2b', '\x20', '\x66', '\x61', '\x69', '\x6c', '\x65', '\x64', '\x42', '\x75', '\x74', '\x4f', '\x6b', '\x52', '\x61', '\x74', '\x69', '\x6f', '\x20', '\x2b', '\x20', '\x70', '\x61', '\x73', '\x73', '\x65', '\x64', '\x52', '\x61', '\x74', '\x69', '\x6f', '\x20', '\x3e', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x43', '\x4f', '\x4e', '\x53', '\x4f', '\x4c', '\x45', '\x5f', '\x57', '\x49', '\x44', '\x54', '\x48', '\x20', '\x2d', '\x20', '\x31', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x66', '\x69', '\x6e', '\x64', '\x4d', '\x61', '\x78', '\x28', '\x66', '\x61', '\x69', '\x6c', '\x65', '\x64', '\x52', '\x61', '\x74', '\x69', '\x6f', '\x2c', '\x20', '\x66', '\x61', '\x69', '\x6c', '\x65', '\x64', '\x42', '\x75', '\x74', '\x4f', '\x6b', '\x52', '\x61', '\x74', '\x69', '\x6f', '\x2c', '\x20', '\x70', '\x61', '\x73', '\x73', '\x65', '\x64', '\x52', '\x61', '\x74', '\x69', '\x6f', '\x29', '\x2d', '\x2d', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x20', '\x3c', '\x3c', '\x20', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x28', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x3a', '\x3a', '\x45', '\x72', '\x72', '\x6f', '\x72', '\x29', '\x20', '\x3c', '\x3c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x28', '\x66', '\x61', '\x69', '\x6c', '\x65', '\x64', '\x52', '\x61', '\x74', '\x69', '\x6f', '\x2c', '\x20', '\x27', '\x3d', '\x27', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x20', '\x3c', '\x3c', '\x20', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x28', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x3a', '\x3a', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x45', '\x78', '\x70', '\x65', '\x63', '\x74', '\x65', '\x64', '\x46', '\x61', '\x69', '\x6c', '\x75', '\x72', '\x65', '\x29', '\x20', '\x3c', '\x3c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x28', '\x66', '\x61', '\x69', '\x6c', '\x65', '\x64', '\x42', '\x75', '\x74', '\x4f', '\x6b', '\x52', '\x61', '\x74', '\x69', '\x6f', '\x2c', '\x20', '\x27', '\x3d', '\x27', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x74', '\x6f', '\x74', '\x61', '\x6c', '\x73', '\x2e', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x73', '\x2e', '\x61', '\x6c', '\x6c', '\x50', '\x61', '\x73', '\x73', '\x65', '\x64', '\x28', '\x29', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x20', '\x3c', '\x3c', '\x20', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x28', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x3a', '\x3a', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x53', '\x75', '\x63', '\x63', '\x65', '\x73', '\x73', '\x29', '\x20', '\x3c', '\x3c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x28', '\x70', '\x61', '\x73', '\x73', '\x65', '\x64', '\x52', '\x61', '\x74', '\x69', '\x6f', '\x2c', '\x20', '\x27', '\x3d', '\x27', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x6c', '\x73', '\x65', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x20', '\x3c', '\x3c', '\x20', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x28', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x3a', '\x3a', '\x53', '\x75', '\x63', '\x63', '\x65', '\x73', '\x73', '\x29', '\x20', '\x3c', '\x3c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x28', '\x70', '\x61', '\x73', '\x73', '\x65', '\x64', '\x52', '\x61', '\x74', '\x69', '\x6f', '\x2c', '\x20', '\x27', '\x3d', '\x27', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x20', '\x65', '\x6c', '\x73', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x20', '\x3c', '\x3c', '\x20', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x28', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x3a', '\x3a', '\x57', '\x61', '\x72', '\x6e', '\x69', '\x6e', '\x67', '\x29', '\x20', '\x3c', '\x3c', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x28', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x43', '\x4f', '\x4e', '\x53', '\x4f', '\x4c', '\x45', '\x5f', '\x57', '\x49', '\x44', '\x54', '\x48', '\x20', '\x2d', '\x20', '\x31', '\x2c', '\x20', '\x27', '\x3d', '\x27', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x20', '\x3c', '\x3c', '\x20', '\x27', '\x5c', '\x6e', '\x27', '\x3b', '\x0d', '\x0a', '\x7d', '\x0d', '\x0a', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x43', '\x6f', '\x6e', '\x73', '\x6f', '\x6c', '\x65', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x3a', '\x3a', '\x70', '\x72', '\x69', '\x6e', '\x74', '\x53', '\x75', '\x6d', '\x6d', '\x61', '\x72', '\x79', '\x44', '\x69', '\x76', '\x69', '\x64', '\x65', '\x72', '\x28', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x20', '\x3c', '\x3c', '\x20', '\x67', '\x65', '\x74', '\x4c', '\x69', '\x6e', '\x65', '\x4f', '\x66', '\x43', '\x68', '\x61', '\x72', '\x73', '\x3c', '\x27', '\x2d', '\x27', '\x3e', '\x28', '\x29', '\x20', '\x3c', '\x3c', '\x20', '\x27', '\x5c', '\x6e', '\x27', '\x3b', '\x0d', '\x0a', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x43', '\x6f', '\x6e', '\x73', '\x6f', '\x6c', '\x65', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x3a', '\x3a', '\x70', '\x72', '\x69', '\x6e', '\x74', '\x54', '\x65', '\x73', '\x74', '\x46', '\x69', '\x6c', '\x74', '\x65', '\x72', '\x73', '\x28', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x6d', '\x5f', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x2d', '\x3e', '\x74', '\x65', '\x73', '\x74', '\x53', '\x70', '\x65', '\x63', '\x28', '\x29', '\x2e', '\x68', '\x61', '\x73', '\x46', '\x69', '\x6c', '\x74', '\x65', '\x72', '\x73', '\x28', '\x29', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x20', '\x3c', '\x3c', '\x20', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x28', '\x43', '\x6f', '\x6c', '\x6f', '\x75', '\x72', '\x3a', '\x3a', '\x42', '\x72', '\x69', '\x67', '\x68', '\x74', '\x59', '\x65', '\x6c', '\x6c', '\x6f', '\x77', '\x29', '\x20', '\x3c', '\x3c', '\x20', '\x22', '\x46', '\x69', '\x6c', '\x74', '\x65', '\x72', '\x73', '\x3a', '\x20', '\x22', '\x20', '\x3c', '\x3c', '\x20', '\x73', '\x65', '\x72', '\x69', '\x61', '\x6c', '\x69', '\x7a', '\x65', '\x46', '\x69', '\x6c', '\x74', '\x65', '\x72', '\x73', '\x28', '\x20', '\x6d', '\x5f', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x2d', '\x3e', '\x67', '\x65', '\x74', '\x54', '\x65', '\x73', '\x74', '\x73', '\x4f', '\x72', '\x54', '\x61', '\x67', '\x73', '\x28', '\x29', '\x20', '\x29', '\x20', '\x3c', '\x3c', '\x20', '\x27', '\x5c', '\x6e', '\x27', '\x3b', '\x0d', '\x0a', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x47', '\x49', '\x53', '\x54', '\x45', '\x52', '\x5f', '\x52', '\x45', '\x50', '\x4f', '\x52', '\x54', '\x45', '\x52', '\x28', '\x22', '\x63', '\x6f', '\x6e', '\x73', '\x6f', '\x6c', '\x65', '\x22', '\x2c', '\x20', '\x43', '\x6f', '\x6e', '\x73', '\x6f', '\x6c', '\x65', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x29', '\x0d', '\x0a', '\x0d', '\x0a', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x5f', '\x4d', '\x53', '\x43', '\x5f', '\x56', '\x45', '\x52', '\x29', '\x0d', '\x0a', '\x23', '\x70', '\x72', '\x61', '\x67', '\x6d', '\x61', '\x20', '\x77', '\x61', '\x72', '\x6e', '\x69', '\x6e', '\x67', '\x28', '\x70', '\x6f', '\x70', '\x29', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x5f', '\x5f', '\x63', '\x6c', '\x61', '\x6e', '\x67', '\x5f', '\x5f', '\x29', '\x0d', '\x0a', '\x23', '\x20', '\x20', '\x70', '\x72', '\x61', '\x67', '\x6d', '\x61', '\x20', '\x63', '\x6c', '\x61', '\x6e', '\x67', '\x20', '\x64', '\x69', '\x61', '\x67', '\x6e', '\x6f', '\x73', '\x74', '\x69', '\x63', '\x20', '\x70', '\x6f', '\x70', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x72', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x5f', '\x63', '\x6f', '\x6e', '\x73', '\x6f', '\x6c', '\x65', '\x2e', '\x63', '\x70', '\x70', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x72', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x5f', '\x6a', '\x75', '\x6e', '\x69', '\x74', '\x2e', '\x63', '\x70', '\x70', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x63', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x3e', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x73', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x3e', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x63', '\x74', '\x69', '\x6d', '\x65', '\x3e', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x61', '\x6c', '\x67', '\x6f', '\x72', '\x69', '\x74', '\x68', '\x6d', '\x3e', '\x0d', '\x0a', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x67', '\x65', '\x74', '\x43', '\x75', '\x72', '\x72', '\x65', '\x6e', '\x74', '\x54', '\x69', '\x6d', '\x65', '\x73', '\x74', '\x61', '\x6d', '\x70', '\x28', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x42', '\x65', '\x77', '\x61', '\x72', '\x65', '\x2c', '\x20', '\x74', '\x68', '\x69', '\x73', '\x20', '\x69', '\x73', '\x20', '\x6e', '\x6f', '\x74', '\x20', '\x72', '\x65', '\x65', '\x6e', '\x74', '\x72', '\x61', '\x6e', '\x74', '\x20', '\x62', '\x65', '\x63', '\x61', '\x75', '\x73', '\x65', '\x20', '\x6f', '\x66', '\x20', '\x62', '\x61', '\x63', '\x6b', '\x77', '\x61', '\x72', '\x64', '\x20', '\x63', '\x6f', '\x6d', '\x70', '\x61', '\x74', '\x69', '\x62', '\x69', '\x6c', '\x69', '\x74', '\x79', '\x20', '\x69', '\x73', '\x73', '\x75', '\x65', '\x73', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x41', '\x6c', '\x73', '\x6f', '\x2c', '\x20', '\x55', '\x54', '\x43', '\x20', '\x6f', '\x6e', '\x6c', '\x79', '\x2c', '\x20', '\x61', '\x67', '\x61', '\x69', '\x6e', '\x20', '\x62', '\x65', '\x63', '\x61', '\x75', '\x73', '\x65', '\x20', '\x6f', '\x66', '\x20', '\x62', '\x61', '\x63', '\x6b', '\x77', '\x61', '\x72', '\x64', '\x20', '\x63', '\x6f', '\x6d', '\x70', '\x61', '\x74', '\x69', '\x62', '\x69', '\x6c', '\x69', '\x74', '\x79', '\x20', '\x28', '\x25', '\x7a', '\x20', '\x69', '\x73', '\x20', '\x43', '\x2b', '\x2b', '\x31', '\x31', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x69', '\x6d', '\x65', '\x5f', '\x74', '\x20', '\x72', '\x61', '\x77', '\x74', '\x69', '\x6d', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x74', '\x69', '\x6d', '\x65', '\x28', '\x26', '\x72', '\x61', '\x77', '\x74', '\x69', '\x6d', '\x65', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x74', '\x69', '\x6d', '\x65', '\x53', '\x74', '\x61', '\x6d', '\x70', '\x53', '\x69', '\x7a', '\x65', '\x20', '\x3d', '\x20', '\x73', '\x69', '\x7a', '\x65', '\x6f', '\x66', '\x28', '\x22', '\x32', '\x30', '\x31', '\x37', '\x2d', '\x30', '\x31', '\x2d', '\x31', '\x36', '\x54', '\x31', '\x37', '\x3a', '\x30', '\x36', '\x3a', '\x34', '\x35', '\x5a', '\x22', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x64', '\x65', '\x66', '\x20', '\x5f', '\x4d', '\x53', '\x43', '\x5f', '\x56', '\x45', '\x52', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x74', '\x6d', '\x20', '\x74', '\x69', '\x6d', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x3d', '\x20', '\x7b', '\x7d', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x67', '\x6d', '\x74', '\x69', '\x6d', '\x65', '\x5f', '\x73', '\x28', '\x26', '\x74', '\x69', '\x6d', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x2c', '\x20', '\x26', '\x72', '\x61', '\x77', '\x74', '\x69', '\x6d', '\x65', '\x29', '\x3b', '\x0d', '\x0a', '\x23', '\x65', '\x6c', '\x73', '\x65', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x74', '\x6d', '\x2a', '\x20', '\x74', '\x69', '\x6d', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x74', '\x69', '\x6d', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x3d', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x67', '\x6d', '\x74', '\x69', '\x6d', '\x65', '\x28', '\x26', '\x72', '\x61', '\x77', '\x74', '\x69', '\x6d', '\x65', '\x29', '\x3b', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x68', '\x61', '\x72', '\x20', '\x74', '\x69', '\x6d', '\x65', '\x53', '\x74', '\x61', '\x6d', '\x70', '\x5b', '\x74', '\x69', '\x6d', '\x65', '\x53', '\x74', '\x61', '\x6d', '\x70', '\x53', '\x69', '\x7a', '\x65', '\x5d', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x63', '\x68', '\x61', '\x72', '\x20', '\x2a', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x66', '\x6d', '\x74', '\x20', '\x3d', '\x20', '\x22', '\x25', '\x59', '\x2d', '\x25', '\x6d', '\x2d', '\x25', '\x64', '\x54', '\x25', '\x48', '\x3a', '\x25', '\x4d', '\x3a', '\x25', '\x53', '\x5a', '\x22', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x64', '\x65', '\x66', '\x20', '\x5f', '\x4d', '\x53', '\x43', '\x5f', '\x56', '\x45', '\x52', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x66', '\x74', '\x69', '\x6d', '\x65', '\x28', '\x74', '\x69', '\x6d', '\x65', '\x53', '\x74', '\x61', '\x6d', '\x70', '\x2c', '\x20', '\x74', '\x69', '\x6d', '\x65', '\x53', '\x74', '\x61', '\x6d', '\x70', '\x53', '\x69', '\x7a', '\x65', '\x2c', '\x20', '\x66', '\x6d', '\x74', '\x2c', '\x20', '\x26', '\x74', '\x69', '\x6d', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x29', '\x3b', '\x0d', '\x0a', '\x23', '\x65', '\x6c', '\x73', '\x65', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x66', '\x74', '\x69', '\x6d', '\x65', '\x28', '\x74', '\x69', '\x6d', '\x65', '\x53', '\x74', '\x61', '\x6d', '\x70', '\x2c', '\x20', '\x74', '\x69', '\x6d', '\x65', '\x53', '\x74', '\x61', '\x6d', '\x70', '\x53', '\x69', '\x7a', '\x65', '\x2c', '\x20', '\x66', '\x6d', '\x74', '\x2c', '\x20', '\x74', '\x69', '\x6d', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x29', '\x3b', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x28', '\x74', '\x69', '\x6d', '\x65', '\x53', '\x74', '\x61', '\x6d', '\x70', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x66', '\x69', '\x6c', '\x65', '\x4e', '\x61', '\x6d', '\x65', '\x54', '\x61', '\x67', '\x28', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x76', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3c', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x3e', '\x20', '\x26', '\x74', '\x61', '\x67', '\x73', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x69', '\x74', '\x20', '\x3d', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x66', '\x69', '\x6e', '\x64', '\x5f', '\x69', '\x66', '\x28', '\x62', '\x65', '\x67', '\x69', '\x6e', '\x28', '\x74', '\x61', '\x67', '\x73', '\x29', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x6e', '\x64', '\x28', '\x74', '\x61', '\x67', '\x73', '\x29', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x5b', '\x5d', '\x20', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x74', '\x61', '\x67', '\x29', '\x20', '\x7b', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x74', '\x61', '\x67', '\x2e', '\x66', '\x72', '\x6f', '\x6e', '\x74', '\x28', '\x29', '\x20', '\x3d', '\x3d', '\x20', '\x27', '\x23', '\x27', '\x3b', '\x20', '\x7d', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x69', '\x74', '\x20', '\x21', '\x3d', '\x20', '\x74', '\x61', '\x67', '\x73', '\x2e', '\x65', '\x6e', '\x64', '\x28', '\x29', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x69', '\x74', '\x2d', '\x3e', '\x73', '\x75', '\x62', '\x73', '\x74', '\x72', '\x28', '\x31', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x61', '\x6e', '\x6f', '\x6e', '\x79', '\x6d', '\x6f', '\x75', '\x73', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x4a', '\x75', '\x6e', '\x69', '\x74', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x3a', '\x3a', '\x4a', '\x75', '\x6e', '\x69', '\x74', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x28', '\x20', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x5f', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x3a', '\x20', '\x20', '\x20', '\x43', '\x75', '\x6d', '\x75', '\x6c', '\x61', '\x74', '\x69', '\x76', '\x65', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x42', '\x61', '\x73', '\x65', '\x28', '\x20', '\x5f', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x20', '\x29', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x78', '\x6d', '\x6c', '\x28', '\x20', '\x5f', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x2e', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x28', '\x29', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x72', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x50', '\x72', '\x65', '\x66', '\x73', '\x2e', '\x73', '\x68', '\x6f', '\x75', '\x6c', '\x64', '\x52', '\x65', '\x64', '\x69', '\x72', '\x65', '\x63', '\x74', '\x53', '\x74', '\x64', '\x4f', '\x75', '\x74', '\x20', '\x3d', '\x20', '\x74', '\x72', '\x75', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x72', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x50', '\x72', '\x65', '\x66', '\x73', '\x2e', '\x73', '\x68', '\x6f', '\x75', '\x6c', '\x64', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x41', '\x6c', '\x6c', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x20', '\x3d', '\x20', '\x74', '\x72', '\x75', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x4a', '\x75', '\x6e', '\x69', '\x74', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x3a', '\x3a', '\x7e', '\x4a', '\x75', '\x6e', '\x69', '\x74', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x28', '\x29', '\x20', '\x7b', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x4a', '\x75', '\x6e', '\x69', '\x74', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x3a', '\x3a', '\x67', '\x65', '\x74', '\x44', '\x65', '\x73', '\x63', '\x72', '\x69', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x28', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x22', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x73', '\x20', '\x74', '\x65', '\x73', '\x74', '\x20', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x73', '\x20', '\x69', '\x6e', '\x20', '\x61', '\x6e', '\x20', '\x58', '\x4d', '\x4c', '\x20', '\x66', '\x6f', '\x72', '\x6d', '\x61', '\x74', '\x20', '\x74', '\x68', '\x61', '\x74', '\x20', '\x6c', '\x6f', '\x6f', '\x6b', '\x73', '\x20', '\x6c', '\x69', '\x6b', '\x65', '\x20', '\x41', '\x6e', '\x74', '\x27', '\x73', '\x20', '\x6a', '\x75', '\x6e', '\x69', '\x74', '\x72', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x20', '\x74', '\x61', '\x72', '\x67', '\x65', '\x74', '\x22', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x4a', '\x75', '\x6e', '\x69', '\x74', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x3a', '\x3a', '\x6e', '\x6f', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x69', '\x6e', '\x67', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x73', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x2f', '\x2a', '\x73', '\x70', '\x65', '\x63', '\x2a', '\x2f', '\x20', '\x29', '\x20', '\x7b', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x4a', '\x75', '\x6e', '\x69', '\x74', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x3a', '\x3a', '\x74', '\x65', '\x73', '\x74', '\x52', '\x75', '\x6e', '\x53', '\x74', '\x61', '\x72', '\x74', '\x69', '\x6e', '\x67', '\x28', '\x20', '\x54', '\x65', '\x73', '\x74', '\x52', '\x75', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x72', '\x75', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x29', '\x20', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x75', '\x6d', '\x75', '\x6c', '\x61', '\x74', '\x69', '\x76', '\x65', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x42', '\x61', '\x73', '\x65', '\x3a', '\x3a', '\x74', '\x65', '\x73', '\x74', '\x52', '\x75', '\x6e', '\x53', '\x74', '\x61', '\x72', '\x74', '\x69', '\x6e', '\x67', '\x28', '\x20', '\x72', '\x75', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x78', '\x6d', '\x6c', '\x2e', '\x73', '\x74', '\x61', '\x72', '\x74', '\x45', '\x6c', '\x65', '\x6d', '\x65', '\x6e', '\x74', '\x28', '\x20', '\x22', '\x74', '\x65', '\x73', '\x74', '\x73', '\x75', '\x69', '\x74', '\x65', '\x73', '\x22', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x4a', '\x75', '\x6e', '\x69', '\x74', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x3a', '\x3a', '\x74', '\x65', '\x73', '\x74', '\x47', '\x72', '\x6f', '\x75', '\x70', '\x53', '\x74', '\x61', '\x72', '\x74', '\x69', '\x6e', '\x67', '\x28', '\x20', '\x47', '\x72', '\x6f', '\x75', '\x70', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x67', '\x72', '\x6f', '\x75', '\x70', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x75', '\x69', '\x74', '\x65', '\x54', '\x69', '\x6d', '\x65', '\x72', '\x2e', '\x73', '\x74', '\x61', '\x72', '\x74', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x4f', '\x75', '\x74', '\x46', '\x6f', '\x72', '\x53', '\x75', '\x69', '\x74', '\x65', '\x2e', '\x63', '\x6c', '\x65', '\x61', '\x72', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x45', '\x72', '\x72', '\x46', '\x6f', '\x72', '\x53', '\x75', '\x69', '\x74', '\x65', '\x2e', '\x63', '\x6c', '\x65', '\x61', '\x72', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x75', '\x6e', '\x65', '\x78', '\x70', '\x65', '\x63', '\x74', '\x65', '\x64', '\x45', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x20', '\x3d', '\x20', '\x30', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x75', '\x6d', '\x75', '\x6c', '\x61', '\x74', '\x69', '\x76', '\x65', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x42', '\x61', '\x73', '\x65', '\x3a', '\x3a', '\x74', '\x65', '\x73', '\x74', '\x47', '\x72', '\x6f', '\x75', '\x70', '\x53', '\x74', '\x61', '\x72', '\x74', '\x69', '\x6e', '\x67', '\x28', '\x20', '\x67', '\x72', '\x6f', '\x75', '\x70', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x4a', '\x75', '\x6e', '\x69', '\x74', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x3a', '\x3a', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x53', '\x74', '\x61', '\x72', '\x74', '\x69', '\x6e', '\x67', '\x28', '\x20', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x6f', '\x6b', '\x54', '\x6f', '\x46', '\x61', '\x69', '\x6c', '\x20', '\x3d', '\x20', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x2e', '\x6f', '\x6b', '\x54', '\x6f', '\x46', '\x61', '\x69', '\x6c', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x4a', '\x75', '\x6e', '\x69', '\x74', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x3a', '\x3a', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x45', '\x6e', '\x64', '\x65', '\x64', '\x28', '\x20', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x73', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x73', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x73', '\x2e', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x2e', '\x67', '\x65', '\x74', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x54', '\x79', '\x70', '\x65', '\x28', '\x29', '\x20', '\x3d', '\x3d', '\x20', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x57', '\x61', '\x73', '\x3a', '\x3a', '\x54', '\x68', '\x72', '\x65', '\x77', '\x45', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x26', '\x26', '\x20', '\x21', '\x6d', '\x5f', '\x6f', '\x6b', '\x54', '\x6f', '\x46', '\x61', '\x69', '\x6c', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x75', '\x6e', '\x65', '\x78', '\x70', '\x65', '\x63', '\x74', '\x65', '\x64', '\x45', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x2b', '\x2b', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x43', '\x75', '\x6d', '\x75', '\x6c', '\x61', '\x74', '\x69', '\x76', '\x65', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x42', '\x61', '\x73', '\x65', '\x3a', '\x3a', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x45', '\x6e', '\x64', '\x65', '\x64', '\x28', '\x20', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x73', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x4a', '\x75', '\x6e', '\x69', '\x74', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x3a', '\x3a', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x45', '\x6e', '\x64', '\x65', '\x64', '\x28', '\x20', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x53', '\x74', '\x61', '\x74', '\x73', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x53', '\x74', '\x61', '\x74', '\x73', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x4f', '\x75', '\x74', '\x46', '\x6f', '\x72', '\x53', '\x75', '\x69', '\x74', '\x65', '\x20', '\x2b', '\x3d', '\x20', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x53', '\x74', '\x61', '\x74', '\x73', '\x2e', '\x73', '\x74', '\x64', '\x4f', '\x75', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x45', '\x72', '\x72', '\x46', '\x6f', '\x72', '\x53', '\x75', '\x69', '\x74', '\x65', '\x20', '\x2b', '\x3d', '\x20', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x53', '\x74', '\x61', '\x74', '\x73', '\x2e', '\x73', '\x74', '\x64', '\x45', '\x72', '\x72', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x75', '\x6d', '\x75', '\x6c', '\x61', '\x74', '\x69', '\x76', '\x65', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x42', '\x61', '\x73', '\x65', '\x3a', '\x3a', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x45', '\x6e', '\x64', '\x65', '\x64', '\x28', '\x20', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x53', '\x74', '\x61', '\x74', '\x73', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x4a', '\x75', '\x6e', '\x69', '\x74', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x3a', '\x3a', '\x74', '\x65', '\x73', '\x74', '\x47', '\x72', '\x6f', '\x75', '\x70', '\x45', '\x6e', '\x64', '\x65', '\x64', '\x28', '\x20', '\x54', '\x65', '\x73', '\x74', '\x47', '\x72', '\x6f', '\x75', '\x70', '\x53', '\x74', '\x61', '\x74', '\x73', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x74', '\x65', '\x73', '\x74', '\x47', '\x72', '\x6f', '\x75', '\x70', '\x53', '\x74', '\x61', '\x74', '\x73', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x20', '\x73', '\x75', '\x69', '\x74', '\x65', '\x54', '\x69', '\x6d', '\x65', '\x20', '\x3d', '\x20', '\x73', '\x75', '\x69', '\x74', '\x65', '\x54', '\x69', '\x6d', '\x65', '\x72', '\x2e', '\x67', '\x65', '\x74', '\x45', '\x6c', '\x61', '\x70', '\x73', '\x65', '\x64', '\x53', '\x65', '\x63', '\x6f', '\x6e', '\x64', '\x73', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x75', '\x6d', '\x75', '\x6c', '\x61', '\x74', '\x69', '\x76', '\x65', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x42', '\x61', '\x73', '\x65', '\x3a', '\x3a', '\x74', '\x65', '\x73', '\x74', '\x47', '\x72', '\x6f', '\x75', '\x70', '\x45', '\x6e', '\x64', '\x65', '\x64', '\x28', '\x20', '\x74', '\x65', '\x73', '\x74', '\x47', '\x72', '\x6f', '\x75', '\x70', '\x53', '\x74', '\x61', '\x74', '\x73', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x77', '\x72', '\x69', '\x74', '\x65', '\x47', '\x72', '\x6f', '\x75', '\x70', '\x28', '\x20', '\x2a', '\x6d', '\x5f', '\x74', '\x65', '\x73', '\x74', '\x47', '\x72', '\x6f', '\x75', '\x70', '\x73', '\x2e', '\x62', '\x61', '\x63', '\x6b', '\x28', '\x29', '\x2c', '\x20', '\x73', '\x75', '\x69', '\x74', '\x65', '\x54', '\x69', '\x6d', '\x65', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x4a', '\x75', '\x6e', '\x69', '\x74', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x3a', '\x3a', '\x74', '\x65', '\x73', '\x74', '\x52', '\x75', '\x6e', '\x45', '\x6e', '\x64', '\x65', '\x64', '\x43', '\x75', '\x6d', '\x75', '\x6c', '\x61', '\x74', '\x69', '\x76', '\x65', '\x28', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x78', '\x6d', '\x6c', '\x2e', '\x65', '\x6e', '\x64', '\x45', '\x6c', '\x65', '\x6d', '\x65', '\x6e', '\x74', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x4a', '\x75', '\x6e', '\x69', '\x74', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x3a', '\x3a', '\x77', '\x72', '\x69', '\x74', '\x65', '\x47', '\x72', '\x6f', '\x75', '\x70', '\x28', '\x20', '\x54', '\x65', '\x73', '\x74', '\x47', '\x72', '\x6f', '\x75', '\x70', '\x4e', '\x6f', '\x64', '\x65', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x67', '\x72', '\x6f', '\x75', '\x70', '\x4e', '\x6f', '\x64', '\x65', '\x2c', '\x20', '\x64', '\x6f', '\x75', '\x62', '\x6c', '\x65', '\x20', '\x73', '\x75', '\x69', '\x74', '\x65', '\x54', '\x69', '\x6d', '\x65', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x58', '\x6d', '\x6c', '\x57', '\x72', '\x69', '\x74', '\x65', '\x72', '\x3a', '\x3a', '\x53', '\x63', '\x6f', '\x70', '\x65', '\x64', '\x45', '\x6c', '\x65', '\x6d', '\x65', '\x6e', '\x74', '\x20', '\x65', '\x20', '\x3d', '\x20', '\x78', '\x6d', '\x6c', '\x2e', '\x73', '\x63', '\x6f', '\x70', '\x65', '\x64', '\x45', '\x6c', '\x65', '\x6d', '\x65', '\x6e', '\x74', '\x28', '\x20', '\x22', '\x74', '\x65', '\x73', '\x74', '\x73', '\x75', '\x69', '\x74', '\x65', '\x22', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x54', '\x65', '\x73', '\x74', '\x47', '\x72', '\x6f', '\x75', '\x70', '\x53', '\x74', '\x61', '\x74', '\x73', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x73', '\x74', '\x61', '\x74', '\x73', '\x20', '\x3d', '\x20', '\x67', '\x72', '\x6f', '\x75', '\x70', '\x4e', '\x6f', '\x64', '\x65', '\x2e', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x78', '\x6d', '\x6c', '\x2e', '\x77', '\x72', '\x69', '\x74', '\x65', '\x41', '\x74', '\x74', '\x72', '\x69', '\x62', '\x75', '\x74', '\x65', '\x28', '\x20', '\x22', '\x6e', '\x61', '\x6d', '\x65', '\x22', '\x2c', '\x20', '\x73', '\x74', '\x61', '\x74', '\x73', '\x2e', '\x67', '\x72', '\x6f', '\x75', '\x70', '\x49', '\x6e', '\x66', '\x6f', '\x2e', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x78', '\x6d', '\x6c', '\x2e', '\x77', '\x72', '\x69', '\x74', '\x65', '\x41', '\x74', '\x74', '\x72', '\x69', '\x62', '\x75', '\x74', '\x65', '\x28', '\x20', '\x22', '\x65', '\x72', '\x72', '\x6f', '\x72', '\x73', '\x22', '\x2c', '\x20', '\x75', '\x6e', '\x65', '\x78', '\x70', '\x65', '\x63', '\x74', '\x65', '\x64', '\x45', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x78', '\x6d', '\x6c', '\x2e', '\x77', '\x72', '\x69', '\x74', '\x65', '\x41', '\x74', '\x74', '\x72', '\x69', '\x62', '\x75', '\x74', '\x65', '\x28', '\x20', '\x22', '\x66', '\x61', '\x69', '\x6c', '\x75', '\x72', '\x65', '\x73', '\x22', '\x2c', '\x20', '\x73', '\x74', '\x61', '\x74', '\x73', '\x2e', '\x74', '\x6f', '\x74', '\x61', '\x6c', '\x73', '\x2e', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x2e', '\x66', '\x61', '\x69', '\x6c', '\x65', '\x64', '\x2d', '\x75', '\x6e', '\x65', '\x78', '\x70', '\x65', '\x63', '\x74', '\x65', '\x64', '\x45', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x78', '\x6d', '\x6c', '\x2e', '\x77', '\x72', '\x69', '\x74', '\x65', '\x41', '\x74', '\x74', '\x72', '\x69', '\x62', '\x75', '\x74', '\x65', '\x28', '\x20', '\x22', '\x74', '\x65', '\x73', '\x74', '\x73', '\x22', '\x2c', '\x20', '\x73', '\x74', '\x61', '\x74', '\x73', '\x2e', '\x74', '\x6f', '\x74', '\x61', '\x6c', '\x73', '\x2e', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x2e', '\x74', '\x6f', '\x74', '\x61', '\x6c', '\x28', '\x29', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x78', '\x6d', '\x6c', '\x2e', '\x77', '\x72', '\x69', '\x74', '\x65', '\x41', '\x74', '\x74', '\x72', '\x69', '\x62', '\x75', '\x74', '\x65', '\x28', '\x20', '\x22', '\x68', '\x6f', '\x73', '\x74', '\x6e', '\x61', '\x6d', '\x65', '\x22', '\x2c', '\x20', '\x22', '\x74', '\x62', '\x64', '\x22', '\x20', '\x29', '\x3b', '\x20', '\x2f', '\x2f', '\x20', '\x21', '\x54', '\x42', '\x44', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x6d', '\x5f', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x2d', '\x3e', '\x73', '\x68', '\x6f', '\x77', '\x44', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x28', '\x29', '\x20', '\x3d', '\x3d', '\x20', '\x53', '\x68', '\x6f', '\x77', '\x44', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x3a', '\x3a', '\x4e', '\x65', '\x76', '\x65', '\x72', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x78', '\x6d', '\x6c', '\x2e', '\x77', '\x72', '\x69', '\x74', '\x65', '\x41', '\x74', '\x74', '\x72', '\x69', '\x62', '\x75', '\x74', '\x65', '\x28', '\x20', '\x22', '\x74', '\x69', '\x6d', '\x65', '\x22', '\x2c', '\x20', '\x22', '\x22', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x6c', '\x73', '\x65', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x78', '\x6d', '\x6c', '\x2e', '\x77', '\x72', '\x69', '\x74', '\x65', '\x41', '\x74', '\x74', '\x72', '\x69', '\x62', '\x75', '\x74', '\x65', '\x28', '\x20', '\x22', '\x74', '\x69', '\x6d', '\x65', '\x22', '\x2c', '\x20', '\x73', '\x75', '\x69', '\x74', '\x65', '\x54', '\x69', '\x6d', '\x65', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x78', '\x6d', '\x6c', '\x2e', '\x77', '\x72', '\x69', '\x74', '\x65', '\x41', '\x74', '\x74', '\x72', '\x69', '\x62', '\x75', '\x74', '\x65', '\x28', '\x20', '\x22', '\x74', '\x69', '\x6d', '\x65', '\x73', '\x74', '\x61', '\x6d', '\x70', '\x22', '\x2c', '\x20', '\x67', '\x65', '\x74', '\x43', '\x75', '\x72', '\x72', '\x65', '\x6e', '\x74', '\x54', '\x69', '\x6d', '\x65', '\x73', '\x74', '\x61', '\x6d', '\x70', '\x28', '\x29', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x57', '\x72', '\x69', '\x74', '\x65', '\x20', '\x70', '\x72', '\x6f', '\x70', '\x65', '\x72', '\x74', '\x69', '\x65', '\x73', '\x20', '\x69', '\x66', '\x20', '\x74', '\x68', '\x65', '\x72', '\x65', '\x20', '\x61', '\x72', '\x65', '\x20', '\x61', '\x6e', '\x79', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x6d', '\x5f', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x2d', '\x3e', '\x68', '\x61', '\x73', '\x54', '\x65', '\x73', '\x74', '\x46', '\x69', '\x6c', '\x74', '\x65', '\x72', '\x73', '\x28', '\x29', '\x20', '\x7c', '\x7c', '\x20', '\x6d', '\x5f', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x2d', '\x3e', '\x72', '\x6e', '\x67', '\x53', '\x65', '\x65', '\x64', '\x28', '\x29', '\x20', '\x21', '\x3d', '\x20', '\x30', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x70', '\x72', '\x6f', '\x70', '\x65', '\x72', '\x74', '\x69', '\x65', '\x73', '\x20', '\x3d', '\x20', '\x78', '\x6d', '\x6c', '\x2e', '\x73', '\x63', '\x6f', '\x70', '\x65', '\x64', '\x45', '\x6c', '\x65', '\x6d', '\x65', '\x6e', '\x74', '\x28', '\x22', '\x70', '\x72', '\x6f', '\x70', '\x65', '\x72', '\x74', '\x69', '\x65', '\x73', '\x22', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x6d', '\x5f', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x2d', '\x3e', '\x68', '\x61', '\x73', '\x54', '\x65', '\x73', '\x74', '\x46', '\x69', '\x6c', '\x74', '\x65', '\x72', '\x73', '\x28', '\x29', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x78', '\x6d', '\x6c', '\x2e', '\x73', '\x63', '\x6f', '\x70', '\x65', '\x64', '\x45', '\x6c', '\x65', '\x6d', '\x65', '\x6e', '\x74', '\x28', '\x22', '\x70', '\x72', '\x6f', '\x70', '\x65', '\x72', '\x74', '\x79', '\x22', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2e', '\x77', '\x72', '\x69', '\x74', '\x65', '\x41', '\x74', '\x74', '\x72', '\x69', '\x62', '\x75', '\x74', '\x65', '\x28', '\x22', '\x6e', '\x61', '\x6d', '\x65', '\x22', '\x2c', '\x20', '\x22', '\x66', '\x69', '\x6c', '\x74', '\x65', '\x72', '\x73', '\x22', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2e', '\x77', '\x72', '\x69', '\x74', '\x65', '\x41', '\x74', '\x74', '\x72', '\x69', '\x62', '\x75', '\x74', '\x65', '\x28', '\x22', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x22', '\x2c', '\x20', '\x73', '\x65', '\x72', '\x69', '\x61', '\x6c', '\x69', '\x7a', '\x65', '\x46', '\x69', '\x6c', '\x74', '\x65', '\x72', '\x73', '\x28', '\x6d', '\x5f', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x2d', '\x3e', '\x67', '\x65', '\x74', '\x54', '\x65', '\x73', '\x74', '\x73', '\x4f', '\x72', '\x54', '\x61', '\x67', '\x73', '\x28', '\x29', '\x29', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x6d', '\x5f', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x2d', '\x3e', '\x72', '\x6e', '\x67', '\x53', '\x65', '\x65', '\x64', '\x28', '\x29', '\x20', '\x21', '\x3d', '\x20', '\x30', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x78', '\x6d', '\x6c', '\x2e', '\x73', '\x63', '\x6f', '\x70', '\x65', '\x64', '\x45', '\x6c', '\x65', '\x6d', '\x65', '\x6e', '\x74', '\x28', '\x22', '\x70', '\x72', '\x6f', '\x70', '\x65', '\x72', '\x74', '\x79', '\x22', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2e', '\x77', '\x72', '\x69', '\x74', '\x65', '\x41', '\x74', '\x74', '\x72', '\x69', '\x62', '\x75', '\x74', '\x65', '\x28', '\x22', '\x6e', '\x61', '\x6d', '\x65', '\x22', '\x2c', '\x20', '\x22', '\x72', '\x61', '\x6e', '\x64', '\x6f', '\x6d', '\x2d', '\x73', '\x65', '\x65', '\x64', '\x22', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2e', '\x77', '\x72', '\x69', '\x74', '\x65', '\x41', '\x74', '\x74', '\x72', '\x69', '\x62', '\x75', '\x74', '\x65', '\x28', '\x22', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x22', '\x2c', '\x20', '\x6d', '\x5f', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x2d', '\x3e', '\x72', '\x6e', '\x67', '\x53', '\x65', '\x65', '\x64', '\x28', '\x29', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x57', '\x72', '\x69', '\x74', '\x65', '\x20', '\x74', '\x65', '\x73', '\x74', '\x20', '\x63', '\x61', '\x73', '\x65', '\x73', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x66', '\x6f', '\x72', '\x28', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x63', '\x68', '\x69', '\x6c', '\x64', '\x20', '\x3a', '\x20', '\x67', '\x72', '\x6f', '\x75', '\x70', '\x4e', '\x6f', '\x64', '\x65', '\x2e', '\x63', '\x68', '\x69', '\x6c', '\x64', '\x72', '\x65', '\x6e', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x77', '\x72', '\x69', '\x74', '\x65', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x28', '\x20', '\x2a', '\x63', '\x68', '\x69', '\x6c', '\x64', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x78', '\x6d', '\x6c', '\x2e', '\x73', '\x63', '\x6f', '\x70', '\x65', '\x64', '\x45', '\x6c', '\x65', '\x6d', '\x65', '\x6e', '\x74', '\x28', '\x20', '\x22', '\x73', '\x79', '\x73', '\x74', '\x65', '\x6d', '\x2d', '\x6f', '\x75', '\x74', '\x22', '\x20', '\x29', '\x2e', '\x77', '\x72', '\x69', '\x74', '\x65', '\x54', '\x65', '\x78', '\x74', '\x28', '\x20', '\x74', '\x72', '\x69', '\x6d', '\x28', '\x20', '\x73', '\x74', '\x64', '\x4f', '\x75', '\x74', '\x46', '\x6f', '\x72', '\x53', '\x75', '\x69', '\x74', '\x65', '\x20', '\x29', '\x2c', '\x20', '\x66', '\x61', '\x6c', '\x73', '\x65', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x78', '\x6d', '\x6c', '\x2e', '\x73', '\x63', '\x6f', '\x70', '\x65', '\x64', '\x45', '\x6c', '\x65', '\x6d', '\x65', '\x6e', '\x74', '\x28', '\x20', '\x22', '\x73', '\x79', '\x73', '\x74', '\x65', '\x6d', '\x2d', '\x65', '\x72', '\x72', '\x22', '\x20', '\x29', '\x2e', '\x77', '\x72', '\x69', '\x74', '\x65', '\x54', '\x65', '\x78', '\x74', '\x28', '\x20', '\x74', '\x72', '\x69', '\x6d', '\x28', '\x20', '\x73', '\x74', '\x64', '\x45', '\x72', '\x72', '\x46', '\x6f', '\x72', '\x53', '\x75', '\x69', '\x74', '\x65', '\x20', '\x29', '\x2c', '\x20', '\x66', '\x61', '\x6c', '\x73', '\x65', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x4a', '\x75', '\x6e', '\x69', '\x74', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x3a', '\x3a', '\x77', '\x72', '\x69', '\x74', '\x65', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x28', '\x20', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x4e', '\x6f', '\x64', '\x65', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x4e', '\x6f', '\x64', '\x65', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x53', '\x74', '\x61', '\x74', '\x73', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x73', '\x74', '\x61', '\x74', '\x73', '\x20', '\x3d', '\x20', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x4e', '\x6f', '\x64', '\x65', '\x2e', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x41', '\x6c', '\x6c', '\x20', '\x74', '\x65', '\x73', '\x74', '\x20', '\x63', '\x61', '\x73', '\x65', '\x73', '\x20', '\x68', '\x61', '\x76', '\x65', '\x20', '\x65', '\x78', '\x61', '\x63', '\x74', '\x6c', '\x79', '\x20', '\x6f', '\x6e', '\x65', '\x20', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x2d', '\x20', '\x77', '\x68', '\x69', '\x63', '\x68', '\x20', '\x72', '\x65', '\x70', '\x72', '\x65', '\x73', '\x65', '\x6e', '\x74', '\x73', '\x20', '\x74', '\x68', '\x65', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x74', '\x65', '\x73', '\x74', '\x20', '\x63', '\x61', '\x73', '\x65', '\x20', '\x69', '\x74', '\x73', '\x65', '\x6c', '\x66', '\x2e', '\x20', '\x54', '\x68', '\x61', '\x74', '\x20', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x6d', '\x61', '\x79', '\x20', '\x68', '\x61', '\x76', '\x65', '\x20', '\x30', '\x2d', '\x6e', '\x20', '\x6e', '\x65', '\x73', '\x74', '\x65', '\x64', '\x20', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x28', '\x20', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x4e', '\x6f', '\x64', '\x65', '\x2e', '\x63', '\x68', '\x69', '\x6c', '\x64', '\x72', '\x65', '\x6e', '\x2e', '\x73', '\x69', '\x7a', '\x65', '\x28', '\x29', '\x20', '\x3d', '\x3d', '\x20', '\x31', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x4e', '\x6f', '\x64', '\x65', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x72', '\x6f', '\x6f', '\x74', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x3d', '\x20', '\x2a', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x4e', '\x6f', '\x64', '\x65', '\x2e', '\x63', '\x68', '\x69', '\x6c', '\x64', '\x72', '\x65', '\x6e', '\x2e', '\x66', '\x72', '\x6f', '\x6e', '\x74', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x20', '\x3d', '\x20', '\x73', '\x74', '\x61', '\x74', '\x73', '\x2e', '\x74', '\x65', '\x73', '\x74', '\x49', '\x6e', '\x66', '\x6f', '\x2e', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x2e', '\x65', '\x6d', '\x70', '\x74', '\x79', '\x28', '\x29', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x20', '\x3d', '\x20', '\x66', '\x69', '\x6c', '\x65', '\x4e', '\x61', '\x6d', '\x65', '\x54', '\x61', '\x67', '\x28', '\x73', '\x74', '\x61', '\x74', '\x73', '\x2e', '\x74', '\x65', '\x73', '\x74', '\x49', '\x6e', '\x66', '\x6f', '\x2e', '\x74', '\x61', '\x67', '\x73', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x2e', '\x65', '\x6d', '\x70', '\x74', '\x79', '\x28', '\x29', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x20', '\x3d', '\x20', '\x22', '\x67', '\x6c', '\x6f', '\x62', '\x61', '\x6c', '\x22', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x20', '\x21', '\x6d', '\x5f', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x2d', '\x3e', '\x6e', '\x61', '\x6d', '\x65', '\x28', '\x29', '\x2e', '\x65', '\x6d', '\x70', '\x74', '\x79', '\x28', '\x29', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x20', '\x3d', '\x20', '\x6d', '\x5f', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x2d', '\x3e', '\x6e', '\x61', '\x6d', '\x65', '\x28', '\x29', '\x20', '\x2b', '\x20', '\x22', '\x2e', '\x22', '\x20', '\x2b', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x77', '\x72', '\x69', '\x74', '\x65', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x28', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x22', '\x22', '\x2c', '\x20', '\x72', '\x6f', '\x6f', '\x74', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x4a', '\x75', '\x6e', '\x69', '\x74', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x3a', '\x3a', '\x77', '\x72', '\x69', '\x74', '\x65', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x28', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x72', '\x6f', '\x6f', '\x74', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x4e', '\x6f', '\x64', '\x65', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x4e', '\x6f', '\x64', '\x65', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x3d', '\x20', '\x74', '\x72', '\x69', '\x6d', '\x28', '\x20', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x4e', '\x6f', '\x64', '\x65', '\x2e', '\x73', '\x74', '\x61', '\x74', '\x73', '\x2e', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x2e', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x21', '\x72', '\x6f', '\x6f', '\x74', '\x4e', '\x61', '\x6d', '\x65', '\x2e', '\x65', '\x6d', '\x70', '\x74', '\x79', '\x28', '\x29', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x3d', '\x20', '\x72', '\x6f', '\x6f', '\x74', '\x4e', '\x61', '\x6d', '\x65', '\x20', '\x2b', '\x20', '\x27', '\x2f', '\x27', '\x20', '\x2b', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x21', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x4e', '\x6f', '\x64', '\x65', '\x2e', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x2e', '\x65', '\x6d', '\x70', '\x74', '\x79', '\x28', '\x29', '\x20', '\x7c', '\x7c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x21', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x4e', '\x6f', '\x64', '\x65', '\x2e', '\x73', '\x74', '\x64', '\x4f', '\x75', '\x74', '\x2e', '\x65', '\x6d', '\x70', '\x74', '\x79', '\x28', '\x29', '\x20', '\x7c', '\x7c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x21', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x4e', '\x6f', '\x64', '\x65', '\x2e', '\x73', '\x74', '\x64', '\x45', '\x72', '\x72', '\x2e', '\x65', '\x6d', '\x70', '\x74', '\x79', '\x28', '\x29', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x58', '\x6d', '\x6c', '\x57', '\x72', '\x69', '\x74', '\x65', '\x72', '\x3a', '\x3a', '\x53', '\x63', '\x6f', '\x70', '\x65', '\x64', '\x45', '\x6c', '\x65', '\x6d', '\x65', '\x6e', '\x74', '\x20', '\x65', '\x20', '\x3d', '\x20', '\x78', '\x6d', '\x6c', '\x2e', '\x73', '\x63', '\x6f', '\x70', '\x65', '\x64', '\x45', '\x6c', '\x65', '\x6d', '\x65', '\x6e', '\x74', '\x28', '\x20', '\x22', '\x74', '\x65', '\x73', '\x74', '\x63', '\x61', '\x73', '\x65', '\x22', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x2e', '\x65', '\x6d', '\x70', '\x74', '\x79', '\x28', '\x29', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x78', '\x6d', '\x6c', '\x2e', '\x77', '\x72', '\x69', '\x74', '\x65', '\x41', '\x74', '\x74', '\x72', '\x69', '\x62', '\x75', '\x74', '\x65', '\x28', '\x20', '\x22', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x6e', '\x61', '\x6d', '\x65', '\x22', '\x2c', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x78', '\x6d', '\x6c', '\x2e', '\x77', '\x72', '\x69', '\x74', '\x65', '\x41', '\x74', '\x74', '\x72', '\x69', '\x62', '\x75', '\x74', '\x65', '\x28', '\x20', '\x22', '\x6e', '\x61', '\x6d', '\x65', '\x22', '\x2c', '\x20', '\x22', '\x72', '\x6f', '\x6f', '\x74', '\x22', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x6c', '\x73', '\x65', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x78', '\x6d', '\x6c', '\x2e', '\x77', '\x72', '\x69', '\x74', '\x65', '\x41', '\x74', '\x74', '\x72', '\x69', '\x62', '\x75', '\x74', '\x65', '\x28', '\x20', '\x22', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x6e', '\x61', '\x6d', '\x65', '\x22', '\x2c', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x78', '\x6d', '\x6c', '\x2e', '\x77', '\x72', '\x69', '\x74', '\x65', '\x41', '\x74', '\x74', '\x72', '\x69', '\x62', '\x75', '\x74', '\x65', '\x28', '\x20', '\x22', '\x6e', '\x61', '\x6d', '\x65', '\x22', '\x2c', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x78', '\x6d', '\x6c', '\x2e', '\x77', '\x72', '\x69', '\x74', '\x65', '\x41', '\x74', '\x74', '\x72', '\x69', '\x62', '\x75', '\x74', '\x65', '\x28', '\x20', '\x22', '\x74', '\x69', '\x6d', '\x65', '\x22', '\x2c', '\x20', '\x3a', '\x3a', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x44', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x69', '\x66', '\x79', '\x28', '\x20', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x4e', '\x6f', '\x64', '\x65', '\x2e', '\x73', '\x74', '\x61', '\x74', '\x73', '\x2e', '\x64', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x49', '\x6e', '\x53', '\x65', '\x63', '\x6f', '\x6e', '\x64', '\x73', '\x20', '\x29', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x77', '\x72', '\x69', '\x74', '\x65', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x28', '\x20', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x4e', '\x6f', '\x64', '\x65', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x21', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x4e', '\x6f', '\x64', '\x65', '\x2e', '\x73', '\x74', '\x64', '\x4f', '\x75', '\x74', '\x2e', '\x65', '\x6d', '\x70', '\x74', '\x79', '\x28', '\x29', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x78', '\x6d', '\x6c', '\x2e', '\x73', '\x63', '\x6f', '\x70', '\x65', '\x64', '\x45', '\x6c', '\x65', '\x6d', '\x65', '\x6e', '\x74', '\x28', '\x20', '\x22', '\x73', '\x79', '\x73', '\x74', '\x65', '\x6d', '\x2d', '\x6f', '\x75', '\x74', '\x22', '\x20', '\x29', '\x2e', '\x77', '\x72', '\x69', '\x74', '\x65', '\x54', '\x65', '\x78', '\x74', '\x28', '\x20', '\x74', '\x72', '\x69', '\x6d', '\x28', '\x20', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x4e', '\x6f', '\x64', '\x65', '\x2e', '\x73', '\x74', '\x64', '\x4f', '\x75', '\x74', '\x20', '\x29', '\x2c', '\x20', '\x66', '\x61', '\x6c', '\x73', '\x65', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x21', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x4e', '\x6f', '\x64', '\x65', '\x2e', '\x73', '\x74', '\x64', '\x45', '\x72', '\x72', '\x2e', '\x65', '\x6d', '\x70', '\x74', '\x79', '\x28', '\x29', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x78', '\x6d', '\x6c', '\x2e', '\x73', '\x63', '\x6f', '\x70', '\x65', '\x64', '\x45', '\x6c', '\x65', '\x6d', '\x65', '\x6e', '\x74', '\x28', '\x20', '\x22', '\x73', '\x79', '\x73', '\x74', '\x65', '\x6d', '\x2d', '\x65', '\x72', '\x72', '\x22', '\x20', '\x29', '\x2e', '\x77', '\x72', '\x69', '\x74', '\x65', '\x54', '\x65', '\x78', '\x74', '\x28', '\x20', '\x74', '\x72', '\x69', '\x6d', '\x28', '\x20', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x4e', '\x6f', '\x64', '\x65', '\x2e', '\x73', '\x74', '\x64', '\x45', '\x72', '\x72', '\x20', '\x29', '\x2c', '\x20', '\x66', '\x61', '\x6c', '\x73', '\x65', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x66', '\x6f', '\x72', '\x28', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x63', '\x68', '\x69', '\x6c', '\x64', '\x4e', '\x6f', '\x64', '\x65', '\x20', '\x3a', '\x20', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x4e', '\x6f', '\x64', '\x65', '\x2e', '\x63', '\x68', '\x69', '\x6c', '\x64', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x2e', '\x65', '\x6d', '\x70', '\x74', '\x79', '\x28', '\x29', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x77', '\x72', '\x69', '\x74', '\x65', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x28', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x22', '\x22', '\x2c', '\x20', '\x2a', '\x63', '\x68', '\x69', '\x6c', '\x64', '\x4e', '\x6f', '\x64', '\x65', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x6c', '\x73', '\x65', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x77', '\x72', '\x69', '\x74', '\x65', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x28', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x2a', '\x63', '\x68', '\x69', '\x6c', '\x64', '\x4e', '\x6f', '\x64', '\x65', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x4a', '\x75', '\x6e', '\x69', '\x74', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x3a', '\x3a', '\x77', '\x72', '\x69', '\x74', '\x65', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x28', '\x20', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x4e', '\x6f', '\x64', '\x65', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x4e', '\x6f', '\x64', '\x65', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x66', '\x6f', '\x72', '\x28', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x3a', '\x20', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x4e', '\x6f', '\x64', '\x65', '\x2e', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x77', '\x72', '\x69', '\x74', '\x65', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x28', '\x20', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x4a', '\x75', '\x6e', '\x69', '\x74', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x3a', '\x3a', '\x77', '\x72', '\x69', '\x74', '\x65', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x28', '\x20', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x73', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x73', '\x74', '\x61', '\x74', '\x73', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x20', '\x3d', '\x20', '\x73', '\x74', '\x61', '\x74', '\x73', '\x2e', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x21', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x2e', '\x69', '\x73', '\x4f', '\x6b', '\x28', '\x29', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x65', '\x6c', '\x65', '\x6d', '\x65', '\x6e', '\x74', '\x4e', '\x61', '\x6d', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x77', '\x69', '\x74', '\x63', '\x68', '\x28', '\x20', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x2e', '\x67', '\x65', '\x74', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x54', '\x79', '\x70', '\x65', '\x28', '\x29', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x61', '\x73', '\x65', '\x20', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x57', '\x61', '\x73', '\x3a', '\x3a', '\x54', '\x68', '\x72', '\x65', '\x77', '\x45', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x61', '\x73', '\x65', '\x20', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x57', '\x61', '\x73', '\x3a', '\x3a', '\x46', '\x61', '\x74', '\x61', '\x6c', '\x45', '\x72', '\x72', '\x6f', '\x72', '\x43', '\x6f', '\x6e', '\x64', '\x69', '\x74', '\x69', '\x6f', '\x6e', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x6c', '\x65', '\x6d', '\x65', '\x6e', '\x74', '\x4e', '\x61', '\x6d', '\x65', '\x20', '\x3d', '\x20', '\x22', '\x65', '\x72', '\x72', '\x6f', '\x72', '\x22', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x72', '\x65', '\x61', '\x6b', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x61', '\x73', '\x65', '\x20', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x57', '\x61', '\x73', '\x3a', '\x3a', '\x45', '\x78', '\x70', '\x6c', '\x69', '\x63', '\x69', '\x74', '\x46', '\x61', '\x69', '\x6c', '\x75', '\x72', '\x65', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x6c', '\x65', '\x6d', '\x65', '\x6e', '\x74', '\x4e', '\x61', '\x6d', '\x65', '\x20', '\x3d', '\x20', '\x22', '\x66', '\x61', '\x69', '\x6c', '\x75', '\x72', '\x65', '\x22', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x72', '\x65', '\x61', '\x6b', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x61', '\x73', '\x65', '\x20', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x57', '\x61', '\x73', '\x3a', '\x3a', '\x45', '\x78', '\x70', '\x72', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x46', '\x61', '\x69', '\x6c', '\x65', '\x64', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x6c', '\x65', '\x6d', '\x65', '\x6e', '\x74', '\x4e', '\x61', '\x6d', '\x65', '\x20', '\x3d', '\x20', '\x22', '\x66', '\x61', '\x69', '\x6c', '\x75', '\x72', '\x65', '\x22', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x72', '\x65', '\x61', '\x6b', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x61', '\x73', '\x65', '\x20', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x57', '\x61', '\x73', '\x3a', '\x3a', '\x44', '\x69', '\x64', '\x6e', '\x74', '\x54', '\x68', '\x72', '\x6f', '\x77', '\x45', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x6c', '\x65', '\x6d', '\x65', '\x6e', '\x74', '\x4e', '\x61', '\x6d', '\x65', '\x20', '\x3d', '\x20', '\x22', '\x66', '\x61', '\x69', '\x6c', '\x75', '\x72', '\x65', '\x22', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x72', '\x65', '\x61', '\x6b', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x57', '\x65', '\x20', '\x73', '\x68', '\x6f', '\x75', '\x6c', '\x64', '\x20', '\x6e', '\x65', '\x76', '\x65', '\x72', '\x20', '\x73', '\x65', '\x65', '\x20', '\x74', '\x68', '\x65', '\x73', '\x65', '\x20', '\x68', '\x65', '\x72', '\x65', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x61', '\x73', '\x65', '\x20', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x57', '\x61', '\x73', '\x3a', '\x3a', '\x49', '\x6e', '\x66', '\x6f', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x61', '\x73', '\x65', '\x20', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x57', '\x61', '\x73', '\x3a', '\x3a', '\x57', '\x61', '\x72', '\x6e', '\x69', '\x6e', '\x67', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x61', '\x73', '\x65', '\x20', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x57', '\x61', '\x73', '\x3a', '\x3a', '\x4f', '\x6b', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x61', '\x73', '\x65', '\x20', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x57', '\x61', '\x73', '\x3a', '\x3a', '\x55', '\x6e', '\x6b', '\x6e', '\x6f', '\x77', '\x6e', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x61', '\x73', '\x65', '\x20', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x57', '\x61', '\x73', '\x3a', '\x3a', '\x46', '\x61', '\x69', '\x6c', '\x75', '\x72', '\x65', '\x42', '\x69', '\x74', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x61', '\x73', '\x65', '\x20', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x57', '\x61', '\x73', '\x3a', '\x3a', '\x45', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x6c', '\x65', '\x6d', '\x65', '\x6e', '\x74', '\x4e', '\x61', '\x6d', '\x65', '\x20', '\x3d', '\x20', '\x22', '\x69', '\x6e', '\x74', '\x65', '\x72', '\x6e', '\x61', '\x6c', '\x45', '\x72', '\x72', '\x6f', '\x72', '\x22', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x72', '\x65', '\x61', '\x6b', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x58', '\x6d', '\x6c', '\x57', '\x72', '\x69', '\x74', '\x65', '\x72', '\x3a', '\x3a', '\x53', '\x63', '\x6f', '\x70', '\x65', '\x64', '\x45', '\x6c', '\x65', '\x6d', '\x65', '\x6e', '\x74', '\x20', '\x65', '\x20', '\x3d', '\x20', '\x78', '\x6d', '\x6c', '\x2e', '\x73', '\x63', '\x6f', '\x70', '\x65', '\x64', '\x45', '\x6c', '\x65', '\x6d', '\x65', '\x6e', '\x74', '\x28', '\x20', '\x65', '\x6c', '\x65', '\x6d', '\x65', '\x6e', '\x74', '\x4e', '\x61', '\x6d', '\x65', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x78', '\x6d', '\x6c', '\x2e', '\x77', '\x72', '\x69', '\x74', '\x65', '\x41', '\x74', '\x74', '\x72', '\x69', '\x62', '\x75', '\x74', '\x65', '\x28', '\x20', '\x22', '\x6d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x22', '\x2c', '\x20', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x2e', '\x67', '\x65', '\x74', '\x45', '\x78', '\x70', '\x61', '\x6e', '\x64', '\x65', '\x64', '\x45', '\x78', '\x70', '\x72', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x28', '\x29', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x78', '\x6d', '\x6c', '\x2e', '\x77', '\x72', '\x69', '\x74', '\x65', '\x41', '\x74', '\x74', '\x72', '\x69', '\x62', '\x75', '\x74', '\x65', '\x28', '\x20', '\x22', '\x74', '\x79', '\x70', '\x65', '\x22', '\x2c', '\x20', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x2e', '\x67', '\x65', '\x74', '\x54', '\x65', '\x73', '\x74', '\x4d', '\x61', '\x63', '\x72', '\x6f', '\x4e', '\x61', '\x6d', '\x65', '\x28', '\x29', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x52', '\x65', '\x75', '\x73', '\x61', '\x62', '\x6c', '\x65', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x20', '\x72', '\x73', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x21', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x2e', '\x67', '\x65', '\x74', '\x4d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x28', '\x29', '\x2e', '\x65', '\x6d', '\x70', '\x74', '\x79', '\x28', '\x29', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x73', '\x73', '\x20', '\x3c', '\x3c', '\x20', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x2e', '\x67', '\x65', '\x74', '\x4d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x28', '\x29', '\x20', '\x3c', '\x3c', '\x20', '\x27', '\x5c', '\x6e', '\x27', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x66', '\x6f', '\x72', '\x28', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6d', '\x73', '\x67', '\x20', '\x3a', '\x20', '\x73', '\x74', '\x61', '\x74', '\x73', '\x2e', '\x69', '\x6e', '\x66', '\x6f', '\x4d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x73', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x6d', '\x73', '\x67', '\x2e', '\x74', '\x79', '\x70', '\x65', '\x20', '\x3d', '\x3d', '\x20', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x57', '\x61', '\x73', '\x3a', '\x3a', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x73', '\x73', '\x20', '\x3c', '\x3c', '\x20', '\x6d', '\x73', '\x67', '\x2e', '\x6d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x20', '\x3c', '\x3c', '\x20', '\x27', '\x5c', '\x6e', '\x27', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x73', '\x73', '\x20', '\x3c', '\x3c', '\x20', '\x22', '\x61', '\x74', '\x20', '\x22', '\x20', '\x3c', '\x3c', '\x20', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x2e', '\x67', '\x65', '\x74', '\x53', '\x6f', '\x75', '\x72', '\x63', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x78', '\x6d', '\x6c', '\x2e', '\x77', '\x72', '\x69', '\x74', '\x65', '\x54', '\x65', '\x78', '\x74', '\x28', '\x20', '\x72', '\x73', '\x73', '\x2e', '\x73', '\x74', '\x72', '\x28', '\x29', '\x2c', '\x20', '\x66', '\x61', '\x6c', '\x73', '\x65', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x47', '\x49', '\x53', '\x54', '\x45', '\x52', '\x5f', '\x52', '\x45', '\x50', '\x4f', '\x52', '\x54', '\x45', '\x52', '\x28', '\x20', '\x22', '\x6a', '\x75', '\x6e', '\x69', '\x74', '\x22', '\x2c', '\x20', '\x4a', '\x75', '\x6e', '\x69', '\x74', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x20', '\x29', '\x0d', '\x0a', '\x0d', '\x0a', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x72', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x5f', '\x6a', '\x75', '\x6e', '\x69', '\x74', '\x2e', '\x63', '\x70', '\x70', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x72', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x5f', '\x6c', '\x69', '\x73', '\x74', '\x65', '\x6e', '\x69', '\x6e', '\x67', '\x2e', '\x63', '\x70', '\x70', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x20', '\x3c', '\x63', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x3e', '\x0d', '\x0a', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x4c', '\x69', '\x73', '\x74', '\x65', '\x6e', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x3a', '\x3a', '\x4c', '\x69', '\x73', '\x74', '\x65', '\x6e', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x28', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x57', '\x65', '\x20', '\x77', '\x69', '\x6c', '\x6c', '\x20', '\x61', '\x73', '\x73', '\x75', '\x6d', '\x65', '\x20', '\x74', '\x68', '\x61', '\x74', '\x20', '\x6c', '\x69', '\x73', '\x74', '\x65', '\x6e', '\x65', '\x72', '\x73', '\x20', '\x77', '\x69', '\x6c', '\x6c', '\x20', '\x61', '\x6c', '\x77', '\x61', '\x79', '\x73', '\x20', '\x77', '\x61', '\x6e', '\x74', '\x20', '\x61', '\x6c', '\x6c', '\x20', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x70', '\x72', '\x65', '\x66', '\x65', '\x72', '\x65', '\x6e', '\x63', '\x65', '\x73', '\x2e', '\x73', '\x68', '\x6f', '\x75', '\x6c', '\x64', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x41', '\x6c', '\x6c', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x20', '\x3d', '\x20', '\x74', '\x72', '\x75', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x4c', '\x69', '\x73', '\x74', '\x65', '\x6e', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x3a', '\x3a', '\x61', '\x64', '\x64', '\x4c', '\x69', '\x73', '\x74', '\x65', '\x6e', '\x65', '\x72', '\x28', '\x20', '\x49', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x50', '\x74', '\x72', '\x26', '\x26', '\x20', '\x6c', '\x69', '\x73', '\x74', '\x65', '\x6e', '\x65', '\x72', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x6c', '\x69', '\x73', '\x74', '\x65', '\x6e', '\x65', '\x72', '\x73', '\x2e', '\x70', '\x75', '\x73', '\x68', '\x5f', '\x62', '\x61', '\x63', '\x6b', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6d', '\x6f', '\x76', '\x65', '\x28', '\x20', '\x6c', '\x69', '\x73', '\x74', '\x65', '\x6e', '\x65', '\x72', '\x20', '\x29', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x4c', '\x69', '\x73', '\x74', '\x65', '\x6e', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x3a', '\x3a', '\x61', '\x64', '\x64', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x28', '\x49', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x50', '\x74', '\x72', '\x26', '\x26', '\x20', '\x72', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x28', '\x21', '\x6d', '\x5f', '\x72', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x20', '\x26', '\x26', '\x20', '\x22', '\x4c', '\x69', '\x73', '\x74', '\x65', '\x6e', '\x69', '\x6e', '\x67', '\x20', '\x72', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x20', '\x63', '\x61', '\x6e', '\x20', '\x77', '\x72', '\x61', '\x70', '\x20', '\x6f', '\x6e', '\x6c', '\x79', '\x20', '\x31', '\x20', '\x72', '\x65', '\x61', '\x6c', '\x20', '\x72', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x22', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x72', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x20', '\x3d', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x6d', '\x6f', '\x76', '\x65', '\x28', '\x20', '\x72', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x70', '\x72', '\x65', '\x66', '\x65', '\x72', '\x65', '\x6e', '\x63', '\x65', '\x73', '\x2e', '\x73', '\x68', '\x6f', '\x75', '\x6c', '\x64', '\x52', '\x65', '\x64', '\x69', '\x72', '\x65', '\x63', '\x74', '\x53', '\x74', '\x64', '\x4f', '\x75', '\x74', '\x20', '\x3d', '\x20', '\x6d', '\x5f', '\x72', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x2d', '\x3e', '\x67', '\x65', '\x74', '\x50', '\x72', '\x65', '\x66', '\x65', '\x72', '\x65', '\x6e', '\x63', '\x65', '\x73', '\x28', '\x29', '\x2e', '\x73', '\x68', '\x6f', '\x75', '\x6c', '\x64', '\x52', '\x65', '\x64', '\x69', '\x72', '\x65', '\x63', '\x74', '\x53', '\x74', '\x64', '\x4f', '\x75', '\x74', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x50', '\x72', '\x65', '\x66', '\x65', '\x72', '\x65', '\x6e', '\x63', '\x65', '\x73', '\x20', '\x4c', '\x69', '\x73', '\x74', '\x65', '\x6e', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x3a', '\x3a', '\x67', '\x65', '\x74', '\x50', '\x72', '\x65', '\x66', '\x65', '\x72', '\x65', '\x6e', '\x63', '\x65', '\x73', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6d', '\x5f', '\x70', '\x72', '\x65', '\x66', '\x65', '\x72', '\x65', '\x6e', '\x63', '\x65', '\x73', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x65', '\x74', '\x3c', '\x56', '\x65', '\x72', '\x62', '\x6f', '\x73', '\x69', '\x74', '\x79', '\x3e', '\x20', '\x4c', '\x69', '\x73', '\x74', '\x65', '\x6e', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x3a', '\x3a', '\x67', '\x65', '\x74', '\x53', '\x75', '\x70', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x64', '\x56', '\x65', '\x72', '\x62', '\x6f', '\x73', '\x69', '\x74', '\x69', '\x65', '\x73', '\x28', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x65', '\x74', '\x3c', '\x56', '\x65', '\x72', '\x62', '\x6f', '\x73', '\x69', '\x74', '\x79', '\x3e', '\x7b', '\x20', '\x7d', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x4c', '\x69', '\x73', '\x74', '\x65', '\x6e', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x3a', '\x3a', '\x6e', '\x6f', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x69', '\x6e', '\x67', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x73', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x73', '\x70', '\x65', '\x63', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x66', '\x6f', '\x72', '\x20', '\x28', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6c', '\x69', '\x73', '\x74', '\x65', '\x6e', '\x65', '\x72', '\x20', '\x3a', '\x20', '\x6d', '\x5f', '\x6c', '\x69', '\x73', '\x74', '\x65', '\x6e', '\x65', '\x72', '\x73', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6c', '\x69', '\x73', '\x74', '\x65', '\x6e', '\x65', '\x72', '\x2d', '\x3e', '\x6e', '\x6f', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x69', '\x6e', '\x67', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x73', '\x28', '\x20', '\x73', '\x70', '\x65', '\x63', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x72', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x2d', '\x3e', '\x6e', '\x6f', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x69', '\x6e', '\x67', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x73', '\x28', '\x20', '\x73', '\x70', '\x65', '\x63', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x4c', '\x69', '\x73', '\x74', '\x65', '\x6e', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x3a', '\x3a', '\x72', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x49', '\x6e', '\x76', '\x61', '\x6c', '\x69', '\x64', '\x41', '\x72', '\x67', '\x75', '\x6d', '\x65', '\x6e', '\x74', '\x73', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x61', '\x72', '\x67', '\x29', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x66', '\x6f', '\x72', '\x20', '\x28', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6c', '\x69', '\x73', '\x74', '\x65', '\x6e', '\x65', '\x72', '\x20', '\x3a', '\x20', '\x6d', '\x5f', '\x6c', '\x69', '\x73', '\x74', '\x65', '\x6e', '\x65', '\x72', '\x73', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6c', '\x69', '\x73', '\x74', '\x65', '\x6e', '\x65', '\x72', '\x2d', '\x3e', '\x72', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x49', '\x6e', '\x76', '\x61', '\x6c', '\x69', '\x64', '\x41', '\x72', '\x67', '\x75', '\x6d', '\x65', '\x6e', '\x74', '\x73', '\x28', '\x20', '\x61', '\x72', '\x67', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x72', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x2d', '\x3e', '\x72', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x49', '\x6e', '\x76', '\x61', '\x6c', '\x69', '\x64', '\x41', '\x72', '\x67', '\x75', '\x6d', '\x65', '\x6e', '\x74', '\x73', '\x28', '\x20', '\x61', '\x72', '\x67', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x45', '\x4e', '\x41', '\x42', '\x4c', '\x45', '\x5f', '\x42', '\x45', '\x4e', '\x43', '\x48', '\x4d', '\x41', '\x52', '\x4b', '\x49', '\x4e', '\x47', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x4c', '\x69', '\x73', '\x74', '\x65', '\x6e', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x3a', '\x3a', '\x62', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x50', '\x72', '\x65', '\x70', '\x61', '\x72', '\x69', '\x6e', '\x67', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x09', '\x09', '\x66', '\x6f', '\x72', '\x20', '\x28', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6c', '\x69', '\x73', '\x74', '\x65', '\x6e', '\x65', '\x72', '\x20', '\x3a', '\x20', '\x6d', '\x5f', '\x6c', '\x69', '\x73', '\x74', '\x65', '\x6e', '\x65', '\x72', '\x73', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x09', '\x09', '\x09', '\x6c', '\x69', '\x73', '\x74', '\x65', '\x6e', '\x65', '\x72', '\x2d', '\x3e', '\x62', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x50', '\x72', '\x65', '\x70', '\x61', '\x72', '\x69', '\x6e', '\x67', '\x28', '\x6e', '\x61', '\x6d', '\x65', '\x29', '\x3b', '\x0d', '\x0a', '\x09', '\x09', '\x7d', '\x0d', '\x0a', '\x09', '\x09', '\x6d', '\x5f', '\x72', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x2d', '\x3e', '\x62', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x50', '\x72', '\x65', '\x70', '\x61', '\x72', '\x69', '\x6e', '\x67', '\x28', '\x6e', '\x61', '\x6d', '\x65', '\x29', '\x3b', '\x0d', '\x0a', '\x09', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x4c', '\x69', '\x73', '\x74', '\x65', '\x6e', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x3a', '\x3a', '\x62', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x53', '\x74', '\x61', '\x72', '\x74', '\x69', '\x6e', '\x67', '\x28', '\x20', '\x42', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x62', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x66', '\x6f', '\x72', '\x20', '\x28', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6c', '\x69', '\x73', '\x74', '\x65', '\x6e', '\x65', '\x72', '\x20', '\x3a', '\x20', '\x6d', '\x5f', '\x6c', '\x69', '\x73', '\x74', '\x65', '\x6e', '\x65', '\x72', '\x73', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6c', '\x69', '\x73', '\x74', '\x65', '\x6e', '\x65', '\x72', '\x2d', '\x3e', '\x62', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x53', '\x74', '\x61', '\x72', '\x74', '\x69', '\x6e', '\x67', '\x28', '\x20', '\x62', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x72', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x2d', '\x3e', '\x62', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x53', '\x74', '\x61', '\x72', '\x74', '\x69', '\x6e', '\x67', '\x28', '\x20', '\x62', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x4c', '\x69', '\x73', '\x74', '\x65', '\x6e', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x3a', '\x3a', '\x62', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x45', '\x6e', '\x64', '\x65', '\x64', '\x28', '\x20', '\x42', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x53', '\x74', '\x61', '\x74', '\x73', '\x3c', '\x3e', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x62', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x53', '\x74', '\x61', '\x74', '\x73', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x66', '\x6f', '\x72', '\x20', '\x28', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6c', '\x69', '\x73', '\x74', '\x65', '\x6e', '\x65', '\x72', '\x20', '\x3a', '\x20', '\x6d', '\x5f', '\x6c', '\x69', '\x73', '\x74', '\x65', '\x6e', '\x65', '\x72', '\x73', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6c', '\x69', '\x73', '\x74', '\x65', '\x6e', '\x65', '\x72', '\x2d', '\x3e', '\x62', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x45', '\x6e', '\x64', '\x65', '\x64', '\x28', '\x20', '\x62', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x53', '\x74', '\x61', '\x74', '\x73', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x72', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x2d', '\x3e', '\x62', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x45', '\x6e', '\x64', '\x65', '\x64', '\x28', '\x20', '\x62', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x53', '\x74', '\x61', '\x74', '\x73', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x09', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x4c', '\x69', '\x73', '\x74', '\x65', '\x6e', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x3a', '\x3a', '\x62', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x46', '\x61', '\x69', '\x6c', '\x65', '\x64', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x65', '\x72', '\x72', '\x6f', '\x72', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x09', '\x09', '\x66', '\x6f', '\x72', '\x20', '\x28', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6c', '\x69', '\x73', '\x74', '\x65', '\x6e', '\x65', '\x72', '\x20', '\x3a', '\x20', '\x6d', '\x5f', '\x6c', '\x69', '\x73', '\x74', '\x65', '\x6e', '\x65', '\x72', '\x73', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x09', '\x09', '\x09', '\x6c', '\x69', '\x73', '\x74', '\x65', '\x6e', '\x65', '\x72', '\x2d', '\x3e', '\x62', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x46', '\x61', '\x69', '\x6c', '\x65', '\x64', '\x28', '\x65', '\x72', '\x72', '\x6f', '\x72', '\x29', '\x3b', '\x0d', '\x0a', '\x09', '\x09', '\x7d', '\x0d', '\x0a', '\x09', '\x09', '\x6d', '\x5f', '\x72', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x2d', '\x3e', '\x62', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x46', '\x61', '\x69', '\x6c', '\x65', '\x64', '\x28', '\x65', '\x72', '\x72', '\x6f', '\x72', '\x29', '\x3b', '\x0d', '\x0a', '\x09', '\x7d', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x20', '\x2f', '\x2f', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x45', '\x4e', '\x41', '\x42', '\x4c', '\x45', '\x5f', '\x42', '\x45', '\x4e', '\x43', '\x48', '\x4d', '\x41', '\x52', '\x4b', '\x49', '\x4e', '\x47', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x4c', '\x69', '\x73', '\x74', '\x65', '\x6e', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x3a', '\x3a', '\x74', '\x65', '\x73', '\x74', '\x52', '\x75', '\x6e', '\x53', '\x74', '\x61', '\x72', '\x74', '\x69', '\x6e', '\x67', '\x28', '\x20', '\x54', '\x65', '\x73', '\x74', '\x52', '\x75', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x74', '\x65', '\x73', '\x74', '\x52', '\x75', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x66', '\x6f', '\x72', '\x20', '\x28', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6c', '\x69', '\x73', '\x74', '\x65', '\x6e', '\x65', '\x72', '\x20', '\x3a', '\x20', '\x6d', '\x5f', '\x6c', '\x69', '\x73', '\x74', '\x65', '\x6e', '\x65', '\x72', '\x73', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6c', '\x69', '\x73', '\x74', '\x65', '\x6e', '\x65', '\x72', '\x2d', '\x3e', '\x74', '\x65', '\x73', '\x74', '\x52', '\x75', '\x6e', '\x53', '\x74', '\x61', '\x72', '\x74', '\x69', '\x6e', '\x67', '\x28', '\x20', '\x74', '\x65', '\x73', '\x74', '\x52', '\x75', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x72', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x2d', '\x3e', '\x74', '\x65', '\x73', '\x74', '\x52', '\x75', '\x6e', '\x53', '\x74', '\x61', '\x72', '\x74', '\x69', '\x6e', '\x67', '\x28', '\x20', '\x74', '\x65', '\x73', '\x74', '\x52', '\x75', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x4c', '\x69', '\x73', '\x74', '\x65', '\x6e', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x3a', '\x3a', '\x74', '\x65', '\x73', '\x74', '\x47', '\x72', '\x6f', '\x75', '\x70', '\x53', '\x74', '\x61', '\x72', '\x74', '\x69', '\x6e', '\x67', '\x28', '\x20', '\x47', '\x72', '\x6f', '\x75', '\x70', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x67', '\x72', '\x6f', '\x75', '\x70', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x66', '\x6f', '\x72', '\x20', '\x28', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6c', '\x69', '\x73', '\x74', '\x65', '\x6e', '\x65', '\x72', '\x20', '\x3a', '\x20', '\x6d', '\x5f', '\x6c', '\x69', '\x73', '\x74', '\x65', '\x6e', '\x65', '\x72', '\x73', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6c', '\x69', '\x73', '\x74', '\x65', '\x6e', '\x65', '\x72', '\x2d', '\x3e', '\x74', '\x65', '\x73', '\x74', '\x47', '\x72', '\x6f', '\x75', '\x70', '\x53', '\x74', '\x61', '\x72', '\x74', '\x69', '\x6e', '\x67', '\x28', '\x20', '\x67', '\x72', '\x6f', '\x75', '\x70', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x72', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x2d', '\x3e', '\x74', '\x65', '\x73', '\x74', '\x47', '\x72', '\x6f', '\x75', '\x70', '\x53', '\x74', '\x61', '\x72', '\x74', '\x69', '\x6e', '\x67', '\x28', '\x20', '\x67', '\x72', '\x6f', '\x75', '\x70', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x4c', '\x69', '\x73', '\x74', '\x65', '\x6e', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x3a', '\x3a', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x53', '\x74', '\x61', '\x72', '\x74', '\x69', '\x6e', '\x67', '\x28', '\x20', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x74', '\x65', '\x73', '\x74', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x66', '\x6f', '\x72', '\x20', '\x28', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6c', '\x69', '\x73', '\x74', '\x65', '\x6e', '\x65', '\x72', '\x20', '\x3a', '\x20', '\x6d', '\x5f', '\x6c', '\x69', '\x73', '\x74', '\x65', '\x6e', '\x65', '\x72', '\x73', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6c', '\x69', '\x73', '\x74', '\x65', '\x6e', '\x65', '\x72', '\x2d', '\x3e', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x53', '\x74', '\x61', '\x72', '\x74', '\x69', '\x6e', '\x67', '\x28', '\x20', '\x74', '\x65', '\x73', '\x74', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x72', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x2d', '\x3e', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x53', '\x74', '\x61', '\x72', '\x74', '\x69', '\x6e', '\x67', '\x28', '\x20', '\x74', '\x65', '\x73', '\x74', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x4c', '\x69', '\x73', '\x74', '\x65', '\x6e', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x3a', '\x3a', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x53', '\x74', '\x61', '\x72', '\x74', '\x69', '\x6e', '\x67', '\x28', '\x20', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x66', '\x6f', '\x72', '\x20', '\x28', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6c', '\x69', '\x73', '\x74', '\x65', '\x6e', '\x65', '\x72', '\x20', '\x3a', '\x20', '\x6d', '\x5f', '\x6c', '\x69', '\x73', '\x74', '\x65', '\x6e', '\x65', '\x72', '\x73', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6c', '\x69', '\x73', '\x74', '\x65', '\x6e', '\x65', '\x72', '\x2d', '\x3e', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x53', '\x74', '\x61', '\x72', '\x74', '\x69', '\x6e', '\x67', '\x28', '\x20', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x72', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x2d', '\x3e', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x53', '\x74', '\x61', '\x72', '\x74', '\x69', '\x6e', '\x67', '\x28', '\x20', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x4c', '\x69', '\x73', '\x74', '\x65', '\x6e', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x3a', '\x3a', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x53', '\x74', '\x61', '\x72', '\x74', '\x69', '\x6e', '\x67', '\x28', '\x20', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x66', '\x6f', '\x72', '\x20', '\x28', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6c', '\x69', '\x73', '\x74', '\x65', '\x6e', '\x65', '\x72', '\x20', '\x3a', '\x20', '\x6d', '\x5f', '\x6c', '\x69', '\x73', '\x74', '\x65', '\x6e', '\x65', '\x72', '\x73', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6c', '\x69', '\x73', '\x74', '\x65', '\x6e', '\x65', '\x72', '\x2d', '\x3e', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x53', '\x74', '\x61', '\x72', '\x74', '\x69', '\x6e', '\x67', '\x28', '\x20', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x72', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x2d', '\x3e', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x53', '\x74', '\x61', '\x72', '\x74', '\x69', '\x6e', '\x67', '\x28', '\x20', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x54', '\x68', '\x65', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x20', '\x69', '\x6e', '\x64', '\x69', '\x63', '\x61', '\x74', '\x65', '\x73', '\x20', '\x69', '\x66', '\x20', '\x74', '\x68', '\x65', '\x20', '\x6d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x73', '\x20', '\x62', '\x75', '\x66', '\x66', '\x65', '\x72', '\x20', '\x73', '\x68', '\x6f', '\x75', '\x6c', '\x64', '\x20', '\x62', '\x65', '\x20', '\x63', '\x6c', '\x65', '\x61', '\x72', '\x65', '\x64', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x4c', '\x69', '\x73', '\x74', '\x65', '\x6e', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x3a', '\x3a', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x45', '\x6e', '\x64', '\x65', '\x64', '\x28', '\x20', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x73', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x73', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x66', '\x6f', '\x72', '\x28', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6c', '\x69', '\x73', '\x74', '\x65', '\x6e', '\x65', '\x72', '\x20', '\x3a', '\x20', '\x6d', '\x5f', '\x6c', '\x69', '\x73', '\x74', '\x65', '\x6e', '\x65', '\x72', '\x73', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x5f', '\x63', '\x61', '\x73', '\x74', '\x3c', '\x76', '\x6f', '\x69', '\x64', '\x3e', '\x28', '\x20', '\x6c', '\x69', '\x73', '\x74', '\x65', '\x6e', '\x65', '\x72', '\x2d', '\x3e', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x45', '\x6e', '\x64', '\x65', '\x64', '\x28', '\x20', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x73', '\x20', '\x29', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x6d', '\x5f', '\x72', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x2d', '\x3e', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x45', '\x6e', '\x64', '\x65', '\x64', '\x28', '\x20', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x73', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x4c', '\x69', '\x73', '\x74', '\x65', '\x6e', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x3a', '\x3a', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x45', '\x6e', '\x64', '\x65', '\x64', '\x28', '\x20', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x73', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x73', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x66', '\x6f', '\x72', '\x20', '\x28', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6c', '\x69', '\x73', '\x74', '\x65', '\x6e', '\x65', '\x72', '\x20', '\x3a', '\x20', '\x6d', '\x5f', '\x6c', '\x69', '\x73', '\x74', '\x65', '\x6e', '\x65', '\x72', '\x73', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6c', '\x69', '\x73', '\x74', '\x65', '\x6e', '\x65', '\x72', '\x2d', '\x3e', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x45', '\x6e', '\x64', '\x65', '\x64', '\x28', '\x20', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x73', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x72', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x2d', '\x3e', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x45', '\x6e', '\x64', '\x65', '\x64', '\x28', '\x20', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x73', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x4c', '\x69', '\x73', '\x74', '\x65', '\x6e', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x3a', '\x3a', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x45', '\x6e', '\x64', '\x65', '\x64', '\x28', '\x20', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x53', '\x74', '\x61', '\x74', '\x73', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x53', '\x74', '\x61', '\x74', '\x73', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x66', '\x6f', '\x72', '\x20', '\x28', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6c', '\x69', '\x73', '\x74', '\x65', '\x6e', '\x65', '\x72', '\x20', '\x3a', '\x20', '\x6d', '\x5f', '\x6c', '\x69', '\x73', '\x74', '\x65', '\x6e', '\x65', '\x72', '\x73', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6c', '\x69', '\x73', '\x74', '\x65', '\x6e', '\x65', '\x72', '\x2d', '\x3e', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x45', '\x6e', '\x64', '\x65', '\x64', '\x28', '\x20', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x53', '\x74', '\x61', '\x74', '\x73', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x72', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x2d', '\x3e', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x45', '\x6e', '\x64', '\x65', '\x64', '\x28', '\x20', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x53', '\x74', '\x61', '\x74', '\x73', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x4c', '\x69', '\x73', '\x74', '\x65', '\x6e', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x3a', '\x3a', '\x74', '\x65', '\x73', '\x74', '\x47', '\x72', '\x6f', '\x75', '\x70', '\x45', '\x6e', '\x64', '\x65', '\x64', '\x28', '\x20', '\x54', '\x65', '\x73', '\x74', '\x47', '\x72', '\x6f', '\x75', '\x70', '\x53', '\x74', '\x61', '\x74', '\x73', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x74', '\x65', '\x73', '\x74', '\x47', '\x72', '\x6f', '\x75', '\x70', '\x53', '\x74', '\x61', '\x74', '\x73', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x66', '\x6f', '\x72', '\x20', '\x28', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6c', '\x69', '\x73', '\x74', '\x65', '\x6e', '\x65', '\x72', '\x20', '\x3a', '\x20', '\x6d', '\x5f', '\x6c', '\x69', '\x73', '\x74', '\x65', '\x6e', '\x65', '\x72', '\x73', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6c', '\x69', '\x73', '\x74', '\x65', '\x6e', '\x65', '\x72', '\x2d', '\x3e', '\x74', '\x65', '\x73', '\x74', '\x47', '\x72', '\x6f', '\x75', '\x70', '\x45', '\x6e', '\x64', '\x65', '\x64', '\x28', '\x20', '\x74', '\x65', '\x73', '\x74', '\x47', '\x72', '\x6f', '\x75', '\x70', '\x53', '\x74', '\x61', '\x74', '\x73', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x72', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x2d', '\x3e', '\x74', '\x65', '\x73', '\x74', '\x47', '\x72', '\x6f', '\x75', '\x70', '\x45', '\x6e', '\x64', '\x65', '\x64', '\x28', '\x20', '\x74', '\x65', '\x73', '\x74', '\x47', '\x72', '\x6f', '\x75', '\x70', '\x53', '\x74', '\x61', '\x74', '\x73', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x4c', '\x69', '\x73', '\x74', '\x65', '\x6e', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x3a', '\x3a', '\x74', '\x65', '\x73', '\x74', '\x52', '\x75', '\x6e', '\x45', '\x6e', '\x64', '\x65', '\x64', '\x28', '\x20', '\x54', '\x65', '\x73', '\x74', '\x52', '\x75', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x73', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x74', '\x65', '\x73', '\x74', '\x52', '\x75', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x73', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x66', '\x6f', '\x72', '\x20', '\x28', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6c', '\x69', '\x73', '\x74', '\x65', '\x6e', '\x65', '\x72', '\x20', '\x3a', '\x20', '\x6d', '\x5f', '\x6c', '\x69', '\x73', '\x74', '\x65', '\x6e', '\x65', '\x72', '\x73', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6c', '\x69', '\x73', '\x74', '\x65', '\x6e', '\x65', '\x72', '\x2d', '\x3e', '\x74', '\x65', '\x73', '\x74', '\x52', '\x75', '\x6e', '\x45', '\x6e', '\x64', '\x65', '\x64', '\x28', '\x20', '\x74', '\x65', '\x73', '\x74', '\x52', '\x75', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x73', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x72', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x2d', '\x3e', '\x74', '\x65', '\x73', '\x74', '\x52', '\x75', '\x6e', '\x45', '\x6e', '\x64', '\x65', '\x64', '\x28', '\x20', '\x74', '\x65', '\x73', '\x74', '\x52', '\x75', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x73', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x4c', '\x69', '\x73', '\x74', '\x65', '\x6e', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x3a', '\x3a', '\x73', '\x6b', '\x69', '\x70', '\x54', '\x65', '\x73', '\x74', '\x28', '\x20', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x74', '\x65', '\x73', '\x74', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x66', '\x6f', '\x72', '\x20', '\x28', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6c', '\x69', '\x73', '\x74', '\x65', '\x6e', '\x65', '\x72', '\x20', '\x3a', '\x20', '\x6d', '\x5f', '\x6c', '\x69', '\x73', '\x74', '\x65', '\x6e', '\x65', '\x72', '\x73', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6c', '\x69', '\x73', '\x74', '\x65', '\x6e', '\x65', '\x72', '\x2d', '\x3e', '\x73', '\x6b', '\x69', '\x70', '\x54', '\x65', '\x73', '\x74', '\x28', '\x20', '\x74', '\x65', '\x73', '\x74', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x72', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x2d', '\x3e', '\x73', '\x6b', '\x69', '\x70', '\x54', '\x65', '\x73', '\x74', '\x28', '\x20', '\x74', '\x65', '\x73', '\x74', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x4c', '\x69', '\x73', '\x74', '\x65', '\x6e', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x3a', '\x3a', '\x69', '\x73', '\x4d', '\x75', '\x6c', '\x74', '\x69', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x74', '\x72', '\x75', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x72', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x5f', '\x6c', '\x69', '\x73', '\x74', '\x65', '\x6e', '\x69', '\x6e', '\x67', '\x2e', '\x63', '\x70', '\x70', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x72', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x5f', '\x78', '\x6d', '\x6c', '\x2e', '\x63', '\x70', '\x70', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x5f', '\x4d', '\x53', '\x43', '\x5f', '\x56', '\x45', '\x52', '\x29', '\x0d', '\x0a', '\x23', '\x70', '\x72', '\x61', '\x67', '\x6d', '\x61', '\x20', '\x77', '\x61', '\x72', '\x6e', '\x69', '\x6e', '\x67', '\x28', '\x70', '\x75', '\x73', '\x68', '\x29', '\x0d', '\x0a', '\x23', '\x70', '\x72', '\x61', '\x67', '\x6d', '\x61', '\x20', '\x77', '\x61', '\x72', '\x6e', '\x69', '\x6e', '\x67', '\x28', '\x64', '\x69', '\x73', '\x61', '\x62', '\x6c', '\x65', '\x3a', '\x34', '\x30', '\x36', '\x31', '\x29', '\x20', '\x2f', '\x2f', '\x20', '\x4e', '\x6f', '\x74', '\x20', '\x61', '\x6c', '\x6c', '\x20', '\x6c', '\x61', '\x62', '\x65', '\x6c', '\x73', '\x20', '\x61', '\x72', '\x65', '\x20', '\x45', '\x58', '\x50', '\x4c', '\x49', '\x43', '\x49', '\x54', '\x4c', '\x59', '\x20', '\x68', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x64', '\x20', '\x69', '\x6e', '\x20', '\x73', '\x77', '\x69', '\x74', '\x63', '\x68', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x4e', '\x6f', '\x74', '\x65', '\x20', '\x74', '\x68', '\x61', '\x74', '\x20', '\x34', '\x30', '\x36', '\x32', '\x20', '\x28', '\x6e', '\x6f', '\x74', '\x20', '\x61', '\x6c', '\x6c', '\x20', '\x6c', '\x61', '\x62', '\x65', '\x6c', '\x73', '\x20', '\x61', '\x72', '\x65', '\x20', '\x68', '\x61', '\x6e', '\x64', '\x6c', '\x65', '\x64', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x61', '\x6e', '\x64', '\x20', '\x64', '\x65', '\x66', '\x61', '\x75', '\x6c', '\x74', '\x20', '\x69', '\x73', '\x20', '\x6d', '\x69', '\x73', '\x73', '\x69', '\x6e', '\x67', '\x29', '\x20', '\x69', '\x73', '\x20', '\x65', '\x6e', '\x61', '\x62', '\x6c', '\x65', '\x64', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x58', '\x6d', '\x6c', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x3a', '\x3a', '\x58', '\x6d', '\x6c', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x28', '\x20', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x43', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x5f', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x3a', '\x20', '\x20', '\x20', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x42', '\x61', '\x73', '\x65', '\x28', '\x20', '\x5f', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x20', '\x29', '\x2c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x78', '\x6d', '\x6c', '\x28', '\x5f', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x2e', '\x73', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x28', '\x29', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x72', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x50', '\x72', '\x65', '\x66', '\x73', '\x2e', '\x73', '\x68', '\x6f', '\x75', '\x6c', '\x64', '\x52', '\x65', '\x64', '\x69', '\x72', '\x65', '\x63', '\x74', '\x53', '\x74', '\x64', '\x4f', '\x75', '\x74', '\x20', '\x3d', '\x20', '\x74', '\x72', '\x75', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x72', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x50', '\x72', '\x65', '\x66', '\x73', '\x2e', '\x73', '\x68', '\x6f', '\x75', '\x6c', '\x64', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x41', '\x6c', '\x6c', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x20', '\x3d', '\x20', '\x74', '\x72', '\x75', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x58', '\x6d', '\x6c', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x3a', '\x3a', '\x7e', '\x58', '\x6d', '\x6c', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x28', '\x29', '\x20', '\x3d', '\x20', '\x64', '\x65', '\x66', '\x61', '\x75', '\x6c', '\x74', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x58', '\x6d', '\x6c', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x3a', '\x3a', '\x67', '\x65', '\x74', '\x44', '\x65', '\x73', '\x63', '\x72', '\x69', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x28', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x22', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x73', '\x20', '\x74', '\x65', '\x73', '\x74', '\x20', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x73', '\x20', '\x61', '\x73', '\x20', '\x61', '\x6e', '\x20', '\x58', '\x4d', '\x4c', '\x20', '\x64', '\x6f', '\x63', '\x75', '\x6d', '\x65', '\x6e', '\x74', '\x22', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x58', '\x6d', '\x6c', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x3a', '\x3a', '\x67', '\x65', '\x74', '\x53', '\x74', '\x79', '\x6c', '\x65', '\x73', '\x68', '\x65', '\x65', '\x74', '\x52', '\x65', '\x66', '\x28', '\x29', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x58', '\x6d', '\x6c', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x3a', '\x3a', '\x77', '\x72', '\x69', '\x74', '\x65', '\x53', '\x6f', '\x75', '\x72', '\x63', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x28', '\x20', '\x53', '\x6f', '\x75', '\x72', '\x63', '\x65', '\x4c', '\x69', '\x6e', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x73', '\x6f', '\x75', '\x72', '\x63', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x78', '\x6d', '\x6c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2e', '\x77', '\x72', '\x69', '\x74', '\x65', '\x41', '\x74', '\x74', '\x72', '\x69', '\x62', '\x75', '\x74', '\x65', '\x28', '\x20', '\x22', '\x66', '\x69', '\x6c', '\x65', '\x6e', '\x61', '\x6d', '\x65', '\x22', '\x2c', '\x20', '\x73', '\x6f', '\x75', '\x72', '\x63', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x2e', '\x66', '\x69', '\x6c', '\x65', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2e', '\x77', '\x72', '\x69', '\x74', '\x65', '\x41', '\x74', '\x74', '\x72', '\x69', '\x62', '\x75', '\x74', '\x65', '\x28', '\x20', '\x22', '\x6c', '\x69', '\x6e', '\x65', '\x22', '\x2c', '\x20', '\x73', '\x6f', '\x75', '\x72', '\x63', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x2e', '\x6c', '\x69', '\x6e', '\x65', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x58', '\x6d', '\x6c', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x3a', '\x3a', '\x6e', '\x6f', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x69', '\x6e', '\x67', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x73', '\x28', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x73', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x42', '\x61', '\x73', '\x65', '\x3a', '\x3a', '\x6e', '\x6f', '\x4d', '\x61', '\x74', '\x63', '\x68', '\x69', '\x6e', '\x67', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x73', '\x28', '\x20', '\x73', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x58', '\x6d', '\x6c', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x3a', '\x3a', '\x74', '\x65', '\x73', '\x74', '\x52', '\x75', '\x6e', '\x53', '\x74', '\x61', '\x72', '\x74', '\x69', '\x6e', '\x67', '\x28', '\x20', '\x54', '\x65', '\x73', '\x74', '\x52', '\x75', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x74', '\x65', '\x73', '\x74', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x42', '\x61', '\x73', '\x65', '\x3a', '\x3a', '\x74', '\x65', '\x73', '\x74', '\x52', '\x75', '\x6e', '\x53', '\x74', '\x61', '\x72', '\x74', '\x69', '\x6e', '\x67', '\x28', '\x20', '\x74', '\x65', '\x73', '\x74', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x73', '\x74', '\x79', '\x6c', '\x65', '\x73', '\x68', '\x65', '\x65', '\x74', '\x52', '\x65', '\x66', '\x20', '\x3d', '\x20', '\x67', '\x65', '\x74', '\x53', '\x74', '\x79', '\x6c', '\x65', '\x73', '\x68', '\x65', '\x65', '\x74', '\x52', '\x65', '\x66', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x21', '\x73', '\x74', '\x79', '\x6c', '\x65', '\x73', '\x68', '\x65', '\x65', '\x74', '\x52', '\x65', '\x66', '\x2e', '\x65', '\x6d', '\x70', '\x74', '\x79', '\x28', '\x29', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x78', '\x6d', '\x6c', '\x2e', '\x77', '\x72', '\x69', '\x74', '\x65', '\x53', '\x74', '\x79', '\x6c', '\x65', '\x73', '\x68', '\x65', '\x65', '\x74', '\x52', '\x65', '\x66', '\x28', '\x20', '\x73', '\x74', '\x79', '\x6c', '\x65', '\x73', '\x68', '\x65', '\x65', '\x74', '\x52', '\x65', '\x66', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x78', '\x6d', '\x6c', '\x2e', '\x73', '\x74', '\x61', '\x72', '\x74', '\x45', '\x6c', '\x65', '\x6d', '\x65', '\x6e', '\x74', '\x28', '\x20', '\x22', '\x43', '\x61', '\x74', '\x63', '\x68', '\x22', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x21', '\x6d', '\x5f', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x2d', '\x3e', '\x6e', '\x61', '\x6d', '\x65', '\x28', '\x29', '\x2e', '\x65', '\x6d', '\x70', '\x74', '\x79', '\x28', '\x29', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x78', '\x6d', '\x6c', '\x2e', '\x77', '\x72', '\x69', '\x74', '\x65', '\x41', '\x74', '\x74', '\x72', '\x69', '\x62', '\x75', '\x74', '\x65', '\x28', '\x20', '\x22', '\x6e', '\x61', '\x6d', '\x65', '\x22', '\x2c', '\x20', '\x6d', '\x5f', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x2d', '\x3e', '\x6e', '\x61', '\x6d', '\x65', '\x28', '\x29', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x6d', '\x5f', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x2d', '\x3e', '\x74', '\x65', '\x73', '\x74', '\x53', '\x70', '\x65', '\x63', '\x28', '\x29', '\x2e', '\x68', '\x61', '\x73', '\x46', '\x69', '\x6c', '\x74', '\x65', '\x72', '\x73', '\x28', '\x29', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x78', '\x6d', '\x6c', '\x2e', '\x77', '\x72', '\x69', '\x74', '\x65', '\x41', '\x74', '\x74', '\x72', '\x69', '\x62', '\x75', '\x74', '\x65', '\x28', '\x20', '\x22', '\x66', '\x69', '\x6c', '\x74', '\x65', '\x72', '\x73', '\x22', '\x2c', '\x20', '\x73', '\x65', '\x72', '\x69', '\x61', '\x6c', '\x69', '\x7a', '\x65', '\x46', '\x69', '\x6c', '\x74', '\x65', '\x72', '\x73', '\x28', '\x20', '\x6d', '\x5f', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x2d', '\x3e', '\x67', '\x65', '\x74', '\x54', '\x65', '\x73', '\x74', '\x73', '\x4f', '\x72', '\x54', '\x61', '\x67', '\x73', '\x28', '\x29', '\x20', '\x29', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x6d', '\x5f', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x2d', '\x3e', '\x72', '\x6e', '\x67', '\x53', '\x65', '\x65', '\x64', '\x28', '\x29', '\x20', '\x21', '\x3d', '\x20', '\x30', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x78', '\x6d', '\x6c', '\x2e', '\x73', '\x63', '\x6f', '\x70', '\x65', '\x64', '\x45', '\x6c', '\x65', '\x6d', '\x65', '\x6e', '\x74', '\x28', '\x20', '\x22', '\x52', '\x61', '\x6e', '\x64', '\x6f', '\x6d', '\x6e', '\x65', '\x73', '\x73', '\x22', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2e', '\x77', '\x72', '\x69', '\x74', '\x65', '\x41', '\x74', '\x74', '\x72', '\x69', '\x62', '\x75', '\x74', '\x65', '\x28', '\x20', '\x22', '\x73', '\x65', '\x65', '\x64', '\x22', '\x2c', '\x20', '\x6d', '\x5f', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x2d', '\x3e', '\x72', '\x6e', '\x67', '\x53', '\x65', '\x65', '\x64', '\x28', '\x29', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x58', '\x6d', '\x6c', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x3a', '\x3a', '\x74', '\x65', '\x73', '\x74', '\x47', '\x72', '\x6f', '\x75', '\x70', '\x53', '\x74', '\x61', '\x72', '\x74', '\x69', '\x6e', '\x67', '\x28', '\x20', '\x47', '\x72', '\x6f', '\x75', '\x70', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x67', '\x72', '\x6f', '\x75', '\x70', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x42', '\x61', '\x73', '\x65', '\x3a', '\x3a', '\x74', '\x65', '\x73', '\x74', '\x47', '\x72', '\x6f', '\x75', '\x70', '\x53', '\x74', '\x61', '\x72', '\x74', '\x69', '\x6e', '\x67', '\x28', '\x20', '\x67', '\x72', '\x6f', '\x75', '\x70', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x78', '\x6d', '\x6c', '\x2e', '\x73', '\x74', '\x61', '\x72', '\x74', '\x45', '\x6c', '\x65', '\x6d', '\x65', '\x6e', '\x74', '\x28', '\x20', '\x22', '\x47', '\x72', '\x6f', '\x75', '\x70', '\x22', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2e', '\x77', '\x72', '\x69', '\x74', '\x65', '\x41', '\x74', '\x74', '\x72', '\x69', '\x62', '\x75', '\x74', '\x65', '\x28', '\x20', '\x22', '\x6e', '\x61', '\x6d', '\x65', '\x22', '\x2c', '\x20', '\x67', '\x72', '\x6f', '\x75', '\x70', '\x49', '\x6e', '\x66', '\x6f', '\x2e', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x58', '\x6d', '\x6c', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x3a', '\x3a', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x53', '\x74', '\x61', '\x72', '\x74', '\x69', '\x6e', '\x67', '\x28', '\x20', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x74', '\x65', '\x73', '\x74', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x42', '\x61', '\x73', '\x65', '\x3a', '\x3a', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x53', '\x74', '\x61', '\x72', '\x74', '\x69', '\x6e', '\x67', '\x28', '\x74', '\x65', '\x73', '\x74', '\x49', '\x6e', '\x66', '\x6f', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x78', '\x6d', '\x6c', '\x2e', '\x73', '\x74', '\x61', '\x72', '\x74', '\x45', '\x6c', '\x65', '\x6d', '\x65', '\x6e', '\x74', '\x28', '\x20', '\x22', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x22', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2e', '\x77', '\x72', '\x69', '\x74', '\x65', '\x41', '\x74', '\x74', '\x72', '\x69', '\x62', '\x75', '\x74', '\x65', '\x28', '\x20', '\x22', '\x6e', '\x61', '\x6d', '\x65', '\x22', '\x2c', '\x20', '\x74', '\x72', '\x69', '\x6d', '\x28', '\x20', '\x74', '\x65', '\x73', '\x74', '\x49', '\x6e', '\x66', '\x6f', '\x2e', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x29', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2e', '\x77', '\x72', '\x69', '\x74', '\x65', '\x41', '\x74', '\x74', '\x72', '\x69', '\x62', '\x75', '\x74', '\x65', '\x28', '\x20', '\x22', '\x64', '\x65', '\x73', '\x63', '\x72', '\x69', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x22', '\x2c', '\x20', '\x74', '\x65', '\x73', '\x74', '\x49', '\x6e', '\x66', '\x6f', '\x2e', '\x64', '\x65', '\x73', '\x63', '\x72', '\x69', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2e', '\x77', '\x72', '\x69', '\x74', '\x65', '\x41', '\x74', '\x74', '\x72', '\x69', '\x62', '\x75', '\x74', '\x65', '\x28', '\x20', '\x22', '\x74', '\x61', '\x67', '\x73', '\x22', '\x2c', '\x20', '\x74', '\x65', '\x73', '\x74', '\x49', '\x6e', '\x66', '\x6f', '\x2e', '\x74', '\x61', '\x67', '\x73', '\x41', '\x73', '\x53', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x28', '\x29', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x77', '\x72', '\x69', '\x74', '\x65', '\x53', '\x6f', '\x75', '\x72', '\x63', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x28', '\x20', '\x74', '\x65', '\x73', '\x74', '\x49', '\x6e', '\x66', '\x6f', '\x2e', '\x6c', '\x69', '\x6e', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x20', '\x6d', '\x5f', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x2d', '\x3e', '\x73', '\x68', '\x6f', '\x77', '\x44', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x28', '\x29', '\x20', '\x3d', '\x3d', '\x20', '\x53', '\x68', '\x6f', '\x77', '\x44', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x3a', '\x3a', '\x41', '\x6c', '\x77', '\x61', '\x79', '\x73', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x54', '\x69', '\x6d', '\x65', '\x72', '\x2e', '\x73', '\x74', '\x61', '\x72', '\x74', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x78', '\x6d', '\x6c', '\x2e', '\x65', '\x6e', '\x73', '\x75', '\x72', '\x65', '\x54', '\x61', '\x67', '\x43', '\x6c', '\x6f', '\x73', '\x65', '\x64', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x58', '\x6d', '\x6c', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x3a', '\x3a', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x53', '\x74', '\x61', '\x72', '\x74', '\x69', '\x6e', '\x67', '\x28', '\x20', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x42', '\x61', '\x73', '\x65', '\x3a', '\x3a', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x53', '\x74', '\x61', '\x72', '\x74', '\x69', '\x6e', '\x67', '\x28', '\x20', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x6d', '\x5f', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x44', '\x65', '\x70', '\x74', '\x68', '\x2b', '\x2b', '\x20', '\x3e', '\x20', '\x30', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x78', '\x6d', '\x6c', '\x2e', '\x73', '\x74', '\x61', '\x72', '\x74', '\x45', '\x6c', '\x65', '\x6d', '\x65', '\x6e', '\x74', '\x28', '\x20', '\x22', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x22', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2e', '\x77', '\x72', '\x69', '\x74', '\x65', '\x41', '\x74', '\x74', '\x72', '\x69', '\x62', '\x75', '\x74', '\x65', '\x28', '\x20', '\x22', '\x6e', '\x61', '\x6d', '\x65', '\x22', '\x2c', '\x20', '\x74', '\x72', '\x69', '\x6d', '\x28', '\x20', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x2e', '\x6e', '\x61', '\x6d', '\x65', '\x20', '\x29', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x77', '\x72', '\x69', '\x74', '\x65', '\x53', '\x6f', '\x75', '\x72', '\x63', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x28', '\x20', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x2e', '\x6c', '\x69', '\x6e', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x78', '\x6d', '\x6c', '\x2e', '\x65', '\x6e', '\x73', '\x75', '\x72', '\x65', '\x54', '\x61', '\x67', '\x43', '\x6c', '\x6f', '\x73', '\x65', '\x64', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x58', '\x6d', '\x6c', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x3a', '\x3a', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x53', '\x74', '\x61', '\x72', '\x74', '\x69', '\x6e', '\x67', '\x28', '\x20', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x29', '\x20', '\x7b', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x58', '\x6d', '\x6c', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x3a', '\x3a', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x45', '\x6e', '\x64', '\x65', '\x64', '\x28', '\x20', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x73', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x73', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x41', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x20', '\x3d', '\x20', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x73', '\x2e', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x6f', '\x6f', '\x6c', '\x20', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x73', '\x20', '\x3d', '\x20', '\x6d', '\x5f', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x2d', '\x3e', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x53', '\x75', '\x63', '\x63', '\x65', '\x73', '\x73', '\x66', '\x75', '\x6c', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x73', '\x28', '\x29', '\x20', '\x7c', '\x7c', '\x20', '\x21', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x2e', '\x69', '\x73', '\x4f', '\x6b', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x73', '\x20', '\x7c', '\x7c', '\x20', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x2e', '\x67', '\x65', '\x74', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x54', '\x79', '\x70', '\x65', '\x28', '\x29', '\x20', '\x3d', '\x3d', '\x20', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x57', '\x61', '\x73', '\x3a', '\x3a', '\x57', '\x61', '\x72', '\x6e', '\x69', '\x6e', '\x67', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x50', '\x72', '\x69', '\x6e', '\x74', '\x20', '\x61', '\x6e', '\x79', '\x20', '\x69', '\x6e', '\x66', '\x6f', '\x20', '\x6d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x73', '\x20', '\x69', '\x6e', '\x20', '\x3c', '\x49', '\x6e', '\x66', '\x6f', '\x3e', '\x20', '\x74', '\x61', '\x67', '\x73', '\x2e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x66', '\x6f', '\x72', '\x28', '\x20', '\x61', '\x75', '\x74', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6d', '\x73', '\x67', '\x20', '\x3a', '\x20', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x73', '\x2e', '\x69', '\x6e', '\x66', '\x6f', '\x4d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x73', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x6d', '\x73', '\x67', '\x2e', '\x74', '\x79', '\x70', '\x65', '\x20', '\x3d', '\x3d', '\x20', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x57', '\x61', '\x73', '\x3a', '\x3a', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x26', '\x26', '\x20', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x73', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x78', '\x6d', '\x6c', '\x2e', '\x73', '\x63', '\x6f', '\x70', '\x65', '\x64', '\x45', '\x6c', '\x65', '\x6d', '\x65', '\x6e', '\x74', '\x28', '\x20', '\x22', '\x49', '\x6e', '\x66', '\x6f', '\x22', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2e', '\x77', '\x72', '\x69', '\x74', '\x65', '\x54', '\x65', '\x78', '\x74', '\x28', '\x20', '\x6d', '\x73', '\x67', '\x2e', '\x6d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x20', '\x65', '\x6c', '\x73', '\x65', '\x20', '\x69', '\x66', '\x20', '\x28', '\x20', '\x6d', '\x73', '\x67', '\x2e', '\x74', '\x79', '\x70', '\x65', '\x20', '\x3d', '\x3d', '\x20', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x57', '\x61', '\x73', '\x3a', '\x3a', '\x57', '\x61', '\x72', '\x6e', '\x69', '\x6e', '\x67', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x78', '\x6d', '\x6c', '\x2e', '\x73', '\x63', '\x6f', '\x70', '\x65', '\x64', '\x45', '\x6c', '\x65', '\x6d', '\x65', '\x6e', '\x74', '\x28', '\x20', '\x22', '\x57', '\x61', '\x72', '\x6e', '\x69', '\x6e', '\x67', '\x22', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2e', '\x77', '\x72', '\x69', '\x74', '\x65', '\x54', '\x65', '\x78', '\x74', '\x28', '\x20', '\x6d', '\x73', '\x67', '\x2e', '\x6d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x44', '\x72', '\x6f', '\x70', '\x20', '\x6f', '\x75', '\x74', '\x20', '\x69', '\x66', '\x20', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x20', '\x77', '\x61', '\x73', '\x20', '\x73', '\x75', '\x63', '\x63', '\x65', '\x73', '\x73', '\x66', '\x75', '\x6c', '\x20', '\x62', '\x75', '\x74', '\x20', '\x77', '\x65', '\x27', '\x72', '\x65', '\x20', '\x6e', '\x6f', '\x74', '\x20', '\x70', '\x72', '\x69', '\x6e', '\x74', '\x69', '\x6e', '\x67', '\x20', '\x74', '\x68', '\x65', '\x6d', '\x2e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x21', '\x69', '\x6e', '\x63', '\x6c', '\x75', '\x64', '\x65', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x73', '\x20', '\x26', '\x26', '\x20', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x2e', '\x67', '\x65', '\x74', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x54', '\x79', '\x70', '\x65', '\x28', '\x29', '\x20', '\x21', '\x3d', '\x20', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x57', '\x61', '\x73', '\x3a', '\x3a', '\x57', '\x61', '\x72', '\x6e', '\x69', '\x6e', '\x67', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x74', '\x72', '\x75', '\x65', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x50', '\x72', '\x69', '\x6e', '\x74', '\x20', '\x74', '\x68', '\x65', '\x20', '\x65', '\x78', '\x70', '\x72', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x20', '\x69', '\x66', '\x20', '\x74', '\x68', '\x65', '\x72', '\x65', '\x20', '\x69', '\x73', '\x20', '\x6f', '\x6e', '\x65', '\x2e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x2e', '\x68', '\x61', '\x73', '\x45', '\x78', '\x70', '\x72', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x28', '\x29', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x78', '\x6d', '\x6c', '\x2e', '\x73', '\x74', '\x61', '\x72', '\x74', '\x45', '\x6c', '\x65', '\x6d', '\x65', '\x6e', '\x74', '\x28', '\x20', '\x22', '\x45', '\x78', '\x70', '\x72', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x22', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2e', '\x77', '\x72', '\x69', '\x74', '\x65', '\x41', '\x74', '\x74', '\x72', '\x69', '\x62', '\x75', '\x74', '\x65', '\x28', '\x20', '\x22', '\x73', '\x75', '\x63', '\x63', '\x65', '\x73', '\x73', '\x22', '\x2c', '\x20', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x2e', '\x73', '\x75', '\x63', '\x63', '\x65', '\x65', '\x64', '\x65', '\x64', '\x28', '\x29', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2e', '\x77', '\x72', '\x69', '\x74', '\x65', '\x41', '\x74', '\x74', '\x72', '\x69', '\x62', '\x75', '\x74', '\x65', '\x28', '\x20', '\x22', '\x74', '\x79', '\x70', '\x65', '\x22', '\x2c', '\x20', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x2e', '\x67', '\x65', '\x74', '\x54', '\x65', '\x73', '\x74', '\x4d', '\x61', '\x63', '\x72', '\x6f', '\x4e', '\x61', '\x6d', '\x65', '\x28', '\x29', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x77', '\x72', '\x69', '\x74', '\x65', '\x53', '\x6f', '\x75', '\x72', '\x63', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x28', '\x20', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x2e', '\x67', '\x65', '\x74', '\x53', '\x6f', '\x75', '\x72', '\x63', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x28', '\x29', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x78', '\x6d', '\x6c', '\x2e', '\x73', '\x63', '\x6f', '\x70', '\x65', '\x64', '\x45', '\x6c', '\x65', '\x6d', '\x65', '\x6e', '\x74', '\x28', '\x20', '\x22', '\x4f', '\x72', '\x69', '\x67', '\x69', '\x6e', '\x61', '\x6c', '\x22', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2e', '\x77', '\x72', '\x69', '\x74', '\x65', '\x54', '\x65', '\x78', '\x74', '\x28', '\x20', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x2e', '\x67', '\x65', '\x74', '\x45', '\x78', '\x70', '\x72', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x28', '\x29', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x78', '\x6d', '\x6c', '\x2e', '\x73', '\x63', '\x6f', '\x70', '\x65', '\x64', '\x45', '\x6c', '\x65', '\x6d', '\x65', '\x6e', '\x74', '\x28', '\x20', '\x22', '\x45', '\x78', '\x70', '\x61', '\x6e', '\x64', '\x65', '\x64', '\x22', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2e', '\x77', '\x72', '\x69', '\x74', '\x65', '\x54', '\x65', '\x78', '\x74', '\x28', '\x20', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x2e', '\x67', '\x65', '\x74', '\x45', '\x78', '\x70', '\x61', '\x6e', '\x64', '\x65', '\x64', '\x45', '\x78', '\x70', '\x72', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x28', '\x29', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x41', '\x6e', '\x64', '\x2e', '\x2e', '\x2e', '\x20', '\x50', '\x72', '\x69', '\x6e', '\x74', '\x20', '\x61', '\x20', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x20', '\x61', '\x70', '\x70', '\x6c', '\x69', '\x63', '\x61', '\x62', '\x6c', '\x65', '\x20', '\x74', '\x6f', '\x20', '\x65', '\x61', '\x63', '\x68', '\x20', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x20', '\x74', '\x79', '\x70', '\x65', '\x2e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x77', '\x69', '\x74', '\x63', '\x68', '\x28', '\x20', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x2e', '\x67', '\x65', '\x74', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x54', '\x79', '\x70', '\x65', '\x28', '\x29', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x61', '\x73', '\x65', '\x20', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x57', '\x61', '\x73', '\x3a', '\x3a', '\x54', '\x68', '\x72', '\x65', '\x77', '\x45', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x78', '\x6d', '\x6c', '\x2e', '\x73', '\x74', '\x61', '\x72', '\x74', '\x45', '\x6c', '\x65', '\x6d', '\x65', '\x6e', '\x74', '\x28', '\x20', '\x22', '\x45', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x22', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x77', '\x72', '\x69', '\x74', '\x65', '\x53', '\x6f', '\x75', '\x72', '\x63', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x28', '\x20', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x2e', '\x67', '\x65', '\x74', '\x53', '\x6f', '\x75', '\x72', '\x63', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x28', '\x29', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x78', '\x6d', '\x6c', '\x2e', '\x77', '\x72', '\x69', '\x74', '\x65', '\x54', '\x65', '\x78', '\x74', '\x28', '\x20', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x2e', '\x67', '\x65', '\x74', '\x4d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x28', '\x29', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x78', '\x6d', '\x6c', '\x2e', '\x65', '\x6e', '\x64', '\x45', '\x6c', '\x65', '\x6d', '\x65', '\x6e', '\x74', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x72', '\x65', '\x61', '\x6b', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x61', '\x73', '\x65', '\x20', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x57', '\x61', '\x73', '\x3a', '\x3a', '\x46', '\x61', '\x74', '\x61', '\x6c', '\x45', '\x72', '\x72', '\x6f', '\x72', '\x43', '\x6f', '\x6e', '\x64', '\x69', '\x74', '\x69', '\x6f', '\x6e', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x78', '\x6d', '\x6c', '\x2e', '\x73', '\x74', '\x61', '\x72', '\x74', '\x45', '\x6c', '\x65', '\x6d', '\x65', '\x6e', '\x74', '\x28', '\x20', '\x22', '\x46', '\x61', '\x74', '\x61', '\x6c', '\x45', '\x72', '\x72', '\x6f', '\x72', '\x43', '\x6f', '\x6e', '\x64', '\x69', '\x74', '\x69', '\x6f', '\x6e', '\x22', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x77', '\x72', '\x69', '\x74', '\x65', '\x53', '\x6f', '\x75', '\x72', '\x63', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x28', '\x20', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x2e', '\x67', '\x65', '\x74', '\x53', '\x6f', '\x75', '\x72', '\x63', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x28', '\x29', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x78', '\x6d', '\x6c', '\x2e', '\x77', '\x72', '\x69', '\x74', '\x65', '\x54', '\x65', '\x78', '\x74', '\x28', '\x20', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x2e', '\x67', '\x65', '\x74', '\x4d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x28', '\x29', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x78', '\x6d', '\x6c', '\x2e', '\x65', '\x6e', '\x64', '\x45', '\x6c', '\x65', '\x6d', '\x65', '\x6e', '\x74', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x72', '\x65', '\x61', '\x6b', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x61', '\x73', '\x65', '\x20', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x57', '\x61', '\x73', '\x3a', '\x3a', '\x49', '\x6e', '\x66', '\x6f', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x78', '\x6d', '\x6c', '\x2e', '\x73', '\x63', '\x6f', '\x70', '\x65', '\x64', '\x45', '\x6c', '\x65', '\x6d', '\x65', '\x6e', '\x74', '\x28', '\x20', '\x22', '\x49', '\x6e', '\x66', '\x6f', '\x22', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2e', '\x77', '\x72', '\x69', '\x74', '\x65', '\x54', '\x65', '\x78', '\x74', '\x28', '\x20', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x2e', '\x67', '\x65', '\x74', '\x4d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x28', '\x29', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x72', '\x65', '\x61', '\x6b', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x61', '\x73', '\x65', '\x20', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x57', '\x61', '\x73', '\x3a', '\x3a', '\x57', '\x61', '\x72', '\x6e', '\x69', '\x6e', '\x67', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x57', '\x61', '\x72', '\x6e', '\x69', '\x6e', '\x67', '\x20', '\x77', '\x69', '\x6c', '\x6c', '\x20', '\x61', '\x6c', '\x72', '\x65', '\x61', '\x64', '\x79', '\x20', '\x68', '\x61', '\x76', '\x65', '\x20', '\x62', '\x65', '\x65', '\x6e', '\x20', '\x77', '\x72', '\x69', '\x74', '\x74', '\x65', '\x6e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x72', '\x65', '\x61', '\x6b', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x63', '\x61', '\x73', '\x65', '\x20', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x57', '\x61', '\x73', '\x3a', '\x3a', '\x45', '\x78', '\x70', '\x6c', '\x69', '\x63', '\x69', '\x74', '\x46', '\x61', '\x69', '\x6c', '\x75', '\x72', '\x65', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x78', '\x6d', '\x6c', '\x2e', '\x73', '\x74', '\x61', '\x72', '\x74', '\x45', '\x6c', '\x65', '\x6d', '\x65', '\x6e', '\x74', '\x28', '\x20', '\x22', '\x46', '\x61', '\x69', '\x6c', '\x75', '\x72', '\x65', '\x22', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x77', '\x72', '\x69', '\x74', '\x65', '\x53', '\x6f', '\x75', '\x72', '\x63', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x28', '\x20', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x2e', '\x67', '\x65', '\x74', '\x53', '\x6f', '\x75', '\x72', '\x63', '\x65', '\x49', '\x6e', '\x66', '\x6f', '\x28', '\x29', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x78', '\x6d', '\x6c', '\x2e', '\x77', '\x72', '\x69', '\x74', '\x65', '\x54', '\x65', '\x78', '\x74', '\x28', '\x20', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x2e', '\x67', '\x65', '\x74', '\x4d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x28', '\x29', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x78', '\x6d', '\x6c', '\x2e', '\x65', '\x6e', '\x64', '\x45', '\x6c', '\x65', '\x6d', '\x65', '\x6e', '\x74', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x72', '\x65', '\x61', '\x6b', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x64', '\x65', '\x66', '\x61', '\x75', '\x6c', '\x74', '\x3a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x62', '\x72', '\x65', '\x61', '\x6b', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x2e', '\x68', '\x61', '\x73', '\x45', '\x78', '\x70', '\x72', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x28', '\x29', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x78', '\x6d', '\x6c', '\x2e', '\x65', '\x6e', '\x64', '\x45', '\x6c', '\x65', '\x6d', '\x65', '\x6e', '\x74', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x74', '\x72', '\x75', '\x65', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x58', '\x6d', '\x6c', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x3a', '\x3a', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x45', '\x6e', '\x64', '\x65', '\x64', '\x28', '\x20', '\x53', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x73', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x73', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x42', '\x61', '\x73', '\x65', '\x3a', '\x3a', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x45', '\x6e', '\x64', '\x65', '\x64', '\x28', '\x20', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x73', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x2d', '\x2d', '\x6d', '\x5f', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x44', '\x65', '\x70', '\x74', '\x68', '\x20', '\x3e', '\x20', '\x30', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x58', '\x6d', '\x6c', '\x57', '\x72', '\x69', '\x74', '\x65', '\x72', '\x3a', '\x3a', '\x53', '\x63', '\x6f', '\x70', '\x65', '\x64', '\x45', '\x6c', '\x65', '\x6d', '\x65', '\x6e', '\x74', '\x20', '\x65', '\x20', '\x3d', '\x20', '\x6d', '\x5f', '\x78', '\x6d', '\x6c', '\x2e', '\x73', '\x63', '\x6f', '\x70', '\x65', '\x64', '\x45', '\x6c', '\x65', '\x6d', '\x65', '\x6e', '\x74', '\x28', '\x20', '\x22', '\x4f', '\x76', '\x65', '\x72', '\x61', '\x6c', '\x6c', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x73', '\x22', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x2e', '\x77', '\x72', '\x69', '\x74', '\x65', '\x41', '\x74', '\x74', '\x72', '\x69', '\x62', '\x75', '\x74', '\x65', '\x28', '\x20', '\x22', '\x73', '\x75', '\x63', '\x63', '\x65', '\x73', '\x73', '\x65', '\x73', '\x22', '\x2c', '\x20', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x73', '\x2e', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x2e', '\x70', '\x61', '\x73', '\x73', '\x65', '\x64', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x2e', '\x77', '\x72', '\x69', '\x74', '\x65', '\x41', '\x74', '\x74', '\x72', '\x69', '\x62', '\x75', '\x74', '\x65', '\x28', '\x20', '\x22', '\x66', '\x61', '\x69', '\x6c', '\x75', '\x72', '\x65', '\x73', '\x22', '\x2c', '\x20', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x73', '\x2e', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x2e', '\x66', '\x61', '\x69', '\x6c', '\x65', '\x64', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x2e', '\x77', '\x72', '\x69', '\x74', '\x65', '\x41', '\x74', '\x74', '\x72', '\x69', '\x62', '\x75', '\x74', '\x65', '\x28', '\x20', '\x22', '\x65', '\x78', '\x70', '\x65', '\x63', '\x74', '\x65', '\x64', '\x46', '\x61', '\x69', '\x6c', '\x75', '\x72', '\x65', '\x73', '\x22', '\x2c', '\x20', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x73', '\x2e', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x2e', '\x66', '\x61', '\x69', '\x6c', '\x65', '\x64', '\x42', '\x75', '\x74', '\x4f', '\x6b', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x20', '\x6d', '\x5f', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x2d', '\x3e', '\x73', '\x68', '\x6f', '\x77', '\x44', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x28', '\x29', '\x20', '\x3d', '\x3d', '\x20', '\x53', '\x68', '\x6f', '\x77', '\x44', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x3a', '\x3a', '\x41', '\x6c', '\x77', '\x61', '\x79', '\x73', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x2e', '\x77', '\x72', '\x69', '\x74', '\x65', '\x41', '\x74', '\x74', '\x72', '\x69', '\x62', '\x75', '\x74', '\x65', '\x28', '\x20', '\x22', '\x64', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x49', '\x6e', '\x53', '\x65', '\x63', '\x6f', '\x6e', '\x64', '\x73', '\x22', '\x2c', '\x20', '\x73', '\x65', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x73', '\x2e', '\x64', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x49', '\x6e', '\x53', '\x65', '\x63', '\x6f', '\x6e', '\x64', '\x73', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x78', '\x6d', '\x6c', '\x2e', '\x65', '\x6e', '\x64', '\x45', '\x6c', '\x65', '\x6d', '\x65', '\x6e', '\x74', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x58', '\x6d', '\x6c', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x3a', '\x3a', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x45', '\x6e', '\x64', '\x65', '\x64', '\x28', '\x20', '\x54', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x53', '\x74', '\x61', '\x74', '\x73', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x53', '\x74', '\x61', '\x74', '\x73', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x42', '\x61', '\x73', '\x65', '\x3a', '\x3a', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x45', '\x6e', '\x64', '\x65', '\x64', '\x28', '\x20', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x53', '\x74', '\x61', '\x74', '\x73', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x58', '\x6d', '\x6c', '\x57', '\x72', '\x69', '\x74', '\x65', '\x72', '\x3a', '\x3a', '\x53', '\x63', '\x6f', '\x70', '\x65', '\x64', '\x45', '\x6c', '\x65', '\x6d', '\x65', '\x6e', '\x74', '\x20', '\x65', '\x20', '\x3d', '\x20', '\x6d', '\x5f', '\x78', '\x6d', '\x6c', '\x2e', '\x73', '\x63', '\x6f', '\x70', '\x65', '\x64', '\x45', '\x6c', '\x65', '\x6d', '\x65', '\x6e', '\x74', '\x28', '\x20', '\x22', '\x4f', '\x76', '\x65', '\x72', '\x61', '\x6c', '\x6c', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x22', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x2e', '\x77', '\x72', '\x69', '\x74', '\x65', '\x41', '\x74', '\x74', '\x72', '\x69', '\x62', '\x75', '\x74', '\x65', '\x28', '\x20', '\x22', '\x73', '\x75', '\x63', '\x63', '\x65', '\x73', '\x73', '\x22', '\x2c', '\x20', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x53', '\x74', '\x61', '\x74', '\x73', '\x2e', '\x74', '\x6f', '\x74', '\x61', '\x6c', '\x73', '\x2e', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x2e', '\x61', '\x6c', '\x6c', '\x4f', '\x6b', '\x28', '\x29', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x20', '\x6d', '\x5f', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x2d', '\x3e', '\x73', '\x68', '\x6f', '\x77', '\x44', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x28', '\x29', '\x20', '\x3d', '\x3d', '\x20', '\x53', '\x68', '\x6f', '\x77', '\x44', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x3a', '\x3a', '\x41', '\x6c', '\x77', '\x61', '\x79', '\x73', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x65', '\x2e', '\x77', '\x72', '\x69', '\x74', '\x65', '\x41', '\x74', '\x74', '\x72', '\x69', '\x62', '\x75', '\x74', '\x65', '\x28', '\x20', '\x22', '\x64', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x49', '\x6e', '\x53', '\x65', '\x63', '\x6f', '\x6e', '\x64', '\x73', '\x22', '\x2c', '\x20', '\x6d', '\x5f', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x54', '\x69', '\x6d', '\x65', '\x72', '\x2e', '\x67', '\x65', '\x74', '\x45', '\x6c', '\x61', '\x70', '\x73', '\x65', '\x64', '\x53', '\x65', '\x63', '\x6f', '\x6e', '\x64', '\x73', '\x28', '\x29', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x21', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x53', '\x74', '\x61', '\x74', '\x73', '\x2e', '\x73', '\x74', '\x64', '\x4f', '\x75', '\x74', '\x2e', '\x65', '\x6d', '\x70', '\x74', '\x79', '\x28', '\x29', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x78', '\x6d', '\x6c', '\x2e', '\x73', '\x63', '\x6f', '\x70', '\x65', '\x64', '\x45', '\x6c', '\x65', '\x6d', '\x65', '\x6e', '\x74', '\x28', '\x20', '\x22', '\x53', '\x74', '\x64', '\x4f', '\x75', '\x74', '\x22', '\x20', '\x29', '\x2e', '\x77', '\x72', '\x69', '\x74', '\x65', '\x54', '\x65', '\x78', '\x74', '\x28', '\x20', '\x74', '\x72', '\x69', '\x6d', '\x28', '\x20', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x53', '\x74', '\x61', '\x74', '\x73', '\x2e', '\x73', '\x74', '\x64', '\x4f', '\x75', '\x74', '\x20', '\x29', '\x2c', '\x20', '\x66', '\x61', '\x6c', '\x73', '\x65', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x28', '\x20', '\x21', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x53', '\x74', '\x61', '\x74', '\x73', '\x2e', '\x73', '\x74', '\x64', '\x45', '\x72', '\x72', '\x2e', '\x65', '\x6d', '\x70', '\x74', '\x79', '\x28', '\x29', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x78', '\x6d', '\x6c', '\x2e', '\x73', '\x63', '\x6f', '\x70', '\x65', '\x64', '\x45', '\x6c', '\x65', '\x6d', '\x65', '\x6e', '\x74', '\x28', '\x20', '\x22', '\x53', '\x74', '\x64', '\x45', '\x72', '\x72', '\x22', '\x20', '\x29', '\x2e', '\x77', '\x72', '\x69', '\x74', '\x65', '\x54', '\x65', '\x78', '\x74', '\x28', '\x20', '\x74', '\x72', '\x69', '\x6d', '\x28', '\x20', '\x74', '\x65', '\x73', '\x74', '\x43', '\x61', '\x73', '\x65', '\x53', '\x74', '\x61', '\x74', '\x73', '\x2e', '\x73', '\x74', '\x64', '\x45', '\x72', '\x72', '\x20', '\x29', '\x2c', '\x20', '\x66', '\x61', '\x6c', '\x73', '\x65', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x78', '\x6d', '\x6c', '\x2e', '\x65', '\x6e', '\x64', '\x45', '\x6c', '\x65', '\x6d', '\x65', '\x6e', '\x74', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x58', '\x6d', '\x6c', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x3a', '\x3a', '\x74', '\x65', '\x73', '\x74', '\x47', '\x72', '\x6f', '\x75', '\x70', '\x45', '\x6e', '\x64', '\x65', '\x64', '\x28', '\x20', '\x54', '\x65', '\x73', '\x74', '\x47', '\x72', '\x6f', '\x75', '\x70', '\x53', '\x74', '\x61', '\x74', '\x73', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x74', '\x65', '\x73', '\x74', '\x47', '\x72', '\x6f', '\x75', '\x70', '\x53', '\x74', '\x61', '\x74', '\x73', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x42', '\x61', '\x73', '\x65', '\x3a', '\x3a', '\x74', '\x65', '\x73', '\x74', '\x47', '\x72', '\x6f', '\x75', '\x70', '\x45', '\x6e', '\x64', '\x65', '\x64', '\x28', '\x20', '\x74', '\x65', '\x73', '\x74', '\x47', '\x72', '\x6f', '\x75', '\x70', '\x53', '\x74', '\x61', '\x74', '\x73', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2f', '\x2f', '\x20', '\x54', '\x4f', '\x44', '\x4f', '\x3a', '\x20', '\x43', '\x68', '\x65', '\x63', '\x6b', '\x20', '\x74', '\x65', '\x73', '\x74', '\x47', '\x72', '\x6f', '\x75', '\x70', '\x53', '\x74', '\x61', '\x74', '\x73', '\x2e', '\x61', '\x62', '\x6f', '\x72', '\x74', '\x69', '\x6e', '\x67', '\x20', '\x61', '\x6e', '\x64', '\x20', '\x61', '\x63', '\x74', '\x20', '\x61', '\x63', '\x63', '\x6f', '\x72', '\x64', '\x69', '\x6e', '\x67', '\x6c', '\x79', '\x2e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x78', '\x6d', '\x6c', '\x2e', '\x73', '\x63', '\x6f', '\x70', '\x65', '\x64', '\x45', '\x6c', '\x65', '\x6d', '\x65', '\x6e', '\x74', '\x28', '\x20', '\x22', '\x4f', '\x76', '\x65', '\x72', '\x61', '\x6c', '\x6c', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x73', '\x22', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2e', '\x77', '\x72', '\x69', '\x74', '\x65', '\x41', '\x74', '\x74', '\x72', '\x69', '\x62', '\x75', '\x74', '\x65', '\x28', '\x20', '\x22', '\x73', '\x75', '\x63', '\x63', '\x65', '\x73', '\x73', '\x65', '\x73', '\x22', '\x2c', '\x20', '\x74', '\x65', '\x73', '\x74', '\x47', '\x72', '\x6f', '\x75', '\x70', '\x53', '\x74', '\x61', '\x74', '\x73', '\x2e', '\x74', '\x6f', '\x74', '\x61', '\x6c', '\x73', '\x2e', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x2e', '\x70', '\x61', '\x73', '\x73', '\x65', '\x64', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2e', '\x77', '\x72', '\x69', '\x74', '\x65', '\x41', '\x74', '\x74', '\x72', '\x69', '\x62', '\x75', '\x74', '\x65', '\x28', '\x20', '\x22', '\x66', '\x61', '\x69', '\x6c', '\x75', '\x72', '\x65', '\x73', '\x22', '\x2c', '\x20', '\x74', '\x65', '\x73', '\x74', '\x47', '\x72', '\x6f', '\x75', '\x70', '\x53', '\x74', '\x61', '\x74', '\x73', '\x2e', '\x74', '\x6f', '\x74', '\x61', '\x6c', '\x73', '\x2e', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x2e', '\x66', '\x61', '\x69', '\x6c', '\x65', '\x64', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2e', '\x77', '\x72', '\x69', '\x74', '\x65', '\x41', '\x74', '\x74', '\x72', '\x69', '\x62', '\x75', '\x74', '\x65', '\x28', '\x20', '\x22', '\x65', '\x78', '\x70', '\x65', '\x63', '\x74', '\x65', '\x64', '\x46', '\x61', '\x69', '\x6c', '\x75', '\x72', '\x65', '\x73', '\x22', '\x2c', '\x20', '\x74', '\x65', '\x73', '\x74', '\x47', '\x72', '\x6f', '\x75', '\x70', '\x53', '\x74', '\x61', '\x74', '\x73', '\x2e', '\x74', '\x6f', '\x74', '\x61', '\x6c', '\x73', '\x2e', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x2e', '\x66', '\x61', '\x69', '\x6c', '\x65', '\x64', '\x42', '\x75', '\x74', '\x4f', '\x6b', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x78', '\x6d', '\x6c', '\x2e', '\x65', '\x6e', '\x64', '\x45', '\x6c', '\x65', '\x6d', '\x65', '\x6e', '\x74', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x58', '\x6d', '\x6c', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x3a', '\x3a', '\x74', '\x65', '\x73', '\x74', '\x52', '\x75', '\x6e', '\x45', '\x6e', '\x64', '\x65', '\x64', '\x28', '\x20', '\x54', '\x65', '\x73', '\x74', '\x52', '\x75', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x73', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x74', '\x65', '\x73', '\x74', '\x52', '\x75', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x73', '\x20', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x53', '\x74', '\x72', '\x65', '\x61', '\x6d', '\x69', '\x6e', '\x67', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x42', '\x61', '\x73', '\x65', '\x3a', '\x3a', '\x74', '\x65', '\x73', '\x74', '\x52', '\x75', '\x6e', '\x45', '\x6e', '\x64', '\x65', '\x64', '\x28', '\x20', '\x74', '\x65', '\x73', '\x74', '\x52', '\x75', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x73', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x78', '\x6d', '\x6c', '\x2e', '\x73', '\x63', '\x6f', '\x70', '\x65', '\x64', '\x45', '\x6c', '\x65', '\x6d', '\x65', '\x6e', '\x74', '\x28', '\x20', '\x22', '\x4f', '\x76', '\x65', '\x72', '\x61', '\x6c', '\x6c', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x73', '\x22', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2e', '\x77', '\x72', '\x69', '\x74', '\x65', '\x41', '\x74', '\x74', '\x72', '\x69', '\x62', '\x75', '\x74', '\x65', '\x28', '\x20', '\x22', '\x73', '\x75', '\x63', '\x63', '\x65', '\x73', '\x73', '\x65', '\x73', '\x22', '\x2c', '\x20', '\x74', '\x65', '\x73', '\x74', '\x52', '\x75', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x73', '\x2e', '\x74', '\x6f', '\x74', '\x61', '\x6c', '\x73', '\x2e', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x2e', '\x70', '\x61', '\x73', '\x73', '\x65', '\x64', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2e', '\x77', '\x72', '\x69', '\x74', '\x65', '\x41', '\x74', '\x74', '\x72', '\x69', '\x62', '\x75', '\x74', '\x65', '\x28', '\x20', '\x22', '\x66', '\x61', '\x69', '\x6c', '\x75', '\x72', '\x65', '\x73', '\x22', '\x2c', '\x20', '\x74', '\x65', '\x73', '\x74', '\x52', '\x75', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x73', '\x2e', '\x74', '\x6f', '\x74', '\x61', '\x6c', '\x73', '\x2e', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x2e', '\x66', '\x61', '\x69', '\x6c', '\x65', '\x64', '\x20', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2e', '\x77', '\x72', '\x69', '\x74', '\x65', '\x41', '\x74', '\x74', '\x72', '\x69', '\x62', '\x75', '\x74', '\x65', '\x28', '\x20', '\x22', '\x65', '\x78', '\x70', '\x65', '\x63', '\x74', '\x65', '\x64', '\x46', '\x61', '\x69', '\x6c', '\x75', '\x72', '\x65', '\x73', '\x22', '\x2c', '\x20', '\x74', '\x65', '\x73', '\x74', '\x52', '\x75', '\x6e', '\x53', '\x74', '\x61', '\x74', '\x73', '\x2e', '\x74', '\x6f', '\x74', '\x61', '\x6c', '\x73', '\x2e', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x2e', '\x66', '\x61', '\x69', '\x6c', '\x65', '\x64', '\x42', '\x75', '\x74', '\x4f', '\x6b', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x78', '\x6d', '\x6c', '\x2e', '\x65', '\x6e', '\x64', '\x45', '\x6c', '\x65', '\x6d', '\x65', '\x6e', '\x74', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x45', '\x4e', '\x41', '\x42', '\x4c', '\x45', '\x5f', '\x42', '\x45', '\x4e', '\x43', '\x48', '\x4d', '\x41', '\x52', '\x4b', '\x49', '\x4e', '\x47', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x58', '\x6d', '\x6c', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x3a', '\x3a', '\x62', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x50', '\x72', '\x65', '\x70', '\x61', '\x72', '\x69', '\x6e', '\x67', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x78', '\x6d', '\x6c', '\x2e', '\x73', '\x74', '\x61', '\x72', '\x74', '\x45', '\x6c', '\x65', '\x6d', '\x65', '\x6e', '\x74', '\x28', '\x22', '\x42', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x73', '\x22', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2e', '\x77', '\x72', '\x69', '\x74', '\x65', '\x41', '\x74', '\x74', '\x72', '\x69', '\x62', '\x75', '\x74', '\x65', '\x28', '\x22', '\x6e', '\x61', '\x6d', '\x65', '\x22', '\x2c', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x58', '\x6d', '\x6c', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x3a', '\x3a', '\x62', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x53', '\x74', '\x61', '\x72', '\x74', '\x69', '\x6e', '\x67', '\x28', '\x42', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x49', '\x6e', '\x66', '\x6f', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x26', '\x69', '\x6e', '\x66', '\x6f', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x78', '\x6d', '\x6c', '\x2e', '\x77', '\x72', '\x69', '\x74', '\x65', '\x41', '\x74', '\x74', '\x72', '\x69', '\x62', '\x75', '\x74', '\x65', '\x28', '\x22', '\x73', '\x61', '\x6d', '\x70', '\x6c', '\x65', '\x73', '\x22', '\x2c', '\x20', '\x69', '\x6e', '\x66', '\x6f', '\x2e', '\x73', '\x61', '\x6d', '\x70', '\x6c', '\x65', '\x73', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2e', '\x77', '\x72', '\x69', '\x74', '\x65', '\x41', '\x74', '\x74', '\x72', '\x69', '\x62', '\x75', '\x74', '\x65', '\x28', '\x22', '\x72', '\x65', '\x73', '\x61', '\x6d', '\x70', '\x6c', '\x65', '\x73', '\x22', '\x2c', '\x20', '\x69', '\x6e', '\x66', '\x6f', '\x2e', '\x72', '\x65', '\x73', '\x61', '\x6d', '\x70', '\x6c', '\x65', '\x73', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2e', '\x77', '\x72', '\x69', '\x74', '\x65', '\x41', '\x74', '\x74', '\x72', '\x69', '\x62', '\x75', '\x74', '\x65', '\x28', '\x22', '\x69', '\x74', '\x65', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x22', '\x2c', '\x20', '\x69', '\x6e', '\x66', '\x6f', '\x2e', '\x69', '\x74', '\x65', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x73', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2e', '\x77', '\x72', '\x69', '\x74', '\x65', '\x41', '\x74', '\x74', '\x72', '\x69', '\x62', '\x75', '\x74', '\x65', '\x28', '\x22', '\x63', '\x6c', '\x6f', '\x63', '\x6b', '\x52', '\x65', '\x73', '\x6f', '\x6c', '\x75', '\x74', '\x69', '\x6f', '\x6e', '\x22', '\x2c', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x5f', '\x63', '\x61', '\x73', '\x74', '\x3c', '\x75', '\x69', '\x6e', '\x74', '\x36', '\x34', '\x5f', '\x74', '\x3e', '\x28', '\x69', '\x6e', '\x66', '\x6f', '\x2e', '\x63', '\x6c', '\x6f', '\x63', '\x6b', '\x52', '\x65', '\x73', '\x6f', '\x6c', '\x75', '\x74', '\x69', '\x6f', '\x6e', '\x29', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2e', '\x77', '\x72', '\x69', '\x74', '\x65', '\x41', '\x74', '\x74', '\x72', '\x69', '\x62', '\x75', '\x74', '\x65', '\x28', '\x22', '\x65', '\x73', '\x74', '\x69', '\x6d', '\x61', '\x74', '\x65', '\x64', '\x44', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x22', '\x2c', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x5f', '\x63', '\x61', '\x73', '\x74', '\x3c', '\x75', '\x69', '\x6e', '\x74', '\x36', '\x34', '\x5f', '\x74', '\x3e', '\x28', '\x69', '\x6e', '\x66', '\x6f', '\x2e', '\x65', '\x73', '\x74', '\x69', '\x6d', '\x61', '\x74', '\x65', '\x64', '\x44', '\x75', '\x72', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x29', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2e', '\x77', '\x72', '\x69', '\x74', '\x65', '\x43', '\x6f', '\x6d', '\x6d', '\x65', '\x6e', '\x74', '\x28', '\x22', '\x41', '\x6c', '\x6c', '\x20', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x73', '\x20', '\x69', '\x6e', '\x20', '\x6e', '\x61', '\x6e', '\x6f', '\x20', '\x73', '\x65', '\x63', '\x6f', '\x6e', '\x64', '\x73', '\x22', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x58', '\x6d', '\x6c', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x3a', '\x3a', '\x62', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x45', '\x6e', '\x64', '\x65', '\x64', '\x28', '\x42', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x53', '\x74', '\x61', '\x74', '\x73', '\x3c', '\x3e', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x26', '\x20', '\x62', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x53', '\x74', '\x61', '\x74', '\x73', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x78', '\x6d', '\x6c', '\x2e', '\x73', '\x74', '\x61', '\x72', '\x74', '\x45', '\x6c', '\x65', '\x6d', '\x65', '\x6e', '\x74', '\x28', '\x22', '\x6d', '\x65', '\x61', '\x6e', '\x22', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2e', '\x77', '\x72', '\x69', '\x74', '\x65', '\x41', '\x74', '\x74', '\x72', '\x69', '\x62', '\x75', '\x74', '\x65', '\x28', '\x22', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x22', '\x2c', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x5f', '\x63', '\x61', '\x73', '\x74', '\x3c', '\x75', '\x69', '\x6e', '\x74', '\x36', '\x34', '\x5f', '\x74', '\x3e', '\x28', '\x62', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x53', '\x74', '\x61', '\x74', '\x73', '\x2e', '\x6d', '\x65', '\x61', '\x6e', '\x2e', '\x70', '\x6f', '\x69', '\x6e', '\x74', '\x2e', '\x63', '\x6f', '\x75', '\x6e', '\x74', '\x28', '\x29', '\x29', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2e', '\x77', '\x72', '\x69', '\x74', '\x65', '\x41', '\x74', '\x74', '\x72', '\x69', '\x62', '\x75', '\x74', '\x65', '\x28', '\x22', '\x6c', '\x6f', '\x77', '\x65', '\x72', '\x42', '\x6f', '\x75', '\x6e', '\x64', '\x22', '\x2c', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x5f', '\x63', '\x61', '\x73', '\x74', '\x3c', '\x75', '\x69', '\x6e', '\x74', '\x36', '\x34', '\x5f', '\x74', '\x3e', '\x28', '\x62', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x53', '\x74', '\x61', '\x74', '\x73', '\x2e', '\x6d', '\x65', '\x61', '\x6e', '\x2e', '\x6c', '\x6f', '\x77', '\x65', '\x72', '\x5f', '\x62', '\x6f', '\x75', '\x6e', '\x64', '\x2e', '\x63', '\x6f', '\x75', '\x6e', '\x74', '\x28', '\x29', '\x29', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2e', '\x77', '\x72', '\x69', '\x74', '\x65', '\x41', '\x74', '\x74', '\x72', '\x69', '\x62', '\x75', '\x74', '\x65', '\x28', '\x22', '\x75', '\x70', '\x70', '\x65', '\x72', '\x42', '\x6f', '\x75', '\x6e', '\x64', '\x22', '\x2c', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x5f', '\x63', '\x61', '\x73', '\x74', '\x3c', '\x75', '\x69', '\x6e', '\x74', '\x36', '\x34', '\x5f', '\x74', '\x3e', '\x28', '\x62', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x53', '\x74', '\x61', '\x74', '\x73', '\x2e', '\x6d', '\x65', '\x61', '\x6e', '\x2e', '\x75', '\x70', '\x70', '\x65', '\x72', '\x5f', '\x62', '\x6f', '\x75', '\x6e', '\x64', '\x2e', '\x63', '\x6f', '\x75', '\x6e', '\x74', '\x28', '\x29', '\x29', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2e', '\x77', '\x72', '\x69', '\x74', '\x65', '\x41', '\x74', '\x74', '\x72', '\x69', '\x62', '\x75', '\x74', '\x65', '\x28', '\x22', '\x63', '\x69', '\x22', '\x2c', '\x20', '\x62', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x53', '\x74', '\x61', '\x74', '\x73', '\x2e', '\x6d', '\x65', '\x61', '\x6e', '\x2e', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x64', '\x65', '\x6e', '\x63', '\x65', '\x5f', '\x69', '\x6e', '\x74', '\x65', '\x72', '\x76', '\x61', '\x6c', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x78', '\x6d', '\x6c', '\x2e', '\x65', '\x6e', '\x64', '\x45', '\x6c', '\x65', '\x6d', '\x65', '\x6e', '\x74', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x78', '\x6d', '\x6c', '\x2e', '\x73', '\x74', '\x61', '\x72', '\x74', '\x45', '\x6c', '\x65', '\x6d', '\x65', '\x6e', '\x74', '\x28', '\x22', '\x73', '\x74', '\x61', '\x6e', '\x64', '\x61', '\x72', '\x64', '\x44', '\x65', '\x76', '\x69', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x22', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2e', '\x77', '\x72', '\x69', '\x74', '\x65', '\x41', '\x74', '\x74', '\x72', '\x69', '\x62', '\x75', '\x74', '\x65', '\x28', '\x22', '\x76', '\x61', '\x6c', '\x75', '\x65', '\x22', '\x2c', '\x20', '\x62', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x53', '\x74', '\x61', '\x74', '\x73', '\x2e', '\x73', '\x74', '\x61', '\x6e', '\x64', '\x61', '\x72', '\x64', '\x44', '\x65', '\x76', '\x69', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x2e', '\x70', '\x6f', '\x69', '\x6e', '\x74', '\x2e', '\x63', '\x6f', '\x75', '\x6e', '\x74', '\x28', '\x29', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2e', '\x77', '\x72', '\x69', '\x74', '\x65', '\x41', '\x74', '\x74', '\x72', '\x69', '\x62', '\x75', '\x74', '\x65', '\x28', '\x22', '\x6c', '\x6f', '\x77', '\x65', '\x72', '\x42', '\x6f', '\x75', '\x6e', '\x64', '\x22', '\x2c', '\x20', '\x62', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x53', '\x74', '\x61', '\x74', '\x73', '\x2e', '\x73', '\x74', '\x61', '\x6e', '\x64', '\x61', '\x72', '\x64', '\x44', '\x65', '\x76', '\x69', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x2e', '\x6c', '\x6f', '\x77', '\x65', '\x72', '\x5f', '\x62', '\x6f', '\x75', '\x6e', '\x64', '\x2e', '\x63', '\x6f', '\x75', '\x6e', '\x74', '\x28', '\x29', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2e', '\x77', '\x72', '\x69', '\x74', '\x65', '\x41', '\x74', '\x74', '\x72', '\x69', '\x62', '\x75', '\x74', '\x65', '\x28', '\x22', '\x75', '\x70', '\x70', '\x65', '\x72', '\x42', '\x6f', '\x75', '\x6e', '\x64', '\x22', '\x2c', '\x20', '\x62', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x53', '\x74', '\x61', '\x74', '\x73', '\x2e', '\x73', '\x74', '\x61', '\x6e', '\x64', '\x61', '\x72', '\x64', '\x44', '\x65', '\x76', '\x69', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x2e', '\x75', '\x70', '\x70', '\x65', '\x72', '\x5f', '\x62', '\x6f', '\x75', '\x6e', '\x64', '\x2e', '\x63', '\x6f', '\x75', '\x6e', '\x74', '\x28', '\x29', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2e', '\x77', '\x72', '\x69', '\x74', '\x65', '\x41', '\x74', '\x74', '\x72', '\x69', '\x62', '\x75', '\x74', '\x65', '\x28', '\x22', '\x63', '\x69', '\x22', '\x2c', '\x20', '\x62', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x53', '\x74', '\x61', '\x74', '\x73', '\x2e', '\x73', '\x74', '\x61', '\x6e', '\x64', '\x61', '\x72', '\x64', '\x44', '\x65', '\x76', '\x69', '\x61', '\x74', '\x69', '\x6f', '\x6e', '\x2e', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x64', '\x65', '\x6e', '\x63', '\x65', '\x5f', '\x69', '\x6e', '\x74', '\x65', '\x72', '\x76', '\x61', '\x6c', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x78', '\x6d', '\x6c', '\x2e', '\x65', '\x6e', '\x64', '\x45', '\x6c', '\x65', '\x6d', '\x65', '\x6e', '\x74', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x78', '\x6d', '\x6c', '\x2e', '\x73', '\x74', '\x61', '\x72', '\x74', '\x45', '\x6c', '\x65', '\x6d', '\x65', '\x6e', '\x74', '\x28', '\x22', '\x6f', '\x75', '\x74', '\x6c', '\x69', '\x65', '\x72', '\x73', '\x22', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2e', '\x77', '\x72', '\x69', '\x74', '\x65', '\x41', '\x74', '\x74', '\x72', '\x69', '\x62', '\x75', '\x74', '\x65', '\x28', '\x22', '\x76', '\x61', '\x72', '\x69', '\x61', '\x6e', '\x63', '\x65', '\x22', '\x2c', '\x20', '\x62', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x53', '\x74', '\x61', '\x74', '\x73', '\x2e', '\x6f', '\x75', '\x74', '\x6c', '\x69', '\x65', '\x72', '\x56', '\x61', '\x72', '\x69', '\x61', '\x6e', '\x63', '\x65', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2e', '\x77', '\x72', '\x69', '\x74', '\x65', '\x41', '\x74', '\x74', '\x72', '\x69', '\x62', '\x75', '\x74', '\x65', '\x28', '\x22', '\x6c', '\x6f', '\x77', '\x4d', '\x69', '\x6c', '\x64', '\x22', '\x2c', '\x20', '\x62', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x53', '\x74', '\x61', '\x74', '\x73', '\x2e', '\x6f', '\x75', '\x74', '\x6c', '\x69', '\x65', '\x72', '\x73', '\x2e', '\x6c', '\x6f', '\x77', '\x5f', '\x6d', '\x69', '\x6c', '\x64', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2e', '\x77', '\x72', '\x69', '\x74', '\x65', '\x41', '\x74', '\x74', '\x72', '\x69', '\x62', '\x75', '\x74', '\x65', '\x28', '\x22', '\x6c', '\x6f', '\x77', '\x53', '\x65', '\x76', '\x65', '\x72', '\x65', '\x22', '\x2c', '\x20', '\x62', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x53', '\x74', '\x61', '\x74', '\x73', '\x2e', '\x6f', '\x75', '\x74', '\x6c', '\x69', '\x65', '\x72', '\x73', '\x2e', '\x6c', '\x6f', '\x77', '\x5f', '\x73', '\x65', '\x76', '\x65', '\x72', '\x65', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2e', '\x77', '\x72', '\x69', '\x74', '\x65', '\x41', '\x74', '\x74', '\x72', '\x69', '\x62', '\x75', '\x74', '\x65', '\x28', '\x22', '\x68', '\x69', '\x67', '\x68', '\x4d', '\x69', '\x6c', '\x64', '\x22', '\x2c', '\x20', '\x62', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x53', '\x74', '\x61', '\x74', '\x73', '\x2e', '\x6f', '\x75', '\x74', '\x6c', '\x69', '\x65', '\x72', '\x73', '\x2e', '\x68', '\x69', '\x67', '\x68', '\x5f', '\x6d', '\x69', '\x6c', '\x64', '\x29', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x2e', '\x77', '\x72', '\x69', '\x74', '\x65', '\x41', '\x74', '\x74', '\x72', '\x69', '\x62', '\x75', '\x74', '\x65', '\x28', '\x22', '\x68', '\x69', '\x67', '\x68', '\x53', '\x65', '\x76', '\x65', '\x72', '\x65', '\x22', '\x2c', '\x20', '\x62', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x53', '\x74', '\x61', '\x74', '\x73', '\x2e', '\x6f', '\x75', '\x74', '\x6c', '\x69', '\x65', '\x72', '\x73', '\x2e', '\x68', '\x69', '\x67', '\x68', '\x5f', '\x73', '\x65', '\x76', '\x65', '\x72', '\x65', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x78', '\x6d', '\x6c', '\x2e', '\x65', '\x6e', '\x64', '\x45', '\x6c', '\x65', '\x6d', '\x65', '\x6e', '\x74', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x78', '\x6d', '\x6c', '\x2e', '\x65', '\x6e', '\x64', '\x45', '\x6c', '\x65', '\x6d', '\x65', '\x6e', '\x74', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x76', '\x6f', '\x69', '\x64', '\x20', '\x58', '\x6d', '\x6c', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x3a', '\x3a', '\x62', '\x65', '\x6e', '\x63', '\x68', '\x6d', '\x61', '\x72', '\x6b', '\x46', '\x61', '\x69', '\x6c', '\x65', '\x64', '\x28', '\x73', '\x74', '\x64', '\x3a', '\x3a', '\x73', '\x74', '\x72', '\x69', '\x6e', '\x67', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x26', '\x65', '\x72', '\x72', '\x6f', '\x72', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x78', '\x6d', '\x6c', '\x2e', '\x73', '\x63', '\x6f', '\x70', '\x65', '\x64', '\x45', '\x6c', '\x65', '\x6d', '\x65', '\x6e', '\x74', '\x28', '\x22', '\x66', '\x61', '\x69', '\x6c', '\x65', '\x64', '\x22', '\x29', '\x2e', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x77', '\x72', '\x69', '\x74', '\x65', '\x41', '\x74', '\x74', '\x72', '\x69', '\x62', '\x75', '\x74', '\x65', '\x28', '\x22', '\x6d', '\x65', '\x73', '\x73', '\x61', '\x67', '\x65', '\x22', '\x2c', '\x20', '\x65', '\x72', '\x72', '\x6f', '\x72', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x6d', '\x5f', '\x78', '\x6d', '\x6c', '\x2e', '\x65', '\x6e', '\x64', '\x45', '\x6c', '\x65', '\x6d', '\x65', '\x6e', '\x74', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x7d', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x20', '\x2f', '\x2f', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x45', '\x4e', '\x41', '\x42', '\x4c', '\x45', '\x5f', '\x42', '\x45', '\x4e', '\x43', '\x48', '\x4d', '\x41', '\x52', '\x4b', '\x49', '\x4e', '\x47', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x47', '\x49', '\x53', '\x54', '\x45', '\x52', '\x5f', '\x52', '\x45', '\x50', '\x4f', '\x52', '\x54', '\x45', '\x52', '\x28', '\x20', '\x22', '\x78', '\x6d', '\x6c', '\x22', '\x2c', '\x20', '\x58', '\x6d', '\x6c', '\x52', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x20', '\x29', '\x0d', '\x0a', '\x0d', '\x0a', '\x7d', '\x20', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x5f', '\x4d', '\x53', '\x43', '\x5f', '\x56', '\x45', '\x52', '\x29', '\x0d', '\x0a', '\x23', '\x70', '\x72', '\x61', '\x67', '\x6d', '\x61', '\x20', '\x77', '\x61', '\x72', '\x6e', '\x69', '\x6e', '\x67', '\x28', '\x70', '\x6f', '\x70', '\x29', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x72', '\x65', '\x70', '\x6f', '\x72', '\x74', '\x65', '\x72', '\x5f', '\x78', '\x6d', '\x6c', '\x2e', '\x63', '\x70', '\x70', '\x0d', '\x0a', '\x0d', '\x0a', '\x6e', '\x61', '\x6d', '\x65', '\x73', '\x70', '\x61', '\x63', '\x65', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x20', '\x7b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x4c', '\x65', '\x61', '\x6b', '\x44', '\x65', '\x74', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x20', '\x6c', '\x65', '\x61', '\x6b', '\x44', '\x65', '\x74', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x3b', '\x0d', '\x0a', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x64', '\x65', '\x66', '\x20', '\x5f', '\x5f', '\x63', '\x6c', '\x61', '\x6e', '\x67', '\x5f', '\x5f', '\x0d', '\x0a', '\x23', '\x70', '\x72', '\x61', '\x67', '\x6d', '\x61', '\x20', '\x63', '\x6c', '\x61', '\x6e', '\x67', '\x20', '\x64', '\x69', '\x61', '\x67', '\x6e', '\x6f', '\x73', '\x74', '\x69', '\x63', '\x20', '\x70', '\x6f', '\x70', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x69', '\x6d', '\x70', '\x6c', '\x2e', '\x68', '\x70', '\x70', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x64', '\x65', '\x66', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x4d', '\x41', '\x49', '\x4e', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x64', '\x65', '\x66', '\x61', '\x75', '\x6c', '\x74', '\x5f', '\x6d', '\x61', '\x69', '\x6e', '\x2e', '\x68', '\x70', '\x70', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x6e', '\x64', '\x65', '\x66', '\x20', '\x5f', '\x5f', '\x4f', '\x42', '\x4a', '\x43', '\x5f', '\x5f', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x57', '\x43', '\x48', '\x41', '\x52', '\x29', '\x20', '\x26', '\x26', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x57', '\x49', '\x4e', '\x33', '\x32', '\x29', '\x20', '\x26', '\x26', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x5f', '\x55', '\x4e', '\x49', '\x43', '\x4f', '\x44', '\x45', '\x29', '\x20', '\x26', '\x26', '\x20', '\x21', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x44', '\x4f', '\x5f', '\x4e', '\x4f', '\x54', '\x5f', '\x55', '\x53', '\x45', '\x5f', '\x57', '\x4d', '\x41', '\x49', '\x4e', '\x29', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x53', '\x74', '\x61', '\x6e', '\x64', '\x61', '\x72', '\x64', '\x20', '\x43', '\x2f', '\x43', '\x2b', '\x2b', '\x20', '\x57', '\x69', '\x6e', '\x33', '\x32', '\x20', '\x55', '\x6e', '\x69', '\x63', '\x6f', '\x64', '\x65', '\x20', '\x77', '\x6d', '\x61', '\x69', '\x6e', '\x20', '\x65', '\x6e', '\x74', '\x72', '\x79', '\x20', '\x70', '\x6f', '\x69', '\x6e', '\x74', '\x0d', '\x0a', '\x65', '\x78', '\x74', '\x65', '\x72', '\x6e', '\x20', '\x22', '\x43', '\x22', '\x20', '\x69', '\x6e', '\x74', '\x20', '\x77', '\x6d', '\x61', '\x69', '\x6e', '\x20', '\x28', '\x69', '\x6e', '\x74', '\x20', '\x61', '\x72', '\x67', '\x63', '\x2c', '\x20', '\x77', '\x63', '\x68', '\x61', '\x72', '\x5f', '\x74', '\x20', '\x2a', '\x20', '\x61', '\x72', '\x67', '\x76', '\x5b', '\x5d', '\x2c', '\x20', '\x77', '\x63', '\x68', '\x61', '\x72', '\x5f', '\x74', '\x20', '\x2a', '\x20', '\x5b', '\x5d', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x23', '\x65', '\x6c', '\x73', '\x65', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x53', '\x74', '\x61', '\x6e', '\x64', '\x61', '\x72', '\x64', '\x20', '\x43', '\x2f', '\x43', '\x2b', '\x2b', '\x20', '\x6d', '\x61', '\x69', '\x6e', '\x20', '\x65', '\x6e', '\x74', '\x72', '\x79', '\x20', '\x70', '\x6f', '\x69', '\x6e', '\x74', '\x0d', '\x0a', '\x69', '\x6e', '\x74', '\x20', '\x6d', '\x61', '\x69', '\x6e', '\x20', '\x28', '\x69', '\x6e', '\x74', '\x20', '\x61', '\x72', '\x67', '\x63', '\x2c', '\x20', '\x63', '\x68', '\x61', '\x72', '\x20', '\x2a', '\x20', '\x61', '\x72', '\x67', '\x76', '\x5b', '\x5d', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x53', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x28', '\x29', '\x2e', '\x72', '\x75', '\x6e', '\x28', '\x20', '\x61', '\x72', '\x67', '\x63', '\x2c', '\x20', '\x61', '\x72', '\x67', '\x76', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x65', '\x6c', '\x73', '\x65', '\x20', '\x2f', '\x2f', '\x20', '\x5f', '\x5f', '\x4f', '\x42', '\x4a', '\x43', '\x5f', '\x5f', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x4f', '\x62', '\x6a', '\x65', '\x63', '\x74', '\x69', '\x76', '\x65', '\x2d', '\x43', '\x20', '\x65', '\x6e', '\x74', '\x72', '\x79', '\x20', '\x70', '\x6f', '\x69', '\x6e', '\x74', '\x0d', '\x0a', '\x69', '\x6e', '\x74', '\x20', '\x6d', '\x61', '\x69', '\x6e', '\x20', '\x28', '\x69', '\x6e', '\x74', '\x20', '\x61', '\x72', '\x67', '\x63', '\x2c', '\x20', '\x63', '\x68', '\x61', '\x72', '\x20', '\x2a', '\x20', '\x63', '\x6f', '\x6e', '\x73', '\x74', '\x20', '\x61', '\x72', '\x67', '\x76', '\x5b', '\x5d', '\x29', '\x20', '\x7b', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x20', '\x21', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x41', '\x52', '\x43', '\x5f', '\x45', '\x4e', '\x41', '\x42', '\x4c', '\x45', '\x44', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x4e', '\x53', '\x41', '\x75', '\x74', '\x6f', '\x72', '\x65', '\x6c', '\x65', '\x61', '\x73', '\x65', '\x50', '\x6f', '\x6f', '\x6c', '\x20', '\x2a', '\x20', '\x70', '\x6f', '\x6f', '\x6c', '\x20', '\x3d', '\x20', '\x5b', '\x5b', '\x4e', '\x53', '\x41', '\x75', '\x74', '\x6f', '\x72', '\x65', '\x6c', '\x65', '\x61', '\x73', '\x65', '\x50', '\x6f', '\x6f', '\x6c', '\x20', '\x61', '\x6c', '\x6c', '\x6f', '\x63', '\x5d', '\x20', '\x69', '\x6e', '\x69', '\x74', '\x5d', '\x3b', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x72', '\x65', '\x67', '\x69', '\x73', '\x74', '\x65', '\x72', '\x54', '\x65', '\x73', '\x74', '\x4d', '\x65', '\x74', '\x68', '\x6f', '\x64', '\x73', '\x28', '\x29', '\x3b', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x69', '\x6e', '\x74', '\x20', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x20', '\x3d', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x53', '\x65', '\x73', '\x73', '\x69', '\x6f', '\x6e', '\x28', '\x29', '\x2e', '\x72', '\x75', '\x6e', '\x28', '\x20', '\x61', '\x72', '\x67', '\x63', '\x2c', '\x20', '\x28', '\x63', '\x68', '\x61', '\x72', '\x2a', '\x2a', '\x29', '\x61', '\x72', '\x67', '\x76', '\x20', '\x29', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x20', '\x21', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x41', '\x52', '\x43', '\x5f', '\x45', '\x4e', '\x41', '\x42', '\x4c', '\x45', '\x44', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x5b', '\x70', '\x6f', '\x6f', '\x6c', '\x20', '\x64', '\x72', '\x61', '\x69', '\x6e', '\x5d', '\x3b', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x72', '\x65', '\x74', '\x75', '\x72', '\x6e', '\x20', '\x72', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x3b', '\x0d', '\x0a', '\x7d', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x20', '\x2f', '\x2f', '\x20', '\x5f', '\x5f', '\x4f', '\x42', '\x4a', '\x43', '\x5f', '\x5f', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x64', '\x65', '\x66', '\x61', '\x75', '\x6c', '\x74', '\x5f', '\x6d', '\x61', '\x69', '\x6e', '\x2e', '\x68', '\x70', '\x70', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x20', '\x21', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x49', '\x4d', '\x50', '\x4c', '\x5f', '\x4f', '\x4e', '\x4c', '\x59', '\x29', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x64', '\x65', '\x66', '\x20', '\x43', '\x4c', '\x41', '\x52', '\x41', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x4d', '\x41', '\x49', '\x4e', '\x5f', '\x4e', '\x4f', '\x54', '\x5f', '\x44', '\x45', '\x46', '\x49', '\x4e', '\x45', '\x44', '\x0d', '\x0a', '\x23', '\x20', '\x20', '\x75', '\x6e', '\x64', '\x65', '\x66', '\x20', '\x43', '\x4c', '\x41', '\x52', '\x41', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x4d', '\x41', '\x49', '\x4e', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x20', '\x21', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x44', '\x49', '\x53', '\x41', '\x42', '\x4c', '\x45', '\x29', '\x0d', '\x0a', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x49', '\x66', '\x20', '\x74', '\x68', '\x69', '\x73', '\x20', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x20', '\x69', '\x64', '\x65', '\x6e', '\x74', '\x69', '\x66', '\x69', '\x65', '\x72', '\x20', '\x69', '\x73', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x20', '\x74', '\x68', '\x65', '\x6e', '\x20', '\x61', '\x6c', '\x6c', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x20', '\x6d', '\x61', '\x63', '\x72', '\x6f', '\x73', '\x20', '\x61', '\x72', '\x65', '\x20', '\x70', '\x72', '\x65', '\x66', '\x69', '\x78', '\x65', '\x64', '\x20', '\x77', '\x69', '\x74', '\x68', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x64', '\x65', '\x66', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x50', '\x52', '\x45', '\x46', '\x49', '\x58', '\x5f', '\x41', '\x4c', '\x4c', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x51', '\x55', '\x49', '\x52', '\x45', '\x28', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x28', '\x20', '\x22', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x51', '\x55', '\x49', '\x52', '\x45', '\x22', '\x2c', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x44', '\x69', '\x73', '\x70', '\x6f', '\x73', '\x69', '\x74', '\x69', '\x6f', '\x6e', '\x3a', '\x3a', '\x4e', '\x6f', '\x72', '\x6d', '\x61', '\x6c', '\x2c', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x20', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x51', '\x55', '\x49', '\x52', '\x45', '\x5f', '\x46', '\x41', '\x4c', '\x53', '\x45', '\x28', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x28', '\x20', '\x22', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x51', '\x55', '\x49', '\x52', '\x45', '\x5f', '\x46', '\x41', '\x4c', '\x53', '\x45', '\x22', '\x2c', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x44', '\x69', '\x73', '\x70', '\x6f', '\x73', '\x69', '\x74', '\x69', '\x6f', '\x6e', '\x3a', '\x3a', '\x4e', '\x6f', '\x72', '\x6d', '\x61', '\x6c', '\x20', '\x7c', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x44', '\x69', '\x73', '\x70', '\x6f', '\x73', '\x69', '\x74', '\x69', '\x6f', '\x6e', '\x3a', '\x3a', '\x46', '\x61', '\x6c', '\x73', '\x65', '\x54', '\x65', '\x73', '\x74', '\x2c', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x20', '\x29', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x51', '\x55', '\x49', '\x52', '\x45', '\x5f', '\x54', '\x48', '\x52', '\x4f', '\x57', '\x53', '\x28', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x48', '\x52', '\x4f', '\x57', '\x53', '\x28', '\x20', '\x22', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x51', '\x55', '\x49', '\x52', '\x45', '\x5f', '\x54', '\x48', '\x52', '\x4f', '\x57', '\x53', '\x22', '\x2c', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x44', '\x69', '\x73', '\x70', '\x6f', '\x73', '\x69', '\x74', '\x69', '\x6f', '\x6e', '\x3a', '\x3a', '\x4e', '\x6f', '\x72', '\x6d', '\x61', '\x6c', '\x2c', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x20', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x51', '\x55', '\x49', '\x52', '\x45', '\x5f', '\x54', '\x48', '\x52', '\x4f', '\x57', '\x53', '\x5f', '\x41', '\x53', '\x28', '\x20', '\x65', '\x78', '\x70', '\x72', '\x2c', '\x20', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x54', '\x79', '\x70', '\x65', '\x20', '\x29', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x48', '\x52', '\x4f', '\x57', '\x53', '\x5f', '\x41', '\x53', '\x28', '\x20', '\x22', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x51', '\x55', '\x49', '\x52', '\x45', '\x5f', '\x54', '\x48', '\x52', '\x4f', '\x57', '\x53', '\x5f', '\x41', '\x53', '\x22', '\x2c', '\x20', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x54', '\x79', '\x70', '\x65', '\x2c', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x44', '\x69', '\x73', '\x70', '\x6f', '\x73', '\x69', '\x74', '\x69', '\x6f', '\x6e', '\x3a', '\x3a', '\x4e', '\x6f', '\x72', '\x6d', '\x61', '\x6c', '\x2c', '\x20', '\x65', '\x78', '\x70', '\x72', '\x20', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x51', '\x55', '\x49', '\x52', '\x45', '\x5f', '\x54', '\x48', '\x52', '\x4f', '\x57', '\x53', '\x5f', '\x57', '\x49', '\x54', '\x48', '\x28', '\x20', '\x65', '\x78', '\x70', '\x72', '\x2c', '\x20', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x20', '\x29', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x48', '\x52', '\x4f', '\x57', '\x53', '\x5f', '\x53', '\x54', '\x52', '\x5f', '\x4d', '\x41', '\x54', '\x43', '\x48', '\x45', '\x53', '\x28', '\x20', '\x22', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x51', '\x55', '\x49', '\x52', '\x45', '\x5f', '\x54', '\x48', '\x52', '\x4f', '\x57', '\x53', '\x5f', '\x57', '\x49', '\x54', '\x48', '\x22', '\x2c', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x44', '\x69', '\x73', '\x70', '\x6f', '\x73', '\x69', '\x74', '\x69', '\x6f', '\x6e', '\x3a', '\x3a', '\x4e', '\x6f', '\x72', '\x6d', '\x61', '\x6c', '\x2c', '\x20', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x2c', '\x20', '\x65', '\x78', '\x70', '\x72', '\x20', '\x29', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x20', '\x21', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x44', '\x49', '\x53', '\x41', '\x42', '\x4c', '\x45', '\x5f', '\x4d', '\x41', '\x54', '\x43', '\x48', '\x45', '\x52', '\x53', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x51', '\x55', '\x49', '\x52', '\x45', '\x5f', '\x54', '\x48', '\x52', '\x4f', '\x57', '\x53', '\x5f', '\x4d', '\x41', '\x54', '\x43', '\x48', '\x45', '\x53', '\x28', '\x20', '\x65', '\x78', '\x70', '\x72', '\x2c', '\x20', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x54', '\x79', '\x70', '\x65', '\x2c', '\x20', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x20', '\x29', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x48', '\x52', '\x4f', '\x57', '\x53', '\x5f', '\x4d', '\x41', '\x54', '\x43', '\x48', '\x45', '\x53', '\x28', '\x20', '\x22', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x51', '\x55', '\x49', '\x52', '\x45', '\x5f', '\x54', '\x48', '\x52', '\x4f', '\x57', '\x53', '\x5f', '\x4d', '\x41', '\x54', '\x43', '\x48', '\x45', '\x53', '\x22', '\x2c', '\x20', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x54', '\x79', '\x70', '\x65', '\x2c', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x44', '\x69', '\x73', '\x70', '\x6f', '\x73', '\x69', '\x74', '\x69', '\x6f', '\x6e', '\x3a', '\x3a', '\x4e', '\x6f', '\x72', '\x6d', '\x61', '\x6c', '\x2c', '\x20', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x2c', '\x20', '\x65', '\x78', '\x70', '\x72', '\x20', '\x29', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x2f', '\x2f', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x44', '\x49', '\x53', '\x41', '\x42', '\x4c', '\x45', '\x5f', '\x4d', '\x41', '\x54', '\x43', '\x48', '\x45', '\x52', '\x53', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x51', '\x55', '\x49', '\x52', '\x45', '\x5f', '\x4e', '\x4f', '\x54', '\x48', '\x52', '\x4f', '\x57', '\x28', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x4e', '\x4f', '\x5f', '\x54', '\x48', '\x52', '\x4f', '\x57', '\x28', '\x20', '\x22', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x51', '\x55', '\x49', '\x52', '\x45', '\x5f', '\x4e', '\x4f', '\x54', '\x48', '\x52', '\x4f', '\x57', '\x22', '\x2c', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x44', '\x69', '\x73', '\x70', '\x6f', '\x73', '\x69', '\x74', '\x69', '\x6f', '\x6e', '\x3a', '\x3a', '\x4e', '\x6f', '\x72', '\x6d', '\x61', '\x6c', '\x2c', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x20', '\x29', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x48', '\x45', '\x43', '\x4b', '\x28', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x28', '\x20', '\x22', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x48', '\x45', '\x43', '\x4b', '\x22', '\x2c', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x44', '\x69', '\x73', '\x70', '\x6f', '\x73', '\x69', '\x74', '\x69', '\x6f', '\x6e', '\x3a', '\x3a', '\x43', '\x6f', '\x6e', '\x74', '\x69', '\x6e', '\x75', '\x65', '\x4f', '\x6e', '\x46', '\x61', '\x69', '\x6c', '\x75', '\x72', '\x65', '\x2c', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x20', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x48', '\x45', '\x43', '\x4b', '\x5f', '\x46', '\x41', '\x4c', '\x53', '\x45', '\x28', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x28', '\x20', '\x22', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x48', '\x45', '\x43', '\x4b', '\x5f', '\x46', '\x41', '\x4c', '\x53', '\x45', '\x22', '\x2c', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x44', '\x69', '\x73', '\x70', '\x6f', '\x73', '\x69', '\x74', '\x69', '\x6f', '\x6e', '\x3a', '\x3a', '\x43', '\x6f', '\x6e', '\x74', '\x69', '\x6e', '\x75', '\x65', '\x4f', '\x6e', '\x46', '\x61', '\x69', '\x6c', '\x75', '\x72', '\x65', '\x20', '\x7c', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x44', '\x69', '\x73', '\x70', '\x6f', '\x73', '\x69', '\x74', '\x69', '\x6f', '\x6e', '\x3a', '\x3a', '\x46', '\x61', '\x6c', '\x73', '\x65', '\x54', '\x65', '\x73', '\x74', '\x2c', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x20', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x48', '\x45', '\x43', '\x4b', '\x45', '\x44', '\x5f', '\x49', '\x46', '\x28', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x46', '\x28', '\x20', '\x22', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x48', '\x45', '\x43', '\x4b', '\x45', '\x44', '\x5f', '\x49', '\x46', '\x22', '\x2c', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x44', '\x69', '\x73', '\x70', '\x6f', '\x73', '\x69', '\x74', '\x69', '\x6f', '\x6e', '\x3a', '\x3a', '\x43', '\x6f', '\x6e', '\x74', '\x69', '\x6e', '\x75', '\x65', '\x4f', '\x6e', '\x46', '\x61', '\x69', '\x6c', '\x75', '\x72', '\x65', '\x2c', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x20', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x48', '\x45', '\x43', '\x4b', '\x45', '\x44', '\x5f', '\x45', '\x4c', '\x53', '\x45', '\x28', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x45', '\x4c', '\x53', '\x45', '\x28', '\x20', '\x22', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x48', '\x45', '\x43', '\x4b', '\x45', '\x44', '\x5f', '\x45', '\x4c', '\x53', '\x45', '\x22', '\x2c', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x44', '\x69', '\x73', '\x70', '\x6f', '\x73', '\x69', '\x74', '\x69', '\x6f', '\x6e', '\x3a', '\x3a', '\x43', '\x6f', '\x6e', '\x74', '\x69', '\x6e', '\x75', '\x65', '\x4f', '\x6e', '\x46', '\x61', '\x69', '\x6c', '\x75', '\x72', '\x65', '\x2c', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x20', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x48', '\x45', '\x43', '\x4b', '\x5f', '\x4e', '\x4f', '\x46', '\x41', '\x49', '\x4c', '\x28', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x28', '\x20', '\x22', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x48', '\x45', '\x43', '\x4b', '\x5f', '\x4e', '\x4f', '\x46', '\x41', '\x49', '\x4c', '\x22', '\x2c', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x44', '\x69', '\x73', '\x70', '\x6f', '\x73', '\x69', '\x74', '\x69', '\x6f', '\x6e', '\x3a', '\x3a', '\x43', '\x6f', '\x6e', '\x74', '\x69', '\x6e', '\x75', '\x65', '\x4f', '\x6e', '\x46', '\x61', '\x69', '\x6c', '\x75', '\x72', '\x65', '\x20', '\x7c', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x44', '\x69', '\x73', '\x70', '\x6f', '\x73', '\x69', '\x74', '\x69', '\x6f', '\x6e', '\x3a', '\x3a', '\x53', '\x75', '\x70', '\x70', '\x72', '\x65', '\x73', '\x73', '\x46', '\x61', '\x69', '\x6c', '\x2c', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x20', '\x29', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x48', '\x45', '\x43', '\x4b', '\x5f', '\x54', '\x48', '\x52', '\x4f', '\x57', '\x53', '\x28', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x48', '\x52', '\x4f', '\x57', '\x53', '\x28', '\x20', '\x22', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x48', '\x45', '\x43', '\x4b', '\x5f', '\x54', '\x48', '\x52', '\x4f', '\x57', '\x53', '\x22', '\x2c', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x44', '\x69', '\x73', '\x70', '\x6f', '\x73', '\x69', '\x74', '\x69', '\x6f', '\x6e', '\x3a', '\x3a', '\x43', '\x6f', '\x6e', '\x74', '\x69', '\x6e', '\x75', '\x65', '\x4f', '\x6e', '\x46', '\x61', '\x69', '\x6c', '\x75', '\x72', '\x65', '\x2c', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x20', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x48', '\x45', '\x43', '\x4b', '\x5f', '\x54', '\x48', '\x52', '\x4f', '\x57', '\x53', '\x5f', '\x41', '\x53', '\x28', '\x20', '\x65', '\x78', '\x70', '\x72', '\x2c', '\x20', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x54', '\x79', '\x70', '\x65', '\x20', '\x29', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x48', '\x52', '\x4f', '\x57', '\x53', '\x5f', '\x41', '\x53', '\x28', '\x20', '\x22', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x48', '\x45', '\x43', '\x4b', '\x5f', '\x54', '\x48', '\x52', '\x4f', '\x57', '\x53', '\x5f', '\x41', '\x53', '\x22', '\x2c', '\x20', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x54', '\x79', '\x70', '\x65', '\x2c', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x44', '\x69', '\x73', '\x70', '\x6f', '\x73', '\x69', '\x74', '\x69', '\x6f', '\x6e', '\x3a', '\x3a', '\x43', '\x6f', '\x6e', '\x74', '\x69', '\x6e', '\x75', '\x65', '\x4f', '\x6e', '\x46', '\x61', '\x69', '\x6c', '\x75', '\x72', '\x65', '\x2c', '\x20', '\x65', '\x78', '\x70', '\x72', '\x20', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x48', '\x45', '\x43', '\x4b', '\x5f', '\x54', '\x48', '\x52', '\x4f', '\x57', '\x53', '\x5f', '\x57', '\x49', '\x54', '\x48', '\x28', '\x20', '\x65', '\x78', '\x70', '\x72', '\x2c', '\x20', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x20', '\x29', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x48', '\x52', '\x4f', '\x57', '\x53', '\x5f', '\x53', '\x54', '\x52', '\x5f', '\x4d', '\x41', '\x54', '\x43', '\x48', '\x45', '\x53', '\x28', '\x20', '\x22', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x48', '\x45', '\x43', '\x4b', '\x5f', '\x54', '\x48', '\x52', '\x4f', '\x57', '\x53', '\x5f', '\x57', '\x49', '\x54', '\x48', '\x22', '\x2c', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x44', '\x69', '\x73', '\x70', '\x6f', '\x73', '\x69', '\x74', '\x69', '\x6f', '\x6e', '\x3a', '\x3a', '\x43', '\x6f', '\x6e', '\x74', '\x69', '\x6e', '\x75', '\x65', '\x4f', '\x6e', '\x46', '\x61', '\x69', '\x6c', '\x75', '\x72', '\x65', '\x2c', '\x20', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x2c', '\x20', '\x65', '\x78', '\x70', '\x72', '\x20', '\x29', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x20', '\x21', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x44', '\x49', '\x53', '\x41', '\x42', '\x4c', '\x45', '\x5f', '\x4d', '\x41', '\x54', '\x43', '\x48', '\x45', '\x52', '\x53', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x48', '\x45', '\x43', '\x4b', '\x5f', '\x54', '\x48', '\x52', '\x4f', '\x57', '\x53', '\x5f', '\x4d', '\x41', '\x54', '\x43', '\x48', '\x45', '\x53', '\x28', '\x20', '\x65', '\x78', '\x70', '\x72', '\x2c', '\x20', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x54', '\x79', '\x70', '\x65', '\x2c', '\x20', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x20', '\x29', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x48', '\x52', '\x4f', '\x57', '\x53', '\x5f', '\x4d', '\x41', '\x54', '\x43', '\x48', '\x45', '\x53', '\x28', '\x20', '\x22', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x48', '\x45', '\x43', '\x4b', '\x5f', '\x54', '\x48', '\x52', '\x4f', '\x57', '\x53', '\x5f', '\x4d', '\x41', '\x54', '\x43', '\x48', '\x45', '\x53', '\x22', '\x2c', '\x20', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x54', '\x79', '\x70', '\x65', '\x2c', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x44', '\x69', '\x73', '\x70', '\x6f', '\x73', '\x69', '\x74', '\x69', '\x6f', '\x6e', '\x3a', '\x3a', '\x43', '\x6f', '\x6e', '\x74', '\x69', '\x6e', '\x75', '\x65', '\x4f', '\x6e', '\x46', '\x61', '\x69', '\x6c', '\x75', '\x72', '\x65', '\x2c', '\x20', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x2c', '\x20', '\x65', '\x78', '\x70', '\x72', '\x20', '\x29', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x20', '\x2f', '\x2f', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x44', '\x49', '\x53', '\x41', '\x42', '\x4c', '\x45', '\x5f', '\x4d', '\x41', '\x54', '\x43', '\x48', '\x45', '\x52', '\x53', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x48', '\x45', '\x43', '\x4b', '\x5f', '\x4e', '\x4f', '\x54', '\x48', '\x52', '\x4f', '\x57', '\x28', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x4e', '\x4f', '\x5f', '\x54', '\x48', '\x52', '\x4f', '\x57', '\x28', '\x20', '\x22', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x48', '\x45', '\x43', '\x4b', '\x5f', '\x4e', '\x4f', '\x54', '\x48', '\x52', '\x4f', '\x57', '\x22', '\x2c', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x44', '\x69', '\x73', '\x70', '\x6f', '\x73', '\x69', '\x74', '\x69', '\x6f', '\x6e', '\x3a', '\x3a', '\x43', '\x6f', '\x6e', '\x74', '\x69', '\x6e', '\x75', '\x65', '\x4f', '\x6e', '\x46', '\x61', '\x69', '\x6c', '\x75', '\x72', '\x65', '\x2c', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x20', '\x29', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x20', '\x21', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x44', '\x49', '\x53', '\x41', '\x42', '\x4c', '\x45', '\x5f', '\x4d', '\x41', '\x54', '\x43', '\x48', '\x45', '\x52', '\x53', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x48', '\x45', '\x43', '\x4b', '\x5f', '\x54', '\x48', '\x41', '\x54', '\x28', '\x20', '\x61', '\x72', '\x67', '\x2c', '\x20', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x20', '\x29', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x48', '\x45', '\x43', '\x4b', '\x5f', '\x54', '\x48', '\x41', '\x54', '\x28', '\x20', '\x22', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x48', '\x45', '\x43', '\x4b', '\x5f', '\x54', '\x48', '\x41', '\x54', '\x22', '\x2c', '\x20', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x2c', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x44', '\x69', '\x73', '\x70', '\x6f', '\x73', '\x69', '\x74', '\x69', '\x6f', '\x6e', '\x3a', '\x3a', '\x43', '\x6f', '\x6e', '\x74', '\x69', '\x6e', '\x75', '\x65', '\x4f', '\x6e', '\x46', '\x61', '\x69', '\x6c', '\x75', '\x72', '\x65', '\x2c', '\x20', '\x61', '\x72', '\x67', '\x20', '\x29', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x51', '\x55', '\x49', '\x52', '\x45', '\x5f', '\x54', '\x48', '\x41', '\x54', '\x28', '\x20', '\x61', '\x72', '\x67', '\x2c', '\x20', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x20', '\x29', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x48', '\x45', '\x43', '\x4b', '\x5f', '\x54', '\x48', '\x41', '\x54', '\x28', '\x20', '\x22', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x51', '\x55', '\x49', '\x52', '\x45', '\x5f', '\x54', '\x48', '\x41', '\x54', '\x22', '\x2c', '\x20', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x2c', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x44', '\x69', '\x73', '\x70', '\x6f', '\x73', '\x69', '\x74', '\x69', '\x6f', '\x6e', '\x3a', '\x3a', '\x4e', '\x6f', '\x72', '\x6d', '\x61', '\x6c', '\x2c', '\x20', '\x61', '\x72', '\x67', '\x20', '\x29', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x20', '\x2f', '\x2f', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x44', '\x49', '\x53', '\x41', '\x42', '\x4c', '\x45', '\x5f', '\x4d', '\x41', '\x54', '\x43', '\x48', '\x45', '\x52', '\x53', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x46', '\x4f', '\x28', '\x20', '\x6d', '\x73', '\x67', '\x20', '\x29', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x46', '\x4f', '\x28', '\x20', '\x22', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x46', '\x4f', '\x22', '\x2c', '\x20', '\x6d', '\x73', '\x67', '\x20', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x55', '\x4e', '\x53', '\x43', '\x4f', '\x50', '\x45', '\x44', '\x5f', '\x49', '\x4e', '\x46', '\x4f', '\x28', '\x20', '\x6d', '\x73', '\x67', '\x20', '\x29', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x55', '\x4e', '\x53', '\x43', '\x4f', '\x50', '\x45', '\x44', '\x5f', '\x49', '\x4e', '\x46', '\x4f', '\x28', '\x20', '\x22', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x55', '\x4e', '\x53', '\x43', '\x4f', '\x50', '\x45', '\x44', '\x5f', '\x49', '\x4e', '\x46', '\x4f', '\x22', '\x2c', '\x20', '\x6d', '\x73', '\x67', '\x20', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x57', '\x41', '\x52', '\x4e', '\x28', '\x20', '\x6d', '\x73', '\x67', '\x20', '\x29', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x4d', '\x53', '\x47', '\x28', '\x20', '\x22', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x57', '\x41', '\x52', '\x4e', '\x22', '\x2c', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x57', '\x61', '\x73', '\x3a', '\x3a', '\x57', '\x61', '\x72', '\x6e', '\x69', '\x6e', '\x67', '\x2c', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x44', '\x69', '\x73', '\x70', '\x6f', '\x73', '\x69', '\x74', '\x69', '\x6f', '\x6e', '\x3a', '\x3a', '\x43', '\x6f', '\x6e', '\x74', '\x69', '\x6e', '\x75', '\x65', '\x4f', '\x6e', '\x46', '\x61', '\x69', '\x6c', '\x75', '\x72', '\x65', '\x2c', '\x20', '\x6d', '\x73', '\x67', '\x20', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x41', '\x50', '\x54', '\x55', '\x52', '\x45', '\x28', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x41', '\x50', '\x54', '\x55', '\x52', '\x45', '\x28', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x55', '\x4e', '\x49', '\x51', '\x55', '\x45', '\x5f', '\x4e', '\x41', '\x4d', '\x45', '\x28', '\x63', '\x61', '\x70', '\x74', '\x75', '\x72', '\x65', '\x72', '\x29', '\x2c', '\x20', '\x22', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x41', '\x50', '\x54', '\x55', '\x52', '\x45', '\x22', '\x2c', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x20', '\x29', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x28', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x43', '\x41', '\x53', '\x45', '\x28', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x20', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x28', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x28', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x20', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x5f', '\x41', '\x53', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x28', '\x20', '\x6d', '\x65', '\x74', '\x68', '\x6f', '\x64', '\x2c', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x5f', '\x41', '\x53', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x28', '\x20', '\x6d', '\x65', '\x74', '\x68', '\x6f', '\x64', '\x2c', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x20', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x47', '\x49', '\x53', '\x54', '\x45', '\x52', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x28', '\x20', '\x46', '\x75', '\x6e', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x2c', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x47', '\x49', '\x53', '\x54', '\x45', '\x52', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x43', '\x41', '\x53', '\x45', '\x28', '\x20', '\x46', '\x75', '\x6e', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x2c', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x20', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x53', '\x45', '\x43', '\x54', '\x49', '\x4f', '\x4e', '\x28', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x53', '\x45', '\x43', '\x54', '\x49', '\x4f', '\x4e', '\x28', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x20', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x44', '\x59', '\x4e', '\x41', '\x4d', '\x49', '\x43', '\x5f', '\x53', '\x45', '\x43', '\x54', '\x49', '\x4f', '\x4e', '\x28', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x44', '\x59', '\x4e', '\x41', '\x4d', '\x49', '\x43', '\x5f', '\x53', '\x45', '\x43', '\x54', '\x49', '\x4f', '\x4e', '\x28', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x20', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x46', '\x41', '\x49', '\x4c', '\x28', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x4d', '\x53', '\x47', '\x28', '\x20', '\x22', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x46', '\x41', '\x49', '\x4c', '\x22', '\x2c', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x57', '\x61', '\x73', '\x3a', '\x3a', '\x45', '\x78', '\x70', '\x6c', '\x69', '\x63', '\x69', '\x74', '\x46', '\x61', '\x69', '\x6c', '\x75', '\x72', '\x65', '\x2c', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x44', '\x69', '\x73', '\x70', '\x6f', '\x73', '\x69', '\x74', '\x69', '\x6f', '\x6e', '\x3a', '\x3a', '\x4e', '\x6f', '\x72', '\x6d', '\x61', '\x6c', '\x2c', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x20', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x46', '\x41', '\x49', '\x4c', '\x5f', '\x43', '\x48', '\x45', '\x43', '\x4b', '\x28', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x4d', '\x53', '\x47', '\x28', '\x20', '\x22', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x46', '\x41', '\x49', '\x4c', '\x5f', '\x43', '\x48', '\x45', '\x43', '\x4b', '\x22', '\x2c', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x57', '\x61', '\x73', '\x3a', '\x3a', '\x45', '\x78', '\x70', '\x6c', '\x69', '\x63', '\x69', '\x74', '\x46', '\x61', '\x69', '\x6c', '\x75', '\x72', '\x65', '\x2c', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x44', '\x69', '\x73', '\x70', '\x6f', '\x73', '\x69', '\x74', '\x69', '\x6f', '\x6e', '\x3a', '\x3a', '\x43', '\x6f', '\x6e', '\x74', '\x69', '\x6e', '\x75', '\x65', '\x4f', '\x6e', '\x46', '\x61', '\x69', '\x6c', '\x75', '\x72', '\x65', '\x2c', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x20', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x53', '\x55', '\x43', '\x43', '\x45', '\x45', '\x44', '\x28', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x4d', '\x53', '\x47', '\x28', '\x20', '\x22', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x53', '\x55', '\x43', '\x43', '\x45', '\x45', '\x44', '\x22', '\x2c', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x57', '\x61', '\x73', '\x3a', '\x3a', '\x4f', '\x6b', '\x2c', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x44', '\x69', '\x73', '\x70', '\x6f', '\x73', '\x69', '\x74', '\x69', '\x6f', '\x6e', '\x3a', '\x3a', '\x43', '\x6f', '\x6e', '\x74', '\x69', '\x6e', '\x75', '\x65', '\x4f', '\x6e', '\x46', '\x61', '\x69', '\x6c', '\x75', '\x72', '\x65', '\x2c', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x20', '\x29', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x41', '\x4e', '\x4f', '\x4e', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x28', '\x29', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x43', '\x41', '\x53', '\x45', '\x28', '\x29', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x6e', '\x64', '\x65', '\x66', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x54', '\x52', '\x41', '\x44', '\x49', '\x54', '\x49', '\x4f', '\x4e', '\x41', '\x4c', '\x5f', '\x4d', '\x53', '\x56', '\x43', '\x5f', '\x50', '\x52', '\x45', '\x50', '\x52', '\x4f', '\x43', '\x45', '\x53', '\x53', '\x4f', '\x52', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x28', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x28', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x20', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x5f', '\x53', '\x49', '\x47', '\x28', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x5f', '\x53', '\x49', '\x47', '\x28', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x20', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x28', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x28', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x20', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x5f', '\x53', '\x49', '\x47', '\x28', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x5f', '\x53', '\x49', '\x47', '\x28', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x20', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x50', '\x52', '\x4f', '\x44', '\x55', '\x43', '\x54', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x28', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x50', '\x52', '\x4f', '\x44', '\x55', '\x43', '\x54', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x28', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x20', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x50', '\x52', '\x4f', '\x44', '\x55', '\x43', '\x54', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x5f', '\x53', '\x49', '\x47', '\x28', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x50', '\x52', '\x4f', '\x44', '\x55', '\x43', '\x54', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x5f', '\x53', '\x49', '\x47', '\x28', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x20', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x50', '\x52', '\x4f', '\x44', '\x55', '\x43', '\x54', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x28', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x50', '\x52', '\x4f', '\x44', '\x55', '\x43', '\x54', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x28', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x20', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x50', '\x52', '\x4f', '\x44', '\x55', '\x43', '\x54', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x5f', '\x53', '\x49', '\x47', '\x28', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x50', '\x52', '\x4f', '\x44', '\x55', '\x43', '\x54', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x5f', '\x53', '\x49', '\x47', '\x28', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x20', '\x29', '\x0d', '\x0a', '\x23', '\x65', '\x6c', '\x73', '\x65', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x28', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x45', '\x58', '\x50', '\x41', '\x4e', '\x44', '\x5f', '\x56', '\x41', '\x52', '\x47', '\x53', '\x28', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x28', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x20', '\x29', '\x20', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x5f', '\x53', '\x49', '\x47', '\x28', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x45', '\x58', '\x50', '\x41', '\x4e', '\x44', '\x5f', '\x56', '\x41', '\x52', '\x47', '\x53', '\x28', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x5f', '\x53', '\x49', '\x47', '\x28', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x20', '\x29', '\x20', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x28', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x45', '\x58', '\x50', '\x41', '\x4e', '\x44', '\x5f', '\x56', '\x41', '\x52', '\x47', '\x53', '\x28', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x28', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x20', '\x29', '\x20', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x5f', '\x53', '\x49', '\x47', '\x28', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x45', '\x58', '\x50', '\x41', '\x4e', '\x44', '\x5f', '\x56', '\x41', '\x52', '\x47', '\x53', '\x28', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x5f', '\x53', '\x49', '\x47', '\x28', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x20', '\x29', '\x20', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x50', '\x52', '\x4f', '\x44', '\x55', '\x43', '\x54', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x28', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x45', '\x58', '\x50', '\x41', '\x4e', '\x44', '\x5f', '\x56', '\x41', '\x52', '\x47', '\x53', '\x28', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x50', '\x52', '\x4f', '\x44', '\x55', '\x43', '\x54', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x28', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x20', '\x29', '\x20', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x50', '\x52', '\x4f', '\x44', '\x55', '\x43', '\x54', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x5f', '\x53', '\x49', '\x47', '\x28', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x45', '\x58', '\x50', '\x41', '\x4e', '\x44', '\x5f', '\x56', '\x41', '\x52', '\x47', '\x53', '\x28', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x50', '\x52', '\x4f', '\x44', '\x55', '\x43', '\x54', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x5f', '\x53', '\x49', '\x47', '\x28', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x20', '\x29', '\x20', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x50', '\x52', '\x4f', '\x44', '\x55', '\x43', '\x54', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x28', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x45', '\x58', '\x50', '\x41', '\x4e', '\x44', '\x5f', '\x56', '\x41', '\x52', '\x47', '\x53', '\x28', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x50', '\x52', '\x4f', '\x44', '\x55', '\x43', '\x54', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x28', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x20', '\x29', '\x20', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x50', '\x52', '\x4f', '\x44', '\x55', '\x43', '\x54', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x5f', '\x53', '\x49', '\x47', '\x28', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x45', '\x58', '\x50', '\x41', '\x4e', '\x44', '\x5f', '\x56', '\x41', '\x52', '\x47', '\x53', '\x28', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x50', '\x52', '\x4f', '\x44', '\x55', '\x43', '\x54', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x5f', '\x53', '\x49', '\x47', '\x28', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x20', '\x29', '\x20', '\x29', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x20', '\x21', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x52', '\x55', '\x4e', '\x54', '\x49', '\x4d', '\x45', '\x5f', '\x53', '\x54', '\x41', '\x54', '\x49', '\x43', '\x5f', '\x52', '\x45', '\x51', '\x55', '\x49', '\x52', '\x45', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x53', '\x54', '\x41', '\x54', '\x49', '\x43', '\x5f', '\x52', '\x45', '\x51', '\x55', '\x49', '\x52', '\x45', '\x28', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x5f', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x28', '\x20', '\x20', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x20', '\x2c', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x23', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x20', '\x29', '\x3b', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x53', '\x55', '\x43', '\x43', '\x45', '\x45', '\x44', '\x28', '\x20', '\x23', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x20', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x53', '\x54', '\x41', '\x54', '\x49', '\x43', '\x5f', '\x52', '\x45', '\x51', '\x55', '\x49', '\x52', '\x45', '\x5f', '\x46', '\x41', '\x4c', '\x53', '\x45', '\x28', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x5f', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x28', '\x20', '\x21', '\x28', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x29', '\x2c', '\x20', '\x22', '\x21', '\x28', '\x22', '\x20', '\x23', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x20', '\x22', '\x29', '\x22', '\x20', '\x29', '\x3b', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x53', '\x55', '\x43', '\x43', '\x45', '\x45', '\x44', '\x28', '\x20', '\x23', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x20', '\x29', '\x0d', '\x0a', '\x23', '\x65', '\x6c', '\x73', '\x65', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x53', '\x54', '\x41', '\x54', '\x49', '\x43', '\x5f', '\x52', '\x45', '\x51', '\x55', '\x49', '\x52', '\x45', '\x28', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x51', '\x55', '\x49', '\x52', '\x45', '\x28', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x20', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x53', '\x54', '\x41', '\x54', '\x49', '\x43', '\x5f', '\x52', '\x45', '\x51', '\x55', '\x49', '\x52', '\x45', '\x5f', '\x46', '\x41', '\x4c', '\x53', '\x45', '\x28', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x51', '\x55', '\x49', '\x52', '\x45', '\x5f', '\x46', '\x41', '\x4c', '\x53', '\x45', '\x28', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x20', '\x29', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x22', '\x42', '\x44', '\x44', '\x2d', '\x73', '\x74', '\x79', '\x6c', '\x65', '\x22', '\x20', '\x63', '\x6f', '\x6e', '\x76', '\x65', '\x6e', '\x69', '\x65', '\x6e', '\x63', '\x65', '\x20', '\x77', '\x72', '\x61', '\x70', '\x70', '\x65', '\x72', '\x73', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x53', '\x43', '\x45', '\x4e', '\x41', '\x52', '\x49', '\x4f', '\x28', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x28', '\x20', '\x22', '\x53', '\x63', '\x65', '\x6e', '\x61', '\x72', '\x69', '\x6f', '\x3a', '\x20', '\x22', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x20', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x53', '\x43', '\x45', '\x4e', '\x41', '\x52', '\x49', '\x4f', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x28', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x28', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x22', '\x53', '\x63', '\x65', '\x6e', '\x61', '\x72', '\x69', '\x6f', '\x3a', '\x20', '\x22', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x20', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x47', '\x49', '\x56', '\x45', '\x4e', '\x28', '\x20', '\x64', '\x65', '\x73', '\x63', '\x20', '\x29', '\x20', '\x20', '\x20', '\x20', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x44', '\x59', '\x4e', '\x41', '\x4d', '\x49', '\x43', '\x5f', '\x53', '\x45', '\x43', '\x54', '\x49', '\x4f', '\x4e', '\x28', '\x20', '\x22', '\x20', '\x20', '\x20', '\x20', '\x47', '\x69', '\x76', '\x65', '\x6e', '\x3a', '\x20', '\x22', '\x20', '\x3c', '\x3c', '\x20', '\x64', '\x65', '\x73', '\x63', '\x20', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x41', '\x4e', '\x44', '\x5f', '\x47', '\x49', '\x56', '\x45', '\x4e', '\x28', '\x20', '\x64', '\x65', '\x73', '\x63', '\x20', '\x29', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x44', '\x59', '\x4e', '\x41', '\x4d', '\x49', '\x43', '\x5f', '\x53', '\x45', '\x43', '\x54', '\x49', '\x4f', '\x4e', '\x28', '\x20', '\x22', '\x41', '\x6e', '\x64', '\x20', '\x67', '\x69', '\x76', '\x65', '\x6e', '\x3a', '\x20', '\x22', '\x20', '\x3c', '\x3c', '\x20', '\x64', '\x65', '\x73', '\x63', '\x20', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x57', '\x48', '\x45', '\x4e', '\x28', '\x20', '\x64', '\x65', '\x73', '\x63', '\x20', '\x29', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x44', '\x59', '\x4e', '\x41', '\x4d', '\x49', '\x43', '\x5f', '\x53', '\x45', '\x43', '\x54', '\x49', '\x4f', '\x4e', '\x28', '\x20', '\x22', '\x20', '\x20', '\x20', '\x20', '\x20', '\x57', '\x68', '\x65', '\x6e', '\x3a', '\x20', '\x22', '\x20', '\x3c', '\x3c', '\x20', '\x64', '\x65', '\x73', '\x63', '\x20', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x41', '\x4e', '\x44', '\x5f', '\x57', '\x48', '\x45', '\x4e', '\x28', '\x20', '\x64', '\x65', '\x73', '\x63', '\x20', '\x29', '\x20', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x44', '\x59', '\x4e', '\x41', '\x4d', '\x49', '\x43', '\x5f', '\x53', '\x45', '\x43', '\x54', '\x49', '\x4f', '\x4e', '\x28', '\x20', '\x22', '\x20', '\x41', '\x6e', '\x64', '\x20', '\x77', '\x68', '\x65', '\x6e', '\x3a', '\x20', '\x22', '\x20', '\x3c', '\x3c', '\x20', '\x64', '\x65', '\x73', '\x63', '\x20', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x48', '\x45', '\x4e', '\x28', '\x20', '\x64', '\x65', '\x73', '\x63', '\x20', '\x29', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x44', '\x59', '\x4e', '\x41', '\x4d', '\x49', '\x43', '\x5f', '\x53', '\x45', '\x43', '\x54', '\x49', '\x4f', '\x4e', '\x28', '\x20', '\x22', '\x20', '\x20', '\x20', '\x20', '\x20', '\x54', '\x68', '\x65', '\x6e', '\x3a', '\x20', '\x22', '\x20', '\x3c', '\x3c', '\x20', '\x64', '\x65', '\x73', '\x63', '\x20', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x41', '\x4e', '\x44', '\x5f', '\x54', '\x48', '\x45', '\x4e', '\x28', '\x20', '\x64', '\x65', '\x73', '\x63', '\x20', '\x29', '\x20', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x44', '\x59', '\x4e', '\x41', '\x4d', '\x49', '\x43', '\x5f', '\x53', '\x45', '\x43', '\x54', '\x49', '\x4f', '\x4e', '\x28', '\x20', '\x22', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x41', '\x6e', '\x64', '\x3a', '\x20', '\x22', '\x20', '\x3c', '\x3c', '\x20', '\x64', '\x65', '\x73', '\x63', '\x20', '\x29', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x45', '\x4e', '\x41', '\x42', '\x4c', '\x45', '\x5f', '\x42', '\x45', '\x4e', '\x43', '\x48', '\x4d', '\x41', '\x52', '\x4b', '\x49', '\x4e', '\x47', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x42', '\x45', '\x4e', '\x43', '\x48', '\x4d', '\x41', '\x52', '\x4b', '\x28', '\x2e', '\x2e', '\x2e', '\x29', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x42', '\x45', '\x4e', '\x43', '\x48', '\x4d', '\x41', '\x52', '\x4b', '\x28', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x55', '\x4e', '\x49', '\x51', '\x55', '\x45', '\x5f', '\x4e', '\x41', '\x4d', '\x45', '\x28', '\x5f', '\x5f', '\x5f', '\x5f', '\x43', '\x5f', '\x41', '\x5f', '\x54', '\x5f', '\x43', '\x5f', '\x48', '\x5f', '\x5f', '\x5f', '\x5f', '\x42', '\x5f', '\x45', '\x5f', '\x4e', '\x5f', '\x43', '\x5f', '\x48', '\x5f', '\x5f', '\x5f', '\x5f', '\x29', '\x2c', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x47', '\x45', '\x54', '\x5f', '\x31', '\x5f', '\x41', '\x52', '\x47', '\x28', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x2c', '\x2c', '\x29', '\x2c', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x47', '\x45', '\x54', '\x5f', '\x32', '\x5f', '\x41', '\x52', '\x47', '\x28', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x2c', '\x2c', '\x29', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x42', '\x45', '\x4e', '\x43', '\x48', '\x4d', '\x41', '\x52', '\x4b', '\x5f', '\x41', '\x44', '\x56', '\x41', '\x4e', '\x43', '\x45', '\x44', '\x28', '\x6e', '\x61', '\x6d', '\x65', '\x29', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x42', '\x45', '\x4e', '\x43', '\x48', '\x4d', '\x41', '\x52', '\x4b', '\x5f', '\x41', '\x44', '\x56', '\x41', '\x4e', '\x43', '\x45', '\x44', '\x28', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x55', '\x4e', '\x49', '\x51', '\x55', '\x45', '\x5f', '\x4e', '\x41', '\x4d', '\x45', '\x28', '\x5f', '\x5f', '\x5f', '\x5f', '\x43', '\x5f', '\x41', '\x5f', '\x54', '\x5f', '\x43', '\x5f', '\x48', '\x5f', '\x5f', '\x5f', '\x5f', '\x42', '\x5f', '\x45', '\x5f', '\x4e', '\x5f', '\x43', '\x5f', '\x48', '\x5f', '\x5f', '\x5f', '\x5f', '\x29', '\x2c', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x29', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x20', '\x2f', '\x2f', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x45', '\x4e', '\x41', '\x42', '\x4c', '\x45', '\x5f', '\x42', '\x45', '\x4e', '\x43', '\x48', '\x4d', '\x41', '\x52', '\x4b', '\x49', '\x4e', '\x47', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x49', '\x66', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x50', '\x52', '\x45', '\x46', '\x49', '\x58', '\x5f', '\x41', '\x4c', '\x4c', '\x20', '\x69', '\x73', '\x20', '\x6e', '\x6f', '\x74', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x20', '\x74', '\x68', '\x65', '\x6e', '\x20', '\x74', '\x68', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x20', '\x70', '\x72', '\x65', '\x66', '\x69', '\x78', '\x20', '\x69', '\x73', '\x20', '\x6e', '\x6f', '\x74', '\x20', '\x72', '\x65', '\x71', '\x75', '\x69', '\x72', '\x65', '\x64', '\x0d', '\x0a', '\x23', '\x65', '\x6c', '\x73', '\x65', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x52', '\x45', '\x51', '\x55', '\x49', '\x52', '\x45', '\x28', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x28', '\x20', '\x22', '\x52', '\x45', '\x51', '\x55', '\x49', '\x52', '\x45', '\x22', '\x2c', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x44', '\x69', '\x73', '\x70', '\x6f', '\x73', '\x69', '\x74', '\x69', '\x6f', '\x6e', '\x3a', '\x3a', '\x4e', '\x6f', '\x72', '\x6d', '\x61', '\x6c', '\x2c', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x20', '\x20', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x52', '\x45', '\x51', '\x55', '\x49', '\x52', '\x45', '\x5f', '\x46', '\x41', '\x4c', '\x53', '\x45', '\x28', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x28', '\x20', '\x22', '\x52', '\x45', '\x51', '\x55', '\x49', '\x52', '\x45', '\x5f', '\x46', '\x41', '\x4c', '\x53', '\x45', '\x22', '\x2c', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x44', '\x69', '\x73', '\x70', '\x6f', '\x73', '\x69', '\x74', '\x69', '\x6f', '\x6e', '\x3a', '\x3a', '\x4e', '\x6f', '\x72', '\x6d', '\x61', '\x6c', '\x20', '\x7c', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x44', '\x69', '\x73', '\x70', '\x6f', '\x73', '\x69', '\x74', '\x69', '\x6f', '\x6e', '\x3a', '\x3a', '\x46', '\x61', '\x6c', '\x73', '\x65', '\x54', '\x65', '\x73', '\x74', '\x2c', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x20', '\x29', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x52', '\x45', '\x51', '\x55', '\x49', '\x52', '\x45', '\x5f', '\x54', '\x48', '\x52', '\x4f', '\x57', '\x53', '\x28', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x48', '\x52', '\x4f', '\x57', '\x53', '\x28', '\x20', '\x22', '\x52', '\x45', '\x51', '\x55', '\x49', '\x52', '\x45', '\x5f', '\x54', '\x48', '\x52', '\x4f', '\x57', '\x53', '\x22', '\x2c', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x44', '\x69', '\x73', '\x70', '\x6f', '\x73', '\x69', '\x74', '\x69', '\x6f', '\x6e', '\x3a', '\x3a', '\x4e', '\x6f', '\x72', '\x6d', '\x61', '\x6c', '\x2c', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x20', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x52', '\x45', '\x51', '\x55', '\x49', '\x52', '\x45', '\x5f', '\x54', '\x48', '\x52', '\x4f', '\x57', '\x53', '\x5f', '\x41', '\x53', '\x28', '\x20', '\x65', '\x78', '\x70', '\x72', '\x2c', '\x20', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x54', '\x79', '\x70', '\x65', '\x20', '\x29', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x48', '\x52', '\x4f', '\x57', '\x53', '\x5f', '\x41', '\x53', '\x28', '\x20', '\x22', '\x52', '\x45', '\x51', '\x55', '\x49', '\x52', '\x45', '\x5f', '\x54', '\x48', '\x52', '\x4f', '\x57', '\x53', '\x5f', '\x41', '\x53', '\x22', '\x2c', '\x20', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x54', '\x79', '\x70', '\x65', '\x2c', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x44', '\x69', '\x73', '\x70', '\x6f', '\x73', '\x69', '\x74', '\x69', '\x6f', '\x6e', '\x3a', '\x3a', '\x4e', '\x6f', '\x72', '\x6d', '\x61', '\x6c', '\x2c', '\x20', '\x65', '\x78', '\x70', '\x72', '\x20', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x52', '\x45', '\x51', '\x55', '\x49', '\x52', '\x45', '\x5f', '\x54', '\x48', '\x52', '\x4f', '\x57', '\x53', '\x5f', '\x57', '\x49', '\x54', '\x48', '\x28', '\x20', '\x65', '\x78', '\x70', '\x72', '\x2c', '\x20', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x20', '\x29', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x48', '\x52', '\x4f', '\x57', '\x53', '\x5f', '\x53', '\x54', '\x52', '\x5f', '\x4d', '\x41', '\x54', '\x43', '\x48', '\x45', '\x53', '\x28', '\x20', '\x22', '\x52', '\x45', '\x51', '\x55', '\x49', '\x52', '\x45', '\x5f', '\x54', '\x48', '\x52', '\x4f', '\x57', '\x53', '\x5f', '\x57', '\x49', '\x54', '\x48', '\x22', '\x2c', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x44', '\x69', '\x73', '\x70', '\x6f', '\x73', '\x69', '\x74', '\x69', '\x6f', '\x6e', '\x3a', '\x3a', '\x4e', '\x6f', '\x72', '\x6d', '\x61', '\x6c', '\x2c', '\x20', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x2c', '\x20', '\x65', '\x78', '\x70', '\x72', '\x20', '\x29', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x20', '\x21', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x44', '\x49', '\x53', '\x41', '\x42', '\x4c', '\x45', '\x5f', '\x4d', '\x41', '\x54', '\x43', '\x48', '\x45', '\x52', '\x53', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x52', '\x45', '\x51', '\x55', '\x49', '\x52', '\x45', '\x5f', '\x54', '\x48', '\x52', '\x4f', '\x57', '\x53', '\x5f', '\x4d', '\x41', '\x54', '\x43', '\x48', '\x45', '\x53', '\x28', '\x20', '\x65', '\x78', '\x70', '\x72', '\x2c', '\x20', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x54', '\x79', '\x70', '\x65', '\x2c', '\x20', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x20', '\x29', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x48', '\x52', '\x4f', '\x57', '\x53', '\x5f', '\x4d', '\x41', '\x54', '\x43', '\x48', '\x45', '\x53', '\x28', '\x20', '\x22', '\x52', '\x45', '\x51', '\x55', '\x49', '\x52', '\x45', '\x5f', '\x54', '\x48', '\x52', '\x4f', '\x57', '\x53', '\x5f', '\x4d', '\x41', '\x54', '\x43', '\x48', '\x45', '\x53', '\x22', '\x2c', '\x20', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x54', '\x79', '\x70', '\x65', '\x2c', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x44', '\x69', '\x73', '\x70', '\x6f', '\x73', '\x69', '\x74', '\x69', '\x6f', '\x6e', '\x3a', '\x3a', '\x4e', '\x6f', '\x72', '\x6d', '\x61', '\x6c', '\x2c', '\x20', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x2c', '\x20', '\x65', '\x78', '\x70', '\x72', '\x20', '\x29', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x20', '\x2f', '\x2f', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x44', '\x49', '\x53', '\x41', '\x42', '\x4c', '\x45', '\x5f', '\x4d', '\x41', '\x54', '\x43', '\x48', '\x45', '\x52', '\x53', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x52', '\x45', '\x51', '\x55', '\x49', '\x52', '\x45', '\x5f', '\x4e', '\x4f', '\x54', '\x48', '\x52', '\x4f', '\x57', '\x28', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x4e', '\x4f', '\x5f', '\x54', '\x48', '\x52', '\x4f', '\x57', '\x28', '\x20', '\x22', '\x52', '\x45', '\x51', '\x55', '\x49', '\x52', '\x45', '\x5f', '\x4e', '\x4f', '\x54', '\x48', '\x52', '\x4f', '\x57', '\x22', '\x2c', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x44', '\x69', '\x73', '\x70', '\x6f', '\x73', '\x69', '\x74', '\x69', '\x6f', '\x6e', '\x3a', '\x3a', '\x4e', '\x6f', '\x72', '\x6d', '\x61', '\x6c', '\x2c', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x20', '\x29', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x48', '\x45', '\x43', '\x4b', '\x28', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x28', '\x20', '\x22', '\x43', '\x48', '\x45', '\x43', '\x4b', '\x22', '\x2c', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x44', '\x69', '\x73', '\x70', '\x6f', '\x73', '\x69', '\x74', '\x69', '\x6f', '\x6e', '\x3a', '\x3a', '\x43', '\x6f', '\x6e', '\x74', '\x69', '\x6e', '\x75', '\x65', '\x4f', '\x6e', '\x46', '\x61', '\x69', '\x6c', '\x75', '\x72', '\x65', '\x2c', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x20', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x48', '\x45', '\x43', '\x4b', '\x5f', '\x46', '\x41', '\x4c', '\x53', '\x45', '\x28', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x28', '\x20', '\x22', '\x43', '\x48', '\x45', '\x43', '\x4b', '\x5f', '\x46', '\x41', '\x4c', '\x53', '\x45', '\x22', '\x2c', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x44', '\x69', '\x73', '\x70', '\x6f', '\x73', '\x69', '\x74', '\x69', '\x6f', '\x6e', '\x3a', '\x3a', '\x43', '\x6f', '\x6e', '\x74', '\x69', '\x6e', '\x75', '\x65', '\x4f', '\x6e', '\x46', '\x61', '\x69', '\x6c', '\x75', '\x72', '\x65', '\x20', '\x7c', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x44', '\x69', '\x73', '\x70', '\x6f', '\x73', '\x69', '\x74', '\x69', '\x6f', '\x6e', '\x3a', '\x3a', '\x46', '\x61', '\x6c', '\x73', '\x65', '\x54', '\x65', '\x73', '\x74', '\x2c', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x20', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x48', '\x45', '\x43', '\x4b', '\x45', '\x44', '\x5f', '\x49', '\x46', '\x28', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x46', '\x28', '\x20', '\x22', '\x43', '\x48', '\x45', '\x43', '\x4b', '\x45', '\x44', '\x5f', '\x49', '\x46', '\x22', '\x2c', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x44', '\x69', '\x73', '\x70', '\x6f', '\x73', '\x69', '\x74', '\x69', '\x6f', '\x6e', '\x3a', '\x3a', '\x43', '\x6f', '\x6e', '\x74', '\x69', '\x6e', '\x75', '\x65', '\x4f', '\x6e', '\x46', '\x61', '\x69', '\x6c', '\x75', '\x72', '\x65', '\x2c', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x20', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x48', '\x45', '\x43', '\x4b', '\x45', '\x44', '\x5f', '\x45', '\x4c', '\x53', '\x45', '\x28', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x45', '\x4c', '\x53', '\x45', '\x28', '\x20', '\x22', '\x43', '\x48', '\x45', '\x43', '\x4b', '\x45', '\x44', '\x5f', '\x45', '\x4c', '\x53', '\x45', '\x22', '\x2c', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x44', '\x69', '\x73', '\x70', '\x6f', '\x73', '\x69', '\x74', '\x69', '\x6f', '\x6e', '\x3a', '\x3a', '\x43', '\x6f', '\x6e', '\x74', '\x69', '\x6e', '\x75', '\x65', '\x4f', '\x6e', '\x46', '\x61', '\x69', '\x6c', '\x75', '\x72', '\x65', '\x2c', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x20', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x48', '\x45', '\x43', '\x4b', '\x5f', '\x4e', '\x4f', '\x46', '\x41', '\x49', '\x4c', '\x28', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x28', '\x20', '\x22', '\x43', '\x48', '\x45', '\x43', '\x4b', '\x5f', '\x4e', '\x4f', '\x46', '\x41', '\x49', '\x4c', '\x22', '\x2c', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x44', '\x69', '\x73', '\x70', '\x6f', '\x73', '\x69', '\x74', '\x69', '\x6f', '\x6e', '\x3a', '\x3a', '\x43', '\x6f', '\x6e', '\x74', '\x69', '\x6e', '\x75', '\x65', '\x4f', '\x6e', '\x46', '\x61', '\x69', '\x6c', '\x75', '\x72', '\x65', '\x20', '\x7c', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x44', '\x69', '\x73', '\x70', '\x6f', '\x73', '\x69', '\x74', '\x69', '\x6f', '\x6e', '\x3a', '\x3a', '\x53', '\x75', '\x70', '\x70', '\x72', '\x65', '\x73', '\x73', '\x46', '\x61', '\x69', '\x6c', '\x2c', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x20', '\x29', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x48', '\x45', '\x43', '\x4b', '\x5f', '\x54', '\x48', '\x52', '\x4f', '\x57', '\x53', '\x28', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x48', '\x52', '\x4f', '\x57', '\x53', '\x28', '\x20', '\x22', '\x43', '\x48', '\x45', '\x43', '\x4b', '\x5f', '\x54', '\x48', '\x52', '\x4f', '\x57', '\x53', '\x22', '\x2c', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x44', '\x69', '\x73', '\x70', '\x6f', '\x73', '\x69', '\x74', '\x69', '\x6f', '\x6e', '\x3a', '\x3a', '\x43', '\x6f', '\x6e', '\x74', '\x69', '\x6e', '\x75', '\x65', '\x4f', '\x6e', '\x46', '\x61', '\x69', '\x6c', '\x75', '\x72', '\x65', '\x2c', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x20', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x48', '\x45', '\x43', '\x4b', '\x5f', '\x54', '\x48', '\x52', '\x4f', '\x57', '\x53', '\x5f', '\x41', '\x53', '\x28', '\x20', '\x65', '\x78', '\x70', '\x72', '\x2c', '\x20', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x54', '\x79', '\x70', '\x65', '\x20', '\x29', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x48', '\x52', '\x4f', '\x57', '\x53', '\x5f', '\x41', '\x53', '\x28', '\x20', '\x22', '\x43', '\x48', '\x45', '\x43', '\x4b', '\x5f', '\x54', '\x48', '\x52', '\x4f', '\x57', '\x53', '\x5f', '\x41', '\x53', '\x22', '\x2c', '\x20', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x54', '\x79', '\x70', '\x65', '\x2c', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x44', '\x69', '\x73', '\x70', '\x6f', '\x73', '\x69', '\x74', '\x69', '\x6f', '\x6e', '\x3a', '\x3a', '\x43', '\x6f', '\x6e', '\x74', '\x69', '\x6e', '\x75', '\x65', '\x4f', '\x6e', '\x46', '\x61', '\x69', '\x6c', '\x75', '\x72', '\x65', '\x2c', '\x20', '\x65', '\x78', '\x70', '\x72', '\x20', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x48', '\x45', '\x43', '\x4b', '\x5f', '\x54', '\x48', '\x52', '\x4f', '\x57', '\x53', '\x5f', '\x57', '\x49', '\x54', '\x48', '\x28', '\x20', '\x65', '\x78', '\x70', '\x72', '\x2c', '\x20', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x20', '\x29', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x48', '\x52', '\x4f', '\x57', '\x53', '\x5f', '\x53', '\x54', '\x52', '\x5f', '\x4d', '\x41', '\x54', '\x43', '\x48', '\x45', '\x53', '\x28', '\x20', '\x22', '\x43', '\x48', '\x45', '\x43', '\x4b', '\x5f', '\x54', '\x48', '\x52', '\x4f', '\x57', '\x53', '\x5f', '\x57', '\x49', '\x54', '\x48', '\x22', '\x2c', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x44', '\x69', '\x73', '\x70', '\x6f', '\x73', '\x69', '\x74', '\x69', '\x6f', '\x6e', '\x3a', '\x3a', '\x43', '\x6f', '\x6e', '\x74', '\x69', '\x6e', '\x75', '\x65', '\x4f', '\x6e', '\x46', '\x61', '\x69', '\x6c', '\x75', '\x72', '\x65', '\x2c', '\x20', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x2c', '\x20', '\x65', '\x78', '\x70', '\x72', '\x20', '\x29', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x20', '\x21', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x44', '\x49', '\x53', '\x41', '\x42', '\x4c', '\x45', '\x5f', '\x4d', '\x41', '\x54', '\x43', '\x48', '\x45', '\x52', '\x53', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x48', '\x45', '\x43', '\x4b', '\x5f', '\x54', '\x48', '\x52', '\x4f', '\x57', '\x53', '\x5f', '\x4d', '\x41', '\x54', '\x43', '\x48', '\x45', '\x53', '\x28', '\x20', '\x65', '\x78', '\x70', '\x72', '\x2c', '\x20', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x54', '\x79', '\x70', '\x65', '\x2c', '\x20', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x20', '\x29', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x48', '\x52', '\x4f', '\x57', '\x53', '\x5f', '\x4d', '\x41', '\x54', '\x43', '\x48', '\x45', '\x53', '\x28', '\x20', '\x22', '\x43', '\x48', '\x45', '\x43', '\x4b', '\x5f', '\x54', '\x48', '\x52', '\x4f', '\x57', '\x53', '\x5f', '\x4d', '\x41', '\x54', '\x43', '\x48', '\x45', '\x53', '\x22', '\x2c', '\x20', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x54', '\x79', '\x70', '\x65', '\x2c', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x44', '\x69', '\x73', '\x70', '\x6f', '\x73', '\x69', '\x74', '\x69', '\x6f', '\x6e', '\x3a', '\x3a', '\x43', '\x6f', '\x6e', '\x74', '\x69', '\x6e', '\x75', '\x65', '\x4f', '\x6e', '\x46', '\x61', '\x69', '\x6c', '\x75', '\x72', '\x65', '\x2c', '\x20', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x2c', '\x20', '\x65', '\x78', '\x70', '\x72', '\x20', '\x29', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x20', '\x2f', '\x2f', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x44', '\x49', '\x53', '\x41', '\x42', '\x4c', '\x45', '\x5f', '\x4d', '\x41', '\x54', '\x43', '\x48', '\x45', '\x52', '\x53', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x48', '\x45', '\x43', '\x4b', '\x5f', '\x4e', '\x4f', '\x54', '\x48', '\x52', '\x4f', '\x57', '\x28', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x4e', '\x4f', '\x5f', '\x54', '\x48', '\x52', '\x4f', '\x57', '\x28', '\x20', '\x22', '\x43', '\x48', '\x45', '\x43', '\x4b', '\x5f', '\x4e', '\x4f', '\x54', '\x48', '\x52', '\x4f', '\x57', '\x22', '\x2c', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x44', '\x69', '\x73', '\x70', '\x6f', '\x73', '\x69', '\x74', '\x69', '\x6f', '\x6e', '\x3a', '\x3a', '\x43', '\x6f', '\x6e', '\x74', '\x69', '\x6e', '\x75', '\x65', '\x4f', '\x6e', '\x46', '\x61', '\x69', '\x6c', '\x75', '\x72', '\x65', '\x2c', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x20', '\x29', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x20', '\x21', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x44', '\x49', '\x53', '\x41', '\x42', '\x4c', '\x45', '\x5f', '\x4d', '\x41', '\x54', '\x43', '\x48', '\x45', '\x52', '\x53', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x48', '\x45', '\x43', '\x4b', '\x5f', '\x54', '\x48', '\x41', '\x54', '\x28', '\x20', '\x61', '\x72', '\x67', '\x2c', '\x20', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x20', '\x29', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x48', '\x45', '\x43', '\x4b', '\x5f', '\x54', '\x48', '\x41', '\x54', '\x28', '\x20', '\x22', '\x43', '\x48', '\x45', '\x43', '\x4b', '\x5f', '\x54', '\x48', '\x41', '\x54', '\x22', '\x2c', '\x20', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x2c', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x44', '\x69', '\x73', '\x70', '\x6f', '\x73', '\x69', '\x74', '\x69', '\x6f', '\x6e', '\x3a', '\x3a', '\x43', '\x6f', '\x6e', '\x74', '\x69', '\x6e', '\x75', '\x65', '\x4f', '\x6e', '\x46', '\x61', '\x69', '\x6c', '\x75', '\x72', '\x65', '\x2c', '\x20', '\x61', '\x72', '\x67', '\x20', '\x29', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x52', '\x45', '\x51', '\x55', '\x49', '\x52', '\x45', '\x5f', '\x54', '\x48', '\x41', '\x54', '\x28', '\x20', '\x61', '\x72', '\x67', '\x2c', '\x20', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x20', '\x29', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x48', '\x45', '\x43', '\x4b', '\x5f', '\x54', '\x48', '\x41', '\x54', '\x28', '\x20', '\x22', '\x52', '\x45', '\x51', '\x55', '\x49', '\x52', '\x45', '\x5f', '\x54', '\x48', '\x41', '\x54', '\x22', '\x2c', '\x20', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x2c', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x44', '\x69', '\x73', '\x70', '\x6f', '\x73', '\x69', '\x74', '\x69', '\x6f', '\x6e', '\x3a', '\x3a', '\x4e', '\x6f', '\x72', '\x6d', '\x61', '\x6c', '\x2c', '\x20', '\x61', '\x72', '\x67', '\x20', '\x29', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x20', '\x2f', '\x2f', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x44', '\x49', '\x53', '\x41', '\x42', '\x4c', '\x45', '\x5f', '\x4d', '\x41', '\x54', '\x43', '\x48', '\x45', '\x52', '\x53', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x49', '\x4e', '\x46', '\x4f', '\x28', '\x20', '\x6d', '\x73', '\x67', '\x20', '\x29', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x46', '\x4f', '\x28', '\x20', '\x22', '\x49', '\x4e', '\x46', '\x4f', '\x22', '\x2c', '\x20', '\x6d', '\x73', '\x67', '\x20', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x55', '\x4e', '\x53', '\x43', '\x4f', '\x50', '\x45', '\x44', '\x5f', '\x49', '\x4e', '\x46', '\x4f', '\x28', '\x20', '\x6d', '\x73', '\x67', '\x20', '\x29', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x55', '\x4e', '\x53', '\x43', '\x4f', '\x50', '\x45', '\x44', '\x5f', '\x49', '\x4e', '\x46', '\x4f', '\x28', '\x20', '\x22', '\x55', '\x4e', '\x53', '\x43', '\x4f', '\x50', '\x45', '\x44', '\x5f', '\x49', '\x4e', '\x46', '\x4f', '\x22', '\x2c', '\x20', '\x6d', '\x73', '\x67', '\x20', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x57', '\x41', '\x52', '\x4e', '\x28', '\x20', '\x6d', '\x73', '\x67', '\x20', '\x29', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x4d', '\x53', '\x47', '\x28', '\x20', '\x22', '\x57', '\x41', '\x52', '\x4e', '\x22', '\x2c', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x57', '\x61', '\x73', '\x3a', '\x3a', '\x57', '\x61', '\x72', '\x6e', '\x69', '\x6e', '\x67', '\x2c', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x44', '\x69', '\x73', '\x70', '\x6f', '\x73', '\x69', '\x74', '\x69', '\x6f', '\x6e', '\x3a', '\x3a', '\x43', '\x6f', '\x6e', '\x74', '\x69', '\x6e', '\x75', '\x65', '\x4f', '\x6e', '\x46', '\x61', '\x69', '\x6c', '\x75', '\x72', '\x65', '\x2c', '\x20', '\x6d', '\x73', '\x67', '\x20', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x50', '\x54', '\x55', '\x52', '\x45', '\x28', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x41', '\x50', '\x54', '\x55', '\x52', '\x45', '\x28', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x55', '\x4e', '\x49', '\x51', '\x55', '\x45', '\x5f', '\x4e', '\x41', '\x4d', '\x45', '\x28', '\x63', '\x61', '\x70', '\x74', '\x75', '\x72', '\x65', '\x72', '\x29', '\x2c', '\x20', '\x22', '\x43', '\x41', '\x50', '\x54', '\x55', '\x52', '\x45', '\x22', '\x2c', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x20', '\x29', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x28', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x43', '\x41', '\x53', '\x45', '\x28', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x20', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x28', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x28', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x20', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x5f', '\x41', '\x53', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x28', '\x20', '\x6d', '\x65', '\x74', '\x68', '\x6f', '\x64', '\x2c', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x5f', '\x41', '\x53', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x28', '\x20', '\x6d', '\x65', '\x74', '\x68', '\x6f', '\x64', '\x2c', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x20', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x52', '\x45', '\x47', '\x49', '\x53', '\x54', '\x45', '\x52', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x28', '\x20', '\x46', '\x75', '\x6e', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x2c', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x47', '\x49', '\x53', '\x54', '\x45', '\x52', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x43', '\x41', '\x53', '\x45', '\x28', '\x20', '\x46', '\x75', '\x6e', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x2c', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x20', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x53', '\x45', '\x43', '\x54', '\x49', '\x4f', '\x4e', '\x28', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x53', '\x45', '\x43', '\x54', '\x49', '\x4f', '\x4e', '\x28', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x20', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x44', '\x59', '\x4e', '\x41', '\x4d', '\x49', '\x43', '\x5f', '\x53', '\x45', '\x43', '\x54', '\x49', '\x4f', '\x4e', '\x28', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x44', '\x59', '\x4e', '\x41', '\x4d', '\x49', '\x43', '\x5f', '\x53', '\x45', '\x43', '\x54', '\x49', '\x4f', '\x4e', '\x28', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x20', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x46', '\x41', '\x49', '\x4c', '\x28', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x4d', '\x53', '\x47', '\x28', '\x20', '\x22', '\x46', '\x41', '\x49', '\x4c', '\x22', '\x2c', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x57', '\x61', '\x73', '\x3a', '\x3a', '\x45', '\x78', '\x70', '\x6c', '\x69', '\x63', '\x69', '\x74', '\x46', '\x61', '\x69', '\x6c', '\x75', '\x72', '\x65', '\x2c', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x44', '\x69', '\x73', '\x70', '\x6f', '\x73', '\x69', '\x74', '\x69', '\x6f', '\x6e', '\x3a', '\x3a', '\x4e', '\x6f', '\x72', '\x6d', '\x61', '\x6c', '\x2c', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x20', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x46', '\x41', '\x49', '\x4c', '\x5f', '\x43', '\x48', '\x45', '\x43', '\x4b', '\x28', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x4d', '\x53', '\x47', '\x28', '\x20', '\x22', '\x46', '\x41', '\x49', '\x4c', '\x5f', '\x43', '\x48', '\x45', '\x43', '\x4b', '\x22', '\x2c', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x57', '\x61', '\x73', '\x3a', '\x3a', '\x45', '\x78', '\x70', '\x6c', '\x69', '\x63', '\x69', '\x74', '\x46', '\x61', '\x69', '\x6c', '\x75', '\x72', '\x65', '\x2c', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x44', '\x69', '\x73', '\x70', '\x6f', '\x73', '\x69', '\x74', '\x69', '\x6f', '\x6e', '\x3a', '\x3a', '\x43', '\x6f', '\x6e', '\x74', '\x69', '\x6e', '\x75', '\x65', '\x4f', '\x6e', '\x46', '\x61', '\x69', '\x6c', '\x75', '\x72', '\x65', '\x2c', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x20', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x53', '\x55', '\x43', '\x43', '\x45', '\x45', '\x44', '\x28', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x4d', '\x53', '\x47', '\x28', '\x20', '\x22', '\x53', '\x55', '\x43', '\x43', '\x45', '\x45', '\x44', '\x22', '\x2c', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x57', '\x61', '\x73', '\x3a', '\x3a', '\x4f', '\x6b', '\x2c', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x52', '\x65', '\x73', '\x75', '\x6c', '\x74', '\x44', '\x69', '\x73', '\x70', '\x6f', '\x73', '\x69', '\x74', '\x69', '\x6f', '\x6e', '\x3a', '\x3a', '\x43', '\x6f', '\x6e', '\x74', '\x69', '\x6e', '\x75', '\x65', '\x4f', '\x6e', '\x46', '\x61', '\x69', '\x6c', '\x75', '\x72', '\x65', '\x2c', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x20', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x41', '\x4e', '\x4f', '\x4e', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x28', '\x29', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x43', '\x41', '\x53', '\x45', '\x28', '\x29', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x6e', '\x64', '\x65', '\x66', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x54', '\x52', '\x41', '\x44', '\x49', '\x54', '\x49', '\x4f', '\x4e', '\x41', '\x4c', '\x5f', '\x4d', '\x53', '\x56', '\x43', '\x5f', '\x50', '\x52', '\x45', '\x50', '\x52', '\x4f', '\x43', '\x45', '\x53', '\x53', '\x4f', '\x52', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x28', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x28', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x20', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x5f', '\x53', '\x49', '\x47', '\x28', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x5f', '\x53', '\x49', '\x47', '\x28', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x20', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x28', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x28', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x20', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x5f', '\x53', '\x49', '\x47', '\x28', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x5f', '\x53', '\x49', '\x47', '\x28', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x20', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x50', '\x52', '\x4f', '\x44', '\x55', '\x43', '\x54', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x28', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x50', '\x52', '\x4f', '\x44', '\x55', '\x43', '\x54', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x28', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x20', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x50', '\x52', '\x4f', '\x44', '\x55', '\x43', '\x54', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x5f', '\x53', '\x49', '\x47', '\x28', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x50', '\x52', '\x4f', '\x44', '\x55', '\x43', '\x54', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x5f', '\x53', '\x49', '\x47', '\x28', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x20', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x50', '\x52', '\x4f', '\x44', '\x55', '\x43', '\x54', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x28', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x50', '\x52', '\x4f', '\x44', '\x55', '\x43', '\x54', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x28', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x20', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x50', '\x52', '\x4f', '\x44', '\x55', '\x43', '\x54', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x5f', '\x53', '\x49', '\x47', '\x28', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x50', '\x52', '\x4f', '\x44', '\x55', '\x43', '\x54', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x5f', '\x53', '\x49', '\x47', '\x28', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x20', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x4c', '\x49', '\x53', '\x54', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x28', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x4c', '\x49', '\x53', '\x54', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x28', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x4c', '\x49', '\x53', '\x54', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x28', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x4c', '\x49', '\x53', '\x54', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x28', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x20', '\x29', '\x0d', '\x0a', '\x23', '\x65', '\x6c', '\x73', '\x65', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x28', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x45', '\x58', '\x50', '\x41', '\x4e', '\x44', '\x5f', '\x56', '\x41', '\x52', '\x47', '\x53', '\x28', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x28', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x20', '\x29', '\x20', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x5f', '\x53', '\x49', '\x47', '\x28', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x45', '\x58', '\x50', '\x41', '\x4e', '\x44', '\x5f', '\x56', '\x41', '\x52', '\x47', '\x53', '\x28', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x5f', '\x53', '\x49', '\x47', '\x28', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x20', '\x29', '\x20', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x28', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x45', '\x58', '\x50', '\x41', '\x4e', '\x44', '\x5f', '\x56', '\x41', '\x52', '\x47', '\x53', '\x28', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x28', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x20', '\x29', '\x20', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x5f', '\x53', '\x49', '\x47', '\x28', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x45', '\x58', '\x50', '\x41', '\x4e', '\x44', '\x5f', '\x56', '\x41', '\x52', '\x47', '\x53', '\x28', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x5f', '\x53', '\x49', '\x47', '\x28', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x20', '\x29', '\x20', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x50', '\x52', '\x4f', '\x44', '\x55', '\x43', '\x54', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x28', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x45', '\x58', '\x50', '\x41', '\x4e', '\x44', '\x5f', '\x56', '\x41', '\x52', '\x47', '\x53', '\x28', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x50', '\x52', '\x4f', '\x44', '\x55', '\x43', '\x54', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x28', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x20', '\x29', '\x20', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x50', '\x52', '\x4f', '\x44', '\x55', '\x43', '\x54', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x5f', '\x53', '\x49', '\x47', '\x28', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x45', '\x58', '\x50', '\x41', '\x4e', '\x44', '\x5f', '\x56', '\x41', '\x52', '\x47', '\x53', '\x28', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x50', '\x52', '\x4f', '\x44', '\x55', '\x43', '\x54', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x5f', '\x53', '\x49', '\x47', '\x28', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x20', '\x29', '\x20', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x50', '\x52', '\x4f', '\x44', '\x55', '\x43', '\x54', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x28', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x45', '\x58', '\x50', '\x41', '\x4e', '\x44', '\x5f', '\x56', '\x41', '\x52', '\x47', '\x53', '\x28', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x50', '\x52', '\x4f', '\x44', '\x55', '\x43', '\x54', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x28', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x20', '\x29', '\x20', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x50', '\x52', '\x4f', '\x44', '\x55', '\x43', '\x54', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x5f', '\x53', '\x49', '\x47', '\x28', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x45', '\x58', '\x50', '\x41', '\x4e', '\x44', '\x5f', '\x56', '\x41', '\x52', '\x47', '\x53', '\x28', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x50', '\x52', '\x4f', '\x44', '\x55', '\x43', '\x54', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x5f', '\x53', '\x49', '\x47', '\x28', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x20', '\x29', '\x20', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x4c', '\x49', '\x53', '\x54', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x28', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x45', '\x58', '\x50', '\x41', '\x4e', '\x44', '\x5f', '\x56', '\x41', '\x52', '\x47', '\x53', '\x28', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x4c', '\x49', '\x53', '\x54', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x28', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x20', '\x29', '\x20', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x4c', '\x49', '\x53', '\x54', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x28', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x45', '\x58', '\x50', '\x41', '\x4e', '\x44', '\x5f', '\x56', '\x41', '\x52', '\x47', '\x53', '\x28', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x4c', '\x49', '\x53', '\x54', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x28', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x20', '\x29', '\x20', '\x29', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x20', '\x21', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x52', '\x55', '\x4e', '\x54', '\x49', '\x4d', '\x45', '\x5f', '\x53', '\x54', '\x41', '\x54', '\x49', '\x43', '\x5f', '\x52', '\x45', '\x51', '\x55', '\x49', '\x52', '\x45', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x53', '\x54', '\x41', '\x54', '\x49', '\x43', '\x5f', '\x52', '\x45', '\x51', '\x55', '\x49', '\x52', '\x45', '\x28', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x5f', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x28', '\x20', '\x20', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x2c', '\x20', '\x20', '\x23', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x20', '\x29', '\x3b', '\x20', '\x53', '\x55', '\x43', '\x43', '\x45', '\x45', '\x44', '\x28', '\x20', '\x23', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x20', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x53', '\x54', '\x41', '\x54', '\x49', '\x43', '\x5f', '\x52', '\x45', '\x51', '\x55', '\x49', '\x52', '\x45', '\x5f', '\x46', '\x41', '\x4c', '\x53', '\x45', '\x28', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x73', '\x74', '\x61', '\x74', '\x69', '\x63', '\x5f', '\x61', '\x73', '\x73', '\x65', '\x72', '\x74', '\x28', '\x20', '\x21', '\x28', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x29', '\x2c', '\x20', '\x22', '\x21', '\x28', '\x22', '\x20', '\x23', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x20', '\x22', '\x29', '\x22', '\x20', '\x29', '\x3b', '\x20', '\x53', '\x55', '\x43', '\x43', '\x45', '\x45', '\x44', '\x28', '\x20', '\x22', '\x21', '\x28', '\x22', '\x20', '\x23', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x20', '\x22', '\x29', '\x22', '\x20', '\x29', '\x0d', '\x0a', '\x23', '\x65', '\x6c', '\x73', '\x65', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x53', '\x54', '\x41', '\x54', '\x49', '\x43', '\x5f', '\x52', '\x45', '\x51', '\x55', '\x49', '\x52', '\x45', '\x28', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x52', '\x45', '\x51', '\x55', '\x49', '\x52', '\x45', '\x28', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x20', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x53', '\x54', '\x41', '\x54', '\x49', '\x43', '\x5f', '\x52', '\x45', '\x51', '\x55', '\x49', '\x52', '\x45', '\x5f', '\x46', '\x41', '\x4c', '\x53', '\x45', '\x28', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x52', '\x45', '\x51', '\x55', '\x49', '\x52', '\x45', '\x5f', '\x46', '\x41', '\x4c', '\x53', '\x45', '\x28', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x20', '\x29', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x52', '\x41', '\x4e', '\x53', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x45', '\x58', '\x43', '\x45', '\x50', '\x54', '\x49', '\x4f', '\x4e', '\x28', '\x20', '\x73', '\x69', '\x67', '\x6e', '\x61', '\x74', '\x75', '\x72', '\x65', '\x20', '\x29', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x52', '\x41', '\x4e', '\x53', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x45', '\x58', '\x43', '\x45', '\x50', '\x54', '\x49', '\x4f', '\x4e', '\x28', '\x20', '\x73', '\x69', '\x67', '\x6e', '\x61', '\x74', '\x75', '\x72', '\x65', '\x20', '\x29', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x22', '\x42', '\x44', '\x44', '\x2d', '\x73', '\x74', '\x79', '\x6c', '\x65', '\x22', '\x20', '\x63', '\x6f', '\x6e', '\x76', '\x65', '\x6e', '\x69', '\x65', '\x6e', '\x63', '\x65', '\x20', '\x77', '\x72', '\x61', '\x70', '\x70', '\x65', '\x72', '\x73', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x53', '\x43', '\x45', '\x4e', '\x41', '\x52', '\x49', '\x4f', '\x28', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x28', '\x20', '\x22', '\x53', '\x63', '\x65', '\x6e', '\x61', '\x72', '\x69', '\x6f', '\x3a', '\x20', '\x22', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x20', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x53', '\x43', '\x45', '\x4e', '\x41', '\x52', '\x49', '\x4f', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x28', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x28', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x22', '\x53', '\x63', '\x65', '\x6e', '\x61', '\x72', '\x69', '\x6f', '\x3a', '\x20', '\x22', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x20', '\x29', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x47', '\x49', '\x56', '\x45', '\x4e', '\x28', '\x20', '\x64', '\x65', '\x73', '\x63', '\x20', '\x29', '\x20', '\x20', '\x20', '\x20', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x44', '\x59', '\x4e', '\x41', '\x4d', '\x49', '\x43', '\x5f', '\x53', '\x45', '\x43', '\x54', '\x49', '\x4f', '\x4e', '\x28', '\x20', '\x22', '\x20', '\x20', '\x20', '\x20', '\x47', '\x69', '\x76', '\x65', '\x6e', '\x3a', '\x20', '\x22', '\x20', '\x3c', '\x3c', '\x20', '\x64', '\x65', '\x73', '\x63', '\x20', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x41', '\x4e', '\x44', '\x5f', '\x47', '\x49', '\x56', '\x45', '\x4e', '\x28', '\x20', '\x64', '\x65', '\x73', '\x63', '\x20', '\x29', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x44', '\x59', '\x4e', '\x41', '\x4d', '\x49', '\x43', '\x5f', '\x53', '\x45', '\x43', '\x54', '\x49', '\x4f', '\x4e', '\x28', '\x20', '\x22', '\x41', '\x6e', '\x64', '\x20', '\x67', '\x69', '\x76', '\x65', '\x6e', '\x3a', '\x20', '\x22', '\x20', '\x3c', '\x3c', '\x20', '\x64', '\x65', '\x73', '\x63', '\x20', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x57', '\x48', '\x45', '\x4e', '\x28', '\x20', '\x64', '\x65', '\x73', '\x63', '\x20', '\x29', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x44', '\x59', '\x4e', '\x41', '\x4d', '\x49', '\x43', '\x5f', '\x53', '\x45', '\x43', '\x54', '\x49', '\x4f', '\x4e', '\x28', '\x20', '\x22', '\x20', '\x20', '\x20', '\x20', '\x20', '\x57', '\x68', '\x65', '\x6e', '\x3a', '\x20', '\x22', '\x20', '\x3c', '\x3c', '\x20', '\x64', '\x65', '\x73', '\x63', '\x20', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x41', '\x4e', '\x44', '\x5f', '\x57', '\x48', '\x45', '\x4e', '\x28', '\x20', '\x64', '\x65', '\x73', '\x63', '\x20', '\x29', '\x20', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x44', '\x59', '\x4e', '\x41', '\x4d', '\x49', '\x43', '\x5f', '\x53', '\x45', '\x43', '\x54', '\x49', '\x4f', '\x4e', '\x28', '\x20', '\x22', '\x20', '\x41', '\x6e', '\x64', '\x20', '\x77', '\x68', '\x65', '\x6e', '\x3a', '\x20', '\x22', '\x20', '\x3c', '\x3c', '\x20', '\x64', '\x65', '\x73', '\x63', '\x20', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x54', '\x48', '\x45', '\x4e', '\x28', '\x20', '\x64', '\x65', '\x73', '\x63', '\x20', '\x29', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x44', '\x59', '\x4e', '\x41', '\x4d', '\x49', '\x43', '\x5f', '\x53', '\x45', '\x43', '\x54', '\x49', '\x4f', '\x4e', '\x28', '\x20', '\x22', '\x20', '\x20', '\x20', '\x20', '\x20', '\x54', '\x68', '\x65', '\x6e', '\x3a', '\x20', '\x22', '\x20', '\x3c', '\x3c', '\x20', '\x64', '\x65', '\x73', '\x63', '\x20', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x41', '\x4e', '\x44', '\x5f', '\x54', '\x48', '\x45', '\x4e', '\x28', '\x20', '\x64', '\x65', '\x73', '\x63', '\x20', '\x29', '\x20', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x44', '\x59', '\x4e', '\x41', '\x4d', '\x49', '\x43', '\x5f', '\x53', '\x45', '\x43', '\x54', '\x49', '\x4f', '\x4e', '\x28', '\x20', '\x22', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x41', '\x6e', '\x64', '\x3a', '\x20', '\x22', '\x20', '\x3c', '\x3c', '\x20', '\x64', '\x65', '\x73', '\x63', '\x20', '\x29', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x45', '\x4e', '\x41', '\x42', '\x4c', '\x45', '\x5f', '\x42', '\x45', '\x4e', '\x43', '\x48', '\x4d', '\x41', '\x52', '\x4b', '\x49', '\x4e', '\x47', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x42', '\x45', '\x4e', '\x43', '\x48', '\x4d', '\x41', '\x52', '\x4b', '\x28', '\x2e', '\x2e', '\x2e', '\x29', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x42', '\x45', '\x4e', '\x43', '\x48', '\x4d', '\x41', '\x52', '\x4b', '\x28', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x55', '\x4e', '\x49', '\x51', '\x55', '\x45', '\x5f', '\x4e', '\x41', '\x4d', '\x45', '\x28', '\x5f', '\x5f', '\x5f', '\x5f', '\x43', '\x5f', '\x41', '\x5f', '\x54', '\x5f', '\x43', '\x5f', '\x48', '\x5f', '\x5f', '\x5f', '\x5f', '\x42', '\x5f', '\x45', '\x5f', '\x4e', '\x5f', '\x43', '\x5f', '\x48', '\x5f', '\x5f', '\x5f', '\x5f', '\x29', '\x2c', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x47', '\x45', '\x54', '\x5f', '\x31', '\x5f', '\x41', '\x52', '\x47', '\x28', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x2c', '\x2c', '\x29', '\x2c', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x47', '\x45', '\x54', '\x5f', '\x32', '\x5f', '\x41', '\x52', '\x47', '\x28', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x2c', '\x2c', '\x29', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x42', '\x45', '\x4e', '\x43', '\x48', '\x4d', '\x41', '\x52', '\x4b', '\x5f', '\x41', '\x44', '\x56', '\x41', '\x4e', '\x43', '\x45', '\x44', '\x28', '\x6e', '\x61', '\x6d', '\x65', '\x29', '\x20', '\x5c', '\x0d', '\x0a', '\x20', '\x20', '\x20', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x42', '\x45', '\x4e', '\x43', '\x48', '\x4d', '\x41', '\x52', '\x4b', '\x5f', '\x41', '\x44', '\x56', '\x41', '\x4e', '\x43', '\x45', '\x44', '\x28', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x55', '\x4e', '\x49', '\x51', '\x55', '\x45', '\x5f', '\x4e', '\x41', '\x4d', '\x45', '\x28', '\x5f', '\x5f', '\x5f', '\x5f', '\x43', '\x5f', '\x41', '\x5f', '\x54', '\x5f', '\x43', '\x5f', '\x48', '\x5f', '\x5f', '\x5f', '\x5f', '\x42', '\x5f', '\x45', '\x5f', '\x4e', '\x5f', '\x43', '\x5f', '\x48', '\x5f', '\x5f', '\x5f', '\x5f', '\x29', '\x2c', '\x20', '\x6e', '\x61', '\x6d', '\x65', '\x29', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x20', '\x2f', '\x2f', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x45', '\x4e', '\x41', '\x42', '\x4c', '\x45', '\x5f', '\x42', '\x45', '\x4e', '\x43', '\x48', '\x4d', '\x41', '\x52', '\x4b', '\x49', '\x4e', '\x47', '\x0d', '\x0a', '\x0d', '\x0a', '\x75', '\x73', '\x69', '\x6e', '\x67', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x44', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x3a', '\x3a', '\x41', '\x70', '\x70', '\x72', '\x6f', '\x78', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x65', '\x6c', '\x73', '\x65', '\x20', '\x2f', '\x2f', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x44', '\x49', '\x53', '\x41', '\x42', '\x4c', '\x45', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x2f', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x49', '\x66', '\x20', '\x74', '\x68', '\x69', '\x73', '\x20', '\x63', '\x6f', '\x6e', '\x66', '\x69', '\x67', '\x20', '\x69', '\x64', '\x65', '\x6e', '\x74', '\x69', '\x66', '\x69', '\x65', '\x72', '\x20', '\x69', '\x73', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x20', '\x74', '\x68', '\x65', '\x6e', '\x20', '\x61', '\x6c', '\x6c', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x20', '\x6d', '\x61', '\x63', '\x72', '\x6f', '\x73', '\x20', '\x61', '\x72', '\x65', '\x20', '\x70', '\x72', '\x65', '\x66', '\x69', '\x78', '\x65', '\x64', '\x20', '\x77', '\x69', '\x74', '\x68', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x64', '\x65', '\x66', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x50', '\x52', '\x45', '\x46', '\x49', '\x58', '\x5f', '\x41', '\x4c', '\x4c', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x51', '\x55', '\x49', '\x52', '\x45', '\x28', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x28', '\x76', '\x6f', '\x69', '\x64', '\x29', '\x28', '\x30', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x51', '\x55', '\x49', '\x52', '\x45', '\x5f', '\x46', '\x41', '\x4c', '\x53', '\x45', '\x28', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x20', '\x28', '\x76', '\x6f', '\x69', '\x64', '\x29', '\x28', '\x30', '\x29', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x51', '\x55', '\x49', '\x52', '\x45', '\x5f', '\x54', '\x48', '\x52', '\x4f', '\x57', '\x53', '\x28', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x28', '\x76', '\x6f', '\x69', '\x64', '\x29', '\x28', '\x30', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x51', '\x55', '\x49', '\x52', '\x45', '\x5f', '\x54', '\x48', '\x52', '\x4f', '\x57', '\x53', '\x5f', '\x41', '\x53', '\x28', '\x20', '\x65', '\x78', '\x70', '\x72', '\x2c', '\x20', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x54', '\x79', '\x70', '\x65', '\x20', '\x29', '\x20', '\x28', '\x76', '\x6f', '\x69', '\x64', '\x29', '\x28', '\x30', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x51', '\x55', '\x49', '\x52', '\x45', '\x5f', '\x54', '\x48', '\x52', '\x4f', '\x57', '\x53', '\x5f', '\x57', '\x49', '\x54', '\x48', '\x28', '\x20', '\x65', '\x78', '\x70', '\x72', '\x2c', '\x20', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x20', '\x29', '\x20', '\x20', '\x20', '\x20', '\x20', '\x28', '\x76', '\x6f', '\x69', '\x64', '\x29', '\x28', '\x30', '\x29', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x20', '\x21', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x44', '\x49', '\x53', '\x41', '\x42', '\x4c', '\x45', '\x5f', '\x4d', '\x41', '\x54', '\x43', '\x48', '\x45', '\x52', '\x53', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x51', '\x55', '\x49', '\x52', '\x45', '\x5f', '\x54', '\x48', '\x52', '\x4f', '\x57', '\x53', '\x5f', '\x4d', '\x41', '\x54', '\x43', '\x48', '\x45', '\x53', '\x28', '\x20', '\x65', '\x78', '\x70', '\x72', '\x2c', '\x20', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x54', '\x79', '\x70', '\x65', '\x2c', '\x20', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x20', '\x29', '\x20', '\x28', '\x76', '\x6f', '\x69', '\x64', '\x29', '\x28', '\x30', '\x29', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x2f', '\x2f', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x44', '\x49', '\x53', '\x41', '\x42', '\x4c', '\x45', '\x5f', '\x4d', '\x41', '\x54', '\x43', '\x48', '\x45', '\x52', '\x53', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x51', '\x55', '\x49', '\x52', '\x45', '\x5f', '\x4e', '\x4f', '\x54', '\x48', '\x52', '\x4f', '\x57', '\x28', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x28', '\x76', '\x6f', '\x69', '\x64', '\x29', '\x28', '\x30', '\x29', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x48', '\x45', '\x43', '\x4b', '\x28', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x28', '\x76', '\x6f', '\x69', '\x64', '\x29', '\x28', '\x30', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x48', '\x45', '\x43', '\x4b', '\x5f', '\x46', '\x41', '\x4c', '\x53', '\x45', '\x28', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x20', '\x20', '\x28', '\x76', '\x6f', '\x69', '\x64', '\x29', '\x28', '\x30', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x48', '\x45', '\x43', '\x4b', '\x45', '\x44', '\x5f', '\x49', '\x46', '\x28', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x48', '\x45', '\x43', '\x4b', '\x45', '\x44', '\x5f', '\x45', '\x4c', '\x53', '\x45', '\x28', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x20', '\x69', '\x66', '\x20', '\x28', '\x21', '\x28', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x29', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x48', '\x45', '\x43', '\x4b', '\x5f', '\x4e', '\x4f', '\x46', '\x41', '\x49', '\x4c', '\x28', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x20', '\x28', '\x76', '\x6f', '\x69', '\x64', '\x29', '\x28', '\x30', '\x29', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x48', '\x45', '\x43', '\x4b', '\x5f', '\x54', '\x48', '\x52', '\x4f', '\x57', '\x53', '\x28', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x20', '\x28', '\x76', '\x6f', '\x69', '\x64', '\x29', '\x28', '\x30', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x48', '\x45', '\x43', '\x4b', '\x5f', '\x54', '\x48', '\x52', '\x4f', '\x57', '\x53', '\x5f', '\x41', '\x53', '\x28', '\x20', '\x65', '\x78', '\x70', '\x72', '\x2c', '\x20', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x54', '\x79', '\x70', '\x65', '\x20', '\x29', '\x20', '\x28', '\x76', '\x6f', '\x69', '\x64', '\x29', '\x28', '\x30', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x48', '\x45', '\x43', '\x4b', '\x5f', '\x54', '\x48', '\x52', '\x4f', '\x57', '\x53', '\x5f', '\x57', '\x49', '\x54', '\x48', '\x28', '\x20', '\x65', '\x78', '\x70', '\x72', '\x2c', '\x20', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x20', '\x29', '\x20', '\x20', '\x20', '\x20', '\x20', '\x28', '\x76', '\x6f', '\x69', '\x64', '\x29', '\x28', '\x30', '\x29', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x20', '\x21', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x44', '\x49', '\x53', '\x41', '\x42', '\x4c', '\x45', '\x5f', '\x4d', '\x41', '\x54', '\x43', '\x48', '\x45', '\x52', '\x53', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x48', '\x45', '\x43', '\x4b', '\x5f', '\x54', '\x48', '\x52', '\x4f', '\x57', '\x53', '\x5f', '\x4d', '\x41', '\x54', '\x43', '\x48', '\x45', '\x53', '\x28', '\x20', '\x65', '\x78', '\x70', '\x72', '\x2c', '\x20', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x54', '\x79', '\x70', '\x65', '\x2c', '\x20', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x20', '\x29', '\x20', '\x28', '\x76', '\x6f', '\x69', '\x64', '\x29', '\x28', '\x30', '\x29', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x20', '\x2f', '\x2f', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x44', '\x49', '\x53', '\x41', '\x42', '\x4c', '\x45', '\x5f', '\x4d', '\x41', '\x54', '\x43', '\x48', '\x45', '\x52', '\x53', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x48', '\x45', '\x43', '\x4b', '\x5f', '\x4e', '\x4f', '\x54', '\x48', '\x52', '\x4f', '\x57', '\x28', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x28', '\x76', '\x6f', '\x69', '\x64', '\x29', '\x28', '\x30', '\x29', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x20', '\x21', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x44', '\x49', '\x53', '\x41', '\x42', '\x4c', '\x45', '\x5f', '\x4d', '\x41', '\x54', '\x43', '\x48', '\x45', '\x52', '\x53', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x48', '\x45', '\x43', '\x4b', '\x5f', '\x54', '\x48', '\x41', '\x54', '\x28', '\x20', '\x61', '\x72', '\x67', '\x2c', '\x20', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x20', '\x29', '\x20', '\x20', '\x20', '\x28', '\x76', '\x6f', '\x69', '\x64', '\x29', '\x28', '\x30', '\x29', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x51', '\x55', '\x49', '\x52', '\x45', '\x5f', '\x54', '\x48', '\x41', '\x54', '\x28', '\x20', '\x61', '\x72', '\x67', '\x2c', '\x20', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x20', '\x29', '\x20', '\x28', '\x76', '\x6f', '\x69', '\x64', '\x29', '\x28', '\x30', '\x29', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x20', '\x2f', '\x2f', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x44', '\x49', '\x53', '\x41', '\x42', '\x4c', '\x45', '\x5f', '\x4d', '\x41', '\x54', '\x43', '\x48', '\x45', '\x52', '\x53', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x49', '\x4e', '\x46', '\x4f', '\x28', '\x20', '\x6d', '\x73', '\x67', '\x20', '\x29', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x28', '\x76', '\x6f', '\x69', '\x64', '\x29', '\x28', '\x30', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x55', '\x4e', '\x53', '\x43', '\x4f', '\x50', '\x45', '\x44', '\x5f', '\x49', '\x4e', '\x46', '\x4f', '\x28', '\x20', '\x6d', '\x73', '\x67', '\x20', '\x29', '\x20', '\x28', '\x76', '\x6f', '\x69', '\x64', '\x29', '\x28', '\x30', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x57', '\x41', '\x52', '\x4e', '\x28', '\x20', '\x6d', '\x73', '\x67', '\x20', '\x29', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x28', '\x76', '\x6f', '\x69', '\x64', '\x29', '\x28', '\x30', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x41', '\x50', '\x54', '\x55', '\x52', '\x45', '\x28', '\x20', '\x6d', '\x73', '\x67', '\x20', '\x29', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x28', '\x76', '\x6f', '\x69', '\x64', '\x29', '\x28', '\x30', '\x29', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x28', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x43', '\x41', '\x53', '\x45', '\x5f', '\x4e', '\x4f', '\x5f', '\x52', '\x45', '\x47', '\x49', '\x53', '\x54', '\x52', '\x41', '\x54', '\x49', '\x4f', '\x4e', '\x28', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x55', '\x4e', '\x49', '\x51', '\x55', '\x45', '\x5f', '\x4e', '\x41', '\x4d', '\x45', '\x28', '\x20', '\x5f', '\x5f', '\x5f', '\x5f', '\x43', '\x5f', '\x41', '\x5f', '\x54', '\x5f', '\x43', '\x5f', '\x48', '\x5f', '\x5f', '\x5f', '\x5f', '\x54', '\x5f', '\x45', '\x5f', '\x53', '\x5f', '\x54', '\x5f', '\x5f', '\x5f', '\x5f', '\x20', '\x29', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x28', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x43', '\x41', '\x53', '\x45', '\x5f', '\x4e', '\x4f', '\x5f', '\x52', '\x45', '\x47', '\x49', '\x53', '\x54', '\x52', '\x41', '\x54', '\x49', '\x4f', '\x4e', '\x28', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x55', '\x4e', '\x49', '\x51', '\x55', '\x45', '\x5f', '\x4e', '\x41', '\x4d', '\x45', '\x28', '\x20', '\x5f', '\x5f', '\x5f', '\x5f', '\x43', '\x5f', '\x41', '\x5f', '\x54', '\x5f', '\x43', '\x5f', '\x48', '\x5f', '\x5f', '\x5f', '\x5f', '\x54', '\x5f', '\x45', '\x5f', '\x53', '\x5f', '\x54', '\x5f', '\x5f', '\x5f', '\x5f', '\x20', '\x29', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x5f', '\x41', '\x53', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x28', '\x20', '\x6d', '\x65', '\x74', '\x68', '\x6f', '\x64', '\x2c', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x52', '\x45', '\x47', '\x49', '\x53', '\x54', '\x45', '\x52', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x28', '\x20', '\x46', '\x75', '\x6e', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x2c', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x28', '\x76', '\x6f', '\x69', '\x64', '\x29', '\x28', '\x30', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x53', '\x45', '\x43', '\x54', '\x49', '\x4f', '\x4e', '\x28', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x44', '\x59', '\x4e', '\x41', '\x4d', '\x49', '\x43', '\x5f', '\x53', '\x45', '\x43', '\x54', '\x49', '\x4f', '\x4e', '\x28', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x46', '\x41', '\x49', '\x4c', '\x28', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x28', '\x76', '\x6f', '\x69', '\x64', '\x29', '\x28', '\x30', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x46', '\x41', '\x49', '\x4c', '\x5f', '\x43', '\x48', '\x45', '\x43', '\x4b', '\x28', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x28', '\x76', '\x6f', '\x69', '\x64', '\x29', '\x28', '\x30', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x53', '\x55', '\x43', '\x43', '\x45', '\x45', '\x44', '\x28', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x28', '\x76', '\x6f', '\x69', '\x64', '\x29', '\x28', '\x30', '\x29', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x41', '\x4e', '\x4f', '\x4e', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x28', '\x29', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x43', '\x41', '\x53', '\x45', '\x5f', '\x4e', '\x4f', '\x5f', '\x52', '\x45', '\x47', '\x49', '\x53', '\x54', '\x52', '\x41', '\x54', '\x49', '\x4f', '\x4e', '\x28', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x55', '\x4e', '\x49', '\x51', '\x55', '\x45', '\x5f', '\x4e', '\x41', '\x4d', '\x45', '\x28', '\x20', '\x5f', '\x5f', '\x5f', '\x5f', '\x43', '\x5f', '\x41', '\x5f', '\x54', '\x5f', '\x43', '\x5f', '\x48', '\x5f', '\x5f', '\x5f', '\x5f', '\x54', '\x5f', '\x45', '\x5f', '\x53', '\x5f', '\x54', '\x5f', '\x5f', '\x5f', '\x5f', '\x20', '\x29', '\x29', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x6e', '\x64', '\x65', '\x66', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x54', '\x52', '\x41', '\x44', '\x49', '\x54', '\x49', '\x4f', '\x4e', '\x41', '\x4c', '\x5f', '\x4d', '\x53', '\x56', '\x43', '\x5f', '\x50', '\x52', '\x45', '\x50', '\x52', '\x4f', '\x43', '\x45', '\x53', '\x53', '\x4f', '\x52', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x28', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x5f', '\x4e', '\x4f', '\x5f', '\x52', '\x45', '\x47', '\x49', '\x53', '\x54', '\x52', '\x41', '\x54', '\x49', '\x4f', '\x4e', '\x28', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x5f', '\x53', '\x49', '\x47', '\x28', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x5f', '\x53', '\x49', '\x47', '\x5f', '\x4e', '\x4f', '\x5f', '\x52', '\x45', '\x47', '\x49', '\x53', '\x54', '\x52', '\x41', '\x54', '\x49', '\x4f', '\x4e', '\x28', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x28', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x5f', '\x4e', '\x4f', '\x5f', '\x52', '\x45', '\x47', '\x49', '\x53', '\x54', '\x52', '\x41', '\x54', '\x49', '\x4f', '\x4e', '\x28', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x5f', '\x53', '\x49', '\x47', '\x28', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x5f', '\x53', '\x49', '\x47', '\x5f', '\x4e', '\x4f', '\x5f', '\x52', '\x45', '\x47', '\x49', '\x53', '\x54', '\x52', '\x41', '\x54', '\x49', '\x4f', '\x4e', '\x28', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x20', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x50', '\x52', '\x4f', '\x44', '\x55', '\x43', '\x54', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x28', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x28', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x20', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x50', '\x52', '\x4f', '\x44', '\x55', '\x43', '\x54', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x5f', '\x53', '\x49', '\x47', '\x28', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x28', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x20', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x50', '\x52', '\x4f', '\x44', '\x55', '\x43', '\x54', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x28', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x28', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x20', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x50', '\x52', '\x4f', '\x44', '\x55', '\x43', '\x54', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x5f', '\x53', '\x49', '\x47', '\x28', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x28', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x20', '\x29', '\x0d', '\x0a', '\x23', '\x65', '\x6c', '\x73', '\x65', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x28', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x45', '\x58', '\x50', '\x41', '\x4e', '\x44', '\x5f', '\x56', '\x41', '\x52', '\x47', '\x53', '\x28', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x5f', '\x4e', '\x4f', '\x5f', '\x52', '\x45', '\x47', '\x49', '\x53', '\x54', '\x52', '\x41', '\x54', '\x49', '\x4f', '\x4e', '\x28', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x29', '\x20', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x5f', '\x53', '\x49', '\x47', '\x28', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x45', '\x58', '\x50', '\x41', '\x4e', '\x44', '\x5f', '\x56', '\x41', '\x52', '\x47', '\x53', '\x28', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x5f', '\x53', '\x49', '\x47', '\x5f', '\x4e', '\x4f', '\x5f', '\x52', '\x45', '\x47', '\x49', '\x53', '\x54', '\x52', '\x41', '\x54', '\x49', '\x4f', '\x4e', '\x28', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x29', '\x20', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x28', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x45', '\x58', '\x50', '\x41', '\x4e', '\x44', '\x5f', '\x56', '\x41', '\x52', '\x47', '\x53', '\x28', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x5f', '\x4e', '\x4f', '\x5f', '\x52', '\x45', '\x47', '\x49', '\x53', '\x54', '\x52', '\x41', '\x54', '\x49', '\x4f', '\x4e', '\x28', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x20', '\x29', '\x20', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x5f', '\x53', '\x49', '\x47', '\x28', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x45', '\x58', '\x50', '\x41', '\x4e', '\x44', '\x5f', '\x56', '\x41', '\x52', '\x47', '\x53', '\x28', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x5f', '\x53', '\x49', '\x47', '\x5f', '\x4e', '\x4f', '\x5f', '\x52', '\x45', '\x47', '\x49', '\x53', '\x54', '\x52', '\x41', '\x54', '\x49', '\x4f', '\x4e', '\x28', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x20', '\x29', '\x20', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x50', '\x52', '\x4f', '\x44', '\x55', '\x43', '\x54', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x28', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x28', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x20', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x50', '\x52', '\x4f', '\x44', '\x55', '\x43', '\x54', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x5f', '\x53', '\x49', '\x47', '\x28', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x28', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x20', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x50', '\x52', '\x4f', '\x44', '\x55', '\x43', '\x54', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x28', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x28', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x20', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x50', '\x52', '\x4f', '\x44', '\x55', '\x43', '\x54', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x5f', '\x53', '\x49', '\x47', '\x28', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x28', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x20', '\x29', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x22', '\x42', '\x44', '\x44', '\x2d', '\x73', '\x74', '\x79', '\x6c', '\x65', '\x22', '\x20', '\x63', '\x6f', '\x6e', '\x76', '\x65', '\x6e', '\x69', '\x65', '\x6e', '\x63', '\x65', '\x20', '\x77', '\x72', '\x61', '\x70', '\x70', '\x65', '\x72', '\x73', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x53', '\x43', '\x45', '\x4e', '\x41', '\x52', '\x49', '\x4f', '\x28', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x43', '\x41', '\x53', '\x45', '\x5f', '\x4e', '\x4f', '\x5f', '\x52', '\x45', '\x47', '\x49', '\x53', '\x54', '\x52', '\x41', '\x54', '\x49', '\x4f', '\x4e', '\x28', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x55', '\x4e', '\x49', '\x51', '\x55', '\x45', '\x5f', '\x4e', '\x41', '\x4d', '\x45', '\x28', '\x20', '\x5f', '\x5f', '\x5f', '\x5f', '\x43', '\x5f', '\x41', '\x5f', '\x54', '\x5f', '\x43', '\x5f', '\x48', '\x5f', '\x5f', '\x5f', '\x5f', '\x54', '\x5f', '\x45', '\x5f', '\x53', '\x5f', '\x54', '\x5f', '\x5f', '\x5f', '\x5f', '\x20', '\x29', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x53', '\x43', '\x45', '\x4e', '\x41', '\x52', '\x49', '\x4f', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x28', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x43', '\x41', '\x53', '\x45', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x5f', '\x4e', '\x4f', '\x5f', '\x52', '\x45', '\x47', '\x49', '\x53', '\x54', '\x52', '\x41', '\x54', '\x49', '\x4f', '\x4e', '\x28', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x55', '\x4e', '\x49', '\x51', '\x55', '\x45', '\x5f', '\x4e', '\x41', '\x4d', '\x45', '\x28', '\x20', '\x5f', '\x5f', '\x5f', '\x5f', '\x43', '\x5f', '\x41', '\x5f', '\x54', '\x5f', '\x43', '\x5f', '\x48', '\x5f', '\x5f', '\x5f', '\x5f', '\x54', '\x5f', '\x45', '\x5f', '\x53', '\x5f', '\x54', '\x5f', '\x5f', '\x5f', '\x5f', '\x20', '\x29', '\x2c', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x20', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x47', '\x49', '\x56', '\x45', '\x4e', '\x28', '\x20', '\x64', '\x65', '\x73', '\x63', '\x20', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x41', '\x4e', '\x44', '\x5f', '\x47', '\x49', '\x56', '\x45', '\x4e', '\x28', '\x20', '\x64', '\x65', '\x73', '\x63', '\x20', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x57', '\x48', '\x45', '\x4e', '\x28', '\x20', '\x64', '\x65', '\x73', '\x63', '\x20', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x41', '\x4e', '\x44', '\x5f', '\x57', '\x48', '\x45', '\x4e', '\x28', '\x20', '\x64', '\x65', '\x73', '\x63', '\x20', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x48', '\x45', '\x4e', '\x28', '\x20', '\x64', '\x65', '\x73', '\x63', '\x20', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x41', '\x4e', '\x44', '\x5f', '\x54', '\x48', '\x45', '\x4e', '\x28', '\x20', '\x64', '\x65', '\x73', '\x63', '\x20', '\x29', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x53', '\x54', '\x41', '\x54', '\x49', '\x43', '\x5f', '\x52', '\x45', '\x51', '\x55', '\x49', '\x52', '\x45', '\x28', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x28', '\x76', '\x6f', '\x69', '\x64', '\x29', '\x28', '\x30', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x53', '\x54', '\x41', '\x54', '\x49', '\x43', '\x5f', '\x52', '\x45', '\x51', '\x55', '\x49', '\x52', '\x45', '\x5f', '\x46', '\x41', '\x4c', '\x53', '\x45', '\x28', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x28', '\x76', '\x6f', '\x69', '\x64', '\x29', '\x28', '\x30', '\x29', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x49', '\x66', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x50', '\x52', '\x45', '\x46', '\x49', '\x58', '\x5f', '\x41', '\x4c', '\x4c', '\x20', '\x69', '\x73', '\x20', '\x6e', '\x6f', '\x74', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x20', '\x74', '\x68', '\x65', '\x6e', '\x20', '\x74', '\x68', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x20', '\x70', '\x72', '\x65', '\x66', '\x69', '\x78', '\x20', '\x69', '\x73', '\x20', '\x6e', '\x6f', '\x74', '\x20', '\x72', '\x65', '\x71', '\x75', '\x69', '\x72', '\x65', '\x64', '\x0d', '\x0a', '\x23', '\x65', '\x6c', '\x73', '\x65', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x52', '\x45', '\x51', '\x55', '\x49', '\x52', '\x45', '\x28', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x28', '\x76', '\x6f', '\x69', '\x64', '\x29', '\x28', '\x30', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x52', '\x45', '\x51', '\x55', '\x49', '\x52', '\x45', '\x5f', '\x46', '\x41', '\x4c', '\x53', '\x45', '\x28', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x28', '\x76', '\x6f', '\x69', '\x64', '\x29', '\x28', '\x30', '\x29', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x52', '\x45', '\x51', '\x55', '\x49', '\x52', '\x45', '\x5f', '\x54', '\x48', '\x52', '\x4f', '\x57', '\x53', '\x28', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x28', '\x76', '\x6f', '\x69', '\x64', '\x29', '\x28', '\x30', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x52', '\x45', '\x51', '\x55', '\x49', '\x52', '\x45', '\x5f', '\x54', '\x48', '\x52', '\x4f', '\x57', '\x53', '\x5f', '\x41', '\x53', '\x28', '\x20', '\x65', '\x78', '\x70', '\x72', '\x2c', '\x20', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x54', '\x79', '\x70', '\x65', '\x20', '\x29', '\x20', '\x28', '\x76', '\x6f', '\x69', '\x64', '\x29', '\x28', '\x30', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x52', '\x45', '\x51', '\x55', '\x49', '\x52', '\x45', '\x5f', '\x54', '\x48', '\x52', '\x4f', '\x57', '\x53', '\x5f', '\x57', '\x49', '\x54', '\x48', '\x28', '\x20', '\x65', '\x78', '\x70', '\x72', '\x2c', '\x20', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x20', '\x29', '\x20', '\x28', '\x76', '\x6f', '\x69', '\x64', '\x29', '\x28', '\x30', '\x29', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x20', '\x21', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x44', '\x49', '\x53', '\x41', '\x42', '\x4c', '\x45', '\x5f', '\x4d', '\x41', '\x54', '\x43', '\x48', '\x45', '\x52', '\x53', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x52', '\x45', '\x51', '\x55', '\x49', '\x52', '\x45', '\x5f', '\x54', '\x48', '\x52', '\x4f', '\x57', '\x53', '\x5f', '\x4d', '\x41', '\x54', '\x43', '\x48', '\x45', '\x53', '\x28', '\x20', '\x65', '\x78', '\x70', '\x72', '\x2c', '\x20', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x54', '\x79', '\x70', '\x65', '\x2c', '\x20', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x20', '\x29', '\x20', '\x28', '\x76', '\x6f', '\x69', '\x64', '\x29', '\x28', '\x30', '\x29', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x20', '\x2f', '\x2f', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x44', '\x49', '\x53', '\x41', '\x42', '\x4c', '\x45', '\x5f', '\x4d', '\x41', '\x54', '\x43', '\x48', '\x45', '\x52', '\x53', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x52', '\x45', '\x51', '\x55', '\x49', '\x52', '\x45', '\x5f', '\x4e', '\x4f', '\x54', '\x48', '\x52', '\x4f', '\x57', '\x28', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x28', '\x76', '\x6f', '\x69', '\x64', '\x29', '\x28', '\x30', '\x29', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x48', '\x45', '\x43', '\x4b', '\x28', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x28', '\x76', '\x6f', '\x69', '\x64', '\x29', '\x28', '\x30', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x48', '\x45', '\x43', '\x4b', '\x5f', '\x46', '\x41', '\x4c', '\x53', '\x45', '\x28', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x28', '\x76', '\x6f', '\x69', '\x64', '\x29', '\x28', '\x30', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x48', '\x45', '\x43', '\x4b', '\x45', '\x44', '\x5f', '\x49', '\x46', '\x28', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x69', '\x66', '\x20', '\x28', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x48', '\x45', '\x43', '\x4b', '\x45', '\x44', '\x5f', '\x45', '\x4c', '\x53', '\x45', '\x28', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x69', '\x66', '\x20', '\x28', '\x21', '\x28', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x29', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x48', '\x45', '\x43', '\x4b', '\x5f', '\x4e', '\x4f', '\x46', '\x41', '\x49', '\x4c', '\x28', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x28', '\x76', '\x6f', '\x69', '\x64', '\x29', '\x28', '\x30', '\x29', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x48', '\x45', '\x43', '\x4b', '\x5f', '\x54', '\x48', '\x52', '\x4f', '\x57', '\x53', '\x28', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x20', '\x28', '\x76', '\x6f', '\x69', '\x64', '\x29', '\x28', '\x30', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x48', '\x45', '\x43', '\x4b', '\x5f', '\x54', '\x48', '\x52', '\x4f', '\x57', '\x53', '\x5f', '\x41', '\x53', '\x28', '\x20', '\x65', '\x78', '\x70', '\x72', '\x2c', '\x20', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x54', '\x79', '\x70', '\x65', '\x20', '\x29', '\x20', '\x28', '\x76', '\x6f', '\x69', '\x64', '\x29', '\x28', '\x30', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x48', '\x45', '\x43', '\x4b', '\x5f', '\x54', '\x48', '\x52', '\x4f', '\x57', '\x53', '\x5f', '\x57', '\x49', '\x54', '\x48', '\x28', '\x20', '\x65', '\x78', '\x70', '\x72', '\x2c', '\x20', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x20', '\x29', '\x20', '\x28', '\x76', '\x6f', '\x69', '\x64', '\x29', '\x28', '\x30', '\x29', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x20', '\x21', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x44', '\x49', '\x53', '\x41', '\x42', '\x4c', '\x45', '\x5f', '\x4d', '\x41', '\x54', '\x43', '\x48', '\x45', '\x52', '\x53', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x48', '\x45', '\x43', '\x4b', '\x5f', '\x54', '\x48', '\x52', '\x4f', '\x57', '\x53', '\x5f', '\x4d', '\x41', '\x54', '\x43', '\x48', '\x45', '\x53', '\x28', '\x20', '\x65', '\x78', '\x70', '\x72', '\x2c', '\x20', '\x65', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x54', '\x79', '\x70', '\x65', '\x2c', '\x20', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x20', '\x29', '\x20', '\x28', '\x76', '\x6f', '\x69', '\x64', '\x29', '\x28', '\x30', '\x29', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x20', '\x2f', '\x2f', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x44', '\x49', '\x53', '\x41', '\x42', '\x4c', '\x45', '\x5f', '\x4d', '\x41', '\x54', '\x43', '\x48', '\x45', '\x52', '\x53', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x48', '\x45', '\x43', '\x4b', '\x5f', '\x4e', '\x4f', '\x54', '\x48', '\x52', '\x4f', '\x57', '\x28', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x28', '\x76', '\x6f', '\x69', '\x64', '\x29', '\x28', '\x30', '\x29', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x20', '\x21', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x28', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x44', '\x49', '\x53', '\x41', '\x42', '\x4c', '\x45', '\x5f', '\x4d', '\x41', '\x54', '\x43', '\x48', '\x45', '\x52', '\x53', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x48', '\x45', '\x43', '\x4b', '\x5f', '\x54', '\x48', '\x41', '\x54', '\x28', '\x20', '\x61', '\x72', '\x67', '\x2c', '\x20', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x20', '\x29', '\x20', '\x28', '\x76', '\x6f', '\x69', '\x64', '\x29', '\x28', '\x30', '\x29', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x52', '\x45', '\x51', '\x55', '\x49', '\x52', '\x45', '\x5f', '\x54', '\x48', '\x41', '\x54', '\x28', '\x20', '\x61', '\x72', '\x67', '\x2c', '\x20', '\x6d', '\x61', '\x74', '\x63', '\x68', '\x65', '\x72', '\x20', '\x29', '\x20', '\x28', '\x76', '\x6f', '\x69', '\x64', '\x29', '\x28', '\x30', '\x29', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x20', '\x2f', '\x2f', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x44', '\x49', '\x53', '\x41', '\x42', '\x4c', '\x45', '\x5f', '\x4d', '\x41', '\x54', '\x43', '\x48', '\x45', '\x52', '\x53', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x49', '\x4e', '\x46', '\x4f', '\x28', '\x20', '\x6d', '\x73', '\x67', '\x20', '\x29', '\x20', '\x28', '\x76', '\x6f', '\x69', '\x64', '\x29', '\x28', '\x30', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x55', '\x4e', '\x53', '\x43', '\x4f', '\x50', '\x45', '\x44', '\x5f', '\x49', '\x4e', '\x46', '\x4f', '\x28', '\x20', '\x6d', '\x73', '\x67', '\x20', '\x29', '\x20', '\x28', '\x76', '\x6f', '\x69', '\x64', '\x29', '\x28', '\x30', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x57', '\x41', '\x52', '\x4e', '\x28', '\x20', '\x6d', '\x73', '\x67', '\x20', '\x29', '\x20', '\x28', '\x76', '\x6f', '\x69', '\x64', '\x29', '\x28', '\x30', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x50', '\x54', '\x55', '\x52', '\x45', '\x28', '\x20', '\x6d', '\x73', '\x67', '\x20', '\x29', '\x20', '\x28', '\x76', '\x6f', '\x69', '\x64', '\x29', '\x28', '\x30', '\x29', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x28', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x43', '\x41', '\x53', '\x45', '\x5f', '\x4e', '\x4f', '\x5f', '\x52', '\x45', '\x47', '\x49', '\x53', '\x54', '\x52', '\x41', '\x54', '\x49', '\x4f', '\x4e', '\x28', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x55', '\x4e', '\x49', '\x51', '\x55', '\x45', '\x5f', '\x4e', '\x41', '\x4d', '\x45', '\x28', '\x20', '\x5f', '\x5f', '\x5f', '\x5f', '\x43', '\x5f', '\x41', '\x5f', '\x54', '\x5f', '\x43', '\x5f', '\x48', '\x5f', '\x5f', '\x5f', '\x5f', '\x54', '\x5f', '\x45', '\x5f', '\x53', '\x5f', '\x54', '\x5f', '\x5f', '\x5f', '\x5f', '\x20', '\x29', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x28', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x43', '\x41', '\x53', '\x45', '\x5f', '\x4e', '\x4f', '\x5f', '\x52', '\x45', '\x47', '\x49', '\x53', '\x54', '\x52', '\x41', '\x54', '\x49', '\x4f', '\x4e', '\x28', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x55', '\x4e', '\x49', '\x51', '\x55', '\x45', '\x5f', '\x4e', '\x41', '\x4d', '\x45', '\x28', '\x20', '\x5f', '\x5f', '\x5f', '\x5f', '\x43', '\x5f', '\x41', '\x5f', '\x54', '\x5f', '\x43', '\x5f', '\x48', '\x5f', '\x5f', '\x5f', '\x5f', '\x54', '\x5f', '\x45', '\x5f', '\x53', '\x5f', '\x54', '\x5f', '\x5f', '\x5f', '\x5f', '\x20', '\x29', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x5f', '\x41', '\x53', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x28', '\x20', '\x6d', '\x65', '\x74', '\x68', '\x6f', '\x64', '\x2c', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x52', '\x45', '\x47', '\x49', '\x53', '\x54', '\x45', '\x52', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x28', '\x20', '\x46', '\x75', '\x6e', '\x63', '\x74', '\x69', '\x6f', '\x6e', '\x2c', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x28', '\x76', '\x6f', '\x69', '\x64', '\x29', '\x28', '\x30', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x53', '\x45', '\x43', '\x54', '\x49', '\x4f', '\x4e', '\x28', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x44', '\x59', '\x4e', '\x41', '\x4d', '\x49', '\x43', '\x5f', '\x53', '\x45', '\x43', '\x54', '\x49', '\x4f', '\x4e', '\x28', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x46', '\x41', '\x49', '\x4c', '\x28', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x28', '\x76', '\x6f', '\x69', '\x64', '\x29', '\x28', '\x30', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x46', '\x41', '\x49', '\x4c', '\x5f', '\x43', '\x48', '\x45', '\x43', '\x4b', '\x28', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x28', '\x76', '\x6f', '\x69', '\x64', '\x29', '\x28', '\x30', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x53', '\x55', '\x43', '\x43', '\x45', '\x45', '\x44', '\x28', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x28', '\x76', '\x6f', '\x69', '\x64', '\x29', '\x28', '\x30', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x41', '\x4e', '\x4f', '\x4e', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x28', '\x29', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x43', '\x41', '\x53', '\x45', '\x5f', '\x4e', '\x4f', '\x5f', '\x52', '\x45', '\x47', '\x49', '\x53', '\x54', '\x52', '\x41', '\x54', '\x49', '\x4f', '\x4e', '\x28', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x55', '\x4e', '\x49', '\x51', '\x55', '\x45', '\x5f', '\x4e', '\x41', '\x4d', '\x45', '\x28', '\x20', '\x5f', '\x5f', '\x5f', '\x5f', '\x43', '\x5f', '\x41', '\x5f', '\x54', '\x5f', '\x43', '\x5f', '\x48', '\x5f', '\x5f', '\x5f', '\x5f', '\x54', '\x5f', '\x45', '\x5f', '\x53', '\x5f', '\x54', '\x5f', '\x5f', '\x5f', '\x5f', '\x20', '\x29', '\x29', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x6e', '\x64', '\x65', '\x66', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x54', '\x52', '\x41', '\x44', '\x49', '\x54', '\x49', '\x4f', '\x4e', '\x41', '\x4c', '\x5f', '\x4d', '\x53', '\x56', '\x43', '\x5f', '\x50', '\x52', '\x45', '\x50', '\x52', '\x4f', '\x43', '\x45', '\x53', '\x53', '\x4f', '\x52', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x28', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x5f', '\x4e', '\x4f', '\x5f', '\x52', '\x45', '\x47', '\x49', '\x53', '\x54', '\x52', '\x41', '\x54', '\x49', '\x4f', '\x4e', '\x28', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x5f', '\x53', '\x49', '\x47', '\x28', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x5f', '\x53', '\x49', '\x47', '\x5f', '\x4e', '\x4f', '\x5f', '\x52', '\x45', '\x47', '\x49', '\x53', '\x54', '\x52', '\x41', '\x54', '\x49', '\x4f', '\x4e', '\x28', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x28', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x5f', '\x4e', '\x4f', '\x5f', '\x52', '\x45', '\x47', '\x49', '\x53', '\x54', '\x52', '\x41', '\x54', '\x49', '\x4f', '\x4e', '\x28', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x5f', '\x53', '\x49', '\x47', '\x28', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x5f', '\x53', '\x49', '\x47', '\x5f', '\x4e', '\x4f', '\x5f', '\x52', '\x45', '\x47', '\x49', '\x53', '\x54', '\x52', '\x41', '\x54', '\x49', '\x4f', '\x4e', '\x28', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x20', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x50', '\x52', '\x4f', '\x44', '\x55', '\x43', '\x54', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x28', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x28', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x20', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x50', '\x52', '\x4f', '\x44', '\x55', '\x43', '\x54', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x5f', '\x53', '\x49', '\x47', '\x28', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x28', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x20', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x50', '\x52', '\x4f', '\x44', '\x55', '\x43', '\x54', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x28', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x28', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x20', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x50', '\x52', '\x4f', '\x44', '\x55', '\x43', '\x54', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x5f', '\x53', '\x49', '\x47', '\x28', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x28', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x20', '\x29', '\x0d', '\x0a', '\x23', '\x65', '\x6c', '\x73', '\x65', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x28', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x45', '\x58', '\x50', '\x41', '\x4e', '\x44', '\x5f', '\x56', '\x41', '\x52', '\x47', '\x53', '\x28', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x5f', '\x4e', '\x4f', '\x5f', '\x52', '\x45', '\x47', '\x49', '\x53', '\x54', '\x52', '\x41', '\x54', '\x49', '\x4f', '\x4e', '\x28', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x29', '\x20', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x5f', '\x53', '\x49', '\x47', '\x28', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x45', '\x58', '\x50', '\x41', '\x4e', '\x44', '\x5f', '\x56', '\x41', '\x52', '\x47', '\x53', '\x28', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x5f', '\x53', '\x49', '\x47', '\x5f', '\x4e', '\x4f', '\x5f', '\x52', '\x45', '\x47', '\x49', '\x53', '\x54', '\x52', '\x41', '\x54', '\x49', '\x4f', '\x4e', '\x28', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x29', '\x20', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x28', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x45', '\x58', '\x50', '\x41', '\x4e', '\x44', '\x5f', '\x56', '\x41', '\x52', '\x47', '\x53', '\x28', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x5f', '\x4e', '\x4f', '\x5f', '\x52', '\x45', '\x47', '\x49', '\x53', '\x54', '\x52', '\x41', '\x54', '\x49', '\x4f', '\x4e', '\x28', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x20', '\x29', '\x20', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x5f', '\x53', '\x49', '\x47', '\x28', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x45', '\x58', '\x50', '\x41', '\x4e', '\x44', '\x5f', '\x56', '\x41', '\x52', '\x47', '\x53', '\x28', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x5f', '\x53', '\x49', '\x47', '\x5f', '\x4e', '\x4f', '\x5f', '\x52', '\x45', '\x47', '\x49', '\x53', '\x54', '\x52', '\x41', '\x54', '\x49', '\x4f', '\x4e', '\x28', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x20', '\x29', '\x20', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x50', '\x52', '\x4f', '\x44', '\x55', '\x43', '\x54', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x28', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x28', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x20', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x50', '\x52', '\x4f', '\x44', '\x55', '\x43', '\x54', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x5f', '\x53', '\x49', '\x47', '\x28', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x28', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x20', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x50', '\x52', '\x4f', '\x44', '\x55', '\x43', '\x54', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x28', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x28', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x20', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x50', '\x52', '\x4f', '\x44', '\x55', '\x43', '\x54', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x5f', '\x53', '\x49', '\x47', '\x28', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x54', '\x45', '\x4d', '\x50', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x5f', '\x43', '\x41', '\x53', '\x45', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x28', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x5f', '\x5f', '\x56', '\x41', '\x5f', '\x41', '\x52', '\x47', '\x53', '\x5f', '\x5f', '\x20', '\x29', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x53', '\x54', '\x41', '\x54', '\x49', '\x43', '\x5f', '\x52', '\x45', '\x51', '\x55', '\x49', '\x52', '\x45', '\x28', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x28', '\x76', '\x6f', '\x69', '\x64', '\x29', '\x28', '\x30', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x53', '\x54', '\x41', '\x54', '\x49', '\x43', '\x5f', '\x52', '\x45', '\x51', '\x55', '\x49', '\x52', '\x45', '\x5f', '\x46', '\x41', '\x4c', '\x53', '\x45', '\x28', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x28', '\x76', '\x6f', '\x69', '\x64', '\x29', '\x28', '\x30', '\x29', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x52', '\x41', '\x4e', '\x53', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x45', '\x58', '\x43', '\x45', '\x50', '\x54', '\x49', '\x4f', '\x4e', '\x28', '\x20', '\x73', '\x69', '\x67', '\x6e', '\x61', '\x74', '\x75', '\x72', '\x65', '\x20', '\x29', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x52', '\x41', '\x4e', '\x53', '\x4c', '\x41', '\x54', '\x45', '\x5f', '\x45', '\x58', '\x43', '\x45', '\x50', '\x54', '\x49', '\x4f', '\x4e', '\x5f', '\x4e', '\x4f', '\x5f', '\x52', '\x45', '\x47', '\x28', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x55', '\x4e', '\x49', '\x51', '\x55', '\x45', '\x5f', '\x4e', '\x41', '\x4d', '\x45', '\x28', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x69', '\x6e', '\x74', '\x65', '\x72', '\x6e', '\x61', '\x6c', '\x5f', '\x45', '\x78', '\x63', '\x65', '\x70', '\x74', '\x69', '\x6f', '\x6e', '\x54', '\x72', '\x61', '\x6e', '\x73', '\x6c', '\x61', '\x74', '\x6f', '\x72', '\x20', '\x29', '\x2c', '\x20', '\x73', '\x69', '\x67', '\x6e', '\x61', '\x74', '\x75', '\x72', '\x65', '\x20', '\x29', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x22', '\x42', '\x44', '\x44', '\x2d', '\x73', '\x74', '\x79', '\x6c', '\x65', '\x22', '\x20', '\x63', '\x6f', '\x6e', '\x76', '\x65', '\x6e', '\x69', '\x65', '\x6e', '\x63', '\x65', '\x20', '\x77', '\x72', '\x61', '\x70', '\x70', '\x65', '\x72', '\x73', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x53', '\x43', '\x45', '\x4e', '\x41', '\x52', '\x49', '\x4f', '\x28', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x43', '\x41', '\x53', '\x45', '\x5f', '\x4e', '\x4f', '\x5f', '\x52', '\x45', '\x47', '\x49', '\x53', '\x54', '\x52', '\x41', '\x54', '\x49', '\x4f', '\x4e', '\x28', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x55', '\x4e', '\x49', '\x51', '\x55', '\x45', '\x5f', '\x4e', '\x41', '\x4d', '\x45', '\x28', '\x20', '\x5f', '\x5f', '\x5f', '\x5f', '\x43', '\x5f', '\x41', '\x5f', '\x54', '\x5f', '\x43', '\x5f', '\x48', '\x5f', '\x5f', '\x5f', '\x5f', '\x54', '\x5f', '\x45', '\x5f', '\x53', '\x5f', '\x54', '\x5f', '\x5f', '\x5f', '\x5f', '\x20', '\x29', '\x20', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x53', '\x43', '\x45', '\x4e', '\x41', '\x52', '\x49', '\x4f', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x28', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x2c', '\x20', '\x2e', '\x2e', '\x2e', '\x20', '\x29', '\x20', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x54', '\x45', '\x53', '\x54', '\x43', '\x41', '\x53', '\x45', '\x5f', '\x4d', '\x45', '\x54', '\x48', '\x4f', '\x44', '\x5f', '\x4e', '\x4f', '\x5f', '\x52', '\x45', '\x47', '\x49', '\x53', '\x54', '\x52', '\x41', '\x54', '\x49', '\x4f', '\x4e', '\x28', '\x49', '\x4e', '\x54', '\x45', '\x52', '\x4e', '\x41', '\x4c', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x55', '\x4e', '\x49', '\x51', '\x55', '\x45', '\x5f', '\x4e', '\x41', '\x4d', '\x45', '\x28', '\x20', '\x5f', '\x5f', '\x5f', '\x5f', '\x43', '\x5f', '\x41', '\x5f', '\x54', '\x5f', '\x43', '\x5f', '\x48', '\x5f', '\x5f', '\x5f', '\x5f', '\x54', '\x5f', '\x45', '\x5f', '\x53', '\x5f', '\x54', '\x5f', '\x5f', '\x5f', '\x5f', '\x20', '\x29', '\x2c', '\x20', '\x63', '\x6c', '\x61', '\x73', '\x73', '\x4e', '\x61', '\x6d', '\x65', '\x20', '\x29', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x47', '\x49', '\x56', '\x45', '\x4e', '\x28', '\x20', '\x64', '\x65', '\x73', '\x63', '\x20', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x41', '\x4e', '\x44', '\x5f', '\x47', '\x49', '\x56', '\x45', '\x4e', '\x28', '\x20', '\x64', '\x65', '\x73', '\x63', '\x20', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x57', '\x48', '\x45', '\x4e', '\x28', '\x20', '\x64', '\x65', '\x73', '\x63', '\x20', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x41', '\x4e', '\x44', '\x5f', '\x57', '\x48', '\x45', '\x4e', '\x28', '\x20', '\x64', '\x65', '\x73', '\x63', '\x20', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x54', '\x48', '\x45', '\x4e', '\x28', '\x20', '\x64', '\x65', '\x73', '\x63', '\x20', '\x29', '\x0d', '\x0a', '\x23', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x20', '\x41', '\x4e', '\x44', '\x5f', '\x54', '\x48', '\x45', '\x4e', '\x28', '\x20', '\x64', '\x65', '\x73', '\x63', '\x20', '\x29', '\x0d', '\x0a', '\x0d', '\x0a', '\x75', '\x73', '\x69', '\x6e', '\x67', '\x20', '\x43', '\x61', '\x74', '\x63', '\x68', '\x3a', '\x3a', '\x44', '\x65', '\x74', '\x61', '\x69', '\x6c', '\x3a', '\x3a', '\x41', '\x70', '\x70', '\x72', '\x6f', '\x78', '\x3b', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x20', '\x2f', '\x2f', '\x20', '\x21', '\x20', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x43', '\x4f', '\x4e', '\x46', '\x49', '\x47', '\x5f', '\x49', '\x4d', '\x50', '\x4c', '\x5f', '\x4f', '\x4e', '\x4c', '\x59', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x73', '\x74', '\x61', '\x72', '\x74', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x72', '\x65', '\x65', '\x6e', '\x61', '\x62', '\x6c', '\x65', '\x5f', '\x77', '\x61', '\x72', '\x6e', '\x69', '\x6e', '\x67', '\x73', '\x2e', '\x68', '\x0d', '\x0a', '\x0d', '\x0a', '\x0d', '\x0a', '\x23', '\x69', '\x66', '\x64', '\x65', '\x66', '\x20', '\x5f', '\x5f', '\x63', '\x6c', '\x61', '\x6e', '\x67', '\x5f', '\x5f', '\x0d', '\x0a', '\x23', '\x20', '\x20', '\x20', '\x20', '\x69', '\x66', '\x64', '\x65', '\x66', '\x20', '\x5f', '\x5f', '\x49', '\x43', '\x43', '\x20', '\x2f', '\x2f', '\x20', '\x69', '\x63', '\x70', '\x63', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x73', '\x20', '\x74', '\x68', '\x65', '\x20', '\x5f', '\x5f', '\x63', '\x6c', '\x61', '\x6e', '\x67', '\x5f', '\x5f', '\x20', '\x6d', '\x61', '\x63', '\x72', '\x6f', '\x0d', '\x0a', '\x23', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x72', '\x61', '\x67', '\x6d', '\x61', '\x20', '\x77', '\x61', '\x72', '\x6e', '\x69', '\x6e', '\x67', '\x28', '\x70', '\x6f', '\x70', '\x29', '\x0d', '\x0a', '\x23', '\x20', '\x20', '\x20', '\x20', '\x65', '\x6c', '\x73', '\x65', '\x0d', '\x0a', '\x23', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x20', '\x70', '\x72', '\x61', '\x67', '\x6d', '\x61', '\x20', '\x63', '\x6c', '\x61', '\x6e', '\x67', '\x20', '\x64', '\x69', '\x61', '\x67', '\x6e', '\x6f', '\x73', '\x74', '\x69', '\x63', '\x20', '\x70', '\x6f', '\x70', '\x0d', '\x0a', '\x23', '\x20', '\x20', '\x20', '\x20', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x23', '\x65', '\x6c', '\x69', '\x66', '\x20', '\x64', '\x65', '\x66', '\x69', '\x6e', '\x65', '\x64', '\x20', '\x5f', '\x5f', '\x47', '\x4e', '\x55', '\x43', '\x5f', '\x5f', '\x0d', '\x0a', '\x23', '\x20', '\x20', '\x20', '\x20', '\x70', '\x72', '\x61', '\x67', '\x6d', '\x61', '\x20', '\x47', '\x43', '\x43', '\x20', '\x64', '\x69', '\x61', '\x67', '\x6e', '\x6f', '\x73', '\x74', '\x69', '\x63', '\x20', '\x70', '\x6f', '\x70', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x0d', '\x0a', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x5f', '\x72', '\x65', '\x65', '\x6e', '\x61', '\x62', '\x6c', '\x65', '\x5f', '\x77', '\x61', '\x72', '\x6e', '\x69', '\x6e', '\x67', '\x73', '\x2e', '\x68', '\x0d', '\x0a', '\x2f', '\x2f', '\x20', '\x65', '\x6e', '\x64', '\x20', '\x63', '\x61', '\x74', '\x63', '\x68', '\x2e', '\x68', '\x70', '\x70', '\x0d', '\x0a', '\x23', '\x65', '\x6e', '\x64', '\x69', '\x66', '\x20', '\x2f', '\x2f', '\x20', '\x54', '\x57', '\x4f', '\x42', '\x4c', '\x55', '\x45', '\x43', '\x55', '\x42', '\x45', '\x53', '\x5f', '\x53', '\x49', '\x4e', '\x47', '\x4c', '\x45', '\x5f', '\x49', '\x4e', '\x43', '\x4c', '\x55', '\x44', '\x45', '\x5f', '\x43', '\x41', '\x54', '\x43', '\x48', '\x5f', '\x48', '\x50', '\x50', '\x5f', '\x49', '\x4e', '\x43', '\x4c', '\x55', '\x44', '\x45', '\x44', '\x0d', '\x0a', '\x0d', '\x0a', '\x00' -}; -const char* const catch2_embedded_single_header_str = bytes; - -} diff --git a/src/dds/catch2_embedded.generated.cpp b/src/dds/catch2_embedded.generated.cpp new file mode 100644 index 00000000..610bcaea --- /dev/null +++ b/src/dds/catch2_embedded.generated.cpp @@ -0,0 +1,87 @@ + +#include "./catch2_embedded.hpp" + +#include +#include + +using namespace neo::literals; + +namespace dds::detail { + +static const neo::const_buffer catch2_gzip_bufs[] + = { + "\037\213\010\000\326j\352_\002\377\354}\177\177\333\266\361\360\377~\025\210\363\231K%\262c']\333\331\216\276\217\342(\2117G\366$\271i\327u,-Q6\027\211\324H\312\216\347z\257\375\271\303/\002\040H\221\262\234&m\334:\226H\340p8\034\016w\207\303\341\311\2435\362\210\220\003/\035^\220\313\247[;\317\266\236\321'\257\375\320\217\275\324\037\355\222\247\333O\2677w\2667\237\355\220\235\357v\237n\357>\333\331\332\376\372\317O\277\375\232\226\334\\\372\207V\037\\\004\011\031\007\023\237\\x\0119\363\375\220L\375\370\334\037\221q\034M\311t>I\203\031\276\365\275\221\037'[\344d\342{\211OFQ\370UJ\374Q\220\022\370\177\024\304\3760\235\\\263\336D\263\35388\277H\2113lP\364\311\340*\"/&s\237\034\314\317\374\204\034\245\243-\322\236L\010-\226\220\330O\374\370\322\037mA}\012\342e\220\244qp6\007\002\220y\010\015\223\364\302'/\242(II?\032\247W^\354\223\243`\350\207\211\337$\337\003bA\024\022\240\313\026q\372\276O\274\3410\232\316\274\360:\010\317)@\332\303\243\303\203N\267\337qw\334\355\255\364CJ\242\230\014\001W\342\245\344\"Mg\273O\236\\]]m\235a+[Q|\376\304(\337\000HO\326\036\006c@hL\006\357\216_\034\235v\016N_t\372n\377\260\373\372\250\343\036v\017\216N_v\334\203\366\340\340\215\373\346\344D\365\010}F\222\353$\365\247.\343\210\265\207\376$\030\023\006t\004\365^wO\017\214j\257\017\016r\225\302Q0^3\272\347&\363\331\014x!qa|C\030\272d\353\242\000#\361\354\020@\003\220`8\033r\034\022\312*\2624\231z\3038b\350d\030q\370\316l\236\\4\212^\216\202\304;\233\370\273d\347\033\230z\337|\367\224\225\364'\300\376\320&m\334\254\313(4\012\274\363\020\270(\030\022laa\241\000>\304@\275\365\315w3o4\362G\353u\252$W\001\020o\323\017\347\323Z\365\206\321\245\017\0377y}\040\237\007\263\235\203`\003T0\270\264\005\040\301\013\177\350\315\201\032\275\316\337O\017{\035\040=L\350s\230\2550\342_%\004{\023\373!\214G\342'M\342\205#\0200\254\006\3402\231H88\356Q\214\223\375\222O\345hL\316\037?\006\231t\351\223(\234\\\223\263\371\371\371\265(H\3060u\335\023\332\305\244)\301\250\315\261\252i\004-\022\301V\000\377|\022\235y\223\311\365V\216A\213\206CB\\\307&P\270<\374\346\333\257)\006#?\365\202I\262V\006+\033\377\205m\315C\240\314h\363\322\213\003\344\273\365\312(r\216aC\006H\302\207\222\011\3650\033Q\207\011\201\203\343\356\253\303\327\040@\016\273\015\362\353\257\366\267\275\323n\267\323\243S@\223\040\207oO\216r\017y\235\366\321\021H\226\336\240\257N\370\303\220\316\320`:\233P\261\334$W>\314\2710\305\321\242\243\006\322\033p\306\2570T\004\206\000\226\010`\010\254\305\227!\204s\340\205\360>\241#\214\204\303\362\211\027\372\223\214MN\016\336$\305\375\225\3305\212\360\357\3740\350\364\272\355#\220\307\360\341U\373\240\323\307\242E\000_\036\366\333/@\236\277\305\207\040X\271d\231\323\365\242\264$\026\3443\216\202\177`\205\337\351\322J\007oz\307\335c\267?\350\301\362\361\266\3757>*\005](\252\2434\311\307\346aa\3038\306\356q\367\350\307\206)\261g\023/\205\2510\325\004u\373\344\004\232DA\035\204\303\311|\344\223\375\201\007:Ez\020AK)\314o\030\267\255\213\026\026\200\205\264\335{\335\031\270\307}\370\377\007\362\3749\331\311\015\307\311Q{\360\352\270\367\026\350\205\022\227\012\245\254\332\341\311\233\343ngAMV\010+\363\316\252\222\315\231\004\341\374\203\306\373\256[\370\314u\033\305\355\034\035vO\1770\301\277;\354>{j\200\242\317\000\224\366\324R\360m\377\000Wi\2436,\347\257\337\321\372\305\250\000\260\227\307\357\264\271\227I\006\313\300\351\363\231\2539\007G\355^[\225\020:\253\231o\335\356\361\300}\331yu\330E\235\247\254d\236\377\014\326\2029\035\273A\230\372\361\330\003y\200\210\206\336\324Of\360\215k\3147kl~%\040\016A\000@a\022\207\347\040\243GNco\355\326\350r\036\240\321b\352\235\273\336$\360\022\327\233\247\040^\317Q\013\365bl\331(\011\332\3454\012\355/f\040\323bw\350\315\274\263`\002\334\316P\207r/\375\024\224d\342\021X\250\317`\221\004\221&\212\223\261\357\245s\220\324d\223\234]\313\307Xk\000Ro\034M&\321\025\310\357\254\034*\300\234\035v\241\030\025\210\352\224=8>E\231EvI\0404\"\376H\350D\331\252\373\177\271\332\234u\334~\347\015\203\360.\010G\321UB\360AI\275\223\343\376\341\017\240\326\276\006\241\331\207\232\210%}Fp\210`\326\227U\026B\261\363\303A\347d\000Z)Bh\003\004\377\303\320\237\241\330H`4qid\225\037\031?\370\254\033\245t\325\237z0\320\360\013k\305.\012\231\320\277\202\307\347\347\023N:\272f\222\231\260e\206\363\251\217\013\320\205?E(A\010C\020\216\203\3639\330`\320\356\326t\324\204\352\221\265U\276\246\235S\213mB|\017\030\223\021\030-*\217\300\224p\367\371\270\021\344\340\026*\017\264\035\307\337:\337\322\211\000\2055\"6\310\325E\000\020\2712\312\306\222C\333B\030o\301\312\221l\321D[f\026\341D\210P\374\040\303\001\376M1\013a\311dk\031.j\014\313&\201%\024\200^#\260!\024\200\345\024\370\357\0149\253\011\364\336\004\025\013\340\202\216x\301\370\0100\244\035H\010\210\020?\336R5\364\331d\236\340\357\032_\307\034\345\031i=\007cp\347\353\355\247GT\2309\212\210\373\376\300=jw_7\310\306\006\311\276\2525l+\334\311\311\316\327\356q\317}\335\353\264\007\352\212V\334\372\267\333\317j\266Nk\024\264\376mA\353\231@{\347KE\324\273\214\002P\200#\240#Z-\250\015\037\240v\336\224J1\216\002\250\320\327\214\201\223\367\224\037\023\177r\351S\205\007\270\351|8dz\264P\231\250n\214\272a\200Z\025L\324\263I4|\257\351\032\227BSw\310\272E9^'\013\300\036\237\330\241\226\200\215f\010\265\014,L\256\343^\307}q\312Pv\266\266\266\032\304\301\021j\270\356\331<\230\244A\010\302<\004\331\036\246\356\014\210\360}\333\005\215\243\217T\3204\246\220\014\232\376\245\234\301\177\301E<\214\322l\040\321\333f\030\033\256\033\234M?L\3622\241\222\000\270\313\224\"O\036\221\3561\350\316\003g8\233\015Q\367\232\007#\320\241C?\331\234\305\321fz=\363\3212\0063\242I\200\257f3\376\255A}r\252\340/\234\040|J\270\257\217\216_\300\312*'\013\371\347\032\021?%SE\230\334\377\004\233\333\377\020\244\233i0\3657\025V\376\347:L\245%\2001\237\304&%M\006\252Q\2553`\300v\272\2037\235~\347N\035R\374\034\264\033\325\032?\355\236\366;/\357\322\256\341\363\250\321\366?:\275c\340\240\336a\373\345\341\301]P8\017\347\233\377\365\201\307(\022\243`\270I\365\242M`.\252\025.A\220A\347-Za\235\025P\006\345\040\352Y\002\011\312\347\314\375(\374\241\040\011V\373\303V\203\004z\017\022\015\024\3120\0127\205\001\040\354F\251\311\303\022\222\004\037\244~\017\326\013w$\332\374\011\246m\332\240dyh\247\252\315\246Pt\253\325\367\031\224\265\367atE\227\012\020(\227A\034\205\224\003\250\344L\243\314\3758\007\351\256\3315\206*p\360\343k\350\241i\335\273\177\357\376\220{\326\001\003\277wx2\350\344\213\277\374\353\353\223\023\224\272\213\211d\232\015\252\212\302t\363\343\376\327\333\333\3021_\310\311\205\340l\265\244\251yt|\332\203:\350_\271\307\341i\207\243\030Uh\034\236\013\034&\364!\203\361\346\263\361\021\203CW\3214r\331Bj\014L\273\373\262w|\370r\301R\226Q\001\265\374\035w\040\010w\3340\203\336\205\276?J\330\364\275\212\342\367^\034\201\315\311vK3k\013\30107\327\240\007\3123zZ\333G\330\255m2\365=\230\360\350,E\377'\220\027}Lj\013\205uwx\335h2\322\320C\335\261\010V\316\374\224.)h\345\215\027\216`\234\250\213\014\275a\040\357\020,\372\300\241;\323\344r\310\310\250A01\263\271\372\264\327\322\343\247>\025\332N\351\010)\025\030\004`\345\223\336\361\001\360\363qO\331C'|\320\324\012rH\015E^\221\010|j\032>\246^\007\214\275^\273;\260\357\021\341\350t\250\207\234x\311u8$\234\326\324\227\343%ds\226^\304\2767Bg@2\363\207\3018@\037\007\360M\204\036q1f\040]\337S\027\013F\346\2605\0140.\245\006J\323v\377\307\356\201\265\017\367\262\364\342\262\202\243\177\345S\217>\3373\0311O\365\3468\2146\225}\003\364\322@O.\275\011\250F\206j\221\3557\030\372\367p6s3\030\372K\220\352\247]\234\245%\322N\356\"\013\370|7\366\345\275\352$\324j\310T\022nD,\304\022\265\273\2037\355\236\266,\211\312\367\202hgz\346\305C\334\317\217piz1\017&#ch^\034\367\216@\241>\250f\004\235\034\037\375\370\352\360\350\310=\354w\333\335\373#2]\221@\311\241^\320lW-H\324H\223\321<\246~D\364\006z0\253\256\223\000\235\240\224u\217\200\237\236\264g\263\003|\211{\014[O\267>P\277>\312I?\316\266\004\014\370\270\316IU\0365**$Ghu\007)\325\261\216A\363\212\257\002\250\212vA\026X#\266\0243\263@\354\020\262]\040\254{6O1\222\"\346\226\325\224\306\360\211\310\214t\036\207\030\352\027\215\307t\220\034Up\377\2653x\321k\037\002\207\037\276\354p;6\3674\333P\331\336>\"U\006\224\243x\277#\331\033\374\200\244\365\230D\004\361\247\304\040\011m\203\272A\2508\204\367\250co1\367+\202@=9\361`\271N|\272e\247n\033#\000\332\240\300\002\001li3\344\264\373\022X\2437\350\353\242\013\272\364\315\327\356\213\323\303\243\227\025\235\007\252\276Q\251\002\023\366\371\242%>\001\315\037d\352\341\030\012\363\006\326\310\235\306Zy\333\314{\013\026\336\017\203\366+\2359\310\367^\034D\240\373\203\361\000&\204\344tj\201\3601\342\013\032p\347\205\227\270<>\305\220:\312\033$\237\272\3300\033\307\275\014@EB\246\271\364\202\011[oa\362\316\351\026-\324@p\032\030g_\251\330\322\014\022\373n\"\266\273XKd\265\230]\341~\177\330y\207\26589t\274\243\031_\333K\220\246\272\224\201\266\250\267j\234\217O\270&D\253(+\316\035Z7\272|v\235\372u\273;\004\316\201fj\365V\3068\211\312\362\005\333\022\237\271\300\213.\305\246E\266\305\313JTz\361\343\240#*\260a-%W-\354\015jQ\347w\230\326%\030\257V\217`\266MSjh\211\257S\357\337Q\014\013\306>\371\256\221Y\347\270\017\010F\015\341V\015\363\236\237\315\317\231\306'}\006\322\315\000\257\222\255\311\344rJ\035\015\311Et\345\302\243"_buf, + "\255\341y\360\177\301\350\371\263\235\357\376\374T\003>F7\366E4\237`\230*\335\257\244-|\327Tm)x\234\265\364\335\326\323l<3>\010\222\350\233\257\277i)\257\264\335x.\370\\\273_\242\3279\352\264\373\035N\020\343)P\344/\215\014\256\335\342\344>\207o\331\356Hw\220\225\247\306gQm;\013\346a\010\346\273\207\036\351\370\325\307\316\202[\025\376*\231R\265\370\373\241\245}m-\261\304\242\026\250<\372\016lnx\027\026\022%T'\237\255\200X=\027#\246h\010\345\310U+\270\240T\271\212R\334-\213\203Z(j\250\236\203\222\225mPeZ6\232\220\312~\327<\004I\220)\314h]\322M\256M\266\331\263I\317\226\244\001J\310\014\332V\005\032\032\221]\225\272\275\260N\375\242z\271BZZ7\224\352S3#$\225\323aD\256\206\027^\354f\036;$\360\277\347\011(g\236\026\355\267e\333B,\262[\0270\345\202\"\354}1[)\226\361ZE\254\014\277\357\202\031]\271\260Y\262\304\363h\356]Y\242\226\252\350h\2131\257T\326(X\024so\350\207u\221V\224\341*xW+\236/[\216\275\252\221\327\355\000_\322\252\040\277\270\250^\256\034i\261\226\326E\030\225\324*\330.(\247\024*\307\223*\305\305HJ\247\333I\247w\370\266\323\035\000\276\275\316\313\303^\347`\260\330Wg\3338\\L\010\245VE\251\276\240F\355\202J\251\"\352\025um\001\262y\357e\011\036\371\020\356Bt\362Ek\020\\\367\364-Z\025+\2265\012\026!^\340e\\\214\264\364\2217H5&\341\205\313:\247\300,,\226\225)\352\222\351\275\257\322\0333\316\241\034\317\032\245sE\013O\227\025EZ,F\336t\"\225#_\243t\256h\021\362en\254\316\245\037\362\235\015\276\325\216\201\2534\034<;1\202\241\266T\277\342\333\245\364\030\035s\334b\3049u.F\302\325H\003g\361H\002\323\310X\224?=4\007\012\034\003;\362\313\325\255\342\215`\213\332T\241\226jy\024\267Y\260]\\\336dA\245J-\226\305U\226\266ZV\261V\313fxj\245V\315J\265Z4\3028+5h\324\251\325\236=t\263R\263\366\252\352\344\301\363R\347\2217\221\301\354\214\361\203$;\203\341c\004\267\014dG\366\227\261\236\324S\317\016u\211\231\244O;\234m\030\025\016\023\013\354\277)n\351$0\301\266\266\312g\217\021\034]\326W[\034u\301\211\003~\320Rw\273\270\336l6\361i\304\365\310\345{\031\305\016\220\235m\206\213zH\265z\\\253q\316q\241\273\345\317wll\261\326\262\020J\035\356.G\241\272\006\244\2656\350\375H\017'9i<\367\033\346[\366o\373\350\210\225\031{\223\244\260P\367\270\353``|\303(\313bLr\215\246\361uac\364\364\"\341\274V\336\026/J\277\324XrK\343%\312\327\337e\253\226\327[\263n\\-\010\353\260\035\245-:\363)\340g\224\240\015\235v\017\377~\332q\273\355\267\035<-\334y\352\320S\201M\026\324\326\240_\036>\304/U!\030\000\352\265\247\237\3765\275\203r\246\024\003e\340\026\267+\232U\267\264%\263\336K;\370\2157\"\270T\370\350\203(\031_\215Z\312\023\266A\247>\301\355\224\040L[\342\040\037\006W\201\"5\232O\247\327<\221\004\301\255x/\215\342\375}\006`z\361\265z\312\233`$\377$\362Fh\177(\315xg\360\002\014\226\367~\"\340L\242\350\375|\006\235\211f\030\263l\210q\226\377\002\343;\011\364U\002\312:\303b\361i\344\031\021\347\333\010\243I@\343j\3016\022\231v\242+Q\013~Z-\362\270O\313u\302Q\037Z\027\357\274\004\22690\215\274D/\235\244\363\361\330VG\310*\365\205\2622(\207^%)\036\013\276\226\243\215\177\304Q\270}T=\251.0h\321\027\003\311g\202\001\036\303\370\313\247\364\274n\323@\240\241\240\300g\014-\307[\304\344!\005qH\250U\034v_\035\363\203\003\273\273t$vwMq\341\272\257\016\321:C1\012\306\346\020\324\303$\335W\370\271\345(:\012\017t\327\264J\226b\244|\345\356\211,%\257\242x\340\235\2671}\211\237(\235\263\027\320\305=Mz\322\324\036\245\336y\321\204\231\210\357\312\242tK8\362&\203\032T\354u^\037\366Q\367\033\2641\001\323a\273\357\210\3261\374N\236\237\255~\012\301^~\301Y_\211\345\015\341\243W@\3072u\264=O#V\315\227UHC\353O\263\220y\032\040\220\213\372Z\344\277\322\031\2448[\215\231\326\306OR\227\277\277\266\344\254\311R\342\320\242\300\246>\313\012$\024\341K\037\017%\267\012\225H\246\370\015\240n\037\372\254\253(\207\370\3700\274\214\336\303\012p\223Sr\250?&\240\257\211\\\314\236\223m\213:\244B2\365\241\014\003\324d\3674\004\016h&\027\013VX\224\017\373\265\005\265\377\345\012\331\2644:\237\031\201\366E\371\226\230)\347~\332\236L\360qR\336\271\252P\3724\230\327\021\235\022%X\262\032\222kB\220\207\256\323A2\270\210\243\253\2767\006}L4\"\040\244\374{\263\010\364^\006\210\246`@\000e`\0047\250o\372tF\2246`'\004\250\0048\307(\035\313i%\020HV\214An(h#\013\206\003\345\2421i\355s\315L\203IW\303\330\037\353\323P\306\027\226\031\255y\303\026\332H\3748-\236\276O\360l-=\250\023]\341N\002\017r\345\223\312I\202i0\201\205!\215X\356!\350\363\005,N\254\240\\\273idkC\302cy\230.<%,\304\303\025\030J\366\3741\260\020\352C\030s=?\023k\377\230x!S\024\331\223\246\004\006\2264V\300\215\020\250\024\342\341k\240\"`\340\321,\026\231\000\310\032`\323y6?\233\004\303\314\342b\232"_buf, + "\022[}A\207\200\211\242,\307{F1:\230n\220JE\235M.\\$\037I\243.\270\004\034v\025e\006WzV\322\3770\213\265%\225\325O\\\252\271\003\274\365\365\002\015x\3522nx.\012+\352\260\304\035\012\301g6\327\325\316\342B,SI\004Q\230\265\040\221\222dr\026\030\032YA\015\277\330\273:\200\257\211b\247\250=\261\264c\255\336TzC\373R`\\rr8J\273\272\211\311H\341p\040v\0333CEU8\371\204\205G\254\300B\024d\311\255!NS\040`\021.\262\040\375\336(\300\013\350\004\203\206\307*\204\352\252&\201\021\002\375Fk\202\253\253jA\216_\2237\257\254S\2679\346\020-%\262\014\352\017\246=(gR\251\011G6[tM\330+\200\365\000`\331A\025A\262\367\365\201\363\210Z1\200\033\253\235\353`\256\355\237~&\216\302`A8\362?X\361\247\254\251\267\312$\246\303\352\354\347\211\252`\306)\377\023-\373s\031\335Q\372\216\010\036c\014\374\3042[(\366\005V})q\204$\3204\213\333\242\0268;\346\033\310hU\322\212\225\356\364\254;\026b\331\351\206\363\030\223\311\360%\215f\243\363\343-r\310\266\3322v`\347\231T((\33273\321\216\011\225b<\370BY}\024aR\277\354@\236>\354b:\262~\211ae\022'/\040\345\262\223\320\030\367\304\367\342\341\2052*J\217\2145\352'>\321X\347\036\223\211\037\236\247\027\215-\265\352\341\330xMZ\234\354\330#\237\345\277\315\240\002\035$TZ\252\000\332\"\040\224w\266t\262\260\002\352DPZb\0178\2126\226\220c\265Ww\260\337\352\353\365\246\271^K\004G^\3529\205\323R\033?\0133\007Iw\216\372\230\000^\177\346\320\311\313x;\363\225\225\314b\241\017\330f\260\2411\234\201\331\020f2\334ht\317:E\015\020\2408\026\002\000\356\342s\222C\022\332\276.\202\037?'\332\232\007\366\373E\322\314\013\370\004\245;\212\001\245\350\236\005^\221o\255\024\236(*\3145}\024%\354\365u\342&q\241\266\240\270\002\015}Ac\326\274gGY\375u\345C\2720\230\003#\347\274(C\224\353\352\313\242+\274F\006\326\034c\363\255\015q\323\266P\315\0063M\263r\354\336z\211@\257sp\312n\0028\352|\3379\332f\331\333\324\244\001\245\345wX\371\002X\365\036\253y\341r;\337F\351\247%\355\3568\365\036\327i\367YI\273O\235z\217\353\264\373uI\273\317\234z\217\353\264\373\347\222v\277v\352=6\332\265\356?/\330\205\267\357\025w~8iw_bt\320\353~\236\177E\356\014\226\"c\032\341I\003\031\007\224\224w\377\233\222\356\377\331\251\367\270\002\331;\254\271\"\\\012\036k\200\255A\040\025\240\353\370e\033\347&\034\267\323}i\213\026\301W\307\247\003\263F\347\355\311\340G\307,\374\262\363\252\323s\202Q\203\004#\243\240\005,f{\207V\237\302\202\270\335\3241).m\012&\011\245\270JA\215\035K\015\214\336\334v\320\221\323\004\276\372\000\377\322\272\370\321\240\207\275\356\216R\267\241\022\005\226X\243\025X=\034\242\266\264\335(\000\252\301\3145\230\353\227\002\324J\366\243\303>\364q\334$\037\232d\346\373\357y\037\233d\354|(\307\331a\305uP;\015\332\223\261\000\246\260\033i\0244\277\263\272\346\267\227h\376i\276yr/\275/\242\276{\372\022Q\300\324\014\250.\333h\241\274[\006-hAb\226\201\2521B\367\216\342\366]Q|\272\000E\3621\251H\323\031\316f\223@$t\237\207\324Y\307\203U\177\031\377\202\356V\232\010\231G\250\306>Z\277h\351\315\274\030\324T\260\020@\025\014BtT`\316\341\351\224^\337\225^\371\3344\344y\227ib\017\264qg\350\324H$^\304\343-\0071\330\026\022\246l\026\367d\206tm\244\020\224D\365\242\273\234\236@E\350\344Y\223\014\033bA\365\351\2162\314\020x\325h\262\017g\342\303\260h\200r\343\223[s;\316\242!U\250\334$N\003\377\313\377\335n\024N5\204\266\270Y,U\277%\253\266\262\343P\3227\354o\237\362\267\3450\270\022l\274\353\036?|hU\340\215r\300\340\326\372\360\274J\365\356q\276^QYv,\356\360\037\035k\203\362\355SC\007\0217\221\334YATZ\240\010<\254\320?Y\307}w8x\003K9\013\360\357\027\214[\326E\343E\257\363\366\370\373\216^YhiB5\305\334\013#\232\342\014\026\343\030\023\322\240)\212\223\227)\255b\177$\010\331}{(0p\276~\230a\231U\014\314\323\362\221yf\214\314\002h\317VGf\347Nt&\217\311N^\2315j\342\255Htg\277\177\322>\020\224\010\023\367a\025\374\365\312\016:\022\032\213\032\240\205\012\321\321;b\033\026!A\312'.\263\260V4\203h\027\006?\236t\270\040\244ha\226Q\364$:\347~\352^\305\336l\346\307\373e\275\001\325\263\253qR\313i4\2525i%\204\211U)%\313\314\244*\275-3:WC\211\273\220BCged\2526w$\350\276\373\252w\374\226~g\234\253\306\271\310\245\266\024D\323\340\340\012s\304\335\301\362\216\273\335(\237J\356v\243\032\274\247\034\036,\366;\213a6+!\267S\261\355gJ\333\360\373\364\316\355\363\3160`\325p\370\332\300\001~\237\335\031\217g\012\036\024`5\\\376l\301\005~\277\2763>_\033\370P\240\325p\372\246\000'\370\375\363\235\361\372\263\005/\012\270\032n\337\226\340\006\277\337\334\031\277o\012\360\243\300\253\341\370\335\002\034\341\367\333;\343\371m\011\236\264\201j\270\376\245\002\256\360\373\335\235\361\375n\001\276\264\221\212\362p\273\"\322\360\373\227;#\376\227\012\210\323\206*\"\277S\003y,\263}w\021\275]\261\013\254\271\302U\011\026\256.]\271\360*\305:=h\222.7?\273\205\300\351\012\011Z\303?\355!\321P\273%\202\034\007\360\354(\300\235\303\333\275\342\342\203\244\365O\333\246\234\242\3028\372\316\225\200\273?Hhsrc\362\006\017\003\231-Y1\244\341Z\032\256\274\230\200mA\271\024\320A\375^\030-\356\037T\351\215\322\366?\325\200Rl!\034\355U-\036\373\210T\215.6I!\254a\354C\235\245`\031\200\242\360\322\217S\016\351\237\2051\367\304\322\363\375\001R\216\005\316\361\320\272\001\236\0143\240\220\022\264\310\321\216\326\313\016~-+\376T/\256\177\355\371Ij\033\242\375\243\235\375\316\016\202i\002\204\375\316S\366\021\213\363\341\327:!\273m\324n\232\025ww\261\350*\272\\\257\017\222}\241\021ww7\364J:#\253eh\326A\366\040\342Wj.\030\227\000\367\023\224\027>\236\223\267\361\377~~\016\212&pt\360\001\255\213\300\363\354\225\253\243\024\256;\016\265\272&dN\007\233\323\307\217]\255\266lg;\002\377&\021\220\252\360\244\205\022\022R+\303\257\022\036j\273\214\245s\234]\040h\210\215`\257\202\320\2334\325A\260\012o\201\200NMD0\261\311\272}\016\266\270'\21119((+\033\231\304\244\240\367k\221-\341-)D+\225\010u(F*\315\260Ab\225\344\202N\312b]\271\377\312\"\337\322{S\250\232t\007\203\023w\307\241I\022\3616Z\246"_buf, + "\313\030\235/\325\321d\325\206T\014\272i:\313+\003U\241\324\324\011\260\261}\305\363`j\003E\274_\275W9\305\007\233\254\241\374\324n\250\276bd\303\310\256\034\221\005kH=d\255B\270&\01063\352q\207.\245\355\2757%\265\312#UV&\255|\351\342\364\211\323\254\372rW\237\220w^\3654*\347%\370B\214*,~\313-{\365g\355\222+by\027\357aU\\\320\340\242\225q\255xW\362\340\010\310\203\331g\335A\007#P\360\320U\227\356\230T\254\262#\2534IF\343;-$\374x\017=\264(\200;\225\021r\177\260at\247U\262\024\255\222\035_\005\204\375\330t\245\372\2178\340\314\250\372j\036\016Kh\224\031\325(k\330K\332Z\354\237\323\363\201\2166W[M\021\027\214\230\264\303\321\300;Oh\3202\377\314\341\337dW\332\361\362\374\250\262#\276c\212\001\3658\355\206@\226\265\323(<\267\334\314G&Ca\025\005.(o\253\221\311F\245\025\314\010\235\2109\265\356#\320Qm\356\343\221\323}\333\031\2749~\271]Y\320,\315\201J\274?\256Y\254\255\373\244*\002e8\300\362\001\337\313\210\252\240tgZ\336\223\314\256\312\241\277\015\235UT\356\217\334\271\0052\317\275\007\002t\243&\220\035\033\220J\242\030\252Q6\323\335\234\002\032\331-W\2253\204\3673H7\312%\243t\340\351\240/M\040m\275\263u\356n\226\367]\373m\030\320\313v]_\342M\326h\324\253XIe)\344\001\212xy\304\217\304kw7\223V\002\014\233BNM\234\357A_\274[\177\362R\301Yit\021\025\277\333\245o1^\306\026\367b\354\271\251\301\231v/\225\032_\362\271\224!\277e\241\245\001m\327d{\205\351\027\2174Y\247\031\016\327\215\200\334\212\363\253Y\265\034\371=\025\374m\210\263S\261\334vCa\200*\341\246\005\213\244}\211\\\035G\025\254\314\315\312\005\311\357\256\344oF\243\235\252\0055\346R\330\242\012\237\011\343@`\207K\321\352E\225\315\004\371Rh\205\205\266\253\225\252+\205$w\010\266`N\215{a\213/o5O\333\202\327\015e8\252\255'\332\262\364\021\324\221\037\376`%\356X`\241&qg\025\342^\306\334\334\014h..A>\351\"\013G\355\036z\274x\245\257=\370\371\003\031w30mq\254\315\012\201\247\315\305\341\265\315\305\241\303\315\305\321\320\315\305\201\335\315\305\261\351\315\305a\365\315\305'\001\232\213\017-4\027\237\253h\230Y\013J\016\3650\233Tq\212,\345o(;gS\327\027\361\331>\256Q\030f%1N^\255\320'P}4\276\370\013\3760\376\202\373s\030\254\236\335\2768\023~\247\316\204\025z\023V\315u_\374\003\237\266\247a\025\256\206{\345\231/oW\341\206X\221\037\342\276U\240/>\212\217\344\243X\225\223\342\336\225\224/\016\214\217\354\300\270\243\007c5&\353\027\357\306o\354\335h\330/\241\314ex52\300N\375\324\023\231_\345\325\020\030\360\342\246\261\027\244\211\365z\210\322[\227\304\221\304\311\225w\235\270\364\362Q\262\313\262\336\322/<\227\270\310J\234\017\230\227g`\360\"T\367<\300[\2579\000\372D\326WZ\013\022w\350M&x'\036\215\234\323.\225\3117A`\275\325\"\350I;>OZY\015\331\362\276\314\335\302\222\215\303\267Ko\262\017\365[NC\177FA8\015\234c\364\234\022\015\022\246\3210A\230*Y\342\355G\004\364\213\257\024J\251\200\020\266~\205\213\245o\3728(\224)\256RB\216<\030\354\274\203\005\020\233\026\014\215$Q~\024X8\320>\205\317\253\264\234\355F\203\215\277~k\361p6s'\301\231\013PX\2269\000Coq\265\277\"\255\347\344\351\366\316\267\333\317\304\205c\224r,\277\235\033\321<\362#`~\177\210\031\300\361\242\263\203\307\217w\276\245y\263b\177\032]\312\207O\267\267\310\033?\034\202\\\305\3139\345\005f0u&\300\366#r\025\244\027\014:\273\222\310e\215\220\013?\366\267Jh:\324\211z\332R\356e{\305S\373\261\244\351\003\345\332\021\206\034\2641\006\360\200\225\313o\007\343\317\207\227\342\201\206\214K\251\014-\236\322\223\033\255=\356\356\344}\371\233\357\317\010;`A\321\226\327\257\310\333\341\223\371l\026\201\\@*\355\254\262S\262\262\265w\373\326\327\303\313\334s>\254\264\227\316)\345=\3550\2168>\"\345\240=uw\366\000OF\337\250<\036z\371\344\331R>Z.\311\311\213\300\203\326Zv\345\024\017\237m'o\375\364\"\032\301Da\371\342mw_\321\310;\347`w\367\321\224\316\034Q\251\201wK\251\327\325X\000;Jm\243\256\232[|\227\350\240Y\332X\211]C\336?\242\334\275%\223\314\343\305\204q0R\357\2008\040\321\331\2773\251\346\300\267-\033\366<\217:Lwz\300\320\014.\246\3159\034q\301?\006\352\233-\215f\230\370\337J\373\342\006\026R\307lBO\273\036\372WL\326c\246\2758\272j\330\306a\377\240e\322\224\362\2238\321\251De3\340\312\023\313\315*\330)\027\246\217v\004\040W*\205\312F)\355\372\035\355\222\033\012\323|\206\020\366\350\370pDy880L\376\316^\031*\256\023\213qK\274\350f@\013\376t\272\034\307\214`M\215H\012\035\304#\263g\377\023\3704X\017J\256\033\\p1;\273\206\247(\271\012\250\337\007\355~\007/\035g\206{\257\215A\254\016\321l-yKa\311!\241*\255p\327_Ic\272#ZkW\271\302\260\340\347\237\332\225\027K\307sk!\334\266P\356\262Vo\367H\311OV\366\226,\3721\302\310E?d\034r)\301\301\252i\017:\314F\263\015\260\373T\245z\346\250\341\337\201%\201\245\265\010l\274\3747C\251\202\353\206\001,\245\271l\241Q\267;vNR{u\3002\277XY\253\274\227\244\026\323-\377\2433N6\261+\306\251\223\233e\232\271\313\326P\325\261\334\253\303\346\253\240\337\307i\245\356\306me\326g\274_\377T\201@li)\340\250\023\201\272PJ\231\245\232X)\273A\326\205\237\003\267\355Bm\367\015~\031\2700\227\335\023\367\210>\354\210G}\370\327\305\304\341\315U\202{\345\236\272](\312!\253\235\317\235\2041\023\230S:K\273\343cR]sc}\031\0229$rP\230Q\364\321\346\020N\370\262\021\325\027\224?\356\224R\350\260\272\251\264R\342\377QgV\321\310\374V3\252\310,\260kl\246]PmV\025+\214+\244\371\001}\336\207\377V?\236\004/\025)\320a3Q\271\312\271\266\362a\251;\337\376\230c\366\033\317B\233\204\255l;}\231\225\367\275\000\336\373(}\231\244\265WJu\252>Y\355O\025\267\332\323\372\336\272=\245\204\221\345\242?h\367\006\356\273v\257{\330\205\316\366OO@\256\364\361\302\274\222:\274\220\373\372\350\370E\373\250/\253\333=)zv\216\322\261\364X\231\040Ic/&\215\302L\036D\246\362\040u\223\317\344s\213\334h\203}K\032\230\372\357\311#\322=\006H\003\362\350I\031\365\216O\026\021oy\007\252\223\033\336b\226\250=C\0245\324\270\273\353#\3635\227(\355~&e\034\362\367\2717\011\306\201"_buf, + "?\022\016u\223\022\277\02366\372Y\312\315\353\033\353\344a\2160\037\207\237\177\023i\247\2568O\313\266\015~K\266\370h\273\020\271\215\007\375\301\362\354I*\210Y\266\015Q\312\236\017\017\312\0228Y\230\262\200%o\357&n\227\330=\3219\315)\333\225Z\314\245w\021\304\366\040\373\337@&\313\030\356l)\022[\332\277\231(\276\017\371+:u?Z\304\347'ss\352\376S\247\356\266\341\307\347\213\202*\377\350\364\216\321\2569\004\273\371\240N\305\323\356i\277\3632\243\206\245j\225\320\345z\033\242{\226\305EMqW{\277\360\246\3348\327\256Y)($O\210V\355\304bh\271c\035\313\201\266^\364B\223\007\227\257\3077\37156S\311-/\361'\010S\274\221\322\377@\236\223\355\275\372[\260\342'KP>\274\000\251D\277>\")Foa/\222\237~\206\006n\312/\221+\272FR\017\244\276\335\263c\300b\333\330u\232~\014\255A\327~\372\271\240\260\203\013iC\024\276q\264\204\231\311\315\255]\006R\245g\235l\302\357c\026\360\226P\261\351(\375\244\304\374\271\301\004\010J\312&\243\357\343\307\030s\012\232M\201\334\224\012\202\251\011\231CN\355-\034\266\2625\342|\022\235y\023U\015zN~\3729\307\00529\\\365\033\001\215\373\016\015\364x$\326\266\272k\256\025\272\265~\\B\023\252\032\264Q}\343zI\307d\345\345\246l\253\264\312Z\365;\335\214\316\234\207\367A\311\272\036\300\337\361\006\263\274\005\364\236\371\034'a\305}\314\337\357x\024\372\313\227`\367\345\011\372G\341\376\022\327\266\266\365\264\200\342\300\360/O\017\006\031Al\006B\251c}\000\212\000U!\370\325\011\230{{9kr\201\356U\331\224X\022N\201}Q\033N\241\271Q\000\247,\235\257\351k\026\243\221E\261\256\332\314\250\030\226X\311\030\271kL\345]\315\227\002\2606c\203pk\243\016z\246o\360f\311n\346\322\253'N\243\0060r\277fN\201\221\361\211\231K\245,!ET\243\320\224*\300\016+\271\023\220h\367\211\235\224\232\025\260\243'I\302\371\224\321\014Of\005\377\365\243\261\223a\332\040O\362\017\177\332\376\271Q\321.\254\230{\237l\250\362h\237O\237U\270\335*\233\234\320QI\211\237\033Px}?W%\243\000\253\362'\263Jk\275\232\335j1[W\0205~\273G\226\374Y\255\215l\231\263l\336\263!\017R\365\270\034\277\302)\323\023\3449K\345\222\266\375\2123\022\014\352\206r\305Su\253\274\352\234j\311\353\233\354\276\"\332\273t\217\334E\336\246[\212\350\336[\036\216\364%\334\205\245j`p?\001\371\253\207S\331Y\262\010P\231\256U\007\241b\275\354\336\214\315\234\246\236s\011,62-\332\376gn\3727-\211\024\357\231\232\325,L\013\251?w7\313G\367\257\344h\270\310-\360\307\231\001v\363\377N3`i\342\376\301&\304\212\256e\310\357qWD\031'\324\027#\254\376(\336~f\006\220\323Xf\345s\254k\\\205\035\263\334\002\372y\252\023\242\313\244\"\365rG7V\2214\341\017\021\344\265\"=\202|j\201X\367\235\004\242,\366\313\232\015\372\343\306\200\321\316\225\004\202\321\367_\242\301\352F\203-\012\377\376\335E\206\345xfe!b\237R\230\330]\362\234\334{\030\215%`\277\344\210r\235\025\362w}J|\231\000\233;\221z\311C\246\277\377\223\337\037-\340,;G\274\314\271\341?\330\210\25542m\245\224\377CO\244\373\012a\313\250t\007\273\310\032\326\366\2070\223\026_/\177\327\303\221$\273i~\3619\311b\025p%\366\034E\252An\226\014h\273O3\257\330\040Z\312\0362\035\311\225\014\242\025\230\032_\002\277~\207\201_J\320\327\012\216\022\177\232!_\237\202AZ9\012\213/q\237G(V\351&\300\"\317~%\333Z:\341\357\301\300\256\266@j\347\326\263\005O\236`\377xA\023\345\246\236y\312w\0115\353\363q\274\337\243i\275b\272/\031T\361\373\034\224\337<\356h\011\243\357\217=\243V`r\337\357(|\231_\031\251V\030\306\264\374\236\244m\353\367\363\216o*\216\005Z\211\241l7\222o\367>\211\015\317\337\211\355\3729\330H\037-H\351\023\267\207\214\330#!w\214\000\244\337\306\364\3704\014\216eD\271SC\\\327^#>\367%T\215\335\321n\347B\222\2731c\350\353\255\013\363r\303\2417\303\205\227\335oh\274\203\206\200\215\203(\274\000\2313\361c\250]X$\010\307\221\345\275\270x\015\206\177\353\302vO\242\270|\255G\013\276\363\222\335\335\3431\275\025\315\017\347S\365\3521Y\002\226\037|Gx\271\354\272\255\323\360}\030]\2050\0257w\232\362\351\361{\024\301\331wz\353\322s\242\224x\347\305!\316\345\347\344isM>}\345\005\023\240\314\013:\267\267?\354l+\357:\037f\320\263\004\372\215\245\374\021\224P\212\377\252\002\207\242\223`\030\244\374\275Y\362\251\006\025\257m\302\234a\254\301mx\237\025V\012\016.b\377J-\235}\326\332~\031\214\302t\200\267q\025\025\326;\234z\223N\034G\361A\004Z\227D\344\251\201\310\032\277]Q^\260x\026E\023\022$\307\357\035\31302\016\240\037\371Mg\274\370_\347(\354\306\221C\205\362xB/\257\3323\030\342e\220\314\242\204\342\262\273\373\212\226\261\363\205RP\360\007+\236\261G7\212\247\336\204vi{G\3517\3646\015\302\271\177\034fc\004E\2366\031\"\374aB\306\360\201j9Mr6Oa\335\366\207s\332\336\220\003H\024R\202i\201r\217\201\372\272\251\010d\000y\022\203\370\373\200+?\347\"v}\342\003Y\277?\237\321W\3306\003\361\235Z_\242\344\305H`\274\223\020x\020\221\032E$\214R\216\352\205O\3215\207\253\220\262\321\314\217\2754\212a\264\235\342R\223\013\0207\205o\343\213l\024\351@'\027\321|2\312\321\330\030u\2462\341%h\202=$\011\265\2220\266|\235s\370\243\015+.\222\376\015\362\200FS\335\232\030\251$\316\343SrM\232&]u\371V\040\336\304\245qBV\"\327\323\027\031of\227\276M\275a\034u\345%t\364\245~c\234\270*n\317R\233\213\363Q&\240\262R\305cf\276\330\313&\007\364\366\235O\256<\040N\032\221\221?\361S\340\252\213\200\337=\207\035\003\206A\326\363\340\311t\006\322\020\277\236\343\275\241_o}G\246\276\027&*4\344Jya*~\013IJ\375\307#\002\242=\214\302M\357\374\034\326+x\242T\323h\347\240V\306P\311nz\2558`\346\202e\254W#\037;\021%\326\305.\215\230\252\272u\241\336\004|\351#\011Z\312\223!h\266\240\340\264\212\256\013\316\0363x-\263\241\004)2\325\233\011\242d|5Z\320L\304j\266\326\212Y\021tn^j\003\006l\236\212\373'\2157~\034\027\274\231D\364.A\372\212\335\344)\331oO\343\367\303>\255\242p\371e\020"_buf, + "\247s\020\301\377\343\257\034\345\312_\361No-\341\345\370\035\2338\225\265\273}\345u\226\034\240y{\"\331\030\003GRE\265A/\260\3448\261\3155\255\027=\177\236\3405\216\014\002/g\273\340Q\322\004\267\270\334\224L]j\250\354\351/y\027\036\301\353(I\330K\365\226R6#\363M\2524\371_Q\001Y\202\366\037Z\222\024\332l\251\026\231R\262\3602j\011F\212\377\375}\220\256\003q\271\344\2457\231s\352\331\320\331P\250\202?\217h\177\021\006\255\270g\313P\367\010\005H\366\346V\307\343\334\007\246\224\035\221\254\040%?kA\210\364\333\374\205\264r\372\030\323\012$\274\037\217aN$.*\010.E0Q\225c\313\264.\232I\331\343\227~\212\313\355\215\351c\351@\033T`\353\004RD\275\033jr^\362\016k\233\335`<\363\202x\0370W.\006m\265\210@^\031`\3120\242M\215I\364V'Q\364~>c\353\235\030[:\324\312\200\360I\246\337\016\314\372\251O\361\267\363\024\031\002\233\375\236\"\304M\347k\353\254/,\255\241+\312\263\366vw%\0359C\262\361\362c|\256Nx\034Sf\022e\317\274\311\004\213\201\306\242\022\026\272\336\322\330;\241\206\376v\351t\351d\323\345\0360\013\300\354\017\274\011H\224\230\356\030\357wZ\031j7\026W\006_\311\034\276\317\216\367\247\343u\337\374k\007,\305\365\003/De\020\2121\310L-\206\031\006\205\327\033\305|G\311\003\377|\317Y\314\360k\261\307[\2405\370\361%(N\014\315-l\031o\326\325\313\217\243\230%M\246\215\323\252\040TE\317l\207\0029\370\331<\271p\317\274!\030\025\274\303C\017\310\202\2709\012\254\\\203\\H\350C\221\015@Fv\331\224\012\341V\327'l\032D%)2\316\355\005\035\234\234\354|\313]b\356\367\207\235w95\300\275\014\374\253\226\272\243\204@\\\367\370\305_\301\3727\205Yt\366o\340\201x\310,\367\207\301\224\336L\276\377*\232\207#\017\025\234'\331\307\255\213\226\002\357\302K\334\261O\375\355\322\021\303Pm\367\016\334N\027\357\372}\251\227sDkb\327\244\270\336\266\354\000\365\002A\235\2767\366{\240\255y\0110K\267\177|\366o`\263Gx56R\036\312\300\272\003l2=\246F\2517\351CY\344C\020Q#,\005\263\246s\004\\<\241\2129\336R\374\040\327\354\0327\036\252\264\311\247\323O\370%fe~\306E\204\203\250\205\020\207\025\214\035\001\017\224\350p\224\014\"Qi\027\013\376\254\260:gPZ\2347\244\227\335\323\256\325\016&\210\233N\357\323n\277\375\252\003\177z\235A\373\260\013\335\317\217\007p\332q\3675\037\256j\324i\334,M\004\311\\\240K\001'\273k\017g\261w>\365\010\375NF\201w\036\302J\036\014\011\316\353\342\267\001|\000\363\205\254o\276\003<7\015\372l\002\312\357\223u\301a\367@\371\032\375\210f*\036\265\206\013\340\317\303\004\006\001\376\304\270\226\204\376\250p\010\2410\310\207(<\227\023K\023G\232\0340e\307\333\376\201\373}\247'{q\305<]\016\016B#\367t\024P\355n\367\353\235\357\266\033\334\362\363R\\\011\251\361\307\324*\260\363\306\"\265\275\343\215Fhf6\310\3315_\003\233\344\352\"\000-\011\267\273\251A8\201\336%\304;\003S\203\232\211`\364]x\361t\002\325$\272y\025\253@\303\222C\351\177\000!\034r\235WQx\311<\234\301\3374\323R\2255]-\027{Wo\375i\024_\003\277\260\375\007\016\214\316\221G\021\235\022MM\317\307?\244QU\245\256\324\330`\203\260\226\214E^,b\371z\033\0223\266\320\263\257\015}\015\253\206!3{\016\023\246\307\037\206\250N\030f\216\035\006\253\240\204E\234\266l{-t\325\247\036\177TNrK=(\3702D\214\022\013\277\301b\272\317\355\212\026(\023`Eh\257N[xp\236m\034\305s\237\372]\234\206\251\353\3460\316P]\200(&\027\331lQ\370ct!\321\006\024\350\246\001\247\000a\003J\035LL\253~\236u\017a\357\253\326LS\216\177\313\331n4@\363\322m\245\333\252\232\250\312e|\333\211{\301Q\313\311\330\246Cj\260\256|F\241\303G`\0127\030\357k\335~\300\324V\246\004\355\017Z\274\017dc#{u\006\013\214\033\215Y\327}\341vn\022Y\272i\353\010\337\037\313\372\303h\206X(f\251\251\025\363)#Ts\213\034\310\233\233\367J\205%\210P\225\012\222\010\376\207\0022\370\037\266\256.\274\324YB,T\352\267\275\333\262H\263\376x\012S\324\332\2352\326\346\025\265\216\242\222\310\226\323\221\343\276mw\333\257;/\033\212;\361\001:\375\021\"\254f\007G=\302g\020\210\001\217\314\323\361w*\372\365\305\375p\022\203\205\347\307~8\3643<\007\377\202\336\214s=\004L\035|\376\3749\011\347\223\311,\215\033E[\273\352V\373:\0266\2158*\310\316\256S\032\225\335\277\006\373g\272\273;\200\265\022M\325a4\202\212\273\273\247\203W\337m\266^\373\351\013,\210mo\266$\226\015\003\342p\022\354\356\316\202\320\005\274\366\005D\254\330\"3hc\2036\366\323\366\317V\033L\3057\366\251\3354\203W\314\220\313b\334\311\243\2263\003\261Nam\266\216\374\360<\275\320\306S\215\002*qJ\300\213\3031\271\362Q\360\006`W\201\202G\016\036?\336\371\272\211\021\365\3419:\256\301h%\324\030\345l\355\246\314;-\006\227\354\253\021\230\362\363s\252\027\264T\337\007\243\330[\357\275\037+Cj\201\363\012\212\000\000\215Yp\311X8\343vwy\364\205\020j\371\265z\037\201KAb\231ukF\014?2\275\303\310\216U\371\2743\231\262\3109I\342\304\360\007p\272w_\354\202>:\231\360\250\010t\362\013-qs\022@\377\223k\020\306\037\350\014cV\310\364,8\237\007\3515\335\372\262\201\234C\0377\371$\226d\035I/%\250\006s\0326C5\363\255\374\234I\222\255\254\254\303\272\271W4\265\2604u\243\226\312\313U\014\352\203{\033U\222\033Va\232\221\007B\030j.\211W\355\243\243\027\355\203\277\211@\235W\207\235^\243lQ\265IpAX\375\032Z\245\362\302&\025\020\322\234\322}1\213\254\001\340\226\001nII\303\004,\231\031\022\031\267H'\023.\336\203q0\244\356\020\300\354?s\214\243!`\232\240\240\210\306\314\360\330R!\366\3516!9\363\011\010-\220\346\320\333k\312\343\300\204c\020\276\327\344?\342\302\304&\241<\236\033Y\321\356u\031'\025,\"\262\256#M\005\277`u\224\355*\"i_\347\277\030\314\210K\337\035^\332\237\307b\271\242ky\312\203u\330\037\301^~U]bY\365tA\347rDuT\277\240\336-*\031&\327\350T\303\027\373\035\321\035\307o\324\321\024\226\031.\\\350\027\367F\035\252\301\277\012\311\\}\345\353GS\312\251Bb&3X\004\321\355KY>Y\323V\271\375\242\225l_\2255\332\226\0065r,\343\351\344lp\272k\327\310\366\351\252yCk\243\307\334\245\325p4\253\351\030\252D^\214\202\246\270T$\221REo\272F\223\265\032{Ta\014\336\035\274i\367\352\320\375jY\276\270\022\214qe`EV\315\032WK"_buf, + "\362\306U1s\220Z\334q\205\344w\323\232\014b\324Z\206G\004\210\272M>*\236\013\270\254\276x\271+VBP\254A'#\277@\371p\342\207\2770=:\301\200\251\024lM\252xG\341W)9\217\010z\373`UE=\360l>\206\305\245)\040\322\237\253\213`\342\223\367\276?\313d'I\374\251\027\002\272\311\377\351]\306\215\312\376?J'\307O\375\177\374\\{.\262\236/\261\352H\2407\010\201\334\332\366\217\352\364\040\011\316Qb\327\354\210Rku\375Y`\246\321\006\356\334\337y\270\\\217\265z\237@\2375\345\301\"\303^\3748\3504\352H\2573jXW\227ZX\236\250\226\215\234\3008\323V\204\031\335\015\256\204\223\214(\250+\273&Q\345U\005\213.\337\010\251\333\322\362\315If\255N?\265\312\035\033\255\321O\255\316\012\232]\276m\033\002\0251@\277{\3056\251\213\376\254v\013(\024j-1u\211\250\310\266eV\200\245\307\254F\203\206\000\256MC\012\223{9\335\264\216\244\223\225j\2679\236D^\325\246hYb\272\212\224\243C\260F\014\203,\252\266:\026\243h~6\251*\333Y\341;\340\2217W-(\0154M\321R\365\264U\005\331\323Gdf\363i\317l>\305\242\2259\277\32193|u\267\004\375K\305\040\3279\207\254\033\325\012\274I\226\356\366\024w\357A!\325z\344`w\267\252\216\315\012\177n\364)v\211\324\343\257\177U\244R\321\316H\0211\254\333+\000\300\246\242\251\346LI\304f\336\211u\030\316\346\351a\312\374\307\012g\364}<\310\340\343\251\014\255H\321\306\177x\236\341\250U\040\343\040\306\243$\022\340\304\303#l:\011\252\371\340c\026o\273~C\214\321E>\243\315\340!\010\033|\245v\211\266\374\210\302\2608\317q\203\305y\374\230\276\336#ZK{\204?oXO\263\012\224\233d}\231\306o\255\375'\267\353\366X@\233s?\363\377iQv\325\304y\267\317\276U\025\004\242\354\251\025\026\024\037\234\236\300\277\325\313\323\364\205\335A\215\032\007oz\307\335\343\032\025\216Ox\036\030\255J\026\320\247\216\020\013\3727<\370\013ij\322\250\241\004\030\317\323`\022\244\327\255\202H;Kd\303\216\232\365\346i\271FO\217(`\015(H\352{\207\325\352\033\004\277\335y\031\314\211\317\3625\006\333\334*X\255\370*\265\014\304\304\207^\216\354\040\353\257U4\256T\312\212J\263d!\317\330\270\262\201\301K%\276#QG\345\257\210\007\011\327`\260r\226\022\000\367\007\313p\224R{\203\210/\3131\025.\313\002\302\026F\304S\253\314i,\251IId\252j\357\222\247o\327KU\240\273s\217UB\345ES:\237\201mZS6\345\004\262\312<\024b\253z\020pNi\327\203?%\207!\330f>j\215G\363v\365\254\000\362t\360s\342t\311\276\322W\027+\354Sh\"$C\237\322-k\032\031,\337\231\370SP\357Ob\352`\266\036\343a\361\3064VQl\364c\315\015B\333n\032g\340\242\304\306w\021\345\021@\373\377\230B\275\013\277\353v\275\273\234=ic\347~\272\337m9\264\375\206E\351\267\364\214Q\247\0114}Lv\200H\254;\274\007\200s\241\315i\213H]n4\327\352\216\206\304\271Ih\250o\253\326\360\030\003\003\243\222\357\325\355Z\201\354\223\011\210JE\040%\037K\332\003\025Z\365\245\240\001\200\263\324\235\326\326\257n\276\322\237\013\036\262\021\330\332\013\2039P`\321\363\236\215\275\025\231t\213\005]^;\\(\277,\012\342\242e\222WQ\005\335\245\027\007^\230.\\$\313\371b\032\341\011\024\257\362N\221\302\021\262\352F\201uc\2543v\237\231v\025!\037\363\005\274\314{\276/J/\307\3206(\030\351F\237\332\354i\376j\213\012m\346}\313\275k,\364\023.\232f6\243\252\200\3631p\227\235_<\363\317\203\220\035o\032\307\321\024iH.\374\230\005\026\262\330R\266\363\211\345\366\314\247P-\027-8*R\033\210\312\307-\363\3606\312}\032;f\014\010\217o\305\027,&\270\374\320F\205pb\245\321\040q\251\307\320\015\2406,\343\306A\024\005\225Em\225\203\336Wq\221=\335\227\347U(u\365C9\003L\311\334\020at\0027y\010GG\315\342\354\030)\321j\013\335\310\002Yhf\304\231\334\300_\010\217B\1775\266\376\326\013\275s\014\036\246\316\016\314\225\023\372\040S\230W6\251\207\212\335\235m9\364C\207\253<\264,\333r@\310\255\265r\2571+%\217\230\323/\252\230(\3363\320\240\2601\025\365\2338\305\34471\333oe\334\317\033\232\361\213\360\003\341lw\225\353\374\223\353\202\336\264'\223h\230\371\302Kz\244\0366G\330M\245\256<\017\242ur\261\226bu\202\323\221a~\351\347\004\2315{E\017\246\263\275`<\220n9\227\341\360\232yMZ@T\306Z\036L4\243\240\015o\267U\315)\021\351\200]\303vt\311\252\040\331\225\243B=\264W\274\313\325,\214_\227\023\242\247\035\371\252\022\325.kH1Rm\177\250W\314\374\332aI\215\307x\331\275\352\033\200\003\232\023\240,piP#X\211\037lr6\2748n`\275Jhc\341\302l\004\266\314F\272q>\274\210A\305\003\251=\217Y\244{M;=\357\326T\365\327a\032\340\011\312\354\001mDKID\333\267'M\311(\316\363\355\260\312\234\314\024\024O\005\312\011e!nr==\213&\310\330H\224B\210\252\340\311\300\356\263\367\360\216C\341\355p\306-\0271\302\000\372\351+\374C!aT\302\224>|\362\325\232b`\363\227#?\244/\177\376J;\320\257L\316[\245\007VB0\345\331K\323\250U\221&\225\000\216\375\351\212!\316\202\341j\001\206^\270Z\200\323`\030\257\032\342d\022T\205\310\327UeW\206/\264U\246mR\040\277\277g\307\203\024u\202\362\177\231!f\266\264\317a\260\252u\"r\312!\011\211-\336\336\311\353\040\200l\015\243y\230\262c\341_\021:\021\313\3477\226K\276\252\355@(\241\366r\324eGm\360\321\376Nk%T\326!\336;\265\327I\262\376I\221\361\233\355\225\323\021A~\004BN?-B>\373f{\365\244d@?\0021/\352\023\263\232$FM\307\235E\250\017\032*\024/\375\332\017\375\030\310\244\024\034\262t[g\312\356\010\036\015\214\302"_buf, + "\311u\021\360\375\204\036\251v\207`\375\274o\025\014\364\001\276T\304\374KN\212jc\2574\306\001\311\372\313\214z\01181\336Y\221\372\001\037Y\335-\3721\001\325\322w\375Y4\274px\362x\372\210\320G\353\005\223\245x4u\202\333\3066O\377\245\351\255=W\033^\335\030Tib\361\270\320\274\001\274)\232\314\272\020,M\330O\001\245\312X5\366\362)\207r;5\351\224b\300\323o\337\334\3523\367|\312\306\333\331\020\205\232dC\242d=_\314\241>R\301\262\035,\012\3131\252g\216\030\263\333`\313c\205~\352Mg}L\362#\323\350\255?\335\336\371vs{gs\347\233\301\316\267\273\333\337\354~\375\347\177\230Y\027h0\264\004\360\223\006\312H\214\300\032\343'\364\330\227\361\024=\011\353\177\372q\363O\323\315?\215\006\177z\263\373\247\267\273\177\352\377c\275\012Q\201M\306\264\263\262\325\246\336\227&6\000\244\0244*\246dUP\032$\355\300vA4\232\004\262\314f\215%\320\246\350\366\200^\347\365a\037\236@\325\323\267j\316?q\363m\316(\345\027\006d\033/\266\331-\340\264\264kO\312\374\025\242Fv\010\237\374\2638e\020\363\376\373\"\225\344\363L<\236\373)\317\230)\362d\276\231\2379\215\255\354\271-\223\346\226\236\372\360aF\207\207\312\355:M@J\275l\347\226h\327DhC\231\235\262VO\007;\002\345-\221Q4\237\247Q\020\240\241\337A\301?\337\342\303\3335#\363\331\202a\254:\350\372]O\2133\242E\263\206=\301\232\222\3659\237\215\371\256\231\326\236}\367\027\352\252\376\352\371\363\257\320\251N\217W<\221\347,\246A2\245\256\236B\000\333;\337Q\000\323(\366\311zQ\375\365\022\014v\236R\000d\232\035A\271\003\206\327\002\2700\036\230\250\014\252AO\345\225\024\040\234\326\227\310\347\247\323\355\327_\277\320m\031\272=\177\376\205n\313\320\355\301\027\272-E\267\326\027\262-uu\311\027\262-\305m_f\351r\354\366\205n\345!\302T!U-\206Si0,c/\334\253\015\300\216Q,\324\350\027\252\351>\277\3611\353\253#\365\362J\3727\035\374\246\346N\243\021x\016\000h\224\251\341\252R\255ow\221>\337\351H4\266\221\276\227\004\035'\354\232O\342S/Mz\255\261\327\231\237^\371>\262G\012\274\026\216\010u\374\203%M\234\356\351\321\021\360\307h>\304(K|Kd\302\367\032\026%\367\306c\223~\007Q\340TS\255Ye213\"\3571\261R\015\3257(\337\020n\224\302)nAb\360HC\001\235c\005M\213\206\314|R\224YY\272\252\0267\177V\200\010\315\226\363\333`\2024\2408d(\025\040\262\000\003\312\265|p\226A\204\245\015\272\017L\356\302\275\335(-c\340\215\232\274\373`\011\336\315P\250\307\276\017\356\201i\012qY\304\301\367\213\314\212\231\370A}&\316pY5\037?\250\302\307\352\262\214\313\017<+q\323\025\256r\274\252\272\306\301\332\246.K\013|<\331$*0\273\255R\277\276\242\305\011xc\310\020\212i\223\001n\212o\353\317\237\257\263g\267\205\367\024\352H2\237x!v,\204\276\024-\246_0\021\264\010\221%\311\371\340\036\311\231q\263\235\242\017jP\364\301*)\372\300\240\350\203UR\264u\017\004\315/\003\254#-\272\016d\035i\225\021\264^7\366?b7\366\215n\354\257\256\033\255\347\037s8\236\233\343\361|\205\003\3621{\262o\366d\277ROH\265\256\374J\034\243#\367\325\217_\215n\374\272\302^l|\264^l\030\275\330Xa/\376\365\321z\361/\243\027\377Z\241\320\245\233?j?\032+w\275\320\346\355\336\027\201\006`\021$\237\234\257\252t&\376\372)\320\015\260\370\315\351&\357\015\317|4\212\023\357T#H\313\316\372F!\241m\334\026\371\306\250\236\316\\,\252\227\312\352\375\222\327{\315\342\222\315y>\316\005\200\271^\216ge5pJo\362\225\260\310\226I\027\375\034!\217\230y)\210\034\227\346Q\\\344:\315\354A\306\214\022k\311\200V\342\347\212\335\220I\241p1\033v\324\023\273Z\253f\032aK\213\264\310\015\257|[xV\017\343\307r\347\365\226\017B\223,\035\227^k>\364fx]\257~\2239\217\327\253xL/\263\011\333b2\366x\230\2122\372\362\035\006\000jo\372\376\260\354y'\034\345^\275\005\356\363\316\375\242\347/\346\301d\344\307\332\253\003<\005\220\330Q\352\371\036mJo>\232\307C\377(\010y3\213\202\277\264\312\2074\332\037\271\007J\016\337#.\013\217R\276\350t\017\336\274m\367\376v\330}\335P\201\275\360\303\341\305\324\213\337g\375\265,\342\"z\333\014\306\226\247.X\222`\036\322C\217\313\265\254\255\364AV'{\013\242lUdu\322\260\261?`|\245\336\271\224\305CiE\2547\271\323\351\2260\006\350#\347\002\315h\330O\306+B\020$\331\243fa&\014\363\207q\303\206\262|\210\373\334\3551s\222\025\021\017\2351\245\254\344_\253\302\351x\361\344\272\"\260\0344*\240\274\341\177\346A\354\233\254\246\336#\177.\336\361\313\3445\236\226\242T|\247\222-\307\272\033\034\207\372\374\233\353\377\231\340\261\223\030O!gG\373\365\0103\312\317et\223\301\357\274dw\367x\214\331\266x\034-~\264\327\310\250\255s\304}t\3644\004\022\372l\177\226'_\352F\351\000\226\264\253p\025\275_\025v\320\332$8\277H%\226\253@\316\"9\356\221\324\207!\015g\366\323\232lU\001t\027\326\265\032\263\215l\254\222]sT!\033&U\354j\007&#\227\225OPC\0309e}\365\354e\325\200\361\227>\336\277\200\267\2216E\352\343y\342\357\346\340\251#\177\356\247\007\363\030\355\324\201\237\244\270~;Z(\276Y\227\2752T\360G\010\346\010:d\034\033(\356\215LvF\365\223\236\317\314m\225\000\302<\325\325\270\215\354p\202\242\330\335\032V\211\325\362(?h\201\275\3075\025\312\312Y&\316\002\346\025yl\377%\254\025{\305:\351\236b\261\364\346!\254'\251\377A\304\324\263\307G\336\177\257\255\241%\3438\240\235\321\315\035\226\373(\3363\213\231\350q\315\332\012,\207I\371\032\363\210L\335\324\362R\336\011\275\227?]\320\365\317\221\005\355\273sz\227\345Q\016^G\015b1K\032\304\342\"\"J/\374\270\270\332\206\262\031F\212`\040\323\215|\024M\012M\3446\242\004\200\250\012\316V\012r\362\032\266<\356[\230)R\233\005\355O\370S\246\030k\265\364\251PdP*\234\303,\032z/\336K\377l~\376\002\300\274\317g\204R\212\321\325.\227\037\314fns\376SZ\323\245\353\324\365\362\326\267]F\342\021\023\325\030V\030H,\023\243<\326\246(\020\007U\344\214\263\262\234\211\377\232\271F\3445\016o\030G\324\224\311\211\374r\323\306R>\203\315\220T\"\301\232k\366\345\347e\220\314\242\204*\237\273\273\257&\336y\302W!\345\205\312\362\3773{\350\330rN\222\007*mm\371\034\015rn\231\013\267c\216pY2\306j\2567Ca\256\344\034\324\035\204\345\256A\035\253\\k\225}\234Fmap\224\252\013\205\232l\001P\271\3540\375\263\235t\270\366\247\246\213\250\250\274\026T\311\027\\\330\012-\006\3358\360&\223\376\373`6\253\200ON]ur]\226\035\255\211t\265\0267\217\255g\357\265\353\017\023\274\242=\034\372\346\271J=\350\306\342\330\340\232\212\320\037\354\225\367+\327\235\305\301%H\325]\363\340\277\206\354\371$:\363&\324\013i\325$xS<\305\315ME\241\255\325\3320\224\036\271s\"s\014\030Q\301<\356\031\012\323\022\326<9\217\322\213\040\261n\231Xs\363\010\240e}\024>\241\335\\\247\215n\361\202N-\265`Y\365\240\234\005\265\011PeH8\356\037yLT\206\005\003@\316-]\215\324\\\177\034\203\302\330\275~-\277\2362\327\365z\332WL\370\204\340q?CU\371+\325\005\222N4\363\344\177zqu\244\212\350\241(\271\323\350RXH:\225\270\356\025k\331w\262\244\264\012\350\026\202a_\223\312*2t\333f?\313\246\330\245\005Sa5\2172s\334\034*\201\250c\223\314\213\266\000\232\244\252\346D\0273\215\356\262\341\274N\301\336\320\274#\216\350K\020\216\374\017\326E\234O\206\275:\252\252\332Db\266\261`\232\351\350\361:\305\247:d\212\222\252g\201\262\360oLH2H\226G\035\276'\374\001\202\242\317\222;\366\207g\2217S\024\351HQ\040\217w\232\274I\232X\245\336N\266\246[e\232\023n*=\260\356*\275<\354\343N\010\313\304R^\206'\3739|u\010o\017\217\273\270\373\244\247\210\2219`D\311\037\035\350CCKp#\323\034U\253\272\376\222%\026\031\221\263kR\005\253u\271Q_\270\223\366\252\335\037\300\347\267'\207\320q\014\276)\355u\347\207\203\016\275\202\247\337X\366\252\267\322;\340\332!So\256\274k<\354\223\314|\177\2649\237Q\023!\230\260\315\346\200\236\003\212\246\2604`>\356\011I\343\353M:\310\364\256\307^\347\357\247\207\275\316#\004G\205P\262U\224\214i\320\373\261\350\025\375\327\021<\031\323\354<\364&\005s\363L\245\337ZIC\210\345\202\306\270\326\217\272\035\366\206\215\371\015\221\306@\005\313\212\336\026)\206\274(\003U\373`\2406&\340\253f\330\312\307\266\2100\235>\340\242\254\0259\347F\226\031\013'\374(\322\362T\031\323\345\360u\367\270\327q_\234\016\334w\355^\327Qf\232\226\333\211\013\246\2343\213\222=\347@\311\320{\370\320e\302$\001\223\317h\373\350\260\3339\354\276:n\026\317a\025\235\246\325\215\243\340h\341\0403CW\256\241v\217u\034\332\353\273\375\323\223\223^\247\337\207\311\272\240\036/\350\236\264{\235\356\340M\247\337\351K0FU+\205\266T7\212\024\372\"\026\010\323`>\3273]\355-\352\310\361\311\242~\334\026NX\013\202\222},\204\345\323\241\274\336-\271\272\010&\260\2629\270|6\266\233\304\241\356Hz\277N>\270\224\350,\264\207x\313\237\272a\264@\267\343\275\370\024\264\272O\330\200\342\343X\034\301d\305M\341\221\207\374\2232\260\3443T\270\012\3163\361\315*c\003P\006\177\317ffT\025?#\267\305\366\014-o\350\306\275\345u\032\245\200\213\036\2155L\322\021L\352\205\301W\354<\240\262\217\312\037\310p\215M\324m\330\263\362\260!q\262P\326|\374\274\250\252\262\301\315v\301\331\316/\355\207c\217G\202!\224\256\311\202\367\307\357-\261\320*\374\031\005\240\037\001P\337\217\351\001\266E\357_\314\323\343\367\371C\001\"h\237\216\205\032\270\304\237h\004\345\317\312\011\312\012\231\004\265V\335\31357\362'\251g\226\236\305\376%\177\222\247\024Fg\261sz\032\001\370\000f\347Es\257R?\201\0056\0211\037\267\371\303\017\222A\363\321\202\013\330S=\366\232\361\250\3624\037:]7\344\317\022\207\341\262s\230EGY>.\036\225Jb\0361\005\033GiH\364FK-\246\202\010\013\003\027G~2\214\003*\326\367\220\004\0172\032\3542e\343*\230\340\334\303\254\026\250_\200v\225^W\013s4\346\215q\032\330:\326\352\211\347\034\027\"o\267-L\312\016\177\313K\361\016\303>&A\035e\314Z5t\303\020\302\246\014\016\2464R\326\020\301x\267O!\217\213\233M\370i\247\256\027F\011C\256\217\027\267u\330Un\030<<\0078\337|\355r\341\040\352u\022h\025\007\203^/\007Jg4\2313\257\205^G\011\346\032\040\232\012uE!2u\303\254\371\342\030+\236L\026\372\255\006iI\204&\336\014$\254\322\0215\002Z\357\204\245\336[\274xv\271\212\023L\327\232\257\250D\236\026V\356\347\3531\236\331[|\245\264\"\342\370\370W\227p<\006\221q\025L\337n\024\036D\263k\214\254)\210E\344e\035[2\200\3008\374\360?Q\330\220b\003j\"\200\302\202\263\030\346\357\205OW\020\314\026\303\031\234\037\302\241\323\371\203?\234\343\331\014X\024\302(\255w\022)\027\016\254b-\202\020\355\361\322\256.\222\370\014W\216z$\271\360E)\032(\365G\312*J9~\312\006\250\312\244/\260\205\372\235\003\2148r4\313\246n\354CQ\314\303i\367\264\0176\255\021\356\240\354f\0136\341\243]\346\003P\316\033\206\336\304\0255\033\231\177E[(\012\015)\315\037R\334\343\202\040\211B:\276\374\021\320<<\370\343\321\323)\271<=\347(l\010\037\340\022\204\267\255Z\245\251p\244\377\336b[(\305b~o\236{1?[t\364c\352O\243\370z\221\360\033p\315Q?\263*\236\212{\372\364\267\331.\001\036\224\232\240\364\251\\\320<\033K\217\370\026T\027o_y\030\346l\274\034x\347\355I\340%\366\252\2057\016\352\321\347H\345\371L\242i\024b\367\311\231h\234\244\261Hs\223\\x\261?rgi\274o\226j\355\231\231i\344\235\210\312\332\257\246\245Q\356L\264\234\016\317\221J\314\033\352`\323_\225\237\264\316\015\256\002\311|\265\010\2221\006*$\343\325\002H%,\245\000-)\345\330\257\212\023\015\024\215\264\002\274\250H\036sCo>\314_{i\035b\333\355\230\005\007\341\305\245\230bd\0133\3254\255\354\311\013\214\331\223\322d\011\242\245#\3747\304\226V\004\020Y\311\221\342E\336\352\013\337\027f*\222\040\344(;|\010l|\362\210\244\362s5\260\2345\255D\365\360\215\365d@\352\235WHb\264\270y\223\317\200\277\302\210\311\377\202\311Q(\314(\337\226\\\256j\315\233\2201\251*Ar\354\356R\214\334\040\345fS\2206\253\026\354\204#\262p1([\311*v1\233\300\226\225\254\332\214*\302R\344\317/j\323\253\234\037\263\020\222rUN\3710\013\333Zs\256\331F\\g\345\324\344\365\006,3\0334\262Z\005\264+\222\224\250E\263I\236\315\024\275\232\352\241+\024`\367\313Z\312\205?\213d\235v\014\307\364Q\362#\232\353\353\266K\324\345\026\230\365\364)\232iA\212\247\2269j\205gT)}\240%\334\347\311\254\030\207e\201dN5\345q\3038\351\245\356*\0256\301\373\341<\012\322\306fK\031\204\040\305Sa\034\303<\340[\373N\035\345\026\377\2035\331\205\322\234\225{\260\232\255!\313\325\362\012\037\315\342(\245{\200\273E\254\345<\2624\307\371Z9\352V\220\313\244t\236\226\315\365\3123\313\040U\321U\357y\305\315\222~+\364\257lH\355\017Z\326\331i=\353w\373\361B*\363\012\303\323\022UA\372\012\352\351\011{+v\276\274>:~\321>\312\035\336\221\272\304\215\360\233\224\256\0045\\2\246\325\004\265\201y6\364.\323\313oj\372R\226\"\347Z\215\321\324*V\033\375e\350\242\254\200\215\246\216k\221\336\253\372\204\014\227\2207\003\231\362A\367\000\341\344G!\022\244\211Um\314\236\260s\270F\372d\012Qx\275M\2771\365\360\212\233\326\016\344Ek\207\040w\034\276\273C\267As\033\250\2007\030%\301\210z\272\321\303\215\263\177\352\305\347\001\010t\376\267\005ZJC\255\021\315\323\315h\274\211V\025\036\360\364\250a\301\372\211\003\017L\300\315%\250\2140/|o\244dp\022\031c\336R\360\002?\326Xc\001j\376,\011&\040v\234m\262/\277\354\223\235\373\300\257\303\300\013\004yk\215\275\005\367\364\361\221r\304\266Z\376\304:\237,\274\340p\236\244\321T\323%\371\033\261u\260i\331\264\267$yV\257\022{\236}\244s\022>\002.n0fVA\220\270\362\232\303\000^\310\374\3172\333>\374E\010\255\"\234\234\306\302\014\025\274\006\233\013\216\026\270\303\232k\025\234/\347\263g\352\212\001~N\344\347\202\222\234U\261\040\373XP.\031z\023\237\026\243\237\25493X\341\322\003\374\037\215\352\006W\345i\276+\336\024\223\267\374v\364\217\326\025\236r\317\222w\207\251\325\003~\217\233\230\026\352E5:c\321\335I(\353^R\2137\337o\274\331\322:\264\000m\253@LRx\215Oc\324\213I\245\023\207\322KR\317F*\336o\001\344\371s\207\335^e\277{\364\323\351\354\003\363>\207*|\301;\373@\355mvw\330\247\336[\313\320\016\352\366\366\263\030\333\375;\214m\321lg\327\200\201\200gb\361\327_Iv\373\335\247N\212%\007~\242\364w\337J\030z\037\323\347B\212\326}pE\353\263\344\212\326\212\270\242\365Yq\005\353\360\206\320\263\025f\000\305\237\353\342\271^\353\272y;y\311\276\333\325\202\014\216\241\035(\312\276\001\251Q3\253\332oF5\246\365\352Dc\006V\021\315X\215\305${k\032f\234b\334|\323\301|6\364\242\352\277N\256>\265\015,y\366\270"_buf, + "\315P@\037Z\255n\2775GI\304\342\\\026\005\207\211q\313\233B\362\215i\373\310\027\206\265#\237+\231\003\321m\227\217\370b\276\010\325_1\241n\361\211\010\210\027I\303\014\373\220\254\257\023\327s\350U\304\231!\314\311T^G\206$\262{\214\361\037V\325\202\236@fmM:Y[k\"^\226R\365\255\367\336\217\367\215\014g\254aq7\227\305y\005\003q\211\267\321Y\353i&\030\342U=BV:\206\314\343\013\264Y\030\2770\230-\012\034\012\242d|5\252\223E\226%\016\307\346\222wAza\335X\267o\252\317b\177\034H\247zE8\303\013/\266\325\0042\324m?\231\217\353B\241\255[\352A\011\030\3040\251\321z\020*@\250[(\215\216\242+?>\014O\360\210\234\006\012\200\020\333\256:\253aoUTx\362\344\001\351Q\231\221\020\217:\272xA<\210\026\315S\310p\021\322@<(>\240\204\351\352\347j(\271\036\265L1+<\004cH\301\207\3018\304\033\016\255;\253\354\264e\257oJR~z\314\345\007\347\022K\300\246\372j\311\030\217\354\311[\016\214\217W\366\002\275J\345\331\231\333\361\371\240%3\036\323#u\223\311\361x\257^\225\360\272n\225n\224b\025#T\200w\3444\304\232\243\027\236\316\202\206\267\233f\314\315UpX\206\336\261'/x,.\2139\263\363\017\265\313=*\3011.\013Y\004S\317\036\\Q\025+\331$\226\201\"6j\354Y\213\346\217\017\235\025\\\337C\365O\266\221k\314\243\241\007\215\215\006\034]}\013Z\334\013\352\302\270\302lr\327\0362\374\351\345\240\364\031\031\005\336y\010s\035\264\036\274)\256\274\004(c\021f\025^\337|\027F\341&\357\306\346\010H\236\245--\346\277\343\263\177\003\335\224\035o\225\025\375\370\255\017\253\313\310P\272\265;\227\246,*\200\303\221\201\200\3619\261\022\355\326\270\216\320u\217_\374\365\300u\265-\2427\336\360=\356\015\341\372\316\346\364\3537$H\022\260\232\037\356|\363\315\316\026\236\250\230\214\36048\201e\037\323\225\322\353\022\201\034\014\017q\333\360\226\012\025KG<\3638\255\303\313\316\"\272mH\017\236\203ZyM\346x=\307\024\354Y\017d\337<\304|\330\355\336\001;\205\016@\022\222D@\271\367\001\274\005x\331n\3444H(5`\265\0035\340\014\257\211I\324\224\253\371a('\373~\267\3178\350Q\253\302\010\310\302\245\304W\022\331\326a\303hV\201\227\012\271\210N\364]\313\354o\032\035\246\367/\347E\012\025\274\370R\277\025\\\205^~\0225\203\204\362X\203D\357\311^\002\022\025\323\032\244\007$\177\264\367vo\341\022c\245\031\355qF2Dl\237-\025:#\250\014\200\357m\363O\211\2102\343I\306\030\037\306\357\307\246\015\321\300/\261\002\027\006\371\340\3357\017D\216\206\026k\036Zl4\026E!\031\227\017\025\307\032\361\362@\021\277\350>\034\373YOEX\227\364\273\350\214h\256\240\362r+\366A\265\272\0045\357k\362X\241\322\026\352VN\343\321\263\247\266\350&\005\000\036\177^w\310z\276\020\035\305q\020\323\371\232\357\363\235F\312\341\200\213\307F4\\08\013#\314\314.R\261\271n\007d\224\225<\224-\355U\270#\327b\303\322\034g\241\302\341\275-\0244l\242\025\312\032\376\336\220\023y\372\323\321\032F\263k\207z\232,=\303\227[\012'\341j\357\236\301\342\347\220\215\334-lF\277\260ni\207\264;\016\354\330?j)<\244\011\255\245d\026\312\326\002\231\365\211\010\255ed\226}>\026\212,\313,\372\"\263>}\231\205\376\315\317SdQ\215\306\020Y\246R\363G\020YK\311,\252\305U\221YY\351\022\302R[arM\375\332\214\341\033\224\345s\317\035kQ3z\376\216rR\204\040X\332\337\342P)\244\305C\262\204\264\022\341\363xa\356:\225=y$\212f\320\255\315\251\220\247\266\005dU\206P\257y\322\014\014\2651\334\246\252gp\3307}\265\026\034\232\353\236\316.\374@\253\333\356U\254\200\2630e\012q\256d\332\224\341\314[p\350\2164\303\031>\334\001gi4\025\342\234\031Q%\210\0110\016G*\037Oc$\274@o_.\013\206\360\015\256\255\261C[\3717{\374\215\370\276\273\213\200vw\025\354\253%\327P|\232\005\336N5^y6\253\354\324\314\036\312Xi\224\\\306\361\"\236\024\360\255\\\205\371\021#u\024\330\016\256<^'7\337T\277\226\274\007P;|T\320\214S|\031z#\363\322I\240\216x\267\246\306B*\"PG0\273R\324\024F\322c_Ap)\273\203\026J\256\255\311\217J\254\277AL\221\200\261\244\267{\305\254W\203w\014\016)\342\243\361$\362R@\002\335\347\025\231\310p\215\277\342\020\324%\320\017\347S\356\211\026\257O\320m\3667t\202\355\322\0047\337\271z\3322\272\310\342V`\020\266\317\222\214\367T\246\343\033\365\306T7+\211\030o\350\356\271\2376IQL\272\3010\274\230v\223\250\237\347\200\332\253\335\236\342u6\202\000\264\335{\206\356\236\375\245\031\013p[D\273\323\311l\011\342)\265L\352\311\214Is(\323\264\014'&\335\2449\301?+\312*\211\240\260c\372\313|'\247\256~!\351\255\236e\350up\351\207\344\260\323\351l~\373\347\257\321\222\201^R\2471\235_\011\365q0|\200\206W>\315O\012\263c>\365U0\324\021LkdY\231p\257b\032\211+\270&Q\222\000\214d\2137\231\322-I\006P\205\304`3\200`\311B\201Q$v\232\303\221\027\343\011y\3642_\372\324\343\314B\247I4Va\374\212Ae\233\030S\366+\3066\212\370\375G0\202\037\234\261w\226\320\260\274&\241\0371\020\015>C\023!\266\006\364\326;\006-\343\012\317\362\213\252(A\2472:5\001\361\374K\025\022'\"\353\331\225\037\013\372\370#2\206\017\034\316\226}r\364\374I\375\271\221U*\020,\2765\014\355s\221,\271\370#\301\332\306Z#\346\204\334\370\037\300\230\216#L\373\212H\216\371\031\302\204\014c\037c\300p\310\275!\335v\020\346|D7P\370\340\210\334\\4q,;\023\204S\214\3362w\346c\264\006t\222\347\036\024m\357\356\346\205\034\177rtR(\270\200]\241\302\313`<\346CT\015\034\233\207\365\241)\253\227|PeI2\341(\314*\037\024s\240\014\005\021[\255\211\234\260@\320\235\355\355G\260$\343\226\227K\243\"\022\301\362\240#\361`\311\306\222X\324A_\247)\373\266\014\362"_buf, + "\264\346r\270\253(\254J\325R\224\250\"=\213o82m=\213J\020\323\306\233\264\252\245\322[\240\326\277\346\373\2327k\266#\210\246d\031c\360M\360_\377e\346Ar\230\210\321\302bP\0005h\200\207-\302\263\305\315\207\023\230\2554\313^\251\3350\320L\005\321}z\203\233#<\026\015t\332\314\004\270=\213e\241\271\2744\353\302\304\302)oG\230\005\023\177j\015\276\241\015e~\305]\005/\006\031\257\021v\260:\254~\212\225\242\040\350\210xC\033\265\031\374B#&\013i\015\200\364e^\034y\220>\303\017\253\360\231u[\303\310\261\001\315\271\030om\226\020g\276\225\256\0204\207{L.<\2720\210\023t\223k\274\244t\030\214\257\331-\335)SnD\023MXA\350\336\273\200\303V\023~^\264\204\035`=\272@\345\3109\233\343F\177\222`\040r\003\2657\001)\366\3773\017@\213!\036\350b)n\350\017\336\2360|\013\375\031\234.\273\273&s\342l8\321\371i\021\247\312\341-fW\3566~N\326\327\033\371\301,C\306Q\240+\2402&Z\205\260T%a\221\264d\275\262\207t-i\246\366\323\021s\037\252v\252H\012\216\367\006\260\267\331\361J\375\256\314\254DQ4f\223\026\352\373!&\316\277\364ww\017.\242`\210\232y\3664H\257M\007\252\012\314\033\3415\005\345\315\330c\014\264\262z\203}\032=k\011\202\022\375\312\243\214!I\032\214\342\306\350\035.\245v\251\210\334\266\204vd\236$>\270\006\325sU\255Da\316@:\355\225a\022o\231y\303r\001,\245c\027\361\001\215\216\024\260\313\010$\361+%S\007O\262*\246{\236l:m\264\362N\275\236\253+\214\215\313h\3365Rln\334\356\345f\020\217\307\256\216\277Q\3437\357A_F\302W\357C\256\316o\336\213\016\217\247\257\301Gz\215\217\337\003\263\013=\377\334\377`7\323KD\205ZKG%\3067K\012\347\005\335\343\246\261\253Mk\246\234\011\\\212g\267\034X<\322Q\\\344v\255\372S\032B\317\333\256\040yJ\350t\373\333\207\323\337\253\340Y0O?\272@2\355\372%\305\221n\356\177\216\302\210\032\001\227\201\007\2058\264,?\005\335<\026[M6\320\040tD\313[\004}\301C\001\221\272\235\351\261Yz\220\254I\374\255\363-bWI\374th\307\233\356\222\323\033I\207\330{\206N\020C\375\311ue\321\374\340\371\335e\263z\3307\240\207\277\340\317\276\204\273G\036?\016\032\305\341\361\012V?\005?S\214\340\357\262\307z>\222\324a3\351\2562\347S\0269,\261\305\235E\216\006\306Y\330\311OG\344|V3\206g\324\244\023\347\023\2379\350\304\241\330\256r\362X\266\224W\237((\307\31653S)iGE\275\302\374S\305)\203>\235\316\327H0\245f\\e\265\212\322H}\016\035\257\234)J\3516\253S\220\034jQ\247W\261P\250\231\003\3549\214\030\246\331\015m\372k\274\034@\244%\276\367\305\3474\214\342\221\017\272\333\362\212\257\332o;\270\305\253\021\017\360a7S\320\317\216xts\273\354\362\263A\340e\345\005\210\265\247.>\376P,?\345\327!\324=\367,&\310\314\217\221Ohd\211l\377\314\307I\333hJBl\371\341\010\277#:\374\345\375\036\3521\306p\341\352!\020-\\7\212wH\312'\227\031\010Y\260\005\302|\252\277\311\376G\305\251(.\007B\230C~\241\203uzB\301\214\020\264\005\326\271\334\036\207F2\235\365\215\335\217j:\040\261\204\236\324n\332\261\354<\336V&\224\215Hv\032\350\316j\305\202c\0053\002\014\226\353h\021\374\273\365oE\214\240\011\326\0226\320v\340\356\316\004\025\233\375$H\244)\021%$j\313\354\370+!Q\305f?\011\022\331\327\351\022Z\031\025\252\257\350\205\344\252\213\202\303A\222\325\306\267\311}\276\202\374\215\366\363\306\012\271y\253\303D\"\220\227\300\205E\035\206\210l\330\230?ErW\312\327\373\276u\354M\347\340o\356\340M{\200\234>\214#v\301\230D\227\235V{\031$\263\010CF0\302\224M\027vO\326(\"7\312m\245|\226\231\254\302\326\007\363\251\322\340\303\207.\317\230\211a4E\327\251\347\356\360\352\035v_\037\276\372\221f\245!\353M0\252\012\213\360\0165,=\312\256C\303\237\334\215\\?j=\244\353\221\2557[b\346\314by\345\274\301\235:#<\344\237\224\276\323\333\347\224\306nMl\350\277\216\035\001\322(\356E\257\323>\030,\252w\213\031q\3215DmovS\330\307\271\363\356M\357\370]\237g@\355k|\230\3358\013B\300\312\215\222\236[[[\237\030[\272\356\367m\267\335{\335w\335E\354\251\365se\274\214\313\227\235Y\251%>\300K4\023\247\241q\016\225\304xQ\247\361,K,\3162\306\343j\321R\273\2507]e\256\234\206\376\207\231\317\024\003"_buf, + "\336\375n\224R\254\360\222f\003\332\255m\026::\207d9\016\320\250\250\211N\331\324\305\010\273:3\267\004a\306\2477K\323\3520\034O\202\363\213T\275\317\272\244eT.j\310/J}X\231\016\200C\372\357\203\331\314\0379e\362qi\311\242\330\015\226\024\307\330\004\231\3204\2500\323w\212g\321l\216X:\026\270\252\357!\177\225\251\342\020\244=\035\372,\263\272u\232\330\330Zo\2373Y\365v\224\245Zg\241\206\275\271\374x\234\266\012p9\265\343\222\341\2527{Z\263Y]Y~\235,@c\356\037\307rt\232P\2360m\031\017\037e\\T\210\254\005U\015\242\031}i\257\010X:F\203\250`\347RY\233\2028?}\315>g\020\235\212]\323xB\334\031\201\314\036\215\2412@Ym\227\226^\2243,\177\222s\360\347\255\234\230\257\263F\363S\034|>\267\236\353\264(\216\356\255z\335\007\353\030\273\343\2245\342\242\3727O\310\363\302\016\231\013\216<0\252C\260\241\205*\007/U\206\225\244\250\350\370\276\255\337\225Uc\344\260AR\260\210P\026I\347\263\011(\267\011\224\004\351J\203L\212t;\245\274~\200`\004\012\3555\300\340\347\0028(,\230\330\242\356\330\032bi\336\221\225\264\345\005\343z\275s\231\177\216\336\353\306\317\362y\212E\230\370\260r\205`\300'\027\364\014!\277\214\030M\3559;\363\010\225=\236\316\016\226\040\204\267`\335\3456\262\227\200\316\263W!\320O\235\3602pD\231\365d\301\322S(\362X\240H\366\375\377\263\367\355\375m#9\202\377\373S0\356\273\014\345\310\212\345g\374\322\216\3438i\337$v\306v&3\227\315OGK\224\315\216D\252E)\266'\355\376\354\007\240\036\254'I9N\317\354\336\365owb\025\253PU(\024\012@\241\200=\227s\210\366\331y8\361Pv\265\330\302}\371\321\376\220\351=\322,\252\0068\307z\360\243\370\373\360n\002e\307u`\236\327X\216\027\270\216E\260z%cd\355i\372\316Y\347\224\243\234|N?\374\300\231_\030\223\377PL\376\001\323/\246\022\365($\244u\021\246\270YI*a\216\035\347\024\026\353m\222\306\307\351@\006G\030\212\3374G\353b\355\251w\253\277\355\010\206t\222M\343\0352I\021[\212\006\230\376x\231\342Z\336\304\311\244/\003c\006\177;_]io\340\315$Z\002\306\321\244\010\226)\256sb\014\267)\034Kg\370\3409I\345\363\005\314\006\011\312=\034\220\315\340\006\2373'\323\200L\231:\024\3612\021\371o\360\2178\272n\025x\343H\211\037\214\250f\360\266\220\012\244\251W\016\231\320\010\207\300\020{\017\305\2210\204%\337\223\245\216vp~w\302\006\223\022\324c\202\331\324>\310\0342\027\314\272&W\241\002&;\204\024\351\337^\340\200_\014\002T/M\031\010*hfwA;\372\345\035\243v\353j\212\000\242\226v\035jj]\312n\323g\017G\243{\256n\351J\015\004R0\337}\315\261FQ\300\214\276"_buf, + "xKJ\342\302Gm\\\015+\275r\262\223\275\2502\337\275;n-\273\377v\337\350\212k\2327G'Gg\007\027G\241v-\303\357\177\324K\344\202\264\015\217\021\356\307\364\277\217B\343\303\207\223\343\277~8\352\236\034\274;R\317\224\246\303S\306\372\317\353\234U\243\355\247\340\363\267\300Lhc\315h\327\307Z\255\353\246\006\040\360\344\024\206p\021^e\331\3250^\276\234%\303\3762u\261,\273hX8\355\036\236\276\377\307\177'\304\356\377\273\040\366\354\350\365\177'\274>\375\027\341U\277;5\274\261\274\276Zz\340\367\262\030o\366Ma\225\021\367B\235[\265\021\313e\256\263\354\270\232\331J^Ci\227K\362\263\372\234\3224;hc\013y\023\021\370\277\312\3245\247\011\330|\264\241\277\367\365Dt\346\267)\374\011\320\023\230!&X[<\032\215\247w\305P\230W\012\212H\3444\032\367\027\2356\246\357\263N\264j\031\236K.\015\304:\355:L\025r\015\311Va?\242\232;\334\\\021c\213\271\301\345\206i\302i\216\200\375q\314nW\213$|\212\020\040\257\244z\354\305$l\264lvu\315ur\023\222H2\323\233MQ\253\236\220*|\023\017\207\266\005\204\217\3205a\215\274\335IR\234F\020\016\362q\354\373S\330&\363\356\216\207\331\316\265\015IFs\321\237sO\271M\351\201[\321\223\241\344\365\033\317!h\037?\202?\311\356\3544\021\325\326\317\340=,\2671`v\235\250\0157|\377\224\005\333\377\341\334\312H(!4\320\367,\032\177\303\307\277XRu\245\265\305P\234vH\334\210\300\273\321\207:\270\306\351\244\314d\205>\0131gv\342Z\224>\214q-\341\253\013\322\200p\326\012\2169\020\014\270\212\033\223\271\002Fi\341\237\336r\347\216\005\355\244\313\015z\354^\023\326\306\305>\344\204\255\006\276H\012\232SV\341)\350p\011Z<\311\270\373.\033\301\040\003\026\205\252.\233\035\260\007\211\327\305Fe\362\336\373\3077^\177\237\301\232\252\324g\324U\\\263\256\035\233\334\316*)\224\362\244\226\015\256\201/\016\321\011\246\261\373H\274\330\317\266\\\374\207\321@(k\326f\012\365\230t\371\245\270\343\376S\343Q\350\374Q\314\301\270\315->0>\342\343\363\325\214^e\352g\3618\216\246s0\365\207\373\256\230]\025\241\003\335\016,\206\217J\231;K\240;\260\2502]\355CH\004\344\261\274Yla\314\020\230\241\006\316\254\344\236\230\327\360\210\335\354#\260\301~\\\342\036c\240O\010\031\274\357?H\006\027S\015\371\277\025\302\270\331,\350p\251\234MF\021\030G\030<\221c\011\376o\030\243\033]\226\366\342\305\357\277>\324\256\370\344R\000\242\313\245H%\267\271\315\350\274A\243\224\366\324\264Q\353\032N\264\371\244S\303\347\207\036\022,\312\015\027\000V1\245'li<\315\363\035\263^\273\021|d\365\362i2\034\302\230\242>9\033:='y\243U\331HT\317f\023rw\355E=\220-,]\201\031\232\007\311$gR\005\345\270Lc\364\210\314\202q\366%\366\352\022-\207\336\2210Y'\001\336\201t\3132f\342h\206\361`\312\254\332\321\224X\025tD\371\252o\022`\035\314\244\215\356\334t\301G\372\275\030?%\233\304I\260\011<\230~\036\244M\3259\250\215\333]>\2169\202JYS\330+\341`\016=\261X\306\234\334e\355u$\017h\040\334\004\346\020\360s\2132\245\002F{_D\212OX\272\257q\372'@\375,\015f\343\040\272\302\220:SvA\301\023s\351\312p\261!\334\012\261\312>\367\325\035\350\277\276\367q\335y\260]~\245^\007\313\337\243i2`s\037\003\017S6\215\303\207\204\031\331\345\367\353\233\312\305b\360z\226\366\364H)\3439\304\023d|\030\234x<\311\276\"[d\342\012?\217(\342\347\010\031\207\022\367\253\311\322\325N\022\240=\340'\364\316C\244\356\366K\021\037O\\F'\177\202\215\271\354\212S\375\036\003\217\350\302}Q\325pp\270N\343\242?#\310\3030\3467Vz6\301C\216B}\327\314u\024\212Y\365@\243\237\230G\236\266\334\374iP\040\236\305\030K\336\277mx\002\363\316\261\340\363\206\343\235\177M\234'\256\036\307\375\301B\277\311\350hl\225\251%\344\031Z\211\031\325\244hG3f\015\350Oo\315b^\005_be\366;\330{cj:\276@4\250\234\254\336\302\025\330D\304\022\321\347iab\242\376\014\032\345qI8\012\012\264L\350\337\252f\034\015\016\034\365\330z7\224\327GV\000m\256\367\232HZ\342\306\011Id\222\025\223\376k\326g\353\301\232\370\221\307\333\322\300\221\317\247\037\306\216Z|D\254\026E\3326*\211\365M\322!\205U\253?\024c\301)\244\202\321\034C\346\25337b[\332\265]#\024N\271\344]tr\364\367\013tt\012A\\M\257\226#\020O\357\376\031O\226{\331$n\001{\224rA\277\205\236\217\003\246\0355L\376\273T1PMf\026\250q\340\304\207\014\3519Y\276\216\367J\324L{\015\265\347\344p^\305\357{Wk\253<\313gQ\3604\230\260\210\245\367fL,\311Z\375A\256\030U\267\256-\276\234\261\013g\217\277\225pO>H\003V\021\337l\230O.<*\306\251\032\207\302\024\325Oy82`,\351l8D\234\375\215\371\235\343\317\361\224g\2761\252\027\306\006~\377\255\006\2775\341\3047\350\301\236M\242+d\"\027\241l\0238_\301\212.N\265\2508]\262o\227\365\303k\374\207\243\303%\321\232\267\242i9\215(\277K|\230Rb\356\275\315fMDB\367l\262\037\370\006o\335\330\204\301S\376\0154\014\012\252\341\276\2746:W\001X\210Q\377\323PDN\012^\324\324\020\360\214L!\367^\014\004\210"_buf, + "\002\213D\252PZo\300\002\332n\255\021\352/$y\227\216e\320\373\265\221\251}_\356\374~Q9pFf\356[\275\002SK8\0329z\015\310\256\313QOm\307\337\207\327h\275$\333-w\324\016\275-\030h\263\235\321\241\325Z\031.\177,\252P\001\017k\302\021\\\366\270]G\345\177\030\023\203-\254\202\362_\035\346\331(\256\0304\356:\261P\226\302\227\245\225\315\367\265\346z{\271\027\236\314\007E\306\200\274\035\003\243N\246\005\040\004[\036\026\200M\331~[k\212M\027&\261\024\217\035\206\370\0360\017\351\337l\020^\200\222\211Q\204\304\036\374\304\236\313B\371g#\236\034\036\203\345z\214r\302)A\231\256'Y\232\251\361\227\222,\037\334\364\325\022\036\362\2724\270S\225\006\023\247\263\021?\017\377\026O.1\364\352\235\202\304\277\316\222\230\204\360\302\034\177\222MF\321\260\370\375sru\355\222\320?F\223\364\3402\233\341\372R/\037\361\002\360\233\002\007\230\022\305=_\271]\321\340\313\330\2339\373\330V?^\304\371\224\227\257\362n\315\236\317\257\263\233W\263I\304@\360\336O'h\300)\272\177\3056\313\353lr\026\243\327I<)z9\030\336Dw\271\322k\374\225'\331e\235)}\201T\317F\304\2739Nq\232\247\230\271@\351\3548}\025\003\222\331\220\350cS\371\3666\276Mz\331\025h\340\327I/\032Z\337\317\242\264\237\215\250\330=\210\0179\010tC\274\276\346\243\370G\234\343|\325\374\001\263iV\300\204\357*N\335P?F\011\242\347/\361\035\275\005*\2261V\023\023\020n\012`/\343\001H\300\224a\036-x\346\207\243\333\004\313W\235\015\016\322>\377\256B\371Mij.8w\234\207\0058\007\335\336V~QQ\332\201\011\246\207\331\370\216\374{\276-\270\325`\3229\035Z0\361,=\302\260#@\223\250\255&\002x\312\263\006\324h\301\003\002\342\026-\257M\243\341{\373\234]\344\014fC\246\236\3465\232\262G\313\257\342\313\331\325K\314f\\\243\311\215\330\306\357\222\034\255\021\305\346\234\2471\337\267\345M@\035\010\242K\330\213\007\370\320\261\336tn\216\323\257I\216\031\344*\200kLag\207\261\203\\-,o\317\362\323\005\243$\025\015\312\353\013\242\224\371N\370\357\032\323\272\216rl\315\334\003\353P\034\267\327\251y\020\024\213\012a\376tr\021]U\300\022\274lgG\345b\223\031\343X\345mg)\276\230\247G\245S\324\003\317c\014\266\\\326B2\255\235\035\301\256f\242\350\273\347|\036\263\254^\027\031L\252\034Zq\354}\025\177\351\015\334\213t\031\247\275\353Q4\371\002\347\025*\377yR\203\272e\243\363\010\325\346z$'\033\021\233\352\243\233\000\205\323\004Yr\2165\221P\200[\324\351\234\020\313\244\220\235\235Q2\304\034\311\350\367\223\027\220\340\204\037\315\306\027\211\213k\335?\334\202y\357\217\271+\255\004\206\221`B'd\027\216\247\313x\242\330\3505cn\017:\006X\2352;\002\245v\303\354nAN\206\215\200\376\027\003;\320\226G\367\323\303g\317\332\355\340C\232\300\2414\012\330\331\034\234P\317\002\212\264c\267\320;_\372\267\012\257\024\014\017(\244\327\274x\303\315B\243\012\030\262\325\214\\\327\232\224\267:\231\212\270\023\2271y\211Dy\040b\251\363\367\333\210\336ar\371\247\\\002Jp{@k\334\017-5\013\23617\230\366e\204\357\3023\346\347\365\376\360M0\210F\350f\027^O\247\343\235\347\317\307\275\253e\206\353V6\341\2415-\303\220\365\310\232<\361\272<|!\363\221\206u\330\\\357z\036\233\261V\314\312j5[[\355N-\263\"\221\016>o\327Z\205\300\254\033\276\030_+\273\316\333\262Rp\321\255\027\234\372\352Yi\324\011\227\333n\353\010\254\301{\341\245\224\321{s\222G\305\215\"C\032\335\221\341Z\210\2572\374\244\342\224\251\240>l\354\250\277Vn\343\376\326\372Z\257\267\376A\217\211'\225(\265\266:\327\034\330w\267a\006\267\302Rg5\255\026\020\\/\232\364C\261\310A\376%\031\253\260T\010b\037\204\015)~Yj\031\2670k\352\343\376~\250\222\234\010%p\015\373\311Q>\271\316m\213\265\006\357\311\003\340-X\276\221\240j\221/\3520\317\230[\244\000\277\267G\236\220\342g\247c\264\035O\"8\260z\364\334\246\237\311}\017\040GM\240\017,\276A\367\\D%\225\022e\244\331\315\202\021\342O\340|DQ\202b\335\003\015\231\333\030\271&\017\215\312h\254\037\003\177\205\255\002\374\346\006\024\220\353`\221\011\256\213\242\032c\253\271\012\012\000\365\256\263\0344\201\345ez\"\024}!\007\333\010Y'!)J\231\303\035\343jb\022Y:\274S\341\010\337\321~\014$\177\223L\257\211\244\204\0032\006wf\203li\373&\351}\201f\227w\322}\367\005\374\230\242\327)\272\361\376\237\347\375\370\353s\306\246\376O\260\263\334pno\003_\370\016\011SL\302\236i\257\305\375\225^ocm\260\275\266\275\276\265\371\341\355[\014S\335\206\177\033\240\215\340\277s\353\370\376\003\2528\237X\235\316<\317\212]\336Z\303,\2023\216\277\357\040\220T\004h\252\343N\303\232s\036\307\275#4\033\377\250;I\345\325%{\356\202\007a\027\226b\330U\317\032\001jD\245\254\005\025)N\262\014\037\2732\3143U\362\014:d\215\243&\207r\251E{\306\253\007\272~P\034\007Y\317!\264\270l\330oX\224\314/\334m@\273\013a\235\324\363\227\260\234\177\305\274\212\323\245\302Y\302lJ\216~4z\232\232\035\013\243p*\270\247\020\325\016J@!\361*\236\350\264\300\013\353\220\202h\377\000b\200]\245\323\202\204\245R\003/\254G\017\346\300C\321\032\226W\374\371\203IBt\363_\206(\220\347\237\276:\335\011\216\221\277\202\034GW)7\\\200d\307\024\223(\"L8\241\371\342\177\215&I6\313\231\225\2232\0347\027d\034\040\224E\217\341\240B?~&\177\342q5!\227(\364\353\247\020\350\344\360\237\024g[k\301\355\355R\225'\036\345\377\253I4\334\223\251\341\361\021Q\305\3333WXO\026\263g\201\361\331\360\002)\347\242\240\203:\336\222\226c\274\2234\311\021\206Hl\201\273\273\334/W\363\005\040\277\010\214P\206X\000\007j\361\003D\364\361\356\202\342\203\311\022\207}\215\215\274\001z\337\241\274y!\005\262Y\334\304\000p\345\027B\327\330\011\037LH\3154\226\202\011\330\341\377\2652l\036\022\014\265T\2140d\025\202Np\021\2564\314K{\371|N\204g|\262\317za\217\347p:\\\373E\231\222\011\031\024\367\013\366t\214\311r\325Ws\022\030u\010\220\260G\002t\216\005\344\306Y4\377g<\311\034\255\303\260\030;\266U\"G\362\241\201d\364\033{\037\354\254\326\021\325\224\256\351\355V\020\335DwLn\203\317\213:\303\235c\345\224\2452Z\361\312\264\272\354G\260G-\202\377\000\\\264\361\356\373\002\2654=Q\304\305\003\271\2746\376\272\374=x\266\257\321\263\002XA<\0168\324cv\3224v\264\020\246\274\264B6\200\215\351|U\204\250\233k\207\360\351\350\357\202\005\367\202#dz=\212\341\313"_buf, + "<\274;X\244Xl\364&\364\222\264\017\364\355\023\2441\317\263%\215\020x\204\354\202\030h\374e\254\353a\030*G\311C\0163\003!\021\235\257x\342<6N\032\325\214\374x\312Z\316\305\313\037\364j|\321\356\252\376\233\361y\337\213/8\037\014`&\021\3566\341\216\375\255\0363N\011|<\233\212i(\317>\250\374\034\240\200\3245d\246\000k\262\241\326\230y\2267\365\226\224m\244\261\303\307\031\362*T\250\371\303!\177\240*\030\360\033\255\333\246\015k\016/x{Q&q/\006\356\324\347\221FD\340\215|\321\233-fn\336J\203WB$\317\303d\235!\221\255\000\310\354\204%\034\251\301\217Kt+ue\025d\272\327\330Y\203]\333\231q'\331\346\340\220\273(\231O\363=\255;\261U\230\201\321\346R\005\334\016\035\254]\306\263\014z\202\017&9M\263*QQ\001mq\026\2132\324\332\235\220u\010]xy\314!\013\026\025O\346\300\226l\3630\234\310\346\322\2716\235\376@\034\000\364\326e|\225\244a\243\211]\265Prlp\214<\226/\274\345\345~q\035\347\3704\005c^\343+ynp\352\007\024\"\040g\2314s\312)\321\025\306\250\2747I\306\354\352\002u<\240\022\262:\"8\0365V\246L\"\305\262\227\215\306\011&\372\313\371\305\233yC\203\327\237\250_c\027\203L\277\230\231\313\217\345\247d\200\301j\273]r\274\355v\027~\002\375\362j\024\005\364;\350'\321U\232\345h\346\303g\033\376\257\350\307\203\321\200\026\227?\216\243>\240cQf\027\254p\366\307;\322\343\364k\366\005\225y\365\013~8\204)R\004\327\202\003\221\327\3049;r\336O\320\004\247\253\240\327Q2\024\025V\365\012\357\242;\365\353\232\376\22594\210\217\353Ms@\357\341\\%\237\011^cC\257\361R\\\003\212\357\233j\202\323\302\247JAJ(\016Y=\003b\027\021\336\364\276\321r\265\040a\344d\356f\375\230\0216\276\244,oXr\275\334\235FW\271\277\271;\310qW\015\355\353\364\235\317\343)]\321k\030c~\003\342W\323?6\034\223\006\232\271\212p\002\022\247\254\361lq\252\271\264\030\037\263/\027\031R\217\347\263\270v4+-\270\360\217\243;\310Y\\\350\212\252H\013\273\316/r\315\335\237\225\265u'\247\262\360U\243\332\020Y\326\205V\327X_\261\256J\005s\253\343\305/\377S\277\034/\334\227p\205\013\031\332\301H4\213\250\272\257B\215!-Izi\352t\3644HL\342\223\375\342\275\013\3425to\316\370\006?\006\366\262\021\331&\324\261cQ\265I\350\336(\222\037\330\255t\037\321}r\230\026\343\024\276\276\334i\334I\264\242\345^uC\337\323\031\303;A\301n\207\260\253\257\241\354\004\345\200bQ|\253R\032\021\327\201\376\032\214\216\3305\3248H\373H\251\242eZ\024\225\267\255\012_O\322\311\034\307n6\226'\251&\243X\"\200\3775\010{#\205RB\325\303;\366\230\312\365\334K\274=\3638Y\221\243\231\302\2164\327\225\022\027\224bh\022%\247/\377\327!`\304|\270r\371\013\227\301~JF\244\243\356a\321s\236R\266u\335q\311@\010\345\344e+8HE\330\332!\203\007\322Z\324G\023\273.\276\011\243\200(\345\022\0325\301\336\371\223d\236\242\001\324\345\011\335*\337\351\222\340\345\235\"\004\"\010\326\031\277dN\003\030\370\362\214B\242\300\307G\375oA\336KO\262i\326\2433\013\257uQ\250\304\313b6K\366T8\036\016\032\040\222\366(\321\012\356\221\361l2\316r\014\000\005#\357\321\300\321\267\006s\257\216\342\351u\326g\002\257x\031\324Z\370\263\354\345\264\367:\271\305\367{\013\013\177\026\337\027\026\226C\344i\015<\213?\214w\345\317i\034M^e7p\256,\374\031c\024\371\250\222\277+\352\275\243\316\025\233\210\302\013D]\353\301\021o\025\006\207\004\2457D\327\203\243\2670\226!Os\010E!\226\007\364\332\037\312C\376Qu\355\320\036\022\352\314\331|\337\321\307u\005\272\377\364\211`\223\233k\3573y\240|\336\325\243?\001[\305\213\275S\216\251sP\225{\224\240\021\0404\203?\347\3427!\256\021\230\317P\312\233\323\\\346kR\364(\326\206u\252\207\241\233\364\316\243A|\026c<\271\230Z\006\226M\302:\000$\007\221+\242#\230-\017aL9\363a\241h\032\372\341P\320\311\253\030\024\315\241\342}\314\037\363\251,\037N\307\0034\3043\357R\331\025RBu\040\365\362c$\222p\253\317\222\032\340\304q\306\005\003C\2279g\202\336\022R\3479\271\374}\372$\012U\"\373\010r\307k|M0\335\371\363\"m\244\356\377\314\341\377\026\233\306x[\275.\245-oj\035\213\322\317:\341\210=\263\217\003\341T\362\032T~.}\212A\031\344f\322\212\273\226\214*\273\357\247O\332\270\016\202\306\347T_=\317\250\270\255\341S(q\327`U?\\\274~\301J>;\037va\222l\247\215M#/\021$\354*\311\341\034Cf\304(;\017\033f\274\024^7\315\224Z\272\203(:\223\246\031\221f\214\237\360P\353\342\003S,y\213\267\323\342\331N3X\321\366$\325Xb\\\222\232\206\"\367\300\371\301\353#\370\347\354\350\342\340\370\344\350\025'\374\245\306\210\250%\014\370\353\032*n\004KE\377\012\216\035\343\340=5\225\361j\332\027.\027N\247\307bO\364@j\2245\341\347\263g\026m\313\035\011-8\364O=ci\354\207\212\263.\365\222\315RG\304>\206\344%ybq\300\335^6\276c\337\304d`\"O\011H\340\016\236\022\362\216Fl:#\230\016\253\016\177;\346bl\030\"_t1\240>\021\223\244\023\360a}\032}\366\3043Q\331\003\253L\\a\037aJ(\002\276\007\006\356\015\222\235r\344\011\241\002\247\031p\316\040D\353\356\"ex\372VK\357\327\370\324\276\002\266\225\317.\221y\004\355\215\3003&\227b\0120\030#\307\024\033\032\263\246\325YD\320\213M\203=\326\003\217\352k\025\370W\205\212;G/j\316{\251NH2\023+\304\004\013\343\004U\377\203\212\374\361\370\0311\222\311\335\317\263\313\260\321R\331JhhA\230Q\276\020l\004gd\224\206&P\251\334\250\012LH\250.x>bF\374\302V\272\276\022..6W(\347\227\037\003\0327{\366\254n\\\036\273d0\211\345\216\360\276\014\2767\257\031\264\356\345\335\005\250\017\301\023\226\334\245\317\031\341\341\351\311\353\3437\335W\307\347\007/\337\036u\337a\341\321\331y\303\024&\336\341\216\210\311\005PNQ~<\036\215\207\316\017\342lQZ/\350\324\310^\317Q\245\237\263!*\000;\242\257\227\260\236{\362t\352\330\333Om\026\2522\000m4.\301\212]\367\211\227\"\217\373\0344\276\335W\200\323\306dh\363\032\\*l\211\202\272\360}\354\304\024\012$\\g(&\253\210\271\245\040\3764\204L\245\015\302\0276\251n\300\"\253\250\350\205\021\324\301\331!\246\3749=y#\307nP\355\256\223\006\216\320\213\004\023)k\210\267\007\311\352y\226[_B\361\341\333\017D\024\372wP\310\2004\031\242?\212\\\257}V\204"_buf, + "\316'\245\242\357'\254\234\3444\255\213\214\015dG@\371\\k\011l\223\344e\034\3167\215\305\230\241\237A\331\011\026\203g\342\212V\034\017\354S2\270\253\"\312\032\213\315/\301j,\267\250\371\337l\301\351.\360t`.w\013DO\3662\346\011\352\022'\331\3645\346\222\370\303\250\240'\326\345\017\242\203s)\200US\302\271\"\254\375\277E\013\373\316`\321?\210\004\230LL\006\372G]~\027\313O\3735\327^\324\374\177p\345\251\3420N\257\246\327\237\203\345\340\223\354\211\227\375q'\004>\304|t\262(DX\335\343\300\224\034}\365P\364\264,\\X\270\263c\202\330\331a\262\303B=qB\206\010)\207V\320\233\026x\244b$\342X[\250{\326U\216\246h\374\220\361\024\314u\241>\317\255\034\223\332\374!\243\022\333~\241./\250^3\331\330\032\217AX\222\360\2247\305\366W\040`v\361\204\215K5\252\005\257O\315\343^n\210\344\235\247\207\320\365_\216\264,\233\301$\313\246\315\200y\016\235\317\006\203\344\0268\025\026\376\364\223Z\250\002\2718:\277\350\036\036\234\037\2552%\231)\307\026\220\377\\x\246X\022\335\2753\253\012\252\335\354b\316\001\344\033\374?_\302?\263{y(\270\237\003\272b\257\250\327\011\316Ft\"._J\340K\233\220\023\370\202\023s*\342\202F\031R\273\224\311\024\023\213\232\001{\304\315\236r\315)\275a\2104\343\270\237\363\224\333\323xB.R\313\203\250GwVt\242g\003\314\331@ag\350\321\314M6\371B\026\001\247A\340\350\357<\265*\345X}}pxtN\376\366\356\312'D\352/\217N\016\177~wp\366\227\343\2237\015\363nR\014K\271\330t\204\336\023#\354\342\263\360\334\0315U\275\030\345\265\035\200\304\263}\007\000Z9tY\353R\322r\375b\365\307\271x\371F\361\257\351\376&\031\366\361\3114\340`\212\013\343\270\370^\370\246\3340~\344\365\337\263\352\246\257\231\374L\017\007\262\324\274\237\311D\005\333\343L|9\230:B\370\350\025\200{\353\221|\364\317/\263\35152x\250c\002\375M\207b\271\215Y\276.\306|\235~*\034u\315\000\031\302y\234\2627\023p\024_g\370\256\272\247\224b\254\017\207[\300\357f7\030b\225?\274\3678\021\220\360\032\347\316\001)rl\271\257\0117/SX\255\004F)\356\251*@\026\316\333\256\371\216\272\306\214wml\012\362\030I\002\304K3I\035n7\253\221\040R\257\263\204\203\232\0377f\231\031F\331\021\012J!y\366\301\336*\346\005\274\026\027\241\214\322R\207\275]\322\220\244\035\367w\235j\\.R\302\252\0378\243\263x\356c\325\310QEe\213\336\234\255aEu\237;E?d\222\026\237\223;z\013\377\330Q\264\007\206q\024-\004\326\245'\304\234\313\240\300\360.E\323\365\201%z\344W\316\306Z<`\015\204VV\201[\223/\027\033\353\275\272gLmK\244\377\276\372^t\025\040\234\330\232FW\377F\310\322\231\012\214\255\0149G\267\314S\351{1d\300\011U\332\346\363)\262\320\011\330\177\030J\224\301\214\272\3268\334\370\341\314\220\005\0133Nz\325\255\265\200\335)xxnX\002\347\237\232\2375\271y\222y\306;\247\361\216s\3732\320\273\336\231\352n\237K\314i3/\341oL\177\314\005s\343`\224\241t\314\026\254\012\3331f;\325\177\330tl\275\216r#\252\233\231H\346a\270\0273\340\315_\336\261^B'^:&\274\274\031h1\270\224\030\363F?\214\232\365\331\223W\357qJO\277\016&WyXG\350\321p\214\004\311xP\035\227l\214.!;\263\202\372\350b\300{\322)TI\345\261\374X\271\262\340W\207\200\241ua\224\021*F\354\272\334\375\350\245B\310\001\226~\200P\214\330\226\242X\\\305;=`\315Jf\040{\036\361\033\264N\026\235,\316\343tj\0072\344P\370v\302\367\236}\347\361B\263\015jG\273\004\236\034\245}\002\355\221\240g)\253\023\367\245X\347\016\314'\322\035XXQ\337\031\316\035\263\247j1K\235@u\01245\264wY?\376F\217~\230\347C3\370\353,\233\306\334\343\345\002\317\351\243\274\027\215Y\211\312\261\260%l\201\021\376\263O\020\214o\370\374\363\235\353+\017\222\020\343\011\230\223=\333\274XV\035\300\350\331\271\221\261X\373\214>\272\342Lq\327\024G{4\271\362}bv\277$\275\252\3205\034\257>4\326@\203\242\027\273\204\265C\020O\025\326\040\326bg\207\237\222\362\335'\373m\327D\201D\006\225\225\257\261\334\344\265\304\244\027N\310j\210s\347A\247\023F\350'Z\005\246\371j\243h\217z\357$w\277\334\000\274\253\242\213\234[\021\211\324\307\242\211T0\254\352\0241\031\262\0300\275\300\014\364F\234\357$\276Ar\0139e\342\3774\014\242\033O2\214T\213\344X\012O\324\203\305\366\325S\341\235\242\257G)@\330\31346\253\234\250$4\341&9\332\355'\331P\007j\036\202l\356\321\327\370-\337j\026\374\011\306D\236\276\214z_.2o\245\250\337\347\247\2649\216<\036c\250\35084b\314\375\014\274\020\037q\366\262\321(\303\270:1\307\004e`f\261\332\370\206a\236\373\200\310\347@F\2420wn\262\002\214Cw\305\324\032}n\313\024o\245E\027\024\353\015\211\211:\262&\247\352nsA\214\256,X\212b\243\342\204\337X\210Z\270l\027\231\250\310\226\257ae$\223<\007\243n\364v\215\257\012\303q~\327\331\236\352K&n.v\027\264\335F\373S\374*\333\247\236+\211\307\024X\012\033+|\177\233\000\036\372\350\344*^\371\016\223/\364&$\303\010_\323X:\352\"-1\323:j\374\256\374Xe\326\034)\350\300L0\023\216~3\003\377\234\237\276=\352~<~u\361\2634\330\373\253\004/V\352\276\323=\247(\206\272\340\304\304\334W\3214R\350\2026\335\020\230\257\210-o\234\213\305\367\350\252\354\363\231\264\350\227\200\200.\220\270\362S|\334\"\353\031\014\340:\273)\302{\227\215\312\014\350\355\251\226f\364\330\327\017\344\346\347x8.\371\\D\331\366T\302\347\345\264\036\007y)\226.\217\373\370xg\340\232\273\036\377\033*,\267\025\305\313\021`\332\020\003}q\231\355\301\270##\363\240\314h\364^Q\244\231\3520\3148\216\326\366F\025|\031y\231\365\260\262b\212L\256p\313;;\300\237]1\227\3050%\010G\040k\250#KwvX\346\006\305\020,\242\263\357\354Pn\006\214\326\316\025Z\345\023\317\323\240\274u\251\214\244\016\000\214Jv\266\005\013\277Jduc\351\313\343\222Ce\265\202\231h\241\000S\026p\034\200(\2371Y\202\212&-\017\002\"+N\001Yzv\204}\273\036\245F\360\356G^\012\021\2067\2531\272\032\017\266\213(\3665\214\004\271\032\377\335\365\350Z&\207\020O\364x\201\347\265\265\314J\350\270\021\022\251\372\224\263E\344\366\301\277]7M.p\013%\366}P`\005\251\370\336L\313\363\313cY\262\016\237\262z\321U\031"_buf, + "\030y\316U<\345\207Q\277/\010\325\006\350\236\350\231B]\276\016\346Ox`[`\037\234E\240\000e\353V\276d\017v\367e\231\036\034=h\007\265\003-\030F\232\223\260\264[\350\215]IL\245\353\002\242.<\350\242\234\201BOBW\243\226\266\032\276:E\201z\015\227P$&\307\302\231b\237i]<\375\342\021\252r<\016\343~\301\312\313\020(\363p\343/\017@\330E>\334\251u\3361R(\227\314\240\2772X\336\252\307\351\273\2507\311JGH\227;\363A\237\267\211w\216F\330\033\024\367\250D\017L\244\277\027<\003E\206\013\23049\207\214\372\3749\306\030\241\320X\016\342\243\256F\024\000g\267\214\007\220\245Q\374\230\233\373\331<\316\357ZZ\307[4\237&#L\302A\016\2348\204s\274pC\243c\036\210\217\371\202\213k\352/P\213\220q\005\247t\004\202\024\002T\307\364\0168\342}\0316]i6\240\040\351\273\356o\040\374\242'\253\375\202K\326\230axGW\015~\356\367\344q\317\256\006\277\242-E\253X2\227\325\216VS\306\251\022S\332+*z\302\265(\317?\276\261\2316\325I5\325\3617]\2035\037\376\334\233\036\021\206\001Z\256V\235\000\224\032\215\230\221\220f\323a\002C#v\215\241)\243\"\2457T=e\237\211\257b0\020\370\3660R\342T\302\341\035j\275\231\261o@\010\343\222W7\217)\302\242\341e\2075\000\275\360\365+F\040\242\210\012\\\321\032e\024D)J\203\265\000C9\345\301\361_\317@\030\203\352\301_\333N(\040\266\365\013\030\004\245\335\332@\317\357Z\040\256\223\253k\023\206\033\004\210\341_\343\340\257kn\020\306d\274s\221P,0\323l\032\015\253)T\301\334\263\002\001\317\224\211\213\373\011\210\247\323\363i\037\230L\351\225\014\203y0\034j\311\214\015eF=3\264X\353\312\340P\320\306\3436\330\341\351\344\213\260\352B\016\307\317E\012\364\375\352\024\363\022\020\240\260h\345\316\040?\313\351\236\305\021\203\300\227[\336\270\012w\245\226W\006\340Lw\357\356\324\310DnW\272\267\343\361\236\315R#\034\257R\032z\243\321\252Xp\233\344\365\\\311o&\331llt$\313\302y\243\336\252\2366\335+\006\246\037\337\326\255\234\037\212\040A\265\257\025X\363\242\253\222\357\014z\356\304\270$v$\311\334\245\017\323\207\320\322\331\004N\"\275\274^\220^.\342#\252\213\040\275(M\360\017%\341\323.\3608\313\213\310\276\354g\303\245\240\233#gS\344-\033:X\307-A\005\234\247\026\214Zp\236*\261R\003\377\340JT\335\032`\344\330l0\362F\303\230^\303o\342\010\2145v[\344\2655U\327R1'\261\305bk\346$Gn\2777\211Q-\016\213\337Z\270\346\274(\363S\017\333\0116\361\226\020\034\327%\272}.\356\037\247\347\314\230\347oB\314\016\204&\303\360\255\262(}F\332\264k\023h\011\214\332\304\251\2662h\312=\250\357\200\241Q\245\347\221\326\357\332\244T\242T\327\\Yk\325\362Ik[\254\251e\007\266\226\3204f\232+\346=\244\350\011\227A\244Zy\350\016\247Lf\324r\022u2\270\371\202\246\347$\355\314\335\346h2\251\242i\021\203\327\031\226\232O\\\307Omj.\205R\233\236\265f\0061z\006\366]Pj\321\264>\265\206/\344\266\240\215R\206i\256\037[k\3577XS\203\310\305\022zi\233\244\040\027q\027\037BE|\022\004t%J\036\215\264m\222{\300h,JU\333\031\323\235\213VK\340\314E\255E;\007\241\271\006\367\235pjS\2542A\025\207\005\256%\216+\011\266\036\341\201\214\357\";Q\034\352\252\200\\\352\311,\375\301d\347\031\2166\346\271h\307\003c.\272\021\255\034\253m\017\352;`\324\246\0279)\007\306h\301\370B=\224Z\346\263\210+\264%\255O\206\272\347W\261\270\274\040L\244}a\352\325/\242Y\316']\322P\314\224>\037\200\330\372.\314\325\303\254\207\367\313\331p\246w\246~?\314\314;\265\302\206\315n\327tc\274\211\003s\207\351\310a\327\034N\371^\202\265\347'a\354\354X\326\361N0\212\243\264n]\314B\336\217&\375W\361\327\304\300\270\322\320m/\346vC\033\257\374\303\337\242I\022\245=\365\026\263\236\371_\356\015\035\211\325\027\000.\364\255J\374\255\032\017\"yi\013\355+\223\257q\310\013xz\263\206\343\371\344t\022\2459\232\340e]\231\253J\024P\276*n\371\273\214z_@\313F\3416\236\210&\253\360\365\323\347P\336\251`6Da(\222c\016\373\030\350\247\341\264&\331\026\345\304\311\215i\010\230AT\351\331\252\204\264\342jjP\205]E,\276\367\213X\375\246/\262\332\275\330T\363\030\231m\357u\272sd\326I\347\023?\253\226\307\247\020\335\303\020M\"s\002\333\333\224<\202\262@\217'\331W\214:\206\2572\006\031z\2121\211\217\336\325\361\200\267;*4\376\311\270lU\002\376\030o>\264\372\361tO\372\366t\350\346\225eq\214\373\2428A\217\030;\251\201\313RK^\206\362g\350~!\250eEH3z/\013c\026\002\263'\202\007{qX\002\211y\302\026\217_)3E\036\332\260Jr4L\345a\307\362\221\270\244\222\251R\324p?\255\224\260\204\240\305\241Y\302\254\"\313\226MmZh\031\312\270\\O\222+G\225K%\234Cr\030\\\024\035\\\216k\376#\332\352ZzH\001\211\214#o`\025Z\236r\000\305\350\3653\256>\204#\364\\\010M\266\337\231\003\002f\332\212\373\376\031\314\313k\254\236\"\305\212\307g\353t\201\211\264B\223\216X\316A\301\321\331\255B\002#\353\241\233\000>7F.\303\335\220\362\340r6\200\315\313\257M0\225Mo\030ct\221\035O\336\036\3215G\247\333\344\031\351\245\245\224\316I\217\303s\331\251r\265\254j\377\341\026\341\260\234&\202\251VXk7+\340l"_buf, + "\025n\252\227V\001\0046\242\2003e\373\251ZV\216\265/\311\230\205|\257\303\027T\332\340oA\002JF\033$\342X\342.\034\354\040\352\273;\035D\040\333\037M&\331\344(\245\324\006\300\365\373\241\342\234#\356n\334\264\223\344\357\240\343\304r&+\002;\330\007\252\022\365\306\366uT\352u\214\027\372\242\374u\204\002\233\373\201\276Q\307\225\253\312=\240\036\224M\343\320\274\015vFo\250~\211o\036\334\216\204X\012\206\214A\273\243\002\231\265|\330q\304/`\335\360v\357\242\261\200>\212\306\252\237~\3235\022+P\007\246\316\300,Zf\220\016w\333\222%r\305P\250\267F\336\260E\366\365z\235\205S\020\243<\016\241\302\304\024\177\314\266\0056\212\246\262\314\271\356\017\210\225\240\304\001t:8\024\205=\333\225\2427\030f\321\324\250\324O2\255\2041\367r\217\012\356\032\320\361y\022\361\007\347(\024\304\016\257B\343\316\352)w[mH'?\330zx\272\345B+d\256K\040\301\342#\346\377\331Z\033\004!+\222\2112\003\246T\216g\323\306\202\303O\361\265\000\040\237\017\230\367\014A\321\373\023\236\373\225NR\201pr\254_0\374\020\3247\015\241;\314K\323\333\221f\375\215'\2242=\026\217U*\037\320\364dr\345\206\327\327\341\025@\375\032\367u\227\007k;\275d\3311\235:\221\352\241i\267\362\261\310\256\330j\262\371\016=\357\356q\327\027\341@\2569\244\030\032&\367g\221u\245\177K\001\364\233\365z\274\320_@\025\257\345TB:\360\040\014\236\010\\Qr\030\267\306\324\242C1\224\023Y\356\250/'\032\216\314SLP<:;;=\013\203\305\342\305\3050\376\032\017).L.zbY\002)=\037\233\305\242\236M\315\362#\252\241\245y\302]\313\374\354\032\302\234\235=D\261t\367\366\315~+\253k\364\362\317\337\335\264\246\344\237w\351\340^\335\323\245.\026\210\271_0=jj\353\234~\040\246\322\351\262\204+Jg\303\267P<\202\203\332|_k\351\304\237GW-\271w\251\032@\321t_iU\336\271\246\335\226^\257*\275\373\347/[\357\027\015\275nQ\246J\\\341\202\340\235\376\250[@\352}ia@\332.\032\346B\255\265\037\017\232\356\343R}\236/\005]M\375Yz^{0\331\230\215\245\341E\203\256/9\325%\034\200\2562\225\214\300\261\034-\313\301\354\336C\207\305\040l%K\214B\371R=\014I\224\265\306\040\0253\227^&\372\227\345\337\213\204z\303toq\327t\014\262\022\312\241c[y\307\215\252a\206qH\372Y\020\245w\024u\200r\034\260S\007N\037\316S[f\263c\3644Oe\236\327\341\035\232\021x/\3758\305\204\270((\365\331\001\312\214\237-\327\3405\257\321\236\3421\352\363fU\330\273\360\304\334S0\325q`o\327n!W\240c\255\311\256\033\276\300i\307\265\332\236+\027\205\307t\214\275\272[zv;\217\341\373\371d\272\303\331h\006\325\340C\035\241\316\274QQ\234c\233\201\374\373\360:\031\366O\262~|a\275\024\301R\203\274\212\240\262\024\256\312\366\221\335a\246\252P\361\232\275w\007\371%\010\272I\267P9\345\250\334\201!\013\035Y\031~G\337r\027l$z\241\002\267\207\177\302\3428cZ\352\276oe\210P\2528y\177\027e\253\034\021C\177\204\342\267\017-*<\3675\204TN\264\014\357\352P\325\344n\225\257\014h<-\345\244k\311\254\345\000\227\345\202\363\327\361=:p\017\322\\=e\320\235\371F-]\256\367\303%\326\302\034\211\236\366C]\031\232\315\256\217\352D\274\202\012\302S\207\336q\001\323|\326UH\272\261\265\343\040P9\204\236\372K\257\250\200w\271\327U\371$U\371%9\242\343\276\274S\005,}e\264o\316\273\0115\323\040\375\035\312\"c+\030\260\364n+\240\265\370O\033\252F\214\260\263j\321b\012?*I1\014\261\332r\307\336$,\333\351\276\030#\375.\315\243\344\205\244nI\001M\2245\032e\233\220D\211\342\201\202\013\233\3167\325\316\330\312\216\225\340\243qS\016\333\011\342X=\021\0215\373\361\236&\2466U.j\231\037\2450i\266/\344\310\246\326\207\023\002\010\016f{!\0076\365.T\033\246\373\304\375\377\006\221?\316\040\"\315\005\236\245\250\260\027\374\2677\243\324\276\376\326-\031\025V\004\373\306\273\312\020R}\315]\006a\376\333m\317ji\007}\021\206\221\273\366\251\017\022\270s:\272\342\2544\331\366\010\\\036=\276#\002Y\265\275\237\014\365\235\256\347Bw\256m\332~@VY&b$9v\022\337\341J\035y\223\363%\356\262\261i\343\012\315Y\273\222\326\245\214\023j\200\313\016\221\030\221\343H`Y\364K1tA\205\342!\377\345&-6\346\207\232\356\231\367\234\260\021u\032h\231\323\266x\204\306IsE\225\257\307J\225\026E_\352v6h\322\3515\012Z^\\ek\367\333\270U\373\366\343\320\274\206\223\264>2\260*\263X\040sP\206\265\373\343\015\355\232\221\335\217\006<\365|\034]\323dB\035\340\256\013\233\306D\230o2\245Xv\040f\271#\354^\012uhr\200\305pe\206\023\245\205\301i-)\245\260n\273G\2543\361\012\036\217\0121\327b4t\264\\F\015g\343\243\311\304\325X\267x<\340FC\277\315x\370z\027\272gh\200,]\301\374&\032\207\312\0029\227\216\200\225\254\335\274\267(\352\015\312\303g\314\325q6_\011\256\356l\331\234\234\323\005X\025\204\252\316\260P*=\373\336\347\371\24764=\374\346\271\274\371\276{\023\327\015\205a^\304\334!\016\373\240e\332\254c\346Tn\035P\312\027\315$\301-\032T\033\355\215\237\374I\005>\3036\370\266\242\030)H\277]\242\344\022\015\327+\234Q<\3023\202\340\2026\336,IX\260\3346\005\246\212\301,\267?\353\336{\305\226\026\301\225\022\221\327\347\336z\365x\364\025\324#\341\323\307\257\330\234\336*{\316\332\035\343\265\244U"_buf, + "\241\322~\270\373}6\245\335\357T|v\347\327z\314\306s\270=:2$\333\251\2171\236:\374\2131w\035\211}\215\370N<\034\275\221/\352\320\276\305\303l:,\177\257\236\202\362:\231\032\257\222\316\342\276^\360f\022\307\206B\365r83Z\035\336\231o\247\376\021\343\273\040\013\324\2351\202\227\223\344\352\232\274Ho\333+\316og\024\267\207\327\373\315\036\037\373B\243T\3539\206\375\226W\2743\352\335\271\000\022j\324\212\016\\\261ol\246jU1wS\025{yG\341\266S\012Z\247~\303p\355<>\276\034\244\221*\231e[\220\275\270\320\313t.rx\227\365,t\261J<\244\266\254\346\300\026\207\306\375Q\3611\311\214\202\301\361\221\030\263\253\350\265\350\217\367\244\007x\202FI\032\015\225\020\261\373\016\222:s\207\231\265pb*W\031>\340\273\273\210o\247~\374\376\034G}\346\370M\353\354\274\344\201\025\374\040\022E\262A\010\205\032s\336\234\035\034\037\007W3P\314\225\250\040\024:\233mH\276\251\017\015[OQ\007\377}Z\334\370\245Y|\333\213\307S\263\252\026\273\253F\253\337E\000o{&\332\213=\232\004\260\211\345\374:\233\342A\230^\305\271\311\235\211\313\316\220\261\273\346T\222\037\014\223\320}\365G\340Re>y\221\276\267\027\204\346\267\274)\230\2360\266\317\025\346Y\347\256\276\014\366\307\307\234\215\005#\241\317\331\321\233\343\363\213\2433\231RG\220\254`\201\024;\274\021\374\347Bq\311}|\002\365N\016\336v\317/\016\316.\272\037\017\316N\216O\336\234w\317?\274\177\177vt~~|z\"\247\355n\307+v\337\274=}y\360\366\\\202\010\214v\222\333~c\354vg\307\332\264{\352@;\352\263\"\020#\272\262\332\353l\362\323Oj\325P\274\371\013\356}\223;}\357\234\233\027\205o\361\237\023D\341\220\257\330\203\2217?\332|\010\263(sO\035\\\005\302\324\252\017@\324Ot\211j>+\346\244XM\2116!6*Q\257\216\030\211\335\375\262Y\016\301\255\225\031\247>\336D\221`\017\342\316\204\335\016\241\202\014rV2\011n\262\311\227\040\033\014\340\\\301\310\346J\232\253\334+U\3405\025\354\345:Z\035U\224\036\256>\235\334\250\327Q\3718\363\007r\266\333\331q\026+\342\341\357\006\344\260\341J2T+\250\303C\336\263P(\005g\227\017T\362\037p\267\331\365]n\356\316\373&\242\353\2760\332]\230\323\034\335u\333\243w\027\036l\206(\010\322O\262$1\263\264'Ex\205\356\273\363\303\356\337\216\316\0322\275(O\006\030\242=\332.\355'9\036\201;\353+\233\355\006%\023\3170\222\3100\030F\227\300,\0028\357\202\243\277\277\177{|x|\361\366\037\3015e\256\305\210EA~\223\340\004\312}\024\030@\012L>\015\240\217Ut/\264:\340P\253aA=\341_\025$\271\010\314\330\300\277A\020\273D\030\376\234\242\034\306\353\033\204\321\033\346\332K\305\331h\004\212(\350/\263\021\267\224\362\364\337\010\365\375\204\330\261\225\201\024\027\240\006+\320\352u\314HS\252\240\245tFfb\273s\246lj\020\3032\261\257\241i\233z\273\2063G\321\277\206s\324~\014\027M\256\376\213\361\237\371\337\206\355>\032\037{`\344\025O\304\025\2176\346\035\270\035s\305\031r%)\233\274\021u\305\027t%7\247\356\006\302\003\2578&\022\243\225L\005\360\240\030,5\257\350\273\236;\372\335\007\334\377v}\027\300\273\217u\212=\316\203\323]O\3722\202\212i\247\210\321\331\354E~\372\230L\257\263\331\364p\230!\323\227\204@L\323J\312.[\211\010\361\336\012Etw;\215}R\274\307:H\205\213\032\263G\332\003\245\3528\272\270\317\253\370\202\305;;:\035\307iu;\325N\010\324\311+]S\302\365\035<\226\007\311$\237\322\315\022sl\312\343)\306\354\211)\345\007\017\011\206\336K\212\231\033E\214\331e\036\3031\224\262\246\271c|ll,BK\350\016\025\314\302y\250\201\346y\317\314\017\304\205]\212\361\030\352\2418Y\340G'\222\3709}\226\335\270\206@\"ES\177+\247\036\354JD\203a\256\017t\222\335\224\215\360U\202\301l&s\017T\264\363\222\226\314\030Za\242\275&\3543Y\240?O6\275\232\302a6n\270s\316;\004N\237H\372\013\2102\244C\031\025nG\303\233I\302\"\21182\314{D5\272/cB\330\337GC\036U\003\027\273\220\237\304\325\331\355\312Jqep,I\356v\245]\024\237\3047\264)\250|\265\251\031\364t\370\322\310\375[\020\352_\206\327@5z\321\344Z\254\277\007\310\323\332@\024\251\023>c\\$i\0363s\340\021n\000\000e\373\376\206\177\341\025\012\275)l\342\257\203)\354\213\313\031F\351RoI$Xw\224\274\351\244)\201\016\370\277\373\032\360\300\332#1\301\273\310\354\333\200\300\316m;\230$HX\363\335)\024\270\340\343\274\225\005\215\322\2442\"M\"2\246b\373\211\011\216\272|\212\256L\204\320\347G\242X_\032iV\355\274\007\203\357\037\261\260W\012]\232\313E\227]j\335\260\350a)`{\303\244\211\301HO\374\341\200\241\375,\275h\262\032k7U\325p4@\277\353\303(\035\344S6;$\040'\315M\341\203k\346\373z\031\246`g\333\3677\363\003\337\356\015O\0067\313F_6L\271mJ\202=\311\347\306\221\250\354\364\227\037u\331\262.wL\310\014\214\322z\327g\0017\022\362\030w8\316\307q\"\005\250B^b$\200\323t6\034\216\325\315`\363-\330\026\243\251\373!\235\204\351\330\353\373\302\272\331\003\011M7\207\377^\264k\270\241\025\273\255$\317\211\254\244\221niSW[:\227\344\016\362\256\362\367S\244\226\243B\343\023\271\276\213\377\2401(8\000\036,z\377a}\324\336O\216\017\332\336\370.\340L\251w\202+e\020\017\351\253\006c8\213gdmcB4\317\262<\311\215=\016\005x\026J0NGy7W\201\246\370X\323\274\217\362\316\353\207\363\345\262\005<\314FD\203\177P\367$\256P\307\347\323\273a\234_\307\230\177w\340\234\376l2,\245\275\227\303(\375\202\376\212\241C\040\312g\223\370\"\272b\232\240-\330\033\026\253\361xxW\014\334\336\220\356)\274\212A\002\021\331\351-\203\034C\312\361\340$F\317\236\210\005;45\212itu\234\243\322\351I\1777\352\246q\334\317\013\271\331\250\344\215\032G\240=iI0c..\214\317\251x\324\315\024\317\321{C\027Q\025\011\317=\015\023\314\376\027j\"\212e\226\337\256\273\237\357\356i\265;\036\221[\253\024\226\372N\252\310"_buf, + "\376]o\367\007\337\326<_B\253\253\032bhw\376\370a\023\333\2223w\0000G\374\257\335\207D\362\232*e\337\345+\032\3245\342>\374\301\215\027M\017y\315Qv'\245\275\003\3605\240\215C\220C=\230\201\272BX\040\243H\3463\361&U\364&\253B\037\371\252f\216\0205\312\3035\367P\2130'ae\363\222\326\036B\314\371\253\023\373\260AMW\311\212\002+1)\026eR\226\367\011\216\220s\254X\226\377\311\256\243\345#\231\245\"\336\351\021)\201<\210\314\212uJd_.24\253\317c\224r[\230\204\375\310g_\002t\270o\3505\305\335f\373\356{9\245\252\217\347+U\346\340\370j\253\307\340\367\356@\317\272\020c\333Z\224\235\226\315&=\342\230!\373\363\255\010\344\"(PVh\350\356T,C\274\003y\017\274\001\374\256c\310\216\341\370/>\207\312\301\324\270\374\363\334\375\375\013\2564\037\315\243\242\276C\305\277\371\231:\307\263\303\377\"\327\254\337y\303\372\035w\253\337s\253jY\271\3301X<\3423\316\302\342\360\034u\265\343\023\3174\371\234\355\025\034h\327\017\212\217n\036F\332G\320Z\231\323^\021E\035\203\247\363k\225\371\210\3048\004%\226\001\255\335h8d\336\357\350\010\207\231\026n\357\002vA\304\034m\370\025KN~6<\352\201\012\200W&\317\271\010/\004\021\020\254U/\311c\321\330\331n\020GS\320n\363V\360\217l&2}\214\351\021\040\205L\300KI\230\354\327\244\217'\226\034F\222\312\\M\350\262\327Z\360\316\216M\213\036\344\210\"\253r\357z\222\245\331(&=\220c\341\003\360\257e@8\021]\361}\301n\214\311\322d\263C\374\225/\250\267R\254\265\032\201\236\324l\3575UQ*G\354\210{\251d\022\243>;\2067\040\025\312d[\373\201^{g\247oe\232\253\013\3715\306\341W\040\323\366d\223,\300\3561\221\277i\365;\216'I\326\357\224\347Fs\366\213\373\362=\206\005q\314f\012\337\272\0243\304\212\323\306\275\273\330:\231\303\315\247@\267w\354\333\\C\342.[\030\223C\267\310\311Q\356\261\026Jt\276\2602\350\036\237\015@\255vP/f8\030#\027\3024\303\225\253A_\251l\257-\002<\022\237r\020\335\202\361\301\371\312F\022\277\261+0\340\356(\371\247\330P\010\351\347\204%\030C\036\040?/x\357\223\211\303\212\034\021\323l\224\364:\344\260G\177v\247\327\040D\366\273\003|)\\\341\241\347\336OZ\257\3357'\037\016\273\335F\360\333oJ!(\000\300\032\273\2152\262PL\274IJf-:\302\276\304\361\270\313RO\204\027K\301\270a\205\014\031AET\261\207q\270\270\010\232\305N\260x\265\030\2161\370\343\"k\270\350|\273\357\353\245N\017\036\320\362\317\002S\257\342)*`:H\265k\271\200\335\313\010\016bRL\276\351\003\332U\211V'%\006\036\235\307\235k/\235\011D/0\201&z`\377\210\245\300@<\327Q\372%\017\376l\3119\246\304\252?>\276\364\345\347\375<\024{\217\20265\242\356}\015\254\232\342\016\033<=}\301\2473\"\031'\236\251;\341\302\367#\317\300\030\264\350\261(\201\330\017\355\225\327\002c\310a\321\036\2441\274\371\320*T'\203\036*{\205c\204\365\346^\223fP\177Q\214w\360L\336S\255V\205A\014\337\004\274\3131\264\307bT\024\007\003\262t\241\365d2\203\315\305\002h`@\355\273\305\335*\011\252|\261\212\245a\365wvj-\017\254\012>\205\354\222o\247\\\017\023\377\314\350tq\366\017\357\262\210N\315%v#\335\304\2530\351\321\377\036\274}kws\205\267\025\310\320\016\2431\032\222\302F\3134\037R\362rD\314A\017o4\345\345\223\025\232\261\230\321\331\207\223\213\343wG<\326\267\230\203\265\212~Y\367\373\025k\207\014\360\003\216k\301L\013\003\327a\226\"~\034\033M\317\361\212\362Jhd\224u\326\004\345.\311\257\253\252\376n\017AO\024R\353\244\360Yk\334S}\007\264=\304\361A\377\205GG-T\250((\002\017\260\"\362\246\327,9\216\360\302:j\024\020\254\314\011\303&V\325\306'\354M\3610\032\223\233\22006\211\255(!/\213q:\201Z\006,Q\271\272\246\350\301\273Z\025\034\314^\242\012\027\350*\226'1=\212#t\242\3228\231,\364\035\000\240f`\230]T=\2608\204\2316:\3105L\264\241M\022\370vn\343\374\213UW\231\234d,6\315=\015\350W\223@\177\261\003\250\357Pr\344\360)\325\262?7\203/\341\027=\013\221\323\271\367\341\370\023\307#\336\317w\261\261\323e\231\267\372\364\024Z|&\374)\3448K\211\2549$\214\323K\200\302F\371\351\372\335c\226=\271\206,\226\304a\036q\304?\207\221P^\223\311\324\365\031\2252\234t\220\020\357\203\177\366\220\040\236=K\032.u\230F\230x\273\021\314b\367\341c60\351'\277%\352s\327\"\362/VZ\251\357:\343\214k\027C\015\216S8\034\262\024=:\245\012|T\224\321#O\364k\304\370j\217v\227\"\270\251e\351Wz>\312\001\317\330L'\037y%\002\204g\344\0358\305\040\340\200]\364(I\006\230\355>a)\177\2614\257\326\030\005\350U\235\314\345C\027\307\340\366\2126\325\367\016\304\013\201\372\304\210\314\023\366\336\225M\254\366%\211\272h\337\034\0126]\"t\271\356\177\310\256b\264ps\216\331i\227P\374\374\351pH\2238\317\2063;\373\303\274pzY>}T\2027)\332$\370\333\270G\303\356\002^\323\342\342\344H\224\007X\276\340\277\353\354\016\270,_"_buf, + "\264}5\033]rV\315\277\321\326&_}F\205\310\245\220<(\252\312\224\002\313\223<\2027\272\372=\246\235\\\273\312\302d\247\341\376\327\330\234\030\235\275\212{\321\235j\277!\274\364\261T\261\336TAV\2564?8%\314\004\023\235c\253\276\343\330\326\354\227\257x\327M6\264\275\017@z\337l\205\375y\3601\016\320u\232\364\303\030\216\016z\364\241-\352%\000\000\205-\210a\345\356\202q\022\367\350\276\235\036\265\321\015\376\210\302UF\375~\261\270f/I\032D\342\324\244\315\212i\2721\220\"\271mc\347\327\321\327X%\026\340?\304\203\341\320\240h\272Q\017x9\306\310\351\345\230\322\200:\276\211\255\2160#g\324\243\374KD~\311T\344\341TzoY\315\2165\302\315q~:\022\3102\312OA^\207\206\200\211A\376\2041Bn\242\273\234\034\344\201\005\323}(&i\260\372\311G\270\007.g\003tB\320\3005)\270\010\032Mf\230\223d\004;\315j}\201i\2370|\0104'\205sx\027D\326\256s\216\035\330/\2467E\375\337\230\307\256\275X\260\244\021e3\3151\016&\014wJx\314\225\365\201\236\361c\313E\245r\237\011\375\337\330TNyQi/$c\217\241KS\001\261n\250J\365Ll\345\247\222S/Ta\210\256\226\220/\343\013\211\272\015\177\027-\375\252\244C\235\254+d*\310\030\221&)u\310\012\334PmU\025\331!a\270\310\370B\246\0203\325\237\325Zxr)\040\230b\343P\352dC\322oLD*\352'\027\01008_Q?\244w\203n\035T\212\333\345\213\\\022\235O\232\315\020\200P{\014\325K\201\313T0'\224\373yGgk\004>AI\312\3640\0306\214\307\035\202\252HU\215\201I\314B\275\3015\367\215\305Y\214\244\003\215\234\373\300G\340\375\254\013\\\217\322.\177\323\223/\252n-\367N\020\325\3073\205W6\371Q\310\350\357\002\251\225\350;\354\331\264\3552\012\270\241\271\223\220!\330\202\326\213Yv\276\321l\334\233\311c\025wv\340\275\356-\244\004f\227\266F,n0\311\006\040\2561\201\345u\234\375\330\023.\370K\215\231\273D\"\334\371\254\333\216\317\\\353\306\217=\026\253\004F\206'\263\177h\0053\304z\255\301\303\273\222\256\266\245\375\261^\226;\2341\326\354M}9\354\235\243g'\017\264$_|\226\245\227=\216\327\333\236m>\337@5\014\371F\313s\337\230xz\244\001\233,\305{\216|\013\260syR\330gR\211\334\242\207F\023\347K'\030\314i\257\374^5\320\243\257\331\217T\342\250\260|\260\237\040\303^e\023\020\025G\377\2167\375\226\210\304O\0176v\347u\266\271\360\314\336Yz\004\226\231\325\312\017\356\332g\266]\342<4\253\357!,\214\010TTq\\^\321\177\365\246Yo\334\354\271\304\212\363C\350Z\241X\223\226g)\006G\351F\323\356\020\304\226\202\252\317f\250sJ%\010\227\026T\320$MF\263Q\020\215HCD\267\361d\024\333v\017.\001I`\357\330o\273\"*R\351\225\254wA?\365\0154\003\355\314k\331xl\343\242bB0}AD\276\026\032\242\317\300\310\257xv\035)\034\200&rK\311\241\3152\215'\246.Y\303\230\247\014\025\217\213\262\253\177\351\245\015\377\234\342\351\306\376\334s\335R5\347\273\215\356)\367\366\217\340\265\254\320\303\277\216Y:\320[\345X!p\273\307\333j\016\015\256\373\216j\357\011\362\315c{e\277\304\375\\T\005\300\030\366\305w\253\257\\\014\325uf\241\001\340\322\324\351\036\003\261L#\250\212\015\3705\346\256\237-Rmc@\322[\020\025\311I\243\031\264\377h6\251\262\255R\233\351\367\363\240G\241\312\0324\210\032\212\240\277.\012\206\012\015\012\346\223\327\27224\334F8L\3165\370\025\031\002+\315\026\360h\363R\304\320\332\363\253u\275hz!\210\033t*\361o=\306\342+\366\237z\303,\314)\204\262\206C9W.\200\320\250\040\235\007\232\212n\302\272mp0\366v\371n\334\263\223\303\024\022\272\021\017\332\253;]\262\007.Y\332O\360\234\210\206{\245\266\"\251D+\245\252F\275\273\340\022X\345\245l7\272\211\356\272\024\311U\030\357c\341?\344X^&\266\242%|)\270\001MI\232FD\340\263*;\030_\216\305\036\275\203CC3\247\272\302W\254\211v\337\313\030\215\2757Q^\0145\300\241.\316\353\016\370h[\245d\365\224z\235\216U1tz\261\\g7]P1\257\330\376\312\343\270O\355\375\2620\317\271\316\322:a}\033\0237\327\3110\006\325\201*\355\005a\033\203\"\255\2554|j\003\337u\\\026\333W\031\200\315\220\352\330,\235\275$\203\040d]\210\335\027t\366\345\374\313T\032\271w\365\346\352\326\345_\312wp\271\355\2225Y\332\017V\353\244M\237\302\244o\234\373\347\333\037\255\215\270t\216\342p\225\212t\347\017\360\035\020\027\270\357\207Qj\275\311Qe\363\356\030_\322D\310\325w=\262?\277\271\356w\355\027\234\352\011c[y$\007\361@\006\361h4\033\243p\034\333\352\003\377\250j\021\337\355\264\240beNw\005'\306\232\016\3444U\306\251\314\260i\317\350\201\007[\307~Y\302cX\271}\013\200.Y\232u\221\0327x\332\033\000\237S\274\023<-\343\364\253\0375\230\367\236f\004\012\364e2\365J\036\346\266\020\234\314\371n\224=bs1\350N\250\040\263\341\300f\241\341qK\006\210\365\274\355\267{'3\254F\035\366\345\260'R1\331''\300\362\000\231\205\013\3609\021F\3564TR\177W\230I\006V\265\313\357\3370\2752HS\350\350\000\342\023A\206\331\271a6\203Oh\340l\342\302|\366\360\351J\201\017\177\270\3311\302^\356\310nCM\256\303fM\3676\360\031e\231\252GUh\325\360DC0\205\320\007*\025L\245Ux\277\264lW&\365\330R\201\355\005\2565\333\331\371g<\311\320\236\256w\\V\267\324\244\254\202y^\207q\322N\366GDu\220\324\375\243\272\374\330>=\246\327\017\347Yj\040\201\300puS\334\"l\353\026\205{\222\306-\214\261A\036\030\3210\210@<\276\313\023t\335\310\206zP\002\345\370+\012\205\035.\032v\034Q\265\213\022\206v\275,\005ao\222\364:eF\265\036\314\363\272\302Q\250\007\333\260\037\017\364p\011i?\033\375\030\025\230\251\036\214p\304\205\014\347A\354\315|\307\340T<\224\331M\214\3764(\340\200@\037]\305\335_gQJo\255\311\202\315\304\326_\233.\200;;\002\177,\264~U\245a\224O\033\325\307\355\261\\\224j\317\303\036\373y\327\025\016\177\341\2611\244c\255w\337\313`}\314p6\215\357B\016\3005j\311\205~m\003\256\375(l7\203\365&A\003\256{\225\244\310j\351\027\354+'+g@\327J\201\256=\010h\362+\332\273\000\3642\014\332SgH\341\212aN\313\240\\@\375\245`\315k\351\032f#\243n\273\265\341\253|\235\214X\347\317jU\316\215\3124\012\253\262\307\027\325\343\276\274\313\323?<\331\247\025\305k\026*\250\320\231Pc_\242\212\376\323c\012g\006\240\256\001\040\263\326\020\364\235\034\235\327bw\003J3W\264\032\025\255F\311\260_\331\246\203\350am"_buf, + "\256\201@\352v\205\315FJ3\177_X\205q\221\034\200\307i\035]\211\037A\331\274b\247{\247s\306\204'\366\374\273\231(\2109\344\261\205\006\372\364,\237\214\3458\022\3742\352\365X\274\310X\335\374\315`\245\345?w\261\371s\326\343\274\323\377p\206f\001\013\033J\021\367\35651\304\271<\010\212\364G\210\200\236\006\023ad\020\345\271\202/\027\376\232\005\374\247B\343\300D?\036\254\246\225\030\0257\323\350J\211\201\236\272}LM\210a\230)t\2130X\247\215N\200_\302\225&\000]\016\332N!\232\315\021\370\272\335\017\024J)YN\366a\2021\200j4U\214}\002M\213#\353\251\304\011\374\215\003\206\177\000\311\237\313\236\304\032\007\211\000\334\367\311\202\374\263\234\216\317\005\252\306T$0\230\020L\342\223\230\2056\362\342\015\025|\374D\253\000\037\032\237w\235\262\245B\347\022\027E?\305\361S\024\371\316\240{\337\362\344\331d\212\253P\000\303\037>0\202\323\314\346\336lG\305ZV\360\037Ny\277\000r\277\000-\307a\261K\224mR\261\267\276c\0271\365\206\342\040\011\306\224b0rv\\\355\372v\0123\215\345.\234\321\007\215\304\334g$7=b\270R\032\032\376\255\234\227\311\264\36458\312y\335\374&\032\207\311\224\357!/I\261\021a\336\305.\022qXP\027\2338\027\273\032\265|n8Q8\021`=p\243@\036\234\365\247\350\362=\354\366\372\203\220\227\3346*\262.\307\223A/\\\276\015\236s\352\375\025\250w\265\205\246\327\347\001\374[\3329\357\003A\340=G\321\247[2\347\243\223r\037/\036\317!BW\037%\362\375\210\340X\227Y6\305|\262c\321\037\205q\355c\254\234\356\020\204\215a\345\241\302\351QD\036\216\205M\313\271\215\374\373\204+\301\271\265_|\007\371\230\207T+hI\227\340\035\206\246W\261`\251,\372\210\210H\002\252\024J\0064\200\005\227\310\247\214n\037\316\257\302\236G\203h\032\377\230(t;\250\026l\007&Qp\037\205\343\224\317\207\243\001[\342\325l\312\014\375i\210\005\005w\245_>\366Z\210D\335\034\350n\202\007\"\376\350\315.]\366*vM\230\304\241\273A\303!W\371\006\243\346\235\037G\311$\\i\221\334\005\347\230\234\320gv\352\341g\031\007N\220m\376k\357R\206\347\276\245\310;\376\312~\211?\350s\3343\014.\007\267%&\250\376*:\343\203~\322/\253\204\312\034\324\364\326*|\237`\012-\246\244<\203\026MV\300\017\202g\010\350\336}\256\372\226\021\320\036c\354i\271\040\300\243\302M\030\011\303\014&\212S\327\015U2\327\243M\330T,:\"F\021a\206T\274v\224r@\013\363\304\225\221\323x\222]v\213\000\213(*w\223A\321\336\022#\004I|\242\375\363Ye\316\002]\267\240=\2610\211\350\334\014\363bu\032\251s\237\367]\373\234\013\252|\343\345\316}.\206\216Y\372\036c\223\363\231\\&\021\3625\223\303\263\336\374\210\374g\333\321(l\267\200N\315\336\331y\344\265[\300~\304\005\371\224\252\310]\356\320bW\207\313\031N`\015\373\241r|B\353\245\040m\354\272H\224:D_\227O8\355&#K\331\357\245\262\250\204\226g\301%\256'\315\212Q\360\022TrB\026\040\020-\274\355?\333\376j\253\242\332rY\265\010\241E\341e\333\277\016\321*\253\262\3527\216H\237\350\3506Dd\207Q\033\010z\305o\363\220\015`+\260\006\253\215\022\365\310\244E\261u>\015\263\317\312\257\353\344\263\2332\253\305\024nQ\353~\215&\011\276\213\013-Q\201=\265\265\212\311\356\371\225\251\242\226\254\311/\022\245\224\321\225\246]\233\354\234\035\356VW\023\001u\2730\214\304q\263X2\311\335R\037\003\307\250\331\037\261\020\007\374B\023a\243\253(\232\217gP\375\261\327\317\205U\276\302\350\3562\246[\226s\333\006\317m\351\177\244[\230\377\246S\321\333\371\313k\341\310]n86#\210\324\274\342\373\002\034\253\375}7z\004\242\031h\227\222\025w\222b\222\344U\350\030#+/\006\351\033\040\305#\302#4,\224T6?~\242\303\360\330o~\236k\037\233~MR\237)\033\216\247\376\247\317\241\025\275%j\332\021]\324cF\225d8.\3020\002N{\331h\221t\302B\243\224\260]\027\346\234\261\263\210\271\333\027\364\2403\254\300\177\273\025-\370\035\243v\243\215\241]\023\036%9\004(\015/\020\356}\016Pz_D\227U=\242\277Q\345\350\314\340\004\342\346\017\377\254\034\362F\331\220\213\013[\023fw\230\214\3102\241G\275\026x\230\037$\024\012\2204\333\225\007\014\252bm\346\035\224\213@\036\300\317\012/\227\260\304\232\361c\335'\230\237\333\323\202Fxu\367\273\265\226\313\247\277\2767l\347\201\3011\364\013\353\256\301\363\2131ym\024x\243\366hx\254\332U\015\325Kb\016\334\272\336Q\250\022\244\373i\255\003a!Y\023&\212\272\306\355\010\036\326l\337\315:\3326\253\036\261\377\241$\200;2t\325T\004\002/5\330l\012e\371\242a\260T\311\214\232n\304W\261E\357\245/U\021\371\002>}\366\3132\325\036\353\237\276|.{\224\366\240\247l\354\335\034\213&\316o\251\257@\251\214\253\337P\250\377\205\370\364\256\301[\372\253\272\235B\357\033-\347#$_8\005\211\320\260\355\261\225\010\327\335*\036_\372.\345\221\271\212\213t\032\322\337\267\230\224O\3223\004G\217lK*Na\265\265\014Fl\360q2\014\225\255\362<\220\316\372.2\326\345\345\364\273\356\372\204\310\234\026\227}\305\324\221\243~\256\262}8\344F\205\"&-\365\314\300\211)\277\013\311r\036\257\256y\271\263.a\253\322w}.]\002\243\006\267\376>v\355a\323\302a]\211;\345\211\362O\221\216+\001.\241{\240/\353\267\260\375\221\227j)A,A\225Z7T\232O\277`\260LT\022\313\347c\341\312\371Q4\365J.\002\232\353i\221\342\036\221O\375\300\360\253\000S\000&\007J\227F\304\021\031\337Tc\375\2332\231&\033\305\275?\303\273\205\333\037\355g\357\360_4\034\024\271\261\247pm\244W\277\000\200\177\010\262Ty\337\342ppd>\237\302x$]\035\013\323\006\277\303\254\366p\264\355(<\307\260\323\040\363\303\037\0060W\342\003\267-O=B$\004av\337u_G\026\365l\243\237\243R\225\311\257*na-\323\340\367\276\023\320\221T\357\241\200\013w\253\022y\253>o\200|U\236\231\274\300\177Kc\332rx}y\000\210\002\365\236N?XE\237xe\3639\224\3570\372\212\315E\216=\3547v\347?\361\212\207@E_\356\330Ph\223\366\2000I\304]O\020E\351WI\025s\350/\217\340\204\355b\040\017\260\312\012\346\361\007\331\\\035\321\002\334\2367\236\015\322\021\374\265\362\271\211l\361\000\357\034<\362\237h\357#N21\224\260\321\230\303\351\313\311\331\214\375)\267\247\352\333P\346\373UlP\3155\321\277\033K6c_\010\243\036+gqk'\030\372>#\020\3455\326\316\216\220\037\314+\020\015\207\207\362\"\344\030\023J}\215\206\241\371\014\345L\334\211\250\314\306\315}\312\036\204\310\220\257ec\265\245\335\312\016\375=\336\340M\220\220\032\230\202m\335E\3055\336"_buf, + "=:\316\263r\235Y\324\013\343\026]\3775\232\245\325\215&\303\354\006#+\343\025\356|\015g\343\361\034\015\343\226r\011\226\360\305\3677\363=\345\334\255\334v\226H\261Z\272\363\3468\031\177\304\351\310\245\013\327\331\350=\032+\217\307\271\216HzA\254\222n(\317\023\022\362\347ne\237\254%0\312\217W\332[\002n\365Y\353\241\220{\346\372\376m~\322y\020\317^(\3337\001w\305\222\213\274\342Y\340\302z\346\017\026\345r\320\334S\3743\233U\02671\223\302\363R\216k\311mGT\005\253\340\2312\017\254?\317\363k\002\360|?H<\010\233\237\300K\250\314f\251\337\230\267\202\372\277+\255\225\373\271@(k\330\014\374?\312\341:U\221o%\015\000\\m\302\377C\025fU\035~\320\203<[e}\\\367\0003B\260A\\\262\\K\314\375\364)e\024w\204\274\306r%\236#U\263\343+\026\0020\011\033\301\353\017'\235\332\3356\261:\374\215\370r\015\301\012\257\333\303K\366y\007Vj\214\323\036\263\273\315qc\312\307\036\377\210\327\337\342\346Z\334\257\026\317x\015[T\260T\334T\250\027\335>3\332L\277\262E\277,\321M3(1\253\313W+\242v\243\243K\270\037\311\214\207\016\007a\243\341\2176\205I\331\025\243\333\243\031\370\305\3040\000T3p\307\320%\303||\323\225QE\374\226y\211\372%\032\261b\301\016\236\263\222\022c\275tJ\223\2355\2656\002\204\002tI\031\330\222\367yz\021\216\313\215\032'\241\225,S\3230\302~\177\360\204\",73\037:\322\270`\274\004\327\331\314\367\317\373\351\004\347\017\200\256\342\351\341l2\201\035t\310\342\326\207\215\026\226Q\265\320\353\323\311,\261\306\365\235j2WL\315s\245\037{O\333\035\230\024\343,\276\\c\316\354irt\370j\034\206W\344b\373\364\364s\265j\3049\215\030\371\022\261\030d\040\036\311\303'\215I\236{\234\0162J\270R\32271b\357Wz\376n\307\347\020*uECw\274\017\177(\361\301\225\0229\241\330\0215\033\250\252\265\267\211\227\305VO\311\021dA4\362\211,\316\3622\352;G\003:\022\037\256Z\251>^\\=\316Ke\2702rg\303>\375nz3\255'\206\255\244\000\374@\213\307K\005;\323\334s\320\222\347\3467\242\366f\241U\311\313OM\353S+\330\206RK'\313\233~5\315\247\263\227-\362Q\332\217\373!\015\330\205\322\032\371\023\345clo\222D|\312\346\317\200\210\342n\221\306\222\002=\345,M\310e\034\343\343\262q\206\311\343\232A6\275\216'7I\216/\356(HT\253\\c\341\265\2722\334\032?m\031\207W\212\033\325\211e\255\014\250y<\315A\377\033]\366#Lkr\031#\351\3671\011\011\034\231\301\022,\344R\300\"w\300\276\220\323{R'7\252}\025\357\213\000/\220\352\215\004_?\002|!\252\253\201\276y\314\342\236\353\364\304y\356\373\203E1\031\331!\252\270\243(\373\343}\033\270\217o1\367J2-nw.\263lX\346p\207\341\024\275\040\235\301\276\375\021\260\254\000\316\252&\201kdg{\362(t?\201\324\202/\"\217O.\216\316N\016\336\362-\366\346\350\242\333\356\036\234\275\301\210\247m\314\026s\265\332\0140\360)\376\331.k\266\352m\266\352\355\356\345\321\311\341\317\357\016\316\376R\304t?!m\210\351D\227\305\351\335\217o\033\377\271\3006{\3500\364\026\004\244A\372\206\200\356\203F\360\237\013\026\251\341w\264\336>e\376QFg\325c\356\036\274\372\333\301\311\341\321+\327\340\177\334`}\261\330\335\211\330S\246\013g\023y\351|X\224\321\035v?\226?\257\343!Pu\356\217\314\376G%\277j\322\256\202\372lh\316\230\354\247\227\277\304\275\3519\214;\272\322\037k\332[\221Gv\346\225\255`\234\3210\271JA\246\313\331\367=4\014g\203\360B\330u\351;\205\202\314\006\224h\213\270\232;\000'\231z\324\241\205\230\373\243\037M\243\320\235\223A\257\314\364c\255\354);zl\311\312}\030\202^\025>\305\376\032\301EH-[8/\230^FP\303\232\257\253\365q\351#\372\236!\025\366\012\367\340\352\215\356w\023\307\337$!w\321\207\3666\231\302Jy\322\316\332$\347O\242\3162\337\210=\023\032\001\251\353#\040000G\216\371\222\361\32369\030\016\263\233wQ:\213\206b\3070\267\241'\356\015Tv\250\273a\211\263[\2408\254;qcq[\277_\204\325S\364f\300\300\024j\003\012+\207i\302\242@aoj\224D1JJ\3106\003n>\031\336\341\376g\243\250\223\015\347\203\207\016L\022\013}h\024\270k\002(\206\273\245\200\336\222\026d\272\207\202A\307\235\\\031&z*\304M|\276\234\376\351\217\031\366\223\222q\2732-?5\027\270\302oN5@],uB\3657\216\024\212\330.\251\267\017.D\260\001s\024e\3317~\324X\304\341\202m\374\371XJ\263\335_\230\271\010\370\201\204\026CE\330\325X\337\036\346sDJ\332\235\017\264\240\011Zz\206\270\262.(\350yG\312\224V\262w]\316pK(\320m7\032\016\331\275\001|O\006\013\374_$\370'B\327;=y}\374\246{\374\356\375\333\356\351\311\333\177\24002\000Q\214\177\306rS\314\301\324\204L\276\341U\273\335\036\250\366W\335\356\302Oc\230\301(\012\350w\320O\242\2534\303\340\202\001\336\204\371\277\012\177\364\305\345\2177q\364e\371+\341)_\224\343\206\021\374%\216\307\310b@#\204\255\032\323M]|;\215'\230\216\235\353\215\040L\231\251<\000\357Hd$T\365\276`\346\340\2059\257FJR\221\026%\027\320\317!ts\201\275\260T\034\013\212\364\204\362\344A\332\177\233q\2278\365\362\304\247R\234g\263I/~\01321Y\323\206\274\255Bx\006\324P\003\306\367j\227\311\366\0060\361Q\000\015\224]7\230$HMt\326I\345p?4\247\300A\014\257\363f\340\3716\271\266\036\365pv\000\255Z\264Q\366\367\261\026\375m\355\361\247\004\275%\307\310\353\026\210\320\325wa\365b\367A\307\027l\275y!\333\205\242\020\215\300\374\206\"\277\216\220\227a\206'\361\265\243\001\222\215\224\231\230\363\035\021\226\225\022\016\301L7'@\371\220Y@\001)V\303\207\325C\250\324\2255U\201\227m\004\334]\277\316bX\322\334;z\253\363\210[r\\|\235/\240c\306\016\246+\023k\312\211\253f'\214\030q\007`\034C\024\015\211\010\223\\$}\321Ryb\373\363Y\257\027\347\371`6\034\336\005\"\273A?@\1774`\254JF]\003\240\332N\000\357\273\023\205\032-O\201\303\333\303@\216\003\375bRU\014\302/F\342\006r\035\345\207\327\311\260?1\040yks\360ze\253\266\300\361\323\000m\371\344\272\257W\204\201F$_\332xfb\3670\313c\336\312\213\\wS\304\266\350\317Y\001\017\244\203\374$\216\373\260\017\017R\322E\316\350\246\306=\031j\024\365\373\204\250P\333\270\234\\{\370%\360\364\251\326\037$\251\000S\217\362\203\262\211\000GL\0314\007z_\305\227\263\253\3470\264\230\016\001/\365\305\264\014rO\324\040\2737\354\311M6\3616\322\331\037\257\306o\266\304i\304.\023f"_buf, + "#\364\250G\223\266\351\274s\222M9\2555]\267\325\351\225^,w\316\341]O\211\340\244^?\250\0131\352N\262l*\371\262Ye)\300\3709d\256\025\034\327\361tD\216|\204\021\373\331\237\373\312\300\015\316k\365\362\224\211\007g\272a\222\226\026N=^\254\227S\003\232\242\325D\354\012\371uA\011b1,8\022\377\316\326l\3271(}\342V?\271\274\253\0245\024\264q\311F\234\341NBx\211\361xd\302a\343H\033O\262)\220d\334\337\321\251\204F\375\010t\"\213\005\333\323?#W\310\013\236\340\2411\225\033\351U^\353\254^%?v\354\213n\215\200\315\012mv\012|\353;\347)\022\345\364\326M\255\214\317\026\337d?\320\206\377\251|,\220Y\217t\215\001\341\012\326\345`Mk\0260\207\2462v6\362\300\"X\307Q+2\320\354\2325\313\317Po3\355\000\365\324r\235\220\376\252\346\361\350\311\231#%\027\211\374':\366]\002L\355c\250\030\236\223\367=\344\020\262g\3548\342\035\375Z\347\224\243N\371I\344]<\3571T6\014\233\243\012I\303\356G\225&<_\375\242\2041\010\313\260\305\232C\255\213\354=\307\337\256\353\343\3055\276EpqS\035_\005CU\271\254\241\333qf\243\250f\035\240\301A2\234jO\242T\325m\004\312j2\032\201ZRh\204&W0V\356\3073\206JR\231\203\223,\030/Iu\330OAL\375u\226L\200\3359G[w\003\231T7\235\334\235:\311\0216\370q\232L\223h\370\232-K\350_:\336\031_\277\300$\040\000u\002#\375\0368\317\237?\011X:\313\\~\216\350\226\035/\234\311\034\313O\374jB\343\275\\\305rD\226\014\242vws\235L\231Ac\231S\040a\225R\252^\307\274[\224Fh\271\234\264+rC\263\346\270Tz\227\270\237\214;R\323v\262\260\300/\220\214\362\235\235B\251\367\325\320\011\306_O\2478{L\3164\240.[\222ao\032\306\321\227n?\236\306\3148\3472\032\251v\241\267P\375\025\257\2550\016\265X\345Q\277\273>\020F\365\221\232\243\300{\310\361\030\251)\206EN\206Cta\340\006\256>\243\252\230\207c]\276\216\243~<\241\272dhs\247\017\351\325H\037\362S2\010\330\245n?\324\214\215G'\007/\337\036\025W\273\307'o\032\252U\016p\214\217:\2349=\274@?\234\037u\017\316\377qr\330\320\034\242\321\005\246#\355\210\305j0d\027\261\202\365P\301\312Z\320\035n\237\302|\002C\213R\272\333@|\241\277\024\210t\301\342\301\030\004\350[\012\372\300?\001<\000'\363\024/\"\212\337\274\377@\302,\011\302\301\233x\2247\203\277e\303\031l\257\325\005\343Q\354M3\030+L\352\006\304\304\345av\205A(W0Z*\206\201\244\277\237\301\337*;C\327\234\233`/\330l\255n`d#\323\374\206\220n\000\302Z\253M\025t\313\371\030\373Ykm\256\257\257\267WW6\327W\332[/\332\333\233\333\333\233\361\362j\333Q\267\335\332|\261\261\262\261\335^{\321~\261\272\322\336\334x\261\035/\267\267a\\c\030\342\215\335\244\335Z}\261\361b\375\305\312V{cu\003\272\200F[\320\344EY\223v{c\353\305\326\326\346\326\213\225\325\215\366\213\025\034O{\313\337\002\306\265\266\266\326\336jonBo\353\233\253+\333+\330d\323\337d\265\265\262\275\265\212]lml\303\2446\333\233k[\345\275l\266\240\312&\314|m}m\343\305\332\352\032\374\377\0064\331(\031\330zkec}\003\206\265\265\272\275\265\0018~\261\271\206\030[/i\363\242\325\336ho\257\255\267\267\2676\241\365\326*`n\265\274\315*\014mmce{\255\275\261\266\362bum\025z\303\331\254\226\342\014\207\324^\203I\254\255o\254m\254\255\256o\277\2006\355\2226\033\255\365\366\006\322\312\306\372\3526\340y\013z\334*o\003T\273\321^m\257\256nAO0\274UX\241xye\273\024i\355\366*Lh\373\305\312\332\372\346\366\213\265M\300DE\233\325\326\366\312\326\012\324\334\006\322\001\322\\\331Xy\201mJ\350l\275\265\272\266\216t\366\002\347\261\272\276\262\006\264\006M*\010m\023\010l\033:Xy\001\203\333z\261\271\216\323\331,o\003#\332X][\003\204A\375\315\027[m\240\201\225\022\272Yi\001\374\366\213\315\255\265\365\325\025\304\302\312\306V{m\243l9\251\311\326:\040\001\327\023w\302\346&\256oU\233\315\025\030\327\326\012\214i}m\245\275\276\275\262\261\266V60\300S{\003w\377\372\352\006\354~\3307\333ke\253\277\271\201\030\333\200\341\274Xk\257\000\025l8pu_$UAn\326\336lQ\3548';\243\330\3607\015bj\214\351\271\366\303j{m\013v\353\366j{k\013\231\311\312:\242|\333\256\272\335Z\331\332\330\204\375\277\015\253\364bcm\033\370\302v9\341\000\261\001b\001\327\233\260\203\200m\302\364\326W+(\247\335\202m\271\015\015V\001\317/\266a;lml\224w\323nm\000\276\200,\201?\301\250\200J\201~*h\015\370\015\360\346M`5\260o`\253\002o\333.o\002\033\007\266\301:,\374\013\330;\033\353\353\233+\353\353\345M\200s\254o\001\243Y_\177\001\314\034\020\374bku\255\234\240a`[k@4\253\333+\300\23376\266pw\267\313\333l\002\312\340\344\330h\303,\240A{\013\006\367\242\274\311j\013\320\325n\267W\326`\305\267\267^l\257moWl5\266q\32666V\326\220A\303\036}\261\276\265\276\265\275Y\261;\267\201\225\001\374\255m\040\263\265\027@^\300}*zio\002\037\200e\337\330\\Y\005n\275\016sZ+\357\005Xr{\035X\000l\263\225-8y_\254lnVt\262\206{~\005\352\002Uo\257\002\257n\227\221%\266\330X\003\\\001\222\341\014\200\325\331\\\333l\227\32214X\305\215\017\233\013\016\003\040\236\265\222\203i\255\005l\362\005\036\257\200\241\325\325\325\0258@7\274\373\277l\263op\226\340\336\216\355\225m\340\311\300\214`s\001\255\254\256\257\341\251\344\254\213\370_o\003\345\202\230\0033\201\263\014\017\361\225\362}\270\265\271\261\005[\012V\015\216\276\0270\247\212\343h\255\005\304\267\016\214\017\270\345*\260q\350\014\305\213\2626[\255M\020{Vp\361`\255a\177\040UUt\323n\255oo\002\231\240\200\001\274\033x3\034h\345\\\005\366{\033\310\033\317|\330\211m\350\354\305j\305A\271\274\331\332\332j\267\267A\246\000Q\016\017\262m\022\025\312\273\301\255\276\016;~\365\005\216\017\344\030\224\024J\017\327m`E\310\346@\264X\205\355\276\202'\331vy\233\365\026p:\340\303\033\040\314\255\242\364\003\273p\273\362<\006\206\212\\\253\015K\277\006\034le\003E\3222&\261\325\332\000\346\010<{e\015\2661H\246\355\366Z-\276\002\022\0174\001\334A;`\262[p\240oU\265\001\006\016\002\002pK\024\030\326@r\002\374\225n\3106\216j}s\035e\021\220Ma\231\312\020\366b}{\233d\375\365\025\224\314\327WW\035\322[\3413%\336r\300\367[\341\237\242\252R\366\263\206\360\261Bp+\374\200\275_,\215AA"_buf, + "\201\332\334\251<\370P\345K\212\312\274d\315\340\323H\306\024\210d\002\214KS\036\021Q\007\222\301\000\203\340\003\233\032\355\272l\320\021&\232\300JK\364\217\341\277D\211\026J\002\226\2509\002\210!\212\2114\344\202\334?\232\357\360\277C2\313GI@\227\364o\241j\310\332`\270\177@\376\227\340\2713\334\340\257\236\327\235\277\270^u\002`\177\016\003|h\210=/\007\277xBB\245\323\353n<\244\\\255\202\354Dv\222_\274Ihh\372\267\277\210\010\005\237~\371\354\016\256w\245\347\324\270\375\305\367\252\361\366\027\314\307\260$\342\251\352#\302\024\221\277P\014u\357\200d\007P\355\012\255\023\010p\031~7\036\226\253\311\377\300C\330j\204)\244\016|o\216'\177pCf\262\346\025\317NO/\272\027\037O\245\323\220\310G\345\317=\302B\3141\221\312\261~d\340\012\307A\007*\240\243\3238\330\333w\306\250\247\364(\240\003\255\004\277\375\006\265:H\270\245\236\226\276@\304\316\214^|\214\313r\001`R\260zcw\036'^\177IdG\011\324\304\203\222\363\007\222\363\223\215\012\367\031\303W\3037\000\000\370|)\307\024?K\317%\256\313F\360L\033A1\004z\261\036\2564\026\346\300\315\017M\313\341X*qN^2b\202\312,\272\220\227\205\214D\212)V\017X\226?\321\306\350\252\013\273\027\353\247\224\231\306\237{\352J\215\236\314\233=\007q\240\211#S\323\256\245e\031\254\2560EK\216\033>\277\362\327\242\2240\000\026j]zS\345tG\321-\345\312i\302\340q\024\230\232\351j\325\310\234\303\177\270w\000\377\370\205\315\337\233UJ\234\322P\355\013\036\002\245\265(;`\352\317+%\372\\\301m\204\365\322\212\212m\302\305*\014/%\264\241A\246\242M?\306M\012-\227\360\177\226\203u\336\020~\256\224\2061\302\363\270\021\202\222CUQ\254\370\202\302]\261\270\000\331\375\004\304\267L\260\0370\250\027_(k\221z\215\362\245I{\204\315\345\240W>n\250\367\034\267\017\034$\034W=6\347\232cUE$$p>\354\020O0\361w\221\007\010I/\244,h\354O\266\035\0001(\211A\377\245\014\343\3372[\215c\025\270?\267x]w~qpv\321\375xpvr|\362\346\274{\376\341\375\373\263\243\363\363\343\323\223\312\226\274j\367\315\333\323\227\007o\317%\020\337Q\312\336\347\322\005\016i\005\040^\202h1\311\306w\273\325\243<}\357\036\244?\355\247%\240\351\2424{\317;I\262Y>\274kR,\331^\224\376i\212OzqA\342\253\011\234+\350\311\237S\0023\244\366\353x8\304;\234\303g\317<\035\363\360SOU\355c\257t\241:\276\224\244t&\040,W\264\325Z\367_N\270GJ\004\275}\261a\303\245A\243\\?\253\040\267FYb\357\200\3479\341\253\035\226\307\\c:X~\227\366\330\210\206\321,E\335\216\212\2328\350\312\250U\3236\332U0Es\210]\227\304\331\022A\237Y>]\014\005/\2621i\020\311\276\010`\375d\002\312"_buf, + "\375\360.\210\230\006!\343\006\360\327\013\370\252\210^(\220R\202\343\217\243>~$(\370\005\312@c\026\360&QB\217\224@\020@\261d0\311F\001\306~OZq\213\314\206\300\002\000\320`\202/$.\343\241\010Q\250S\345\233\223\017\207\034\335\241N\253NJmT\254\000\240\277\310\345XP\253s\013\003\312P\336\213\320\335\037G\212B5\340\201\262\367%\275\340&\272+b**!1\3408\210\206-\014\006^:\022\206\236\363\3437\370[\243\000\203\340\336\235\037v\377vt\306\253\270\031\023qPZ\207\260a\266\357\276\003%\366\343\332\252\240N\026\364#X<\\\244\206\275a>\216{a\177\010z\021\006\001i0A\244\013\232n\037\227\216=\312~\311`\357\372\007\241V+\342\245$\203\264`\316/\317\216\016\376\202\306\351\323\356\253\243\227\037\336\2749:\023+^TBp\036\3149\332C\307\237>\177S\003\327\331\247D\200\361\200\324\261\356\006\367\301}\330(\326y\336\376\212\306|\301d\224\225\342LT\0165\343\270\303X\330=\366\300\306\361\002f\020M\243!~\357'\024\342\326\256q\223\244}\330\303\335\353.\236\272wX\303a\326\226,\343\343\361\311\253\323\217\347\015VI\362\307\223S\240\213w\007\177\327\271\246f\01499\355\312Z\013?\011v\307\221\363\352\350\365\361\311\321+YC\251P\024q\374\250\375\302p\200\026\337\036\035\234t\017N^u\337\301\037\345Cp5\360\216\306QY\251\353\374Z\220*\213\305s\360\372\357\257\336\276UL6\007\203\333\217I\212;\232\021K\361\205\257\004\373\244\201\361\343hF\033\302\201\"\273\231g2\014B\351\\\244q\253\222&4\232\265)K\245+\335R\306At\317\217~\016\032U\357\264^#Q\037\012\232\376\231\311\202\252w\024\277\352z{z\362\006\272y\373\366\345\301\341_\002&3\376\215L\316q\277\210\221\373\376\350\357\207G\357/\216OO\272\357O\351\256\353<\220_\217Y\374\345\342q\273\243g\325\002\315{f\261\317\343\\\267\275\377\356m\356~!\313\201\311'\237S\253\237\0174\305\253Y4\211\200\003\304\347\311?c\253\316\373\277\235\036\277\012d\310]\336+\373\307\373\012P\3325\025\346\037\030k\366\376\364\374\370\357]8sN\016\336\236\007\332\2331\345\330z\234\245,\301\001\207\004]r\003e6\354\237'W\007,\270\312\247\317\216\006\230\252h\312\353\235\343/\253\016\032I@\272\231\322\327w\361\010\3018\027\231Q\3259\3157\244+d\030\210\366\332\265\222f~\1778U\225\256\0340\027\217\002T\201|\355\015\255\331\337\375\202\373\204\262O\032;\260W\0051\034\277\233Q\2501\371^\224\013\177\217\366\237\372x\374l\226\212x,E$\016-Vw\263(\236\245iA\226\346\343\357\002R\250B\345\312q\203\262$\340\323\353]G\213\"\342s\260_\325z\301\212\303\254\366\254fT\340\361\304\350\322\351\252\031\0343k),\301\031\217\314\006\2650\3516\377\245\221\353\357\012P\177@\003|}\373f\222\315\3062R\275\363\3351\324:\007y\220_\367ahY\330wW\330\216\002\015;\312\363Cr\0115_r\313\376X\320\364\362\316.\262)\332sD9\375z\320\020\212\250\037\014\"\310Z\370x9\024/\230\325\256\361\267\332D_\017Jba\005\234\261\326\245X\223\242\266Js\244\246iD\252E<:\020\366\021\316\226&\271\216EVzt;\236X\267k!^\012\210\346jT:\212\244\357\274\344\304\367\337\240\243\305\351\024!\306y\256<\377\007\022\235\270[\311N\316b\306\257q\316\234s{\243L\260\201\277\203>\314x\307\017\034;\303\341\307(\337\3319\035\\`xW\346\215\210\177\272[0C\326\031\310J\034\370\210\215\346\321g\371!\005\344Q\000\040)\205\234d\323\013\214\247\237>\306\324\037eh\320\325\020\335\316\345\020\037cd\216M\375\243\220|\234Z!\324j\015\274\012\356I\226\316\263\275\202\247\217I\242\026>\202\247N|\350\261Ax\374\010\021\267G\204\377Pg\236\027E\315\200\270c\3764\220\306\330<\360\237\023\274%\347\332\347\362\227\012=\346?\275\250U\201\034E\223\341\335<\220\364{L\036\313\304\212\234\243l\357+\361\355\244$V\347P\374&?\330c\023\336Su\000\363E^\320f\356HG\344\332%\024\026\304\213>;\253\214\221\032\250\026}\033iK\314l,\235\"\0341\374\254\001\206\305\011sN\207\022\221h\040\346\360\257\320\273\303H\267\347=\220\261\372\374\360\010\003\376\207:s\316e\374\243\036g\343\207A1b\332ah\342\036\260\321\334\011\354\345,\031b\264\017\016\357\222\377l\270c\365\024h+rg\241`\242Fyq\265d\037\024^\201Le\011\201\274\215r\236\255\2462\222\224T'i?r\361\245_\"02\366H\032\007\245\237\221j\207\272\365J1H\314\012\335\245\344\320\337#\013*\3534\252\252i\212\362\030\212\371\342\345\253\340#\336\220\202\306\013\034\243\237qS7\213m\205\206\332'\372\230\242\313\214m+\2014\330\352\321\320T\352\015\255\012\204\354b\311\264]\200\207\030\263\236\307}\340\265\302\305\330\361\021\246b\011\312I\3725\373\302\363\000\0111\325\216\261DJ\235v\036\251\352&\315\012e\332\327\331\344]\222c(\032Y7\017\235\007\200\027\363\234[\030\344&c\022\263_\346$\230\020\374\257;H\375\222m\260\344\227l\011mt[\017\224ca\004X\010\275f\024gsX.\276\224\223\217\020\307\320_#\277\216\373\3748\314\265\225\306\345\007e\216\220Dq\366\360/E\373\320\265m\212\255(\024o\025D\241\350`\224\305H\243,WLP5&\343T\015\365\344\016!zJld\317\040\020\214\3126\224\354\310\255V\215\270\202\273k\252i\320/\375Q\246i\361\020\250\374\327\2563x\227\302\343q<\234;\345\356\312\332\371\240T\247\362|\027\357\2040hz\036\200\030\217A\304\320\017/[\346\327Y3~\"\010\016\230\267\304\315Q`\321;C\214V\346\031\221&#\341\220f\026\301\270[\312%\354\310\025\267\033\030AmG\"\016\327\241ID\314\031\260\353`\335\370b\022c\353[u\363\353l6\354\263\265*\224\016\314]\243%\224\342\265\271\235\251\010\201\311\250&\327c\006rQ2\356\237\001\253\026\371[E\334H\372\305\331\220t\302@k\336$\275:\217\361\350\330\365{/\350\2060\375B\306c\3612C_I\001U\232\203\366\366\370\251\220\345D\273\040R\346\315J\235\233\311\243z\273of\022/\314;\203\237\316b\231\273\000\225M\001/\204\236\002\367+\347,\267\342\274\263\371\274\215\376yW@\330\331\321\177\207\302~{\"\270\243\342W)KC\253\302\267\232\320\365\337\002\037\354\274n\220O\230\322\011\313\274\243\024\005\015oGf\2423\323\203OF1\235:\226\345\211\301\355x\037\3462\007\256uv\317h\310K\313W\031\257/EM}\236\332\222f\314[\362\311\242\026\261,T;\321)\307\013\367\351S\265\334\201\212\345N\222\277\004\241h\242\256Z#\260\337\306\3601\205\344.\266T\016\224j\252>\233D\335\256\227\012\014j\0058Wx\005G\334\023>\302oKK\\MY\016\360aLL\241\030A\276\237\336\321\016\343C\234\304\277\316\340\010\204OKK\367\213%"_buf, + "\021\034\304\306\022\356\271\202Or\243\374\316\216Y\262\240\012D\266m*\352M\262\023+\245k\271.k\324-`2K\243\302!\364\232\214\333\276J\362q\226\223H\277\263\363z\030]\345\\\314R>h\373>RO\260o\312\220\213\001\271\272v@\275W\275\246'Z\272MG\002N\203\2670GI\013\337\205\2514\254\303t\277\371F\320R\001\031\223n23)5)\344\276\202>J\207&\224\307R\351\326k\265\254\036\261TN\255A\253\360\205}\3169\207\202\335\331\223\040\317!2j\312(\250\310\323\350\234\260\370kEr\350\345\216\006\315\341\007ku\337+\302\341*\021\202\021\244\014\235\275\253q\305b~-&\234\024\036*\264\374f\222\322\343Ap\227\315(\3224\3761\011\204\007\007\3465\032\217Qm\307\357\224<\207\374\274\2572rc\242\327A\301l\214.\336Pn\202Eyq\231\273:\001\363A\017\"L\371\013\177D\350\320\301\022\241N\003Lr\205Q@\321\377\212'\337(T\262\2065\330\360\"\303\376U\277$J\335\216N\345=\040\007P\311YBU\332\200\277\314FcR\244YE\304z\023\364\236\333\251\316\317K\274^\\\214\020C+XH\246%E\364jN\037\232\015\350\325\3619\031\201\344-\376\271>\014\032\237p\347A\275\005\015O@\346J\222\\\327\0137\356\012}vvz\026\006\213\330\216\360\210\357\362\220\251\203\012\236K\305\237\220\365d1\220\357\246\376/{\357\336\327F\222$\212\376\335|\212\262\372\036(\031!\203\335\3233+\036\275\030\260\233\035\014\276\200\3333\307\355\321\257\220\012\250\265\244\322T\225\214\031\033\177\366\233\021\221\357G\251\004v\317\336\3379}\316\216QVfd\344+2\"2\036\016\217T\263\023\315Mg\034K\225BEg|\233\320\255\032E}<\377\350\327\265v\311\001\237\332p\016\342\032\3420\207\370r\020\364\366\261[\036p\254\032\014\201\353\341c\007[\235\\~\3201kNy\335g\231?\012\265E\026\336\305r\241\225\3674w\227\376~\353\212\340\040\377\004\243Og\037\262\351\364\017\2316\364\202\241\344\211@\266\200~\215\362dH\224\263J>\300y\216\270B\025\350^6\271\0041\035\352\036\200\213O\3118\024\266\321!\0303\331\236*\250i4\316\013n\312\231\214$\350\216\001{r+\240s8\035@\005\334\346(\213\034\015\266\317?\222S\240\363p\313\327\344\025T\"\226\302\236\344e\361\364\333\361i\326\331/\037O@}Rydp3\341\216e7\2578\306\275\036\315\023\2103\214%\352X`\333\246WF\275\007\200\317\316?\344\013@\233\205\\\001\374\346.\226ni?\251\022\215\241V\205\036^\252\2573;>\241,\202\274mFy[\251\223\315\017\261]\261\263d\206\336\201^b\255G%\227\032\276r\276\321\024J\2247D,!\260\032\274L\341\227\373\273(\276\220\205kP\360\343c\3679h\317\367\320\263<\365L\230\2760V^<\301?\333\364\313\363x\366:\236|~X~\251\213f\326\331#q\315\203\266oYD\005\310\212i\252<@\341\316\337\333\\\331\005\267\242\336\350\263\"a\\}~\223\040\265\"\205\227\346\223h\017\000k\244C-\035\213\303[KC\347\223\017\261\201BWm\304\310!\245><:\"\323\0330I\214\266\225\263)N3\317\006\344\307\020\373}\040r`\272O\374\342\031\357\222\363x1\237\353\256G\0225F\344\036|\007Q)H\342)\255Q\005y\221\364\370\217\332\035\\'\245\367\350Z\035<\342CrEcq~\233\365%\344\273\272\216\264\241pA\317\333G\015u\302y\253\035\0268\253\347\354\343\005\223U\340\346\004Qn@\301\373/n\243gh\211\311\356s\270\213i\215\301\031\360\")\271xsY\244\251\367Q\024D\353M\322v\302kW\3611\215\3033\007\346_\014\267\325\350\231!\366Eq\306\266\022\023\015\360\221.\264\227\234h\025\250\023X\335\216Z\217b\257\316G|\017\342\363\015qXi\257\324\250\235p\222\356\267\224\207\214\031\030\024\271gE\235U\260\004i\034\201T\367\250[\307\305\337\014\037\244\347R\011\257\245\266\200\036\365\235\261\037\\\\\344>h\260U~\262u\344\326\262J\250\376Z-&V\326\266\257\333\026\006\040\303q}\376\022\327Q\237\004Ml\032P!\233X-cZ\033/\204G\333\221E\003\026\335q\363\261\262\267\034\304\3001\011\261\227=\332\364M\226\330\220\016;\362\213=\016\247Fo\361\0035\227\014\373\250\260.\252Z:]_\037T\205^\371\303\335\340\246\023\252Wc\014J`\360A\007\272\364J\354\365\271\035X\247\242\271S\260\207\335\267$\002\257\010\025z\200\243TD\302\005\232\004\273mM\226\201\040\016\340\220\217\277!\223\230A~6\2752\245-\000\232\262\245+\001j\022$qL\302\306DI\220R>tD\242\353'0>.c\346\023v\025\006\205X\321\217G\226\215KR\367\361\015\032\232\206\211\306\247\265\015\315\037\220M\363\344\252\337_\372qZ$W\343$\302\337\3210K\256&9d\356B\213\305\360\327\214\375\301x\202\250\265\366\366&M>\254}D\023\236\262\325\250E\372)\253\326\252l\234\256\015S\272\014\363\242a\323\362:\031\3467-\335\365\207o\036\3326\264\033\367\362\351m\001\372\342\350\351\372\306\237\243\363\233]\030\211w\361\347\255/\337\012\205\335K\360\224[\020\203\367\355\273\235n\247\267\371xum{\371\311\357\277/\214\314\0229\220\356A\272H0\2104~S\357\301L\303\364\027k\364\003\3678\034\367\211\235\332n\276\253\364\306\014\325\024\263n\254\233\245\230?\367P|\364\014cI\230\276\377@\330\313\210\325\014\377\037.\213\014XO\032\021\253\373\303\017|p\202=g\274$}\372AuJ\360\321\251\222\343\243\276\261.\251L/\034a\016x\263b\212\021\336\261L\230\202\316./\263O\312R\224}\021\270\306&V\204S'\342\3004|\332\254\321\017=\211vL\377\264;Pl\040\036\353\215P\357\376\303\017\270\351`\373\351v*\236\267\265\317J\322%\370]\271\334\357\214N\336oF\0120\333\315\371\014\002K\337\306\034\357\244r\355a\030\236?\360y\027\247N\203@Ek\021\235\251\230\346XlI\334\303X\002*Y\216=\026\276\207\311]\371}\262\302Q\375au\025\033a\345;\370\237\233k\214\017D\240\266\254\205X^\216$4\366\375=\220\035\204f\302\022=\013\040t\246Vi\034\242gq\246\250\322\232\206\264\314\341\006\325\370F\243\272\010\000\353\010<\241|\207\342\375=\322\266\247\350\221}n\023r?\254\255\261\037\241\266\276\315\243\301\340\273\310\000D[\345R\202\021\343\222\003\223\335\031\343\321\227\231\354d\214Fb]7xS\261.\332!\344+\256\235o\232\242\317r\277p\222*v\002f\362\201QZt\017J\177\3217\225I\212{>R\254\016\252\354\304C\262m\260\034\036o\262i\214\007S\250C\205\335\311\360\014g&v\010V\264<\035%\020\360\322K\323>kXi\345\261\230\251N\264\022\255\200\026<\226s\377K\204\000YYk\015b\331\021x\201\230\274n~\040\315\033d\332J\013\014\210\015\321\375\305%5\255\012\370\322\2576eMT@\030\225\010\027U\0033\261\240\376N\253\3738R\025\212\224\367eVY\326\252\210;\245?H\252\364*g\\8\357\214Q\264\033\010\373/+T\311\025\356T\031\205\241\366:\"\363s\363\336\261H\232E\200v\334u6\310}psyw\015\004[\235\323\203\006\203:\322\311\357\246\"\003=\233-P\027\211\344\330DkmI\324\315F\220\232\256\026\302r6\027_#\014.M3\357\231xH\235\243\317=\341)\177M\213\364\243\014O\315>\210\246\260dz'P/\260\272\333\333\261\004\247;\220x\2311\002\247O\325\266\364+\201\237\313\313\356\031\321\353\350\305\274\356\262\2307\250\267,**>\333\235\226G\213c\034=\022\255\331p\2512\207}\307\376%J\210\215%\271\203\214y\374O\330<\222\350\021\255\213\275qX>A\312\033%\354tA\245\331\007\343\342\030\277\021\373\253\2700\301\370N\322\233\267\304\3150\314\011>\0351~\300\305w\311\000+\331I|\202Rk?\335-\031w\274\352\213S<\2733M\246\222\225j\301j\344\263\031tS6\253\357\304\230'\017\177\242d\016\342\343\"\201\327E\012\341\255\265\026\352\344\2106\362\336\342\007G\266e\344\263\276\345g\302\260\023\331G<\272\243\305\345\362:\227#-\367&\335\365\311\365|r.Q\242I\270\223)\377\241b\362@Q\026K\371\214\335\264\262:R&\3121\204\247K\264TR\200$\256\334\243\347\367I\213H\007\231\2461x\342\324i.:jE\024q\212\254{\237\216\325\332\216\322\017P\013'\266\275\347\006\224\323\001sJ\006ty\211T1'\2239I%%R\322\020\216\341v'\225\021gp\025\024*\262\225TN(\271_\036e\252+\366.^\"\374\034\366\3041o\265hZ\371yUU\254n\371\230m%\010\025+\266C\327?\314W@\340xy\210\260\203\311\360\376\040Z\030\2072\026Z\021\325\216dz\016R^\217z\373V\313\247}\221\030y:\320aJ\305\213Xw6\242\040\303\357\223\264\356\263j\215\227C\311I\316\334\337\375\373\304\224\246|\371\037\310\363\211O\275\036\335u\212\353\263\246c;\212=\314\234d\210K\301\021\213\3253(Z\273\206\347\016\363^V\017\330\201\"\366\343\013\014c\273\255\026Q\2261d\371q\022OA\374\013\347\371\036\314\320\352\227M\211\016\243\013\360\264\345\037\304\324\376A,\252\376\232'\330\261y\374\264\265\252jR!\314\313\017\360\017\254\241\350[\374\306\266\332\373\036\326\276\243$aw\316\233>,m~\251\242\3577y\331g\040\272\352?r\241\005\243=i\026\243\277Y\017\200\233\331\361\004\306U%\343t\314x\032\243Nj\274r'#\306\364d\325\365xg\311\347\025\353\004\345\306\\\007\221\021/\335\312u@\261\277\255\\\035\236\212\"u@\324\266^\302\355>\303o\336Q\335\233\367\320H\314\006F\003E\222U\224\243\212M?\346\237\003\203\210\202\214\"D^1`\020\331\252\215\222\361\3050)\331\001a\325\311\256\002\252\316\300\222Q|$+\306\012\303\260U\351\0264\305\320yG;z\030\3427\020\250\342\010[p\014zn\331\026\344:\000\000q\264|\244\266/\330\261\357\220x\342\357j\017\204\235\363N$\013Nq\030Z\011l\243\335\342\252\254\307i\213\267\2139\304^\357q\324\216\261!\000\340\007x\3070\234\244\310\326x\260y<\226\3370[\223\021\205\347!\250C\367\347\367\305\373|Q\244\315X@tI\002\034\022@$N"_buf, + "\224\360\230\035\253\217i\037\341ly?I\321c\013\007\321\353\341Y\245\177\354^\370\030\250#\376\303\234=\222i\317\363\017\351\204\034\3416\365]=)!\260\021n\354\"\271\201mZ\002\0037\315\2049\321\030\036R\240\030}\252\300\221j\004\337>f\011*\234\030%/\2519x\2363\214\332Z\247\260\005\264\031\344W\226\201\212\317\226v\334O?\245\246\273B\215\035\003\340\026\210\241\007\375S$tVi\320\241P\352<~\030\377\207}\370h\371{\364\024\0021|~\267\376\276m\207Y\243n\3613\273&6:\021\377\013\372Q\276\222\012\007\312\021G\3726\306\031\026}\2306s$8\365\012\023\236\351\221\343\021=\206\317B\266\212,|86\221^g\225\220*\211\247\324\000\353\310\021\277\305\373\010\336\264\236\350K\236%\2723v\035\333]o\213d\012F\340\025\2547p1\000\015\367\224(\243K\273\013V\347%\244\025\274E\203o\231\257g\220\027LV\235\346\023\214~\310\357\371\210\374\374\210\252\362\367\035\336!\000`\307\006\202P$\354\262G#:\266&@6%\371\315(\347O/B\276\025\022\223\202\015\330Lx\006\246\223\331X?1x\260>[\021\342:\260\250\010N\014Y#3\330Lk\242\300\230\307W\237b\234\015\363\324\232fF\254\337\327\220\022\361S\314\367p\324\016\207(\031\340K\316\332J\040\201\230\270\031\255<\210\324\352\311\212\0357\302v\267\334\205W*v\377)5\031\270\216\303Ko!\027\207\363b\22740F90\243$_\020\261\024l\326'\031,\000[i2H\037\372\351\2256B\242y\207J\360\010\321\005L\027\247\311(Z\374=\3218\253\274\205\007`\342\340#;\210\321\016F\364c\177<\237\201.\312\216\254\010\236\022\364%\266\275\340\214v\240\203\001\001\221\222\241\3321P\040\022\001\372h\244\332#fi\324\302g\270\030\342\253<\332&\244\361\361\255Z\333\361\373\260\301\177L\024\255\254\316\300\013N\207\341\363\245V\252\240h\031B\253\200\320\242\317\235\001K\337\251P\231\321\316\250\035\325\346\320\036\246\230\2706-^\343;\037\264B\273\267>\312\024\375\374\022\322\247\366\266[Q\040\3015\364k\300\360\031\313\005Qp\227F\311~\214I\224\247\267\327\023g\037\021\344\217\265\321z\307\354\233\011\240QM\"\370f=\011\352b\365et\304.\235\272\316\356|\036\207\366\254\341\002m\220\231\317\332\012%\325\204\376Hu\263\023=\255\2355\233\210\261\343\015z\2315\333\227\320\376\217\035\3718\322T'\033\244:\321\272F\255\311\334\2761\004\332\024\007@\273\006u$\363Z,\266\3260\246\332\0055\375\034\027^\205\373\355\276z\224\374\350\270\245\265\310\335g\243\372\321\272\013\206E\360\262lRC\256]\000$K\010\032D|\022\273\301\215\032\310\352\020\037$8\240\216Q\310\331\040\203\3751\040hw@\307\272\020\260\273\254BZ\331\356PY\034\040\231\372\025\260i\217\326\030\341\274\210\216\246\003\274\276\036\202\306\263k[\243\336\336\3368\365\236\371m\312\264\250\221\032x\351W\034\323\020\327\030|z*\367\306\0075\264\3376\373\203\265\351\321<4\012\177|O\263.c\033'U`B\015d\326v\\lx\270\344o\201\325\362=\321\022jd\235\255Y\366\3046\361.\004x\225x\311\241\205y\001\001\266\255B)1X\341IB\207\337\341\010\274\344\201X\011\273\324\277\365]\"`\352R\375\362\003\317\214\204\036\266\340\363\312Qu\310\005\360\353\026\223\216\214\372\207Nt\224_e\003\214\360\336\201\364D\340m\206\277T\2172\262u^a\244)-\221\222\3548\216$\363\316\003\270\222\252\205\027|VC\373\230\025\325,\031E_\265\306\2244\35121#G\213\232\024\277~\302n\304A\252\305\036!\363tI\244\240#\352u\236Z\204+<\364\271\373\015\236.q\002\345\003\374\334I\305\235\213o\236\306Y\222Q\206\2548\006\012\377\300AFP\316\031\011\316\272D\331\236z}Q\324\364\207[\3333\300\361W\301xu\200\242\324{&Q\275\262\255\325\207\000_\236\2631Iob\240\021\344\251\332\216\316U\214_^\344%\025\336qw\324\214\013p&\306'\037\034t=\375\327\365k\220\250\355\271\023\3066\201]c\371a\363\3051\355~=\2677\217\336Ta(\354\304\376\240%\252#VZ\2262k\365Tj\207\332\311Y`B\264\336\230\314\234\333\367\353\271\347\214\005HE\015\201\330\002j\264SG&\334\003+t\220j\316\325\337s\211\025\030V@\227\032J\317\301\245\220\007t\262\020Qx\236\357\004\350\226\333\307\233\035\227\355\322\372\210\365\037[ov\254\015o\350\342\\,\304\306\251(\012\223\243\223\303\240\3142v-\3255\312\014\255\234\2277\341\240\037\271\373\332\2739j'\200\353\257\351\3143N\376\215M]\330\361\326\347_{n5;\357p\232\202O\255\001\350\315\241\205\301\214\344\375\355I\315\303\216\260\314\320\322\254+\235\035\020m\203}\027\032\277\360Mz\327\031\020\253\377\306\222\201\306\032{\251\235>\030zD\325\343\203I\352M\325\211i2A:\000\254\355\352\327\017k:a\255\372f\315=\037\340{4\262i\253\304p\336D\330\255\311J\205\351I\256)\035\016\232ru\242\213\231\320\356\336F\303\334\006\000J\337d\200\\\027\005K\027Kp\223A\032tH2o\015\300{\040\371\324[\007Rm-\373\366\250o\247o\212(|\255=jp\255\341\212`\024\340\300\305a=\260\030+\305\346\347\004\302\266\210\3040C\230H-\254\035\306\203\241yS\000\015:\352\354\254\0129\230\272\2033\217\272\002\204z\232*\002\210\317!\242\341Y\364\337\260\332\235\246#$\3566Y\266Ys\015\372\370u\355m\341uR\224\251\212\341\247!N\301^\206\235\3508\307?;\321\3315[\324\275\254\030\314\262jw42\013\316\030\221\367\310M\010\037\262\241\331,\276\354G\325\210\035lh\355tQ\225\257]\221\302k\040\033+~3_\253\270\\\344\254\032\004\2152ZA\320\317\020\030\347m\312\246`\316\304\315!`v\337\266n@\2740\350!\256\214\026\032\031\263Rb\333\250\350Kn)\227<`\215E\323\367\017\343\212t\246\0049\244M\255\026v[x\353Z\030\031\315\016\301\332u\222\214\264:\276\326\270#DL)\376\242\365k:\232*{\027\037=\031\245\227\225\377e\013\343\2534\024[\365'/\266J\3542\250\030\326\271\367\372-1\216\030\333\244\313Q\225\024WiE\027\26119^\\\371\333\224\036\012\226l\205\010\242Q\272\263\303\201\233a\003\313\262\013\241E\2357\026\276\205t\034z=\223\221h\275\231\200\337q\244F\030\255\264\242U\3369\370+\256`\2427|JO\360\271\014f\311x\373p\342\303{\373\005\016\317\332\017\"\206\330\320L\355p\237i7\322\3005X\000^e\333\231\345\177\003\356\370h\272\274\330\256\211\312bp\264\347\301\037\353`\204/x\311\214\251\236R@\323OT=w\354o\357\336\307*\277\223|\325\225\224H\0177\011_w\370\240\252|\224\337@\250\011\320\351\231*w\260\311\343\210nG\255\333\026\006\243\225\2777\254\337`\263b\025\335\246\245U\222OZV\016\003\261\222\246\311\013j\023\315\376'\026\250u\3537\032\372Xe\223\334\356\377\3622\204\200\225\256\253\331\261"_buf, + "\260\216\243\210\225\037%\270-R\306\345\220l\003\314\344\2201\251`\217\000\021\033\257&\031\273\326\235\303j\034\314\007\354e_T236\3217\247\234\341\276\030\257\323\350P\237#B\233\366\205\313\257\026\023\017\336)4\210\254t&\"\361\242\177\225q\004`\025\025C[w\266\013\236\225\217\317\243J\316\032\236J\375n;\316'\020)\014\211\262\032\231Vjjp}\025\014\030BEJ\255\040cF\203F\313s\353G\313\232\226\356\036\375\005\333{\272\2763o\177\014\272\000\361\020{\201\311\222joQ\323?e\242\032\267h\201\3549\214!R\331\345\225=\213XZ:\340\321]\010\004dvj\330\3324\321AD\221\215g\330r\335\270\034\346g\177weJ\214\277\367L\201\035\250{RP\215\037\350\035p_\250s\034,\015\361\222\375Y\327\335\302S\205\244\334z\177\011\322\032\337\034\212!\030s\252\023\212e`\200/7=\252\016\243]\014UYE\376\320R\244H\036.-=\377}\327#\240\225\225\006\331\032\275b\000(}\307e\324\016\275P-4C[\206%\321\316\316\234\0313k7\237>\273]\263\271\254;\215j\322\354\335\362\275\326\303\276V\346\\-\270T\366\275R{\267\010\251\364R\267k\360A\360\\1\3566\360\234j\261\270\372!\377lf\012\235\263\242\274%?\360\315\217\304|*\021\230t\332\353\333\330j\363\333H\027MN\214\262^6\216\016Yi\037b\376\350\3021\301\356\013\305\016\031\325\226\375\222\201\332R\240:\006\262;\354@\300\306\354D-\002\033\215ge%\206\205\232H\360\017\004\027\200^Oo\3302L\363<\226\372\226\261\271\034\204\255K\246<\330qt$\216\003\271\000t\244\205x\355)\361\022+\202\200\233\277\301t\207\347\226\277\371|\376\2376\314\300\370\276\373~\344\250jC>r9l\032\350\021G\321\031nc\372\367Y\267\021'\305\033C\350\363]#\216\332K\366\204\265\0205Y2\002\306\273e=k/\250G#\307S\342\010\265\237\362\254\202);-\266\030\264\216\311\335R#\337\026$t\374H\326\337\206G\230\262\031*n.\205h\201\037g\356\241\301\316\376\231p\\\030iD\000\302\2243\312\233\240\2659\244<\024\266\311\246\302\305\040\315\201u\347\364Yl\\Y\370\375\031\027};\316[Cq\200c\211j\247!\015\251[D\270u\314\205\364\337|\377\346u\254\273=\232\315\033)\217\264\033\345\022\223\313\"\016\220\012\206T\010\346\305\341^\354\337`\007\335\373\236\347{\346\341\007_\355\037B\040\264\201\264G\217\023\036\3258\253n\0317)~A\326l\005\244\037\354q?\327~m\353\337\204\021;\204\2104u\354\327\020_\273?\255\212-\241\011\331\211\270\200\344\177\276\276\316&U\350\3330-\007E\206=\371\310\2601\366\270\006\001\371\346Y#{-\264\265\254\236I\325\341\345\027ax\216+`!\005\3741\273\356\372\204\363\226\251e8\337\331\021(:O\347\0004\216,\320\237k\255\207\370U\020\034\002\377\256M\3257\031\016\347eD\357s\206\004\377S\363\202\254\334\241\275\034\227\266[\350\026\025\373\3351m4v\026^)\332>\363\320C\375\001G\001e\203AS\302z\213L:&\361<\204\026:j\367Cms\311\226F\350\262~\010n\342\302\377\326\270\241\367\231\230\271P\036w\3032\331@r\356\014:n\025\265\367n\255\021(\333\320k;\246\336\255\355I:\212h\256[\311\326\354\207.\255\352F\030Y<+\363M\270\220\262zm\361\017\350N\237s]\360Z;\316;\252\"\261\226\377\366\304u\364\266\351\261.\027\312\233a\021\272\245\353)\200\334\200n\315\"^\304\316\266\325\324\324\342\360\331\277u\233Q3\321\325\346\320h\237X\012W\347\250\234\246\203\014\362\206z9rW\202\250\221\034\346\261\353\365\262\240\247\205\246P\363\233\210\365z\322\275_{\022#\341\352+;Y\335p\034\304\371<\201\262\236\343\265\351\277`\3027\012\277\177\224*J\216\260\335\374\256\371\026\032X\031&\304\026\3378\213\011\001PB\326\376\2469\334%eI4~n.5;[\321w8\\\272^A&\251\244P\222\\\325\340\256\332#\247~p\005=\230\304nw\366\326\361\231D\202)\217f\222\350\363\372\247`\035\333\321c\257\021\243>\002\254\331\025\346\266\036O\341\205F\264\010\031rlJ\335\301+\177O\316}\361Wq\337\221\377(^\266\315\274\277\024\027\252\327s8\202\307;\374\320u\257\322*n\207f^m\002l\251\037Ak\000k;4\353\276mR\334gs\024rK4=\340\367[\021i\300\274\272\352]\023?!\320\337W\350\336\314\312\224q\340\336\323\312\270vE\371\315P5\315B\236\300,r\040\020\240\202\002\237\370\2559!\201\304\252\250,\351\363\206c\220iEM\321\040\360\266\306\333\210T\210\206\350\036\373T\243p\251\211\206\304{\013EDZ\204\341\302\351wE|\344\264|Z\024\207\261R\312n\217,\357gK\261O\363\321\273qW\240\265\361\203o0\352\300`k\364\031.jX\237\177\254\357\336\356\370\374\333uf(=\300\306t\336\001\202]\350\025\337q\037\3516\022\262\331\202\036\222\210\022\243\213\232!\271\303\015\362\335\254U\261\205\254P\264G\275\216'\214\245\023zD\277\331r<\201j\264^/{-\324\2457\236\211\031\372\322\376\354\245\260\030\273\204\354\316[\035_\300\024\376\221\341U\347H\217\267\001\311\354\335p\334\037\321Q\264\325\202\177\251>\226\354\264\274+\371\231\375?\031*\263c)\276\356\242\273\360\"g%\222\377\320\246\243p\014\365\272\031\363\012\030\236s\336\303\274\024\024\2549\013\362\002\000\023\276^)\307\203\3277\307\202w\357(_\356\352\214\206\271\262\330\307\302z\215\373A*e\373\002$e\265\035\240P\350*\312\353\374\006~\277@[8\303\322\001\304\211w\313\357Mk=wS\031\020|v\370\213i\336\035\012iI%\241\230\011:;\201\212\001\365\360\356]\271\2705\314\312\351(\271e\222\013Du\310\040\250\307\030Y\367\226\277\305\273\326\332/\255\367\354\177\257\361\177\327\256\331\240[\357\275U\273\312\020b\316\002\321\214H%\0117\376\222m\306\364\036*\237\260\347\004\030G\345\2330\016(\375u\360a\302\010>\356Z\217m\307\262GN`x\267\372\233\225G\367\"jmG\016\232\315\365-:\026\360\300\342\2670\366\364\216\006|J\353\303~\266\037\332?\354$M\343R\337?\237v\015\005V\362`\024xwnD\263\271xd\023\236\323U\024pwn\0215L\024K\307n\373\203Hj\346\231f\011[\205(U\355\315X\246F\251\017\344\3349\371\246v\217\376\267d\372&IF\364E\346=\361?\244\277\240Di\3210\235\026\351\200\"\317\000\213r\011I8\210\304\257\256\260\242\262J\023L\210\262\362e\345\036\343Y\335\366\014\310X{\245\254W[\206W\324\037\244\277\251\241\247\247W\243\323\357\241?\365U\243T4\026c\244\247\200c#\020\\\021l\350\260>\344:\033\015\367\040\337\015[\366\256\215\260{\235A\307\342\010\320\017~\002$\040\265\375U\021\017\344\333@\315f\016\354\316\212\325~SdUz\236\013\323d=[\022\033\260R\227\331\374:\375\027\207\375\256&\006\2716\2155#\270[\252\001O\212t@\222[\325\371\224\351\366xLkA\310^^#\267\2129\202\004:\255y\242\236&\241\213)\252\303\376}\313\257\231|\244]Y\265\222\215@\216\327\366>_\360\234_\277On\030=K\245H\226\024i\017'\017\217\033;\312#\373\034{\364\274\371\015P\224zz\302\215.a\253\347#\312\010\313\332\220\000e\304\202`\377\234\235\034\0350aj\377\374W/\014\206\253h\277>G`\304\344^=\302\320\363\360\242\000\305\374\331\362S;\026\245\035\"y\020;IE\334~jk\272]\030\331\304\204\241\006\374\304i]\217p\210\216Cz\307\355\340\326\233T.\025\2763\177\022\346\274I\225W\034uH\025\254Iq\222\302r\011\212g\032\361G\335\325\201lE\177\332xj\2374&\272h\203\306\001\301_\345;\275\351{\014\254\271\265\266FaJ\331\377\277\271N\252\350&\205\340\245\243\321mt\223L*\014\367fF+\365CfX\274\267\250\373\347\320\304e\356\244\371\331z\363(\267\365\376\262\325\325\367]\271T\313\216%\202\027\240~\332\352\240\261\357\265\367\276b\214\321\372W\252Mj\255\352\276\203!3\374\307S-\231/\003]7\260\244\217\270\040\337\216\200_\223y\270\3449\375\354\272\233QX\337P\365yq`2\226#5\351\321\266\261\000\357\303\334\251\254\306Whm\307\303\253~\371\242\325\243\223\2715\267e\035\253.\327\315\005B\264L\322\255yS_\373\240\304\3045j\337\350\221\310G\266mx\026:*Fwho\315\313ddn\020\2774g\276\321Z+Q_\375\202\221\233\017\337\040_\320\322\322\374\347:1\033\367\177\265\233\263\020x\001\353\023\326^\370\341\315\011\311)\003\374\015i)z\370\314:o\327\005,t\357\354\213\342\321\371\363\375h\357:\035|\210\306Y\211\227\271\224\3238\341]<\352\320\212\012\330\214\322\350\012^Yx-\013>\310\324\004\034C5\344\"\3607\206\300)E\276N\204\354\233mu\300\011\310\251j\214\230q\224hG\271\275\353OY\014\300\235\265\366\230\253\271\327\303\350L\034\307\241\226\320\232?\223\366\373\254hr\325\357/\3758-\222\253q\022\341\357h\230%W\023&Se\003\210l.SA\023\226l{c\036\341\"Y)y\320O\300\227\313\214\321\015\211\327\214\336O\331|@\252O\343M\366\374\340\325\353\032\275\202\225\225\232*\236\037\374\355\374\305\321\311[o\213\246pg\223\005\220P\003\306y\203\311\354\363\331s\023bK\313t\025\010\013}%!\374@2\031\036\261\341\010\365>\333\206\227\331\325~R%\220D\036\376F\326\014\027\017z\262`\333\030\020@0\370gx\250t\342\227$\375\352\031\306\007@\250w\226\2769\262\272\040C\033\322\312\006\276\351dPC!#\255\336&\005\\\002\354\236\306G]\217\270u\303k\004\205M^\341\014\343\233\002\224:\343?\001\015\202\341\036\347\273(\241\240\322\255Fy\310\0111\240\272{\221\317*`DTK\017\357)8\033\253\267svJ\026\356\010\033\005\372\360\325gw\300\304\363\324}\027\2677\227\274\246\330\372\364m{`\3252\004s\202sk\234\000\357\206\307\374\025\023\343\004\375\325\244P\266\263\272\274^iY\346iX\276e\304y'v\352\177\321\267E{\363\333:\335YR\263\266\243!e\033\254\030Z\273\274`\264\376\005\023vj6\267r\024\364I\237\030Q\211\037\343\350R\271\025v\007"_buf, + "}\264%\217B\032\225\313nV2)4\235\314\263\246i\030\\\035\206\025e\223\351\254B\034\370\"J\344\345*\372\207\040\242\3323\"\342\342\313\305A\254x\225VP\211\015\264\203\265k\014y\36130\367\3318\206\277k\222\331>B\312(T\360\313\313\321#\266\225\212\252|\233\201R\023>v\242\225\037W\242z\361\012!y\032\266\260a\255\300\300q\205\252\253\364c\025~\204E\010\276\231!\003|yR\234'\206\001\001\237\231\205Z#\367:H9\200V\247\325\334\354\316-y\362\3444\205\010\322\021^<\220\350\005\031\256\311\320\267\027\037\371\261\301\327\275\245\246\330S\"F\337\027x\273\\\333\360n\275\357t\302\331\235\005\007\374\244\030\242\352%t\260s\374\0362w\323\367Qk\230\302\025\231\016[\035\331\252vj\330)\025\275\237\316&x?\364z\207\223}\004\203L!~\366\273\316\270\335\217\322O\331\040\031=\260\367#\200\222_1\036\372\032\240-\204A\3018\214|\374@\004N\021HM\277ud\320\023\256\264\3766CL\325uF\210\007/\263\357\267\025O\341\202C5Gh#\226i\340\211\027\227\001>>\202\344\005l\240\255\372\253\202\317\221\2204\314x\364)\330\325\212\005\3428\205o\365Bb\255_\3522yC6\251dv\006\206W\314\365\332\355?vj\367\362Q>+\336\240\031^xzgeJ\025\353\223\262\217!\330\0308\324\034a\262\011\275Y\220\177\214y+\221H\242=\217\342+\240\333\321\033\361w\257\367\367\264\014[\025\230\375@\276\210\373vs\2347\355\005f\344\376\375\354\262\326\367\260\222h\302\360\014\250;DT\004\241\204\360\227\371e\017\227\261\023\261\205\000;\335I\336\245\203\257p\304\\3Fz\213\341\037L\013\336&Y\365\"/\376\232\336\202\210]\326l\332\017\242JP\246\0225\216\006\372\256U\3556\275\242\204\336\012vS\312(D\253\226\230\33788[\243`\373\012\240\324\\%V\247x\263\264\242\207\366\372<\275\314\013x\344(\252\346}\263;\360\233u}\360)[\240\347\013&\253}\323A\357N\206a\014\356-Q\310\015$]q\354c\206{\246C\374A'\202\011\2150ocu\315O\234\004\321\344\300}\277\303\366[Z\\\344%\005c\013\035\263\217\262N\333\347\004:\032\350@\344!\323Z\271\236\227F\033\266\356\377\234e\251w\313\361E\377\250\365\040[\366z\377/4s#Wx\273\040\207\335\305\3738\306v\015;\271\316\256\256\027\357\342W\326\352\276\001v\352\270;\331]\207\366\234\352\336\313\342=,\200O\220\265K\247yQ\325\012\031\205\250b\357\257C\321\3704\275\312X\0336W/\022\260T\275}\225L\245\356\001K@\243\215\306`\242\352\257\263\213\270\335\275R\010\210\017T\372B\264\212\275\257\307\243\201\206\267\334\323\012\321\272<\024\022!\214$\025\353\260\354\276`\017\251\352d\302\312\370\330\240%\211`<9<\356\016\240:\370\326\273\350_l\221Eg|\023\3119\200=\324\345/X\311G\306L\243\226\005\255\263\327\326Fl\252\327D\325\362\233o5k\257\2152\003\372\266\012\012\307'lZ\344\003Fl\311Z\300\250\373\205;\354\360\212\302\337\306\251\205\356\377\274\022\014\016\0056\317\012\275k\255\215\310\203\005\247\000\245|\217\037\013\010\254\354{\224\214FO\3060D8\016P9b2\204\313%{\372\207\010\343\336\356+\275{V\253q\357P\267\266_\230\234\263\331\000f\362r6\252\231\201\222P(\251\256\037\001\241\314/%@\034\177\011\212\230|VMg\325\\df\243\341~z1\273z\016/\331~L.\010\023|\353\366\343\201\237@V\203\374\212\014\330\025i\250}\252\305\015A\177\012\302S[\203\277\302\261\376\305\303L\315\272\334P\377P\323\337{J\357\006\342-f\356\342\010'N\375\250\356\317H\225Yr\347\315\350\027\310\323\254\212{\275\335\321Mr\013\306\327V9\311\2138\231LZ\377\342Wi\260\001\014i\030C\321\262\346\254\343\375\242*\326\356\353q6\021\3100\014J\306\016L\206\241\225\334'\024X\023\211Fc,\360u\235\010\177\225|\200%c[q\224&\220\276\343:\215\256\262\217\351$\232\314\306\027@\226/\243\000\"\034w\357\263\325|\322t)\350%#@kP7pe\302\353\021b\217\257\302@#\030\337$L!\260]\355\224\012,\312\3352|{\377H\270\310\272kIYs\213'\303!\023B\341\352\246yd36\207\200\212\275\231\016p\372\317\363\323\031_`\351O\035\230\245\001\277\324\251f`\201\321\272\3446\022\340h\212\302\007\3667%\241\220\014\370\205\304\264/!A\212a\360\221\360\220\302L\000\223\264\342l\204\022{Z\215\270:\334<\230\367\336\333\275\342\353\326h\201rVuq\016\217\357!l<\027-q\345\225u()n\273\026\231H\347\312\003\313\"_\206:\364\254\363e\224~\372\002\317\033\201%Y\303\207\003\177\277r\310\374u\301\270c\001x\273\346\252'\005;\303b\005\304\223\225/D\010BX\024\223\2535P\341\207wD\"\354\237\006\364f\000\207\206\236m8\215\251\231\024M\221>\217&\2571fb\215\264\260AB\310\230W\261A/\340\015\022*s\345O\355n\2708\004\277\0318d\241\275p\221\361\032uL\017Y\231A\222\020v\247\372\031\2171\232\372\203\225j\006\301\356'\3218\033A8Dd\317\200\312\302\327\0110\317c\040)3&\346&\203k\272\000\347\235\210\335\342\312g&\321\341\227\011P\256/\323\244\002\033\356/>\255"_buf, + "\205\240\027\327\231\350Q\361\230(\350\231F>\362a8\223\301x\203&\213A\213\305\301t\012\037\221\342i\237\363\011~\321m\027yP^\255(\027\026\216!\203F\024/\3160Y:\2300\202\205\277\262\306\006\305sl}\225\346\033\206u\366$'U\203k\234M\246=<*C\027\177-/\203\307\367H+\306__\276H\015\356`<\305\032\035\355;y\205\310\214\217\363\221\337\272?\356`s\215q\222\300Ck\306v!\0328\303\321\207\334}\310\010G7lW\262\025\237\241c\325u\3621U\337\2479\222\214\256\231\301aV\242u/\324\342\025\320;Y6\353\300_\005O\357@U`\367\017X\007xuB5\234\032\357\024o\3513\314\2462\016\314<\342\376\310\230xX\217\372\231\337b\023o\346\3324\275G\325\234\303\244[\337\330\260\375\313\000\241{P1\377cv9!\263\352\227\307o^\366\373K\246\203,\324#L\331\217\225xE\226\321\300YY{\305\216\010\345k\3313[:Q\234,oV}\244\374U\201\\\031\017&\303\263*\237\252\255\266\032\273\241\033\364\014-\324:6gP\313m\017OA\362\207\233=\320\250\3715Xu\351\316\245!\234H8\344\003\011\040\222\217\000]\040\033f\360v\206\177u\233f\261zC\370\233\250#\345\327\202\202\230\027\253\274Y\343~)\334\207\2472-\2370`\262O\334$\245\330i`\264\010;\025\2643\300V#uM0\210FU\3443\371\032P\316\340.\033\315\362Y\251Cb\344\271\342\203\212\331\277\335(\033\003c\232``\303\"\272\030\016\243q2(`g&\340\255\220\227)\236DFrgF\202\024\006+\031\221\311\015\366\247\000\267\273\2327\266pJ\\\216\322Q:F\177D\230\006\375\206\261\337\237\260\"\267\316\204\277\235xS\265\200\015\031{!\320K\312\241\275\254\3009\204\233\262\223\327D|\310p\335\035eI\251\236\3050\200\247\006\203\307#\261\007\030\212H2\356_'%t\366\002\227\263\014\205\311\326\335:\227\361J%\270\215fS\363Y'O>\325\276\035v\247W(V|2\204o`\321\025%q;H\0148\252\342\244\300\313\037W\220\204\311\001\037\212\251\341\216\214.\360R\023@\345{\220\004\251|q-\230\262\352\246~;\332\200\244\012B\001\014\001\222U\303\000\331\374\272\210\371\001\262\252A8R\011a\002\363\301\221U7}K\242\255\305k\365.\247\226\303\002\250\275\335\011\334\352\027\370T{\035\015B\325\237PM,}\011\024\334N\316\325>\017\366\241\235\005\003\363f=\234\351\344#\330\207Ad\344@\004\335\260\301\252\003\343\202\023\337\274\033\300$\017\276\346f\215M\357A\021\257\253\341\321\360\012\2629\243\355\207\324ZE\000s\341&\020\007\027\237\342|;\335\331\361\2020\362\347;cm$G$q\026\227\241\017\254\206?\325[\333\021\365}{U\3004\310O\015\242\002O=\252\350/\236s\241\310\257\236*\313\230\".l\250\347[zd\237s\230=/\276^\3507\302\221\345\025\271\262*\267\"\035\276Z\200G1\357@:\272,\207\374\222\332\365\035r\317\"\377l.\320!B\221}Yo1'\3051\223\310\365],?\326neYK\300\035\022[$\040i\217,\301\355`\303\325\332\010\250\272\3758\370\021\221]\271\350D\030\232\033=8\344\220W\022\040u#f\005\211\324\261\363\317\002\201\244\332\002\242i\311\0133*\341J\353S\013\262\015Q\326\363n\011\333\040`\316\226P\313d\264\022\240\365q\253\007\316\232C\353\202V\315B\370j/\371!\310\276m\245Z\011\300\312\012M@\227\217\036M\001\313\006~\322\355\321\202\325N\206\003\337\003\3007\327\266\216\266\276\223\332\2168\204\300\331\253Q[\372\372\014\366\3426\257=C\256\206\267\341qr\033\0327\314\200\335d\223\034H\212\246\206s:U:@\227n\005\301\3046\006\012\212\012Hy\250\007\020z,{6\304I\207\321\346~\334\340\241\313+yY\357\366\302z9)9\27325\330t\364\351\271E\250\346.#r\313\036\306\322e\274\275\364#\212+!\277\361Yy]_\203\255|\016\241\034Zko\341m\002U\251k\303\224B#\345E\331\322\335\260u\024\323\242\230\344\375\253YR\014\273\327u.\316\220{\027\352\276\204\252\201d\210\252\202\036\324\350\253[<-\262\217I\225\252\226\260g\307\375|4\304\272*\371\374\235\345\265m\242\253t\232e\215N\023`\251R\315\347\232\007\216:$*\217Y\350M\021\362cVTL\370\217\276jU\\U\214]\033U\0223\360\275\0237\320\036\270F\360]\200\177\267\315\320H\272\211!G\3528\327\260\352\325\341\350\357\255\255\205\313\272[\362D\327\326A>\306\340\266\011#*\261\337\243\026\033\030(\225}\321$\350\254\261\034\252s\347\014\034\017Z2\341\026\001\270PK\276\040\014t|\036\211\363#\002\033\210\260\003G'oN\373\307'\307\007\021y\254\326\326\343q\354\233T\335=>;\214\350\214\326\206\304\377\221\017\313\014\273\340\353\025\253R\312\276\371m\240{j\200GX\234d\215\222D\363\206\370\244\351\177\276\003\344\034\036\"\007o\263\311\263\247\306.\345I\004\335\315j\023\012\253)\246\226f\027\002\243\303\277bb\3428z\311$\322j\310\177\235\235\357\367O\336\234\277~s\336\377u\367x\377\350@wv4\367\253\210=q\266wzpp\334\177\376\346\305\213\203\323\376\341\361\213\223hP^d\240j67\343KxjG2}6(\322t\362|vyIq\317b\003\245N\264,\000\330\346\305y\221]A\264\251\027\214\004_\025\220\366f\267b\022\330\305\254B+q\321\254{\243\025/G_\343\350\371\356\336__\236\236\2749\336\357\277\004t\243/z\321\351\301\276Y\360\374\350\315\201Yrx|~\3006\307\371\337C(=O\006\037\026B\211\355\347\003\013%\255\210P\322\0128JZ\211\027%;\352\361<\352\030\210\002Y\336d\230\327\315\254\354\022,\264\377P\036v\223\264g\352\337A\237\362\251\222C\217\353W\320\347\221\251w\360\026\024\300\275\372\016\3563\255\363\372=M\207\275(j\334/t2\017\344K8\001\213\016e\036\320\347\243\331\334\005Xt\354{\267\311dQ\230_\026G\375\357)\250zz\213L\361=za\263~;o0\353^\227W\003\314\021\304\235U\260\232\040\034\244\037\356\"bT[\271\345\026\003\376e\321}H\275\311\335\370\200\336\032nQ\354O\036\344\007\367\367\015N7\241$7\340\003'\334?'M0\350q\316\002\200\237\036\357\036\365\017NOON\301\272'\007\0037nv\346\205&\354.\274\216\217\004U\000{3\3710\311o&\034\034\206\246c\302\213\3077\321\011}\354\210\022x\301\270\363\364\366\344t?\352Wz\241sw\234I^\300jl2\002\026\224/\365\267\255\367\025\217\330\030\003\256\252\206\250\326]I\201\252\276\3567\215\200}\006\317\017\241\371\300\346\207\227\371$\000\316\371\333\234\236\316\330\313\272\\q\376\272*D\200+t\220\333\233\025E:\201y\205Y#o8\376\200\254\315\214G]G[\341\025\205\000\040\210\306b\375\302\013\327v4\205\236Q\243\027v\200\007O8\275\003\307W\336\262\3611\220\011E\011P\011\037\374pYek\004\232\210da\256\013[\240N"_buf, + "\027\213\343\352&|b\2237\374\331\217\351H\323=\324\010:QSQA\311\337\263I\306\366r\367z\247\221\374\3000\004\377\227\327'g\207\177{\022a\247\"\342]\225\202\005\027\223\242\007l\376\312%i(\223L>\340\203\377\3560\031\203\311\305\277\322Q:\370\220Q\334A\276\377\001\010\355{\010\361\307\233\306\327U5\355=yr\225U\327\263\213\356\040\037?\231\260)K&<\024+\253\0025J\263\312\364:\033\225\377\234A\200\231'8\214'\323\331h\364d\343\331\206&\000\275\316\313\354\323\375\004\240\177\017\027|\017>\226\037\254\250\365n}\334\272\037K\252\201\330|\266\321\000\212\227\0135\240\335K\037\310+\333\244/\244\352\253S\005\316c\340\3044\323\303\301\340:)\036G\375\264\034$\323\324K\363\3460\033\352\255\334\231^0\004\374}\375\3313\264\005\324\272\010\305=\306\247*\311u\234L^sN\312\363\350`\350\373-\265\341\253\335\2756\230e\006>\037\276\376\365\344\370\300\304\366QV\356s\267\341\335A\225}L16\237P\011\242r4V\257\013\373\377\365\362\365\353~\0375\234\252\364\354\374\364p\357\034\357z\366\315\204\237\225IU\335\202\302\355\344\315y\377\305\341\321\301\361I\333\223X\023\343\307\3732^\352\246\270\213r\233\332\373\002j\3707\377\017\344-\275\273\312\331\260\277\324\261\225\016zz\214\251\305yT\353\250\353\314\350\037\302\26322\212/\001\214F29d\0109\203\030\317\207L\343\223\305\376\013>o\371(`x\277\2129\014\016\267\366\351\220\037\0324n\245\341\020\007\374\004Lz\323\032\333[\301&\022Q\364\260\213\237\211\2414\012\305\243\255\333\034\376]Vf\357\036\203\367q\037\342UB\2749\221\365\021\177\253\275d\024\0336\234z\247\313\262sa\032\275\375]\372w\214H\335T\224w\346\\~\025'\373\263\310\036\011<&\0357b\364\030\020h^\0005\347\373>\017\374f`x\303\266\300\266\040pm\014\340\362\2535\334'q\225_\223\232\230\372\212b\375\363\017\035\335\251@4\345\202\253\260\214\204zKZ\274$0\352\333K\246lv\322\307\024\016I+\211\203\"\254\2645)\364\372>E\331\341\351l2I\013\002\216\1776\201\212\025\275\317O&'\001\353\254\361\014\234\325\234\007\236x\003/\370\257\222\027\221P6\335\2114\347\335a|\315It\246\331\230\263\260\232\300\232\334h;\232;\331\022\001\232h5\3714\241\265}Q\215\355\310\235{\227\257'\367\021w)d`\374`7\222\373\253Y\003\236\010\317\232\345e\215a4\277\310\220\\\216$\242a\350\256\272\234\034m\360N.1{\355\334E1\232H=\255\211a\364\330*\350\365\006\006\353\253\303Q\227\225\333\210\321\272J\015\333r\267qA\2467\2216G\3324#\370\301(M&o\246j\307+P\303\224\335\010i4\007km\232\232\017\317\020/x\355\257\207\012\011\3138\307\201\374\365\320^}\273\211\252\352\255B\026\273p\021\245\257\007W\317\236.G\005\370q\271W\277V\207\311\307\205\236_@\350\022T\351\235\307UK\021v\213\346c\344(q7\020\345\257\255q\255\253j\205Ch\300RJ\317J\214\242&\177\021\361\206\322\303\305a[\3036\323\262\273w\205`\256w\336=\336?=9\334\357\037\235\274|{zx\316\244]\205(c@\012\206\314\223Q~\205\212e\323\216K\307\371\236x[\324\245\337\347=\366Y\217}\004\025G\032\202\375\375\203\347o^v\242\026v\335\352D\264\315B\345\357-3\0251\316\2371\225\027\263l4\354\363\371\346\036\266\370\330\222\226\220\253)\031\202k\036\2724c\334\200A>\236f\302\313r\027\040\354!\037\033\343\002\311\327\224\027\360\"\203\013\305\0330\0401\326\354D/\367\366:\230M\272\015\222\203\360\354d\222\037b\312\032\215\235\321\263\377cb\020\016\2243\310\365\033\262\301\030\3258\331&\003\355.l\321\313\331\204\202\010e\030\032\212\011F\303\254HQ\002\303\220K\225Q\273J\007\327\023\020v@/\241q\014\332k\322\220\311`#\0209\272\210\011>+\215\262\213\")n\237$\305\340:\373\230>\371g\302\376\377\306\263\2377\236\364!A\361\247\356u5\036-\351\320N\361\246(Q\264\025\236\342\374r\214\270K\016`|\221R>+\334\237\303(N3X\001\035\020\360(\030\032\001eB\000\243\342\017\026L\026\204\300N\262$\251\252\004\343`21\263\242\220\241m%\247\241\372\323UDZ\222\332\3045\242\037g\027\357~\262R@r{\327\017\340\202\335\207\021a[\333J\217\210\011\345\245\224e\354\247\245x\007\346z\302\304\\&\204\376\213\234\350!\012\032\023\\s\024W\321\327\2366\024\206w\243p$(\037_d\377J\330\254\332\320\330\301)!$\031\333\255W\030\320gZ\244C&\227\243\210\304s\363Y1V\301\254\356\303\024\207\322\235\3661\012\033\032\373\326\040\312\346\245\023\211\370\021#\206\026\307\021\006\200\016\3617)\246i\355\030\202\263\015\360&]a\034\345(\3171\256\031\214\014\332\026ct\336\211\022p=\322#\022\211\335s\270o\215\000Vi\375=\344-??\352\377\365\340\364x\323\371\274\001\237\341S\377\365\351\311\236\373\375\251\361\275\377\372p\337\255\363\354=)q\247\331\320\011\212\013I\346@\325\300\017\377\222\223\040\035\222\040\260\177\362\313\030\306\350\011\371L-c\234Y^\223\375\335\216\236\210_\217\341g'Z\206\366\354\037(\355\010.\263\023\255c`\334u\357\273\252\270n\230\210B\327M\353\367\311\343\307\2040\243f\332\376b\007h\215\0358\221\017h\230\322\3536\036dy\326\330j&x\202\242\307\217\177\237\324\245\245\3278G\236\277\325|\332\261\247\360-n\010\2134p\032\362\272\177~\272\273w\260Oa\002A\267\223\332;\231w\025G\261oO/K\020b\252|2\237\371"_buf, + "r\020\040\034.C\240\271\375CPc\320\027\343\215r\223\334\232\023\211\207\341\022s\013L\326\220\316\222nE]=l\353\217\223\301\311\331\322\374Y\324\321\226\017\033\0013\364:\316\356\350\360\370\315\337\350>\364\344\2253\213%7\356\271\325>\333\267\225\010\215E\226\0238\033\371%\316\306\240\302X\206\306\256\202\360\010\025\244\340\204\364\316:(\266\303\023Tec\330\021\"\003\235\350bV\321t\302\314c\353\013vG\200\016\224\207\034dW\326h\210|\030[\015C\303\007\255\344eT\225\351\350\022\017B\005\254\003:\313\362\013\205G\3732\352C~P\343\242b\363\012\264\016\342\2601\262\315j\026\011\256=cH>\336v\2437x\177\035e\223\331'\040\2132\310\012\2431<\213\245\016\254%&\244\025\305D`A\3659Y\251\344\376b\203\274\0322\"\301\3322\006\262(\031\025\3100\3517\214uT\032\023w\201\321V\330\334up\317\245\237\3203\252\015T\371\011\214\347\311\377\303\260x\002\342\037\304ua\330\3777\304\351\207\213\203\201\204Y4g\015\003\2730\306\230qZ\013^\256\254\371Qv\301\310\304`u\225\337\335\254:\334!\000\323\314\200\306\016v\031\241\337\014\014w\335\206s\016\213\201;iV\200\336\273@\0253,\017c]\030\363C\\)io\011\012\246\25149\360\360\313\235\274\274%>\331$n\321l\301F\341\263\325j;\301\037b7\015\232\231\357,\233P\276\263\366fT\343\265B*=\340F^\237\036\2748\374[\377\350\340\030b\330n\370\223\300Qt%F=\222\"\215\327;Z#&\370\235\303\332\027\257\263a\357\367\252\3053R\207\022\330H\372\213\033F\321]\266M1\230O\305\303\203\261\011%\332\006_(\301S\010\0362\336\353\214/\275\312*:\034\325J)\325\3619;\240\020\034\035v&\356;v\327\263\231\033\245!p\360\242\316n\036=&\221\207F\342\204\214\322\311Uu\315(\306\216>\213\313\313\370\365\235*z\017W\301\312\272'I\333]\335]UG\216\275\364\327$\277\375Wg{\375\337\016N\211\3442\331/e\300Z{-&\004@\304G\340x\342\341hD\001_\332\270\027\372}8?:\350\037\374m\357\340\365\371\341\311\361\231\351j8\247r\177\357\315\331\371\311+\356\361\306\211\333\273w\340\347\013G\342\375{\265\3210\344\177_\006\366\247\300m*\316?\337$\251\276C\\!\206\306\203\352\036n\204[\201\3600H\300T7#\206\211G\342\302,\004\214I\220]t\331\304\007r\210\001h\340]\331\264aR\270\233\244\354\3212\247\335\033&\223S\357\260y6\227\014\206A\"\241\336\036t\015P\335L\214\362\253l\000\276\302\214\213\360\234\226qy\245O\205w\366t\020P\337|\377\250\353|\230C\372\365\207\365n\300X\254{\236[\345a\375\233@L\004|\027\362\246\345\245\255\235#\347\210\315\306}\342\040\373\005\217'\326\270\236\361\216Aa\215\364\300\226\343t\234\027\267\341\270\226\252x\037\3231\232\276\340l\330\263I\366\317Y\332g\362\321\326\001\353\037<$w0\241\267\370\025k\244\0300<\306\020\215\252\214]\274\277\001\316\030&\253c\204_\202\364\2142\305\025\216\3130\033\345\036\366\014&\002\220\261\326\334\327zO\235\317K.\277\255G}\362\215\213\015\014'\031~\330\231\262E%\2251\011:J\013(o0\005Pm\356\350\365\007r\277\037\274j-\241\357P(6\354\300FD\315'\356PZb\276]}\011\340\347\357\260q25\322\300\013\005}\220e\010\256\220\366\354\350~\004>\347n\376\016\325\275(,N\376\340\023\010\031\020o\226\021Z\366\007D!\300\040rS8PL\262\005Z\315\372\215\274\316&\250\213\344B\310M^\014K\224\200\013\241xf\040\301\224^\302z\236}H\313\353t(\214\311\310\322\336\364\243R\013C\230\011\033'\214\221f.\233\370\344\223\243\3405\001\324?#\310\317\220\017\006\263\002c/3$Z=\367\276\341\352a\030x\237H\311\266\321\003g\200\002\311\264\243Xk\270\023\001\213d\264~\247}^\2136H\322\351\255\204\304?\312\300B\3657\033\244\207\346|\256\211\357\354\002^\347\024\240\216o<\014\033Uc\236\267\334}O\226/\023_*w2hc\247\243\254\222\315bj\327\211V:+\266\011z]\367\226\342\200\312\272\040_\024L\036\320z\024c\367\251\015\364\230\221\262\005\243\243\032\276\301X\221C-e8\005\313\364l`\011\250\335\016\316\267\266\246\366\310\264\245\020\204\226\321\007y\305\264\215\200\035j%T]P\361\317\246\224\031\007\011X\344\306\226\364\316\006V>\317e\014\267\217\341\331\000\011B\253\336\245t=\214\273\347\035\326\251\014\364v\024\324\247\301,\265>?~\034\315&\351'&\3252A\211\350\025u\366\370\361]\253_\372\355\271\376-\367\266\343\023\021\302!\225\375\203-\215\274V\255]#j\255\355\214\373\023\312\261'\220\014W$\\\324\331\370h\237\013\313\306\034\266\007\356\205\217r\240\360\304Cb\300>OO\255\323\000cN\234\024\204x\025\306\0320\321\263\330\"\241#\252\277\344ef\030\034s\317~\344\307VL\272\233S\325\235\215t<\035\261\033\222\316/\226u4\024\337e\253\253\357\355\2311\010\257\376\354\3509\246b\037\370.\370\005y\244\007l7\215o\323\250\225\261\335U\247VW\234\367\362\347G|\254CF\240n\010\017\235\267Z\214\265\3621\371Z4';n=~\013Z)\231J\347^O\0171\325S\201\244b\204\322\376|\347md\004\246\212>s\365\366\266\036\210\312\325\040\3308\333C\022\202T\277\002E\321\010\354\215\3159X\254\305\034\221\307\215\356?O\010\342\202\206\350\364\\\366\351\2218\352j\371\375Z\277\3264\321w\223\021+K\034\035\325D8}\3710x\034\251y\322\211\213.\352\212\032)i\022%\024\307\3047\324\374V\365'#\346\205\254D\353\304-\337\000\010\032\012`j$\312Q\337\011y6g\177H\203\227\223\347\377\265\327\357\263\337\250\017\216Z/\040\022\000>\376?Q\177v\257U(\270\300\016\251YB83u\013\314w\205n%Z\013\355!+ox\212h\023\251\321D\347f\016\303\336\211M\340J\337aD\034\233\247\340sb\360\326\016\177\3566\325\3244x\344\354\265v\305\270\223\213\377N\021\330\332\036\266\311\345\357\201R\327\225\224}\321h\376\237\352P{\256\006\373D\324"_buf, + "1t\377\211\3736\212\217\317\344\200\242\307\262\357v\270\023\213\031\241\031\314.o\343\350\235Rf\016\323rPd\370\367{\327\273\325\365T\204+\012\215\001\350\201|\234}b\314\345\030,\012\247E\016sC\317j\257\316~\333\203\3148(\361&U\264wtj\203\321\246\017\265\244\220G+\231]]cF\216\270\333\355\266!s\300M:\032u\225\013N\005\306t6$\236s\347\222AY\313D(L2\352R\307\235;\340\314J\310O\210z\327A\221\224\327\216\325\317u:\021\357\3740D6\227\240\321\353\332\365\236\034\374\232\360\320\001\370\256\035\241b\267\344\366W3\010\036\251\015\220\036\306ix6$xc\026\346\002\351\255\034\205;\000\361\206\014o\2256\020\360\035\312\013\236v\221'&\343i\312X\307I\304\244\311\012l\015\323\254\030v\304+9\223\374m80\012ZY\234\235\256e\010\304\223\2308\270\021\243\032p2\322\245\222c6\216\275\325UM\325\015\016\221\344z\225\300.\321\276\264\032\2109\356A\262\234hU+~\374n\327\2507~Bk\227\310\247\3103\303\241\011\263K\247)\004\015\011\216\326?E\326A[\010\375\305\027W\337\326~\033\333\3323\363u\376\241\341\363%\347\027\3559\003\340,L\336\040\311\015\324\265\367\370\372\346\322\353\337N\016\367C\365\347\317\311R\023\177\216\306\274\236\025E\310am\214\374\026\231\366\014\3520:\306-D\324\346B\346\226N\040\311\031\332\343\021}!2D'\241\234]^f\0030H5\264N\214x\040\241\021\360\262\322\"4\312\211f\330\021\376q+D\325\345\254\017\015\356\005qf@\012\343\015\217]X\270k%\025\372\363\317\177\211v\266\243W\214CaW\373\371_\317\376w\364\013/\356\351\245\233K\213\263F\300\345\034\237\013~\347\370\234q\015\347\"`(&l+f\323\312\3171\020\203t?V\211\265x\361\372\200\267e\177\261\266/F9]Y\224\223\227\030\374Pc`p\356\315\352\260V\214\223xE\355\341/5hl\304\203\375\005\033\357>?=\247\306\360\027k\274\013\211\242\030\357q1\001\373de\355\211\312Y\011\305\330\220u\264\222\2109\255\037\331$\224\231\251\2401\344\032\376\300\335\332\232q\235\013\365\270\243i\\\356\305\032A\247\265\014\017\357X\360:\256Q\016\362\034\3639\040\203\326\331\234\224\305E\025I\006\241\212pB\276'{\202dA;\214\332\027^\322-\313~9e\015\031-\301\202W\3518PK\270W\252s\355\257H\256\265\306\013>\373\314\340#6\361\262\250\333\211\226\363\321\360\214\3772^\354\220`B#~\370\0228\357\246\031`\322-\223\276\340D\266#}\267mZ\265\004Bg\273\375\223c\224`\254=\345\332\036\260\177\266\204G\250\266\277\236\360\"E\225\332\233\321\352j\346\350\346\004\352Z\343w\331{\266\003\301\2454\221#\337\245\254\231\354S\373\273\337\275\367\341mb\276\257<\256\230P,$kxT\203kgZ\244\214h\315Ja\241\260\266\026]\347\323\364r\006\367\312$\277\310\207\267\310\003\337\024yEn\375\344\270\234\342\013\013X\026\207\234\275\036\2606~'\260\272\005\262\327F\372\377\326>oI\247|z\272\030\015\351\3649\373B\236\003m\363\207zh\302\235-\300Sy\017W\240\2519\011\215\246\033o\345;\321\015Q\236Z\350\2441P\215\360B\010\264\320\350\323;\235\006\211N\303\014\\\231\326\306\264\231w\034\026\326~5S\\\252\310n\206\036\325\247\026\2654\247W\351\204\342\325\225\266q\314(\0333\011\334\260\003I\003v\311\207/\005\024p^\374\2004\305)\3436\207:S*\253H\211\246\327\343\356\032T\315"_buf, + "\012\330(\237\025\360\011\346N\307E\202*\005\247,K\336L\040\270\311\360yRB\026{_\261f\016\211\034A2\370\347,+Rg\004\232u\225\2347nv\225\317\212Az\304\226L7\341\032\211\337\355hm'rfd\331\015\376\347\352V\273Ad,\024Tg!/\0125G\376\375m\354\035kcX\333F&..\373\003\3024\344\347\346\006(\203\315a\207\360\323\\\333\254\267\200@O5\370\250L\211!tD&\307\257\2072(_3\004\202I\030\265J\352\251\266\016\005\317#\015\340\343)\366\204\033\2537\2369\254\267\236i4Rs\020\341\301\212G\231>\3464\250\335\001T\361\327\331\005\255\277\374\031\016\247f\265qK\233\216\306\301\262n@\224C\335kE'>\366!!|\012\221n\346\246\263<\0225E\006w\315\362\215\362\203\352\337\024=\040\203\003\231t>\3326,\300\334\246\257\253bG\335\351\252\335\230\343\232\026\232\273\243\2679\206\015\344xx\364;\262f\221\342\263\003\233,\326b\252~\231!(e;g\002\2148,xi&\303\341\021G2\366\343\206N\340TC7\307\021\255%\350`k9\262\266'R\246\323f\251v\324\214Fk?=\326~&~\223\374\025l\013\006\036\214,\366\330uSz\343\226\201\247u\324\016\202\241\021\034N\0307\234\015w\213\253\031\310\366\245\307\367.)\256\274P\270\016\204\032\244\325\226\314\257\274\003#:\233Mq\244CQ\234\245h8\022\366<=8\306w\335\347\007\307{\277\276\332=\375\353\341\361\313\266\211\262L\256\313\246k\232\000\212>WA\224f=\266\222&\21038\206\000!z.\212\364\233\366\302(\234\017\356`2\004\025\334s\015|Un\3558\340\260\274\001\274\027\030\210\3073<\275\251\342\373\346M\244\265\366\025\3338\247\263\211\232\203s*\320g\240\322\212\202\370B\245\227E>\233*P\370S\007t%\013j\301\300F6\021\202\022\033\243z8e\212\022\201\002sF\005:\224R+\012\002\"O\001\003\324\256(\322\201%F\241\367\230\360(8\272\227\011\223+\207\031\273\001\330\331\347\0016\370\2336\023V1\221\247fT\006\361J\213t\3303\343\035\310~\371\276\333\325\360e\373\313\306n\316\256\343S\302a\235\311IT\220J\275l\3562r@\347jU\025\244\312(\234\277\2614Xb\243\231\300\264\322Zhl/k\260h\367\233\220dY\230h\226\037\262)4\277\307\006\345\321\"^1\326\"\013\321x))zct\033\334\210\227u\010p\016\342\322\021l\252\371\333\027\323\270\017Z\221=\036\330x\211\022%\200\3052OF\022-k\025T\212\222\250\015\266V\352Kl\302\2212\321\203\360\351X1\3209N\0014\305\307f\210\231\220m4\3450\255\244\360\217E\207\233Z\214_\216\277\015C\303\301\201\243c(\003\370k\224\271\327\323~x\257|r\304\202\274\304\360G,\177\213\361I\332\014i\231\370\237q\024\204\324\011DGp\\\242\372\234\306\017\323O\013\266)\367\362\331\244\322\026\317@\\\001S\035\304zoN\025\202W\306>\360\322C\321\244\226\275\236\371[\243\246$U\3129I\314\362\332\241\372]G_\021\235'?;\001\026\002\325\361\017eC\230\347y\005\252M\001\241\242\237j\026-Lc\007w}\342\364\376c\023\035\275\032u\022[\275)\011\303\352\241+\242\206\357'U\322\035%\377\272Uad\272\334\"\323\214H\303\244\204\376\203\201h\024\0334\3046\274\353\244\344c\003r\345*\216!\223\200\2640cb\\\256\256f\040\264]_\020`n\032BW6\206v\273\000[,\214B\307.\357Q\006\217\233\020\257\023\003\235\031\0208.\317!\336+\030\220\320\277.\332W\220\031\264\254^%\203\002=TcF\320\261wz\276\377\374\245\036\012\241\250\206\027W\201\334\332d\265\316z\330\347\035\364z\372/\323\316\203\311o<\036}\177\257\250\316\322j\377\342\352\005+\210y\247\375\323\203\327'\247\347\375\027G\273/5N\021\333|\201FT\353\350`\367\257\375\275_\017\366\376\332\337\177\021\256\266{tt\262\327\177u\360\312\250e\365\014\215\332\316W\332\343\220\236\022Q\353\277\335==\356H\300\257N\366\01707i\364\305,\303\004-!h/\262\221\027\032\000\352\237\235\357\037\234\236\232\006\310{\224\367\016m)\231\3642\2424|\030\320z\200L\032\230K\316\306\027\220N!'\3531\262\334\266\373\177\016\237v\241Y\274\266a\372\332\310\014+\334\251\247~%\245\201\302\322\222\267\376W\357\322\213P\217\224\256)n;\373\330\335\240\366\016\006y\315\367\352\206\037\314\354BiM\2004]i\001M\341\264\225\220G\021\225GV\022\260\315\2326\030\315\344d2\272\235\333\030\215`\316\223+\274}>;\317S\241\347\236\021\272\213\007\242K\260\035`\305\204P5\322jK\253\272#a\2256(\032\021^:\312\206\356.4\350\344j\321y\222\357\214RT<\301W\343-\255\342\016\326\024sp\015\332q\014\223@\035\355xzj\250R\345\373\302\332-\230q\350:D\274\351YU}\033\214\222\"\001F\346S\365b\224\337\270\20118\270:\263\230dt\225\027Yu=\326\013\263|\234L\262\3517\332\246\332\246\202zg\360T\250)\261\361\267HW\327\025%\272\354O\351\202\361\363uR\242\267w6\242\205\263\202\0369y\216Z\342\371\022\273\302\244\040e\357w\335y\331\343\000\354B\331\2050\375\037\223lD\211*\002\240\264xHh\2113\0068\351P\276\234\202\371\031\"\316\247\353*\255\030`\371\371\014\2370c9o\0359=\035m\203\005C\227U\272\350\331s;\267\025P*"_buf, + "\341\3550\025i\321\267\015(\335\254\3745\033\016\323\2117\277\262hObxR\334\236\353\231\032U\316c\225cyb\231\024\313l\242\360\017\005\031\022\210\330\312\033gIX\333\331x\022\233\370\222\"\267\313=ZAi;ag\367)\026\321\337?E\"\037I\313\315\210\302\367\330G\361\266\014\321\334\267#\371\324\334\353\375\232]]\327&\272'\221\232\216fE2B;x\373\324\362\020q\235\250%\211N+\222\361\240\003\263\345Dx\271_\217c\207t\316\357Z\274.\371\201z\274\376\027e[\036|\231\350\335jh\332f\372\332;\212\030\305\316\377p\202\256\217fu\325\223\360\011Sg\274e\227\275\207lv\242\225\037W\"\317\301q\366\316Jk\2052\010\332\204\227\276Y.x\366V\364'#\264@m:\276+Mi\363\374c\337\372\275\372\317\226\323\253\040\300\233\365\347\306\263\343\357j\366~\351\272\034pF\273\327\233\317Zk\313\273\272\212l\260\266?\005\323\314\010\024\305\231\264YrOl\015\325\267b\317\365\244\254\302]M8\022\006\275\215d_=\205\210\347}kw8d\227\257p\321\273@\323\337\322MT\266\272-\241\250t\014O\303\261L\371h\330\242l\302\377\310\000\237\245\351\001z/\254!\003\034\303g\345\235\265\217y\271h\347\375\270\362~\245f[\000\272\265\344\257F\200\371\267r\320\200\030N\346\370{\260\322\014x\220\211\306)\032'S]^\354\210]\274\003m\351\011,\020\023\375\337M\267\233\320l\267qr\305\203\017\0130\342=V\320\252\270\215\\J\040\243\223\226\017\012V\350\234\203c7\020\305w1o\214Q\273K\265\033|\320[\012\015azJ\363RF\277\267Z\354H\312\036\341\266fE\330\361\335\222\346\037\036\350Y\230\346z\223\321\321\247\266\211\313|\230\261h(\236\005=\213\020\334l\315wK\275\263\255\254u\311\203\001y\337\310\247\371\350\026\302\225\225\335\353\260\345\012wi\231$\223\030\201E\227\374\310j\037\270U\353\260\355>\205\232}\330\317\256y\237&\235\020\360\344\036\367\343Ta6\225\212U\204S\216J\320\363\035G\355&\241\307\347R\206l\327\245\305\334{\375zc\243\177~\322?;?5\034\023\371\342S\362G\011\265\302\020\331\272\242u\276\364\311%\317\312\27164\351QO\361\336\364Y\333\234\3119\317\314\003\266=\256\215\0026\262Qva\027A\306\027\263\310N\351Q\212\324\361\252\010V\004l\366\255\367n\371\264\355>\212\327R3~i1T\236=E\253\204\311GPQ\210\255\250\253Q)\360&\317\377\303c\203`=\312\375J\005\034\020H\201\207\230\215\"a\327\375\233\243\327\234\244@\214\301r6\236j\341\257\322\241\236\002\\\040\222Y\262\3238\035\017\246\267\361r\326\211\226/;\242\267\313\266\313\040d\006s\312\340\375\374\22360y\224\346\215\214*ZC\003P\017\031\032\242R7\264\241\034\332p\356\320<\247\364\305\353\035E;\222\3218/\253\203\177\316\222\321\233\321\264\214_\274\246\234\302\354\337\002\376\235\011\204\230\030\301*\354g\227\306z\363\364\011I\221\225\020\342\023R%\034'\307\302E#\031\335$\267%\006d\004kG7\312'$\226\307\270\240\354\354\315F\230G\026\364\311\027)\2233S`\337\321\266\023\275C@\213>\273\242\300tLn/\215\320\213\\J!B\310\360\307\320\314F!\033L;\020\336\335\211\252c\0322\214\270z\031w\006\300\3364\277\027\372\367\002\277\033\270\305\014\300V\264\216\351\257\343\202\376\366\274\027\274\316+&\247d\030{\217O\011z\270\254R\036\370\265u\037\352\220\346\230\355=##\262\215\377\214VM\304!H.J\300h\215\341\355\356\035=n\256X\371\235x&\326}k[\333\006F\006\024/)\177yt\362|\367\250\177|\360\267\363\335\027\347\220\243x\211\014\001\201lL\230\034\226\\\202\353?\375\376\324\341\037n\333np\225^OV\277\214Y\315[S\270\344\347U\201\344\005\254&\377k\016P\013\246r\367\376\307?\376\021\325\216\011j,-\005N\031;DL\016\231\306\370/&hd\177\015\263\202\274,\264\303\005\265\344s\014\276\335\310Oz\260+\250%\003\215-0\355\032\015\303\264\227\374d\250\341s\354$j\316\245*Z\342\026\232\323N\2738\315\255UT\2025y\315\3261/\040V\356?g\031\223\354(vl\012\261q/\251\217K\334\247l{\257\301\356\346[\257\270\312&\320\374\371\214\322\262\344G\023\314\033\234\306C6!\307\207\347\177\307\030\265"_buf, + "\222N\021\357M\340\024\365\022\233\006\311\037\377\273\320\376\246\372\026+\212(\256\362o\360(\213\310./G@\011\214\017D9\356\374{\2053\210\257s\274\355\361\255\364\206q\014\234'\226~\262\0308\331\250\014\026\246\002%\230\015\251H\307\220\237\331e6X\322\224e\313\225\2252M\004\203\221\026\354\330\023/\260eb\203\232\302\3760\273b\2376\326!\267i[\007\311\332\022\247/X\244d\222On\307\020\375M\362\017K\363\004#\031-\2233\032\230\334\221\242\260\030\310\374\025\262\275\366\360\330\374\245\257\313\303XK9\010\354\343\212\031&\223\360\362\237Mv/J)\357\330%b\375\331>e\027\217\275\354\022vo\334\247\032\237y\315\350\016\\\236\251\332g\261\340wN^\206\203\343\027'\247{\007\261\332\021\353\300#PT\020\336\214g>\347U@3\336]Y\262\025ul\012\361\363u\"b\274\262\031_\233\244W\011\244\243\350Z\351%\036x\3308\210\207\0368\311n\270\313@\222.\237l!\366\341\307\324\325{\210S\307+\220\330)'T\254\014\035@\361\313\256\304a\007\015\005\\\024\003\222\261.\035\003/\203\355\"\220\205{\275\240\351\233@\005\264X-LU<\257>\037\223\201/\341\010\014\233\265\235\265\"{?\313\033\205]\347e\307s\260.\340}\221\221\244\271{\035\000|F0\364\033\350\330g\331\274n\357cU\340X\234\336\331\330\325\241\265\376c\274\034u\312\356@/\305\232q\201`\207?k\264MG\244\326\353\"\207\340\376Cd\304\331RA\012<\236\244i\004\343\302\255\233p\376Cm[\375,\231\221\375\030m\232\\ah?\036\326\017\013\234\214$\300\035\343\207\255g\335?\361W\2462\312)4$\327\206\201i\310\204\311[<\002&O\301u\221\262\023\025\206\256\3453\231M\330\3350\270\006\211wm\220\017S\225\305\304:t\306nY\350\324q\234\370\362\031\241{\341\245\337\263\226X\324\363q\254\226\274\261\205s\276\023\353\214'/\022\350t\"\337Gq,\304~\324x\331\020R\264\301\032aE\023#q\350H\322\342\351\216\257\243\011\327\233\213G%\222r\017\037\252\267[^\007\354\205\267\236\212)\031\040n\306V\250\241nZK\036\336\203\315\227&\336\260_x%\351\324\017\356/~X\341\262b'\256D2gIE\265\244\340\005)\014L\031\211\030\242\002\326\240nC\270\272l\274H/W\346$\276\322\300[4\327\022\252\304\240\243\370]k\263\371\230\366\271\252\240fPLRP\373L\037\243\330\216k\342zU\333\336?\334V\307\266\221X\254\243\250\266#\357\374A\352\234\224DVx\035N\040\221\246`\006X\001\321\326\213\024\323\012\302\206x\225M^\276\355@\254\372\350\307\215?\377\345i-\266\365\024\300\363\365\033\316\324\302}\317\231\353\351IQ\261J,\206\242}\341\265c\321*|\237\363\032\310\316v\331T2D\220\015\325nQ\322\012\211\212[Q\264\316\220J)\225\000\2307\261-0)\025\337Z\327\013k\275\321\250\027\206\316Fm/w\316\365\250O\352B\267\243\226;\275\000\030\310hn\253Y\214\036\353\026\027\212\337\326\3577Y\346\241b\322\262\326\022W\335\273i\256\225\020v\304\004\277\311e,Qm\377\302\026\244\247P\237\307\030\353\363Tsup\206\326\253\214\007\205\265\246\336\344\026F-Ps\361\373\203s\233Hf!g\220y\273\250\211\335X_\357b\255\377\005$\005\370\240(\007\037\313\226\253\331Bs*\343@\335\031\317<\202d/-\211\277<<\265\270?\217^\007\271kWO\3121\250\001\033K\346B6\356h\365\303\267\011\212\336\315\360%\002\374oB\227.t/\266J\320R\222W\275(^\217\247&\320+4\371\306\366t\257\266\263\332\337a\032:\247o\215\014\213\266\351\264\274o\307\213w\346\223\215\370\225\336\353\011\242\336\246s\263\000V\346\326\241_\177\300d\350\335~\233\271\240\013:0\025\013=\007\007\336\203\215\227\336\320s0\306\347\316\006\364\032\254\023XN3\225-\303K\252\251\364\002\227\220\312&\373W\252[\236\021\3455\362\350\002]\0263\006\214)\374\366\345\217\025\332\013\361\222\017I@\211\242\017!\211\003\205\316\344\264\324a\372\354\306\262A\217[\004\000,\366\217t\213\271\263\035\313\2753\022\2325\376\262j\205\272/\322\253\364\323Nc[\014\313\"\347\254\032rc\030\315,\007L\315y1\350e\344\017\277\303JUt\260\305\031c/2\340IX\233\353<\003\007e\2554\253n5\223\234\0367\3071\276\307n\003\363B\307\370^q\224\014\377{VV\012\245\302\360[\372|\3475/2\306dC\360\015*\362\333\034i\226A&\256\333\333\366,\034\347>v\344\027e\212\217\275\370\352\364\"\203?h0\"\013\2333\310y\365)\376nC`\242\037\352\030\300R\237Wn\267B#\221(\307~q\222\306\240\331+\365zN\221w\225\040yzB\357H\332d(\263I`\024!\200\274\261\361\330\260\345\207\330\250\244o\266q_\002\217U?\206\015f\300/\3113\232\032&\261\306\221\327\224\311t/]\341\361\364'T\354J\354\224\367\224>F\212\212'\2775\266\2437`\004\266\027\207\332\016\242\012~Q\032\206\265\365ZH5\347\200\262\307U\017q!x\2011z\015\003\275\313\244m\010\324\243)\005\223\3613\236\267Y\331&\365\354\377V\212@Z\035\263\356g\255W2\2503\273\036;I\346%\215\303\000\216s\311\234\232\040\213j\212\346\333\365\353\242\341\007\266\307\011#\031\0229\253\340\27633\340`\346\316\215\203\300\303fG\364\0337\231\247\216g\226\242\020A\024\236\272\022Q\247\350\276sE^\300(N\316\235.\017\036\017\2330\335\005\371\333N\331\301dh\"j\025\334\373\320A\204\311F\223\345`\360\260\251J9\270o=Q\247\300.J\034\365_\206\365)r\225\015\371\272v\017\323o\260\006\\\313\223\177\004\355!\373\335&\314,6\317n\356\316\245\211\244f\011l\331\306\206\024R\322\362G$\274\303\306\210\022\333\031{\257v\317\220zo\202\\\243~\302\273\230\376,U\336\262\343\375\211\335\376x]$\223\333\233\344\326\361Lo\302E\321\264\0017\345s\332$\034\277\230Hf\203\244L\353\002`pm\333\2251\270\230\257C\207\200\372\357.U\235D\013\245Fc\205\355\271~\327\346\332\314aml\011i\356S/m\033V+^hf\377\236\226m\340J\221)\225,\351\350\266\025\365D\251\306\252\262rw\234\226\220+\005#\036%\266\222\254\266q\301\362\353\366\301\222\221+U\206z\214\365/\226p\306\372s\016\227\324\366Y\303\260\356By7~\337\24187\376\267\031\214E|%1\376\316\353b\3371\337f0\316\265\253]\304\337w@\036.\343\236C\262\307\244S\015\256\216\360\345\377Y\354\336\251\035\213q\265q\2606\200P\262\271\3738Bh\332\031[\201C\236\030^\337\207\331d\220\314\256\256+\345GQ\206\003\300\341\335\350i\201\021\013\233\031\350\373\373\323\214\353\311\272\3330\256\207\004\223\341XpZ\232\201^O\373\021K\311\036\302\304\212(\271c\021U~\376S\215?-a_\204j\231\017\200\002\312"_buf, + "\277M\312^\357\344\022\355r\350uZ\313\336!c\334k\230\351\212\000\321Y\254\3725\"\364Bp{\001U\213O\015\011\247'\003\366iu\365j\224_@VM75\004\256\2461{$'\347\305\366v\254\177\220\352\016x\327\211\202\026X\242W\270&\261jW\224\270\017~\336n\267\036\324\353V]\247\302\332}\234\334F\223\024u\2539D\323D\333vHKT\244\311\020~\224\224\312\013X\261d8L\207\024\370p\002\271FY+0\3674P\327g\027\235\304yo\337\356?#\370\250\231B\301\376\035\273\373}\201\355>w\3477\337\370\265g@;\002\334\300\015\362\036\304\012S\325Q\304\215\235\356\276\327\264\236\015\330\336\033\362Yd\327\217\3763\266\023V\210\364f\374\2478\305\034\177'\217\003\232\2442Id\030\333\311C\032\347\217\320\234\250\355\304\246`\334f\241k&\220\270k2B\343\347\3622\346J\266\307\305\312\032\214\211j\3417#\367\271\037\215\257&\036f\252\353(\216\036y/\031\260)}$:i\233\214\276o\212\362\251\331\015\215\"\224`\2037\004\255\020\377K?O\332\366\234s:<[\276\220\231H:\032H\274\317\014\206\010e*\366}<\306Y|\267\374>\212ET,2\363\347\277\330}\352\2301]g\2434\302\364\366\345;\254\375\036\010\361Jg\005\2147\263\022oN\303\222FR5\310'\274c\264l\267}\202\342\352*\367\040\010K\205\006\026\014\313{\341\000\355\374\030\254\255\261ou\375\363K\001\341t\313\331\005\034$>u\300\203\254q\336g5\332\320\267\201\345N\004\211\317\376\351\237\177\314\213\375\317\031\273;<\221\224x\270\257\014Eb\336\015\271\215p|H\005\356\315S/\266>\315@\206\363F\375x\251\255\351hV\007d\345\367\337W\002\3015V\263\272\251\364\332O\266\366v_\237\2779=\210\246I\201^\337\251\212\312\317\256I\036o\2120o\231S\354\304y\343\376,\353N\010g\306\356m\341~\200\207\217\211\031\232\031\247\231C\230\346\0245\021\3770'\031\346\230\225\332\263\214\313\007\316b4C\254\306{s\012\204\235\355\300i\011\"\374\312\273\225\236\247\364\263\2674\266J!Y*\362\025\027I\231\015\320\311L\032A\243\301\3360+\223\361Ev5\003\317\224\213\264\272I\323\211\015A\263\266\002[\035\232\303\374R\371\030&\305UI\206\314\031\246\206\200X\033\300\201;\350mY\350!\021\347\323\215\267K<\360\204\330\302\030\352\233\236\321\276\367\316\301\235\267\264\315J\015\224\250x\247\026\243|\032/\202O\313\333\363\357+\236>h\033\341\241\217\331\337\354\220/\322Q\307\003\021\316\040-\315\243m\004\277\274\254F\3421\0020\237\275D\022\256.\256\351\040\245\237]\0062\275\333\330\305Vg&Jv^X\007\021}\317|u`\267\315\\\026\356\374`\302\263\317\365\361<\330\360\365\210\036\316\364\302\213\240\2109[7Z\314\262f{\364\243\000\314U>k;\372\2415Qg\233\364\214r\260\241/\346\015\027\307\262j\006.\2264=\310\017\355\255\256\362I\033\244\25461O\360k\224_\231\032\2424\231\3003\\RA\014\000\324\025\341C\027!\034=\325\200\262\362\015\370\370!M\247\240P\232\246\205\000\225\027\240\"`\214\031\2722\224\241i\006\304\037>\315l@\365\025\330\030\033\254\003\244\264\273\357:\370\217\230\010\3005o\263\227\261\333Rd\200\207\230U\243\264J\303#,\205!V^l?\014\220\333z\371\033``\302\250\351\3350\040-\344\347=\3649\017}d\213_w\326eh\266i\221}\004\313P\337\233\252N\313\250\277\315\006\325\202\333\016\251\207^\225\2126\203\333\316\256|\040\040\303\366\012\006Y8>x\333\347\342h[R\203\267\354\316\314o\312\025\3640\035\245cF\006\310rN8ZW\343\351%\350(\340\255\035\362\221\203\360\025g\025\250]\3709eP\300}\212\315\036\310S\021\325\236\224\031\273j\312\333\222IZ\214\341\001u]\207Q\211Y\311\326\342\237\263\014\331\011\266\3020\305C\001\005\246\2345\206|\2722\0109\243\341\305-8\234\344@^\204\257\0268d1\304\330\375\025\367\231\320\312\250\223\200\301\321\200\266\210H>+\312t\3641-)\221UW;}\347\214\237\205\024Z\201C'>\307\262^\370d\210*\372\276^\240\231\254\273\2740\364\300a\221\220\365\275\256\027\232\373\0252\206=\006\235\240\335F\347\376\2560\376$\204|Q\031\230\374\247\204\300\215\373\270\002\333\321d6\032M\205\211\231\341\032\372\352l\257\377\233\036\356\003\025\016\343>c\001.\323\342\335Q\237\026\371=\003\3629Z\027\212'=^\207AOO\220\347\022\247%\260\256f\245\330j\023^,\263\242\276\026\367\004a\265[~P\257\201}`\365h\020'\366\203Q\256\3760-mr\311~\260\243\216_\364\375c\001\013\356\001x\365\321\231B\350\206!\267\266\261\031\256\002L\206YE\236\037\320\362\003\010\370\021\372\314\232\233\237-2L\020\366\323\262\252\253\302\240\250*HK\271Or\370\261V\305\335i\304\251\033\022\206OD\010\363\361\2360j\227n\0305Od5\030\030\012\261;M/\207\372s\252\213\026\335\353\035\241k\353\017gS\344\023\341\017\362\215\025B\014|\201R\273\360\251\247.\320\214I\036\365\351_~\336E\\\037\325\365l\222\261qa\367lNE\327\012\032-\234X\277\200\240c_\376`\204\360\215\305\012\365tmII\261\005\313H\213\355JJ\261\017\270\336\202\213K\261\323Q\267\0302r*\003\254\352\317j\336\212\276\336\025\014\343\225\312\235?\217\354\324\250G\216}\015|\340\210\314\365!A\210{\010@\346i#\360s\207$\001\210\\\216\031\007\270\233\011r\351.\3340\337\256\322\337\022\220\237\303\330\373X}co\232=\223\273\201\315\223\333/\3156R\236Vl\025,/\336\206\034z\230\002\213\273\017rI\012\226\316"_buf, + "\322`\022\343\324\007\377lb\246\034\005:\365|\372\346\370\374\360\325\201|\256\302\040\210\340\201\016\316\314\011\276\223\020If\024\264\345\215\011\000\275]\202\346\230u\266L<_G\262p\235\250u\263\332j{\337\2258\223\267\261\276\376\336M\040\005$\025\262X3\240\002\022\373=\311\275\357\000s\206R\025\311\244\304\327\036\004\201\341\237\"\332\230\255\366\374'\275\040\\\0304J\032r\226z\321\012w\370&\244\321\321{E\304\220\340\261\262\370z\270\252Yu\317\315Y`\311Y\353\022\232\231?(\212\037Q\255\005\227]\212qrL\335\2267\302\213\026\255Ea\373\325\213.rG\317\367{\321[\320\022\301\313]\016\011\321\331\031\303%.#\220\314~Y2\375\253.\031\301+\301\006\001\007\261\271dE\355\030'\223\031\276\011:\002\337D\310\264\354\317\321m\007\012\216\262\311\354\223\001!\203\340`\243\021\204\"\003\272I|\363p\251^8\021\226\330h//\317\225\025?\020\377!\001H\315\213\224\254\\{,\032`8\007\230\016C\211_\265\021o\314`\005\366Y\003Y\352\316\342\202\213\364\0062\0069\223\315\315\023hA\030\002\3520\362h\256|\016:|\030\316\351\024\221\022\250^M\272-O\260\003W~\351\365\036.\317D=/;\002Mc\306>\306\033m\343\3161E\024\254\361\324\254\241D\213X\303\300\256\302E\213\330@E\315\0250\2561\261\274\261.\357t\345\316as\254\333`8\015\270\004d4xZ?\231\216@W\227{\206\366\300hV^k\306\005\370\233\017\333L5~\226\201\215\341M*\015\004\331\231)\212\014m\006\331Y\005\253\177\272\204;P\011\341D\300\020\3510\322\217H_\363\331\325\265\246\212\316\300\351\233\366\023W\035\351\370\"O\025\302\327`\245\346\017\212T\205\346\224\333{\306\263*\366\246\241u\360\356\030b\027\314\345\326u,\276-$\333h+n\2671\002\302\206X\214@\222\201o##\316\360\251K\312|\362\347S\375\267!\343\351\002[\255\230\354y\220S\321\342-g{\036\262\334'\000\002\362\217\274\343|}r\364wF\301\217\372\207g\307\273\307\355P8{\217m-\005\253\301J\206\263\200/\346}m\363\241l\256\230\0026\346\027y\301n\351\03382p\271\221\036\024^a@_\232\216/\222b\220\260}\221/\210r\377\2018\367]\244\347\350M\002\261\376=K\313x\267a>\356Of\343\213\264\240\260\013\344\375\353O=`\206\200\367oP\021\206\356&)\300\334!\206Ge\267\024\314\213\040\370\336O\033?\375\334\206q\340\363\326\0250\033\024\274\221m\347\202\223\263\250\310+\366A\347\004\004\035L.\361ka\353\327\253\353d\362\001\303\241\376W~=A/\255kE\375DxH\016\270\317\010\312u\025\313\322\217\311\250\243\352\240E\231\303b\243\304'\353\214\223\362\003\273\371\237mX69h\211\275\274\215\337\275\336g1\353+\332\331\021\235|\241\002F;\3435\336\030\333\232\361\302\232N|>m\253\275\302-_q\236^\017\256\236=\355\365\264\0371\031\002\220\355~\231\246\303\276\301\004\245`+\202\245n\016W\003$\326\254\205\005\304\025V\3310\265\213\037\3039k\333D\031\352A\236Q\200\021\254\034\304\205m\261\001dQWA\265?dS+V\375[x@\000\356\\\356\037:\361\360\310:\233\300S\355I\314\356\263h\322\246`\333\035\306kQ\025\035\012\217n_\202\217\374\200\202\207B\332v\240\037`\226\3255\355\005\025>d\235\002\326\202\200\032\330\24586\202\272\011\017\014q'\226\303\017\231\237\030\223\240\257\205\361A\250\272\343vl\315\311\264H\247\020c\013N\036\335\016d7\262\024\330\374\237\230\220q\235]Vh%l\007\214\307(\254q\034\213\345d{}\343/\263v\364\017\261\300m(z\372\347\231\036\257S\005P\343\375o\233'U\365\330\2114\300\177\372\217\231\316\012\260\241$\303\217\011pJX\305\263\005\305_\217\243\237\237\375\374\323\306\263\237\237>}\366\227\237~\376\363\177<[_\377\323\233\243\243h5*\373\354\272s\303\361\021b\256+\211\346\264\242M\2674\313\206\360\341\236r\014\262\354P\177V\273+q\305H\342\342g\270\337G\337\270\337G\336~\255\270=u\267\210}\341\360\254\207\375\353\331\205\327\262\007\022\275\242\253\253\252\012xw\257u\306\203r\332\032j\370\324\360\322\362fX\311\362\362\377\343\356]\333\333F\216D\341\317\253_\0013\317J\240L\321\222'\223\315R\026\347\310\262<\243\263\266\354\265\344\314\354c\373e\040\022\2240&\001\006\000-+\036\315o?]U}\277\200\240,'y7{\316X\004\032\325\325\325\325\325\325\325uY\345\226#J\313\356\363\243b\271\034\327\321\011\025\206\333\327\316\217NQ\335\212i\341\274\250\333\211\257lq/\360\035o\264\314+,\263\253\325\306\335\337\320\025\205\363\253\262\270\206\355.\2268\332\025v{\376\236#\2752\020\372\"\002\200&0\241\252\312\015\035(\021\234\346L\310\215\323\323\342\331r1\303\364OrLq3\015\246\313\034\215\342j\354\376\346F\261\342F\210bH\325\235\306\024\306\2007\015\024Jn&\222\3423Q\0004\032\360[\324\350D\300\222\257\374\227\254\237\262\262^2=\341w\035\214\247\242\232\336\026'\207\226\024\021/\314\001Qwe\015i\207\002\2254\203\363\243\250}[\330\002\304\012\002:\360\033\356\310\335\242\327#\311^\232\216AE\040\2437\313\034\021\030\014Nr\260\242\275B\177\251\371hL\265\"\001/zt`4}\226\262\311\244T>\370\332\005\034\302\205\026\373s\027#\243\342\353h\231\203\260\232h\001}f\342\316\242\032]`J\245\223<\303\033_:\365\303\257}~\240\031\247\340s\264\254\037\341\371\237\327\007\340\245G\263\212\037\361o\357?R\320f\366\223\374S\3611-\017+1h\213\353\371{m3\002\206\215\267\347\270!\250\317\244\332\347:\224x:\2119\024\007\006\343\246\274\240{[}\255\300\032\311\020H\200\235o\367]#b\372\031K\037\034\301X)z\326\011|D:\274*\377\233-\304l\232\201{m}ULD\325\355\373\247}\333\372d\301\275\326\331\265\251\264\246lgn\307\363d\261\332\337\325\254z\254M\277\363\352\213\351\224\252\273\223\331\245\223mi\200U\232\351\002\012g\200\332\277f\007D\262d{\023\006\344\350g\317\245\016\266m#x$\303\010\241*zk\352C\264\341e\243\265\316xEa\335U\326\200\376\002\376\233\003\364v@T)\024\247B\265Yn:(\266E\217\225\366\235|\026\267\025\307Z\367L\006\213n}\275\314\261\326*\376-\027\233]\270\320\307\210\266\002\231\\\216\3302K*\203YC\215LF^\345\273\315\025\302\363\344\362\020>\326\244\225x\344\313\342\000\2759\201\2322\202\336\331lE\241\304D+\260j},\276UB\251\355\212\327\306\275\326\372\025\343\363)-\366+\277\322\362\273\335\316X\2756\035\211v\333L\331\313'\336\005\205\243\210V(\035RB/\330\011\005\341\246\376\214.\313\234\332\220\006\216\212b\0304\256\313d\322\200\2277\260\303\307\005V\270n\324\354\371\307\346I\217\343\351Ij\015)\345\024\222\365\356<\321\260\250\360\357\345B\305\353\004v\002\367`&\277X\305ag\324\205,\307\252\261S\330\230"_buf, + "\374\354\344\354\360\351\213\343\321\361/G\307\257\317O^\235\236u\375\032\263\2302\263\202.\324\027WUt\371C]5\360)\225.\010]\231=\326#\232\210\203Lp\215\012\253\017\366\\\213\2222\257C\333\317q\343\374\331s\315Xk\226\326\230\013%`\006\326\017\307g\242\271\256\273\211\003\212zk\207y\210\031Q\0154P\333\221DBl\210\330~7\215\024z#\367\030\240d\252G\3577\367f\017;+\347;\353\343&\016u\0150\012\011\373\325ZH\324\326\307\215H\310-\344\234\273V\025>\2424\264Z\013\2654\014\247\231T\266\332\247\221\312\325\364\326\040\225\365q\023\022A\235A\341\022jr7\032\205\220\362\256\007w\251\031_}\213\303c\323h\334\245\320w{\247\256<\207Q\227\370_q<\275#\232\252\223\365\021\014\233\236\300x\227\010_?E\265\034\216-\035b\245\374\353\330\254\177\000\011L\215\201\342\351\013\035\037x7E\270\327\371L\206\216\2576\357\375(\034\350*#\020\011\315\355\362\035\333\300\307\34001\220gZ|\202\311\336\371\273\247\344\024\346|b\252\336\36254\007\2719W\036|\332\325\244\321\224C\212=}\203S\303a>yQ\214\311\023[\333,\264\307\275\210\203\340\032\017\333S\353\317\014W\376t\0332z\2462G\270^'O\033[\354BE(\336o\277\230G\230\337\235\261t\255\301r\353\260\335\216\235r\307\220b\005\034\361|C\270+E\3746y\334u\257\330x&p\027\364\304Ff\010\012!\374a\341N\006:\2010?b\212\351?\000D\373\346C_6K\266\006\336\342\231\261Z\244\343l\312h1\316\312\361rN\266{8t_\245\221d\025p\340\277N\362\332\007\006BB\211h\230\311|V\025\370-GA\214\241\037\235L\311\373Z\363\256\326\241\\\221;uO\317U\223\240\2120+\212\217\024,Pb<\023\207\354\205B\235m\261m\364*\233MX\263\036&7\200;\2114\231\010Y\243\341\327\000\245\357{wH\2718\257!\356\222g>\275J\307\037a\350\220b\265d\344\303\314\253i\377\322\373\275t\024\007I\250e0\374>\230\252WK_\012\337\300y\354\307\343\323\3437\207\347\307\361\236\012T\363|r\353y\341k\0135\237\040\2444\253i\332\307\005\223i\311E\001%\267Q\343\254\242\357\243\234\261~:Q,Q\365\275\271HM\316\353[\353\040\306\355\334z\030JOJ)\252\031\2115\3366\241\223,`g\033\320\301\217`\306c\033\266?'(O\272\250\001o\335pg\230U\256x\011|^K\314E\276a\330\262\027P*\231\351_\270u;\253~\005V\2742+\246\332t\305\221\220\013\250\"\003A\202\264S$\363\010\253\340\224\360d\225\006\350f\322\031m\375\304\213\356\223z+qsJ\3336t\011\265\344G$\242}]\371w\250MK$\007Fg\315G2\021\323Q7\340\276\341Ytq\364\240V\344\205\232\361\020\221\035\207gQ\266\206(\374\270]7\342FTnI\015\355!f]m\344Q&\256Y\215F\\\215\367p\203}s#\2456d\372\367\225\006\273J\024\030=a\007\305N\254\264I>x`(E+\214\313\024[\337h\353\324\006\217\021\263U\032\330\201\331\226\230h\233,\344\225L\210\1771O\034\006'\316f\3055\223\273\0277\220x\201\022\313t}\260`\233\313\213<\205\354sY\2556@\332LQ\337\205\210\032&\337s\330b\347\354\370\304\266\364\314\273\001.\231\202?\213\300V\204N\305\\Yfd]\316\261\212\011\003\217AC\225w\213\303\334\226c^\005m\214\361\016\264]\376U\354[\177\205\241\241y`\"\262\217CBM\037\260\277\236\035\037\201\361\372\257\376\276\266\267\317a\303\302-\030\266\325\371H\214\233\0225\263\376s\310\315p\001\207Q\254\346\260\275\355\0054)\260$K\021]c\264\027\346\340\326\021\0361(#c:\2320#\026\324\016B#\040\365\210aH\370Q\306\3778\264@\031>\247\205\232A\306\312yqQLn`2\000\020\014\325\373!\356\0126\015\032$\201~Pf\232[\352\227T\267!$\201\177\353h\226&\260^\363\224\263.\347\265(\375\234\216\2275\272\262M\212|+\300n\022m\012(g\273\322\210\211\264\346\272/\332\010/\322\313\214\311\260^\353\017\320\004\267\242\371\273\017\253\366V)\243\033\010k"_buf, + "SX\212]\266\316\317\210Fq`o\3206+<\355\332\370\177\365\204\266a;]p\364!\230Rd\250\345\032/\350\363\351M\3046\342|\024\202\307s\220\203p\302\014\226\220\325\200\342)\005\037\003\220y/\242?\304zm\004\027\305\223%\036\017(V\250\352\022|\011Z\260\232\204\036\324.\345I\024(L\177\356\207\272>\247\263KT%\323t@\0311\351\274s\235\334T\3462\340b:\004I\360N\226c\256\230\252\246#E\315\031\215\375\221\246\336oyJ\221\350\001\241\012\273\375\031u\245\251R\015\214!\007\273\031G\002\204P\241CZ\312m\243n\307!nn6r1\344\311\307\353\245\262`\2428\226C\3562\232}Jg\202^\235\250\273\277\021>\011\360\2235u\311\307\035\035\004;\326\315c&\2256\231\346\266-\314\010\373+;\344\\\006\025\004\364\256y\266\220\032\255\261\373\015\353I|\217R\034L\236u\231\361P86\200r\231\347\270\363\020\324*,\0379\234ud\272\252\215\324R\002\340\311\324\030=\211\364\201&\201\032;FL\261\245\227;W0\212\332\003\324p\333\011x}\014\202N-\004}{~!:t\327\251G\026\365y%\006\214\033\352\242$\337X\017\375\225\373\313\312\211\016\257\341\333\215\3657\217\333\330\267D\245\316',!ItAi\216\307\037oz\"\205\227nz\334\031\346x\023\352\003EZ0\344@\336I\247S6\023=\256>fB\007e\012\245\204\004\246\236\260%\007\265T\012\353g\333\303\244\300<]`\310\202\355\203b\301\320\342\241\365\026Y\316\021\322>\225i\275\342FPC\026,\330h`\375\302\312I\362\033\276^\204\322\354\267\221\004t\302\337~\363\317\040\246\225\\\346g\"T\\\234\360&g\313\3618\255\252\351\022\222y\205\227\226\207\356\015G|M\325\200{\3532\016\326cQ8E\307B\325[]a\305)T\344X\260\375\347E\341\310\353=\3519fnQ\320\261\205CJ\373\243_\245\367\356\364\271\271\251\361\307\012w'\325P\030\032\040/\232\376}\010\031-\375\230M\270\301\300c\367\026\246qq\323\265\314\271E{0P\177\307\356-\370HD\266{o\3327!+%\3752\362Q.s\274\222\343\0373nC\311gf\346\344]B\352%Z\270\334\323B\272G\330\315\341\212\233\377k\345\264\344\367\327z%v\216\224\321p\226@\200(h,L\250\003\202_T\020'\344\0055]\327\342N\247\267\333\355\231M\022\235\020%E\365\307\241\214\010:\336\374s\310\251\314\377<\220\374\024\010\345lQ\315\"\262KYl\370\016\032\322\317\370@\242\326\327B\023\220Ff6<\223\306XH\\0\222\000f~@~\243\222\020\354$X\313\234(\033\356\335\"\234\327\324\005\002\243\203q'\332G\025\207Q\332(\345B'C\355\313\276{\0160\252$4\250\335\032\224.\030\310O(\265\2018v)\231\012\241\000\374\000u^\040Fzf\301\302\332\203\375\0039\272\031\317\034C\255r0Ut\3304\361\034\014\304\235\261\015\267\305}\261\234\247>\371I\311\2372\200\330B\21013\3376\221\247\355\304\321\301j-\267\302z\360\300\031\022\236\3244UR\352\227\274\014\256\266\326\3642\031\264<&\351\254N\234\245\322\307\307\261ZFV\202]9\314\364\363\002\261=/\300\265\203:\324@\366e\222\227\376\0028k\022\015\243][s\325\333'rK\354O\031@U\273\314\327\330\006\276\263\323\246\255\013\367V[a\265\325\034R\234y\341\3547\256c%*\371\252f\222R\020\255\315\231V\353\262Ms\213\215\326\373\002\362t\266\370\302\024\331MB\311q\205\364\255B\331\310v\254\322\206nz\372)\035W\337\035\270\202\331\340P7\346\011\242tX\216R\274in9B5\015\202\335V\263\336\274\215K\216&\226\220:\037\251b\034\374&w\245\263S\231\323\323\276\254X\015\256vt\007\257;\353}\354\272\002\322YN\264D\354\345d)\327\257i\221\036X\006\011\355\316\372\001G\011]\006\273n\307~p\036sD\206\305\017L\336\301\215\300\334/\373\305G)[|\301\033u@n<]\326\257>\332\243\365\306m\204a\370e\204\347\366\271%\0257\254\344\206h\240\317\251\244\223\250\372\304\331\213\352L\306\327W)X\252#Q\346Q\030\337/RtJg\213\270\253\331gD\243k\260\266\314\023(B\205\365\"7\254kF\005\204m\023x!\000\260\320\324\316\013F1!\322\337\010g9\324%^\210\277I\346\021\267\364\264J\225J\2777\345H\003\273?0\330\375g\312\240\331\265f\200\303\307\012\231\2252}\350cg@\330x\257\213\022\315\364f\332\301\022\336\031\207L3\337%L0_\262\007|\261\272\276\320\206\004q\341\231>\316\366\241\266/\313\312B\304\206:\274\3567~$j|\036\177F\007K\264\251G\235/o\363\217yq\235Cr\015\3618\231\342u0\362\030N\336\004c\262n;\243\252t]N\365\261T\242\036\012\335yq\365I\205\2111\361U\251g\275\010\225}\360\004U+J\037\273\322O+C\021\203a\337\243f\246\241\304\2253\375\211O?C\371f\342\004r\016\235,\274>\377\226X\023\342L\250\262\232\367\372\246\011\326\334@\335Y\225\301r\007^\244\003\207\010}\236\360\010\254>\325;T\263\242k|\352\251\273%+9\246\327[\32179\232'\327\005U%\333\222\2661*\234\2742\334\020r\011\270\356\235\212\213(\340\311\347\227\033\266\260mj\376A\256\365-\310lk]\032\270\377[\315\252\341Z\320\006\325\272z\024e\264B0h,d&$ro\264\233W?\250n\317\213\222\337\001*\233UL\313<\264\312a1i;*r\031\311\362\3356k\211\227\361\020\007DH\233|\010u3\\4\272m\3019\307F\333\313\266\177\225TG\334x\336v\305\267\321\035\032_z\226\230\177G\341\253\231\266\3313\371\303\020\303)\3756\252\031\2200^\265\350\243\035\361q\037N}\207\23240<\276\3466\375\271\265\303\313!\032gX;\375\003GV\006j\335;\355\250\316\371\316\320\353\227\345J\340bA\002\270\353\325\303<\322\323\240/)1\2020\306&\247\306\326\223\224\233,)\341\344I~\206\021_\240\354\330D\011\224ow\356j\202\032M[\0369N\312\331\315\032\214BKd\311\326[\236UW\351\304\231\231v\3632E]}\177#\250s\267\237\321\306\331\324ZypV;\257\030\351\352\022T\307\247\030o\375\364\370\364\350\247\227\207o\376\353\344\364\307"_buf, + "\256\237\314\027i>\276\232'\345\307\327\230\215;`n\206\275)dS\365@\300\346\215:\245\374H\356\360\321S\361H\337E3\332\040V\364\254\200dZX\376\252\256iy\250~q\205<\2219\266`#\253V\367\315\241\360\326\355z~\216\242\323%4p3\324RZ\331)\007@\215\315r\015N\255\020\017/\004\226\034p\032.\321\311KZ\2571\377\327Xo|-\2338\312\305\257\270U\264k^\346l\035|m\227L\253`\213\315\254\352$_\012\237\015\343\003t\307\220P\335w+p\346\361\244o\363\312\300<\342\177<]fP(Y\360\321\005\377\351\305\236KD\016\221\207\207\312/\202\365\244tl\324\355%hg\334\301#hA2\255\024\2064\373\241\225\021\003\326\266\025,\245afIuB\3036\024m\333\370\277\220'\3220\352\233\220\243W\035]WM\221\010)\307\255\203[\306&\326\271U\277\303|\233\013\373\257i\343\011up\225\344\223Y\372\010\037?Lq\344A\212c\036{N\040=\255/\357\361\2236\201\322i@\\\362\326\331\324]s\016/\200\307\265\036\262\241I\177L\246}b\330\033x\371\200fA%3\362\224x\346\232\275\315r2\220u\203\327yb\011\243\316\274r\231k\031a5\023\211\274\332\243g\261\016W\236\322zFw}\256\013\204\225\370\206\303\005\303u\317\301\004\267i\033\025u-\241=45\333\335\0361Q\300M\300\320\231}\320\273\253\357J[\021\266\341\332J\273(l\270\3571\251\322x\345d6\375\027\270\3351\266\212o\362\001\315qw\277\341\"\314st\015{(\220\356\040.\373\367\314Jq_\341\020b\340\0312Xxl\361f\244\206J\265\340\266ly\231\343\001\333\356\022\340\341\303\360\345\314~kk\364\352\243\241C\025u}\027\326sB\306\214h\350\333#\320\201d\250\335\342c\027\207\323Zs\021\010\021\322\272\006\327\325\264\306j\312\221SN\331N\360\362\257#\275\333\230h-\360\332W\\\344\233\306\230\220\301V\271JP\265:n\2070\313R4\350n&\217z6s\250\234\032u\316\217\317\316GG\207g\307pg`\015Z\321\242\255\343\235\356\217\223\246\2237\214\034\333\232\003\233\022\371\331\0344=\370\257F\036<\255\235\277\371\037\313^DV\214\026>x\304DT\332\272\333\230E\356\370\227\327\307oN^\036\237\236\037\276\030\2759~v\362\346\370\350\334\275\213tjlG\245Su{\245\273\207\003\025\207M\016.>O^\362\201>4x;\016\246\2503\213\236Fe{\367\223\257F\307MZ\027\012\343\275c\027a\337_m5\020lH\2655K\026\025\252\226`\2463\254\203\302\020\200\377=<}u\032\341\306\304S\240\310\264[\233\266\245Rx\321\377\012\221\231\3634a\253\225\012dW\244m\242td\253M\004?\021\274P\277/^\270\340\337\272I\002\237\037\302\212|\365\362\365\311\213\343\036%\312\2475\255\262\222\363\334\202o\216\377\373-\343\\M\273\263\301CY9y5(r\012\210\254cx\203X\343\2100\200\033\302T\251\326k\337s\255\037\0204>\237u\355@\221\220\032?Y\316\3477\342\227\313\000\342x\040\2402\2413\203\302s*!Z\344?\215\004\363\247\365\314.\033\234\267\357`U\377\326\326t\217;\230cHm:Q}\225-\372\276\216\031b\211\372\354\345w?y4)\040~1\242\361'\036\251\345i\372'\244`I\007z\373)\226s\242\277\243*\273\314\031\017\004\335\243\300\177\234J\030ie\227}@\373\250\003\2562\370\207g\326\264\236\234Le\204\032\330\376\331Zd|9O\300u`v#DR\222k\031I!\034\263.\312\024\215\037\231Q\234\032\354\305T\271\036\003\256S\264z\324\302\205\204)!\327X\202\021\202rP`,s(\261\316z,\300G\321*\270\251\262\362y\015\371\245?~,\253\331\314\007\277A{\344\276\375\005\334=\342w\326\233\207\017\263\332\334\316\015\346\332\316j\203\007=\035\266\272\233\241\251\002?\215\330\265\246\330\346\373\236\341-\221W\031\323\2245\027\017Y\025c\241\271\3569\222\024t\345D\205\262\206\014\344\211\346\262c\335\010\230\322\212J\000\003\331\263\3529\234\304(\27724\356\227\266\236\247KQ\374\272\024\3363\200\265\362\361\241;a\016\332\270%\024\371\345\234m\203_\040\206\0021|\273\214spkR\030\002\212\011Q\014'\020\247\310\364\301\353E\2338\035b(-6\021O?M}\250\371\247\233\014\273G{\337Z\024\213%\354w\202\035b\311\016\221\247:m\300\213I\242\263\341\335\264\365\033\207\314\261~4e\024\354m\330\371\260\374\\\036m\233\\\356pcW\257x\340?\272d\206\363\203\317\256\012\226W=\237a/z\221\374\375F\341\022k\335\351\353\3026\207&\346\357/\264\230\021\274\036\372e5\353\317y\216;\300\245?3z\356\243\333\202C\033ZFa\263\252\335E\324J:\211[\231U\223m\013\251\365&\333\251\300\307\265\213\336F\243bx\217\342\254\211M\276\222O\310\346n\270\347\240Y\377^\254\355\016{y5\335\040\2675\263\206\314Fds'\371\372Z\356\267\253\245\313m\263\312\"\364w\251\210\237\0265\026\322\315\357\304~\353\260\013\241p\312\010\242\004-\246{\034\0144.~\226Mr\302H\242\330\2230[\352e\341C\312]\306\350q2\270\207\245\363UKA\243\027#U\252\223j\375\225\301\377\332\2777\361\272\232\341\333\260q\360\022\336\372\262\201\354V\006Yz\310mQ\317\322\213\345\345SLXt\240\305\231\332/u\235\305\202\200L\312>\326l\274\277\375\026\371.\345`\371\274r\017\320/^\364z\022\033\317\255\200.\033D\367\313|\234,\231&\247\325\375\364\206\246\205\311\245y\347\012\334\354\243\273\367\366"_buf, + "f\005D/0\203\233e\026\264|\002nK\224\327\021\343\313\320\243\211{\321\250\3500J\000\310\010\\\224\221H\352&\347G\246\326\207\303x\323\245\2625[k\026+\321\031\337\277&pR\333,\014\240\215\\\034'B\021\241\014=Q\040\040E\026\202^\251\210\217\250\202\210\\Y\230:E\235\027\345\315\312\032\300\334\3640\260\312M\342\036g\227\203\347\215u\245\365w\371,X\255\235\361\336\365O\351l!\370\311*\353<\313.N&L\310f\323\033\343\366\001\244s\262X`\350\373\234\355\0040\213T\253\040)/\307\275h|\225\224\302\232$\377e\257>\211\245\022\364\011\377\371\350\247\3037<\252\235^\217~>9\375\356\261\361\350\355\351\311\321\253g\307\335\326\370\\\003B\243\272\031%\27225\011\260\254R\332S\236\241V\244\37667R|\242\023\310-\300{\3040\340\205r\005\306l\013\212\025\216\330\300\302\020\360{\367\241\353\275r\257\254\012XU7\224\262i\317\022\252\3205\2769\202\274\345\007.\345\010!\350\274\273\357\364\254\177\352\304\026\251^9\354r\351$L\346X\251f\336H\021A\040\235\252lY\224\311`\360:)+\345\271<\236e\001\356\2057\376o\362\364\232?0\034@\304T\352\323\032;-\304[\361\306\251\272\306Q\327\013\341\006\206\300\016\237\263\314\207\201<\226\302\017;E\212\252\200@\037\014\255\230{u\333\3512\211\3457\274F\315l)\307,\001\307$\213+\340\262\242\232^O\302\002\216\301\370\013}\207\371\221\231\\e\307_y\216\341\325=x\013\215\373\371\223X\276\342\363I\365\256\340H\274o\267\335\2245i\016\326\371,v\264\321\321<\371\265(\371k\277\217\237\325>\313\327j\277\000\002\235.\347\027i\040=\204G\252\216.\230\"\316\276\202\020\317\026]\240s5ua\210+\243\025A\326G\273\337\330P\033fcCm|\246_\261\216U\006I>g7\040x'\040n\324\370\340\025d#\204<\026\033\015$Q_4b\243u\252a3-3`y\\g\005\325\250Q\014\024=y\"\322.\253wL\241\265\270\212/\210\310*\361n\265b[k\231\2247\202\335X\343[k\305\251\205\245\325\327a\275\263/\207\306Rcr;[\030\325uR\243\002OV\023\376m\252\355h\025\372\220L@\260\227\311\347\343\317Y\315%\372\343\357\277\327s\037y\353\312\221\237\370\033#\337\234\251\275\211\353\203\323\306\242r\366\316\207w\3272\026\341@\330\220}\265\375\334\232x}^\015\316\354\332\311\337\246N\336\307\247\317_\2759:\226\037\364\":|\363\356E\3355\356\274\203D\034D[\035`\023\275\017\370\335\331\352\330\316fr\033\324\223\232X\233\240\237\272Pd\301\242\255\273%4\322\021\366\361\365hg\026S\013\005\217j\343\262X@K<\365F\243\015\370\002yg\300\315{\371*\217\012\0148\002\305\012\366\213\252\307\373\242\344\022\214\014\313<\373\3332E2\020\262\032\341\2066\274kH\354\257e\000\001M\215\322\224\232\220\3349p@M\212\264\202\350\025\260\313B\316(\341\313\225\250\\\225lM\317f\375\350\247\342:\375\004\234D\225p\040p\305u\013\213\256)\343\006\244;f\232\212>\344>;P.+\243\346\017\244\327`\272Z\261\314'6\244\254\346\231e!\011\011x\211\300\025\230r)\003\005$\311\227\014\261\233\276o\231\325\"\331f35b\206c\344\320\333\232O\000\271\031\315\331a:\263n\344\234/7\207\3616\353\334\003@\311NQ\374o]\021`\262\261\331\203\362\216\261\272a\0070\331\243\217\343qT\220nMV`\024\315e\005Jy\331e\324\241\344\234\337mt\216\220\320\325ZZwi\005\025p\257\320\241\303\247\314:\250\015X\034:\015\313\311\347\005{\306xL~\320R$Y\341yB\205\375B\377\2304\350\251\254\232_D\236UC\012r\230\346W\036\257\024mv\031\333\237\313\244ch\312=\324\236\234Q(\336\266'\301\247\346\244\307kv\350\267H\")#c6\376\372\351\015\345\337\213\365\036{Q\023h\035\317,\377\224\314\262\311ay\031\354\210\341~\242ZySN\323\231\221c$S\242o\032\340\233\244\272w\201\240\253\355\300\240d\2671\323\371\003\370\242\237U?e\223\211\233\362\301\223(\2125W\225Q1\367\342\272\005\212\034\244\221\006\310p\234\032a$\004\002Y\2169\032\261}\237\036\251\210]\355\241\036\226\333:\2453\017\260\342\266?o\211\223\257f\007'C\012\365Y[\361\\n\012[7\341\352\334\312U\354D\0335r\013&\254\033\010\302\206\030M\345\"A$\264Dx\301\251\242\241@\362@\365\235\310c\272-\023\227\3723s{\215\277.-T\216\272~\3651[\254\004\355)\031\320\202\031\033Hb\260Z\363R\015b\236\027/\001\012\243\246\\\262\034\256\025D\343'p\037Ck\031\343\355\354\265-\177q\353\027F\017\276F\360\250o\007\372\202h\020'^b\320\237j\255,\347i^W\261\202\330nV=\313\205.\010\334\265\022\210\320\263s\323x\326\245\326\257cpR\351\231`R+Y\377-\255\237\2309|\267\207NY\317\266\006%3\373\264\032\263\331\202\372\347\313\333}\005\002j0x\311\267M\311\364\373z\266v\323\206\207\266I\266\177\242\021\265:\254\316\023&\321\2706\265\362NS)\2365\247\0136\325<\301>\245PnZRi\270\011\031\240|\212\200_\223\222\214iH\267\240l\243\002\215X_Ye,\206\337\236\015[?3O\371\370\365\317\304eF\037^\0064\010\360\0008c\377\271\002\253\037\207\201u\014\3217`TL\343\316\373\367\217:\276\240\037\266B\325\327\017\016tt\006\203|Q\004\005\225\354\207\022^\354\366\024\026\001\351\"\276x\267\373\201\341\271\365\207\255V\213N\016\360YQ\007\207\267\325\337j\030\034|\371\025C\343\040\332\311\010\230e-\355\210\312\300/\200\372\364\006\266\200\221\337\305\244\367\020L\203\2433\031\234(\355$\034\036\205YG\\\313\241\011\027\256\344\304\275\320\027+\351$\331\215\223\031;aLnN\320\257\240\316\222\332\227S\024\356f}\015m\352i\201\203~\217\206\250\363\012,~\220)@x2@\260\023_\344\342\022\014B\036\340\350\014\367\244`\034\204\342G\326n\343\304s\201R\317\213%\230\207Ca\2729\263\314\343\261\001\323\314\037z\216\361\027\252<\236\026\360\225\324\0217\264C\212\203\274\330QQ\035\363b\222\366\033b\035\237\235\234a\342\233\343_\216\216_Cu\274\263\256e\201#\361\222\352\026|\337a\327\036\212y\350=\326\356\316\315$m\321\003\005:X*\311\274\360\320\356\307\003\025)\374\025\022\254\254T\276\273\011\267.\317Q1+\226`\026\204\177~\\&\345$\346\317\3408\355\370\340s\256\0313=\205\215\003,o\230\245\243\212\2121f\237\203p\300\222g#\205\336\037\240\271n\353}nI\035\264\236\200\3314\305\273S8\343\0303\216\305#15\012c\306\322\335\024\254\311\203\315\225\355\014\032\004\237\220a\323\025\020=&\333\002\035\212A\264\004\250\263\242\003p\272\271,\312\033\001\035\200NK\266+\202\321\364n\040\345\347\002&M,\350\213w\003\310\257y88\037k83\264!n\231\345\014\335\321\031\303\365\364rd\262\327yq\317\3162#c\315\220]\241\3168S\220\304e7Z!\"\345T`\272\216\242_g\040\360\354~\366\235\240t\363\315\026\355-\326\036\023X\323\270\265\304L_d\273~\226/\226\365\040\300\002B\204\362|\333x\210\026\241?\2328\215\036\007\273b\200Wmt\354tF\027Q;?\340\036\204\002\300\277\310\255\351\324.\370\374\276\030SS\302\366\205,\264\320U\"r?\374\255&L\254\317-o#\343x\215\336\243z\200\256\206\376\356\352T\223\353\273\025\265^^\315\276Ez\254\034.\304\355\355e=\375\363!\274\204(\314k\376\364\035B\213>\350w\321\250G@G\031\346\025a\377<\301V\373\020A\353\006i\346p\251==\313\376\016\347\304\237\263I\212\036E\305K\270?xzS3\244\217^\217\336\236?\3773f\231B\327\242\354C/\332\331\353\211\332\020\370B\376\315\377p\212\214\012\374\3371\204>h\203x'\273\377`}\261\0362\022><\340\040\375h\205\334\206\032\235\233\370\264\311Y\350\256Ar\273\332I\312\324\303w\037L\212h\340\334\026n\252o\333\015\312T\217\314}x-o4\273\270\231xq\020\371<\213\374\213\314\267\325\240S\226\265qXK\034\35242\205\344\277\322\033\014\032\2106\243\237\315'\203\301\323\224\321\232\252/Q\305\346]\367\340\250k\027(\341\372\375\276^>2\205+\314G\202\220\027\010\221\364z\326\242I\354\271\005\026\260!\333W\200\217=\336\351\202\010\251r\203\260\034\274\356\203\032\040\203\357\227\030\200/\326\023\307}a\3140\347j\206\034\310=\023\211w\237\032\273\311\255tju=\361$[in|\336\2322\302O\316\247\237\266r\3643\327\003\036&\344[\035\264\356\006\250z\320\374\001\303%o\324\222\322A9`\234\345#\363\256Gv\316g\376X\024\275d\207\237\021Yk\205\245\326\177\364\321\343L\274\365x\354\025\255X\371>TB\272l\364\351\013X\260\321\257\014t\235\310|}s\267\304|(\033\225T\0301\203iQ\216S\376\010<%.\270\025\034\234\013\323\211e\010\347q2\212^\316\276\347h2S\323,\355\321\335\274\326\353\206.TZ\023\360\040`$\370\333\222\235+\034,^\341D\030Y\341\310Ca\202\305\007\040G\204\352\"\012\372\005\353+\2341\004Tm\346Pl\274\2243\000\031\322\277(\370\267!7\015q%G6\353\252//8\033\310\252\325\0358-\360.\201.\251\315\313'\270}\012\217\352\261K\323\323\242\346YH\213\022R\275}\270\236\360G\040\337X\224`\370WL\001&\323\004\213\327Y[\30234\3243U\312\267K\270\361c?\227p\037\365\334,&}\261\234N\323\022\014$\007Lu\030Z.\234\204\304\323\345\364\204\001cb\207\3347\345}7{\307\276\267\025h\260FA\230\376;\005\373\203)\3259&l\346\257\361/M\337\3629\210\032Xx\335\333\252\264^\304\330)\317\020\3600\202\361\025\323\030~u\243f\327\360\337\355\016<\274\352\305\205\021\341&\037\307\335\365\374l0\025\347\247\264\2342\275\221LE\343H\305W\372F\307;\361\270!\260C+\234\366\217_=\217\302~_q\264\270\240\\\211L\361M\027l\025{\303\237\225h\243Y\211\215\244\344\340p\244k\2000\315\303\030Qw\350\333\312-\256Z,\353q\034\204\271\352:\320\177\300\363\314.\020\230(\330Dc\235J\214\240\202H\001\232\006H\304\001\364B\371\242\304\252c+\222\015\223\367\261#\373m\240$1\270\204/'\361k\250\344\363\230zt\177\377\323K\267c0\036\2452\306\3548$\000t\313\266\324\234D\250T\334\215=1\333U]z'\005\247\343\274@\340G\254e1K\341\363\262!1\354\267\0365IP8\272\223\314P\342\223\313v[\243\240\233(\036\035\3067\032\306i\354\317\375F\361\250\272\320k\262H\217/o\274\001@\355\027P&S\371$\215ag\3643\225\031\315\004\326&\370\236\352\206\365\242\316\333\0341g:*\200D\210\"\214I\242A!LQc\240\302\357\332P\264\325\252\355\200\026\035Pw\242\017\\UGF\330U\002\"i\"\015R@j$\006\321\377)\214\003\331\275\357\3028\212oV\260\015#\335\031d\213\025\265q\370f>-\213y\004F\342h\271\330a?\340N\210\252\025\333_c\243yr\003g\027-\0159\331)\230.\213\001Hh\213\260\334q\304\300\330\214\014\020\321\3304N\367\313\011\303\204\304\257\305\040\306\307>\006\271g\016\3218\242\332\377\3073\001\312\263Wm\031\301\216\2642t\225'\216\370\035\016\3216\313\333\354\337\007O\231\370\306v\204N\244w\030\243!`\025\216\300\005=\237\374\252b\035\030x\2509J\315\027[\317\263\321\373W\340\240"_buf, + "[\353x\015n\227\203\001\371\340\210H\367{\346/\264&\300M\200\273k\360\024c\332\346\001E}9\267\221\003\270e\336W.\255\302\363\317g\300\201\251\246\343\312`\240\257a3w\225\001\020\235y\017\242\255\177\337\362d\023\2165\217\346\203\250\363\357\023\230\331N\330\244\253\367osA\213<>|\377\343\316\246os&\351\212\313<\203\010s\232\370\026\333\335m8M\227\007I}SW\263\261\357\313\015D\242\"\315\307\311\242\302\254eT\305\200q_\002\246\204$Z\200G.$\377'U\252\342\265.\320\234\015\006\203\013\260C\203\255\272\257\347N\040\246\020\2051\276\230\031$t\373\200&q\344\232\220\335hB\246\332\017\303\020w\020\220\253{i\324\325qAb\352X^\036\204\320\303\273\232\2670\033p\2179.\0267T*\376Q4\235\301\265\012\354i\226\273\021X\205\224\271\224\037\206\277x\256\025\010\237\240_k\244\0115\335\020\024\265\040M\254L\241\346\000\275:\230\312\316\304;\003\244\343\256\035F\323*/6ep\317'\351g\236\220\035\307hW\335U\343\343\015|\245y-\364\020\350\012\367r\251\353\227)\372\026\306\306$\020ZnQa>\354w\370\376\303\316\020\246y:\307\213*\213\035\"\272\274{\223b6|\0060\253\263d\306y\001\374n\013\314\240\205,\262\341\037\250\234G\354\3155\225q\341\375\206-\033\330'\365\265\002\016_\356\323\330L\340\306\2002\261+\314\246O\214\2656D\023\032wLc\332\020\261\252\221\351\255\250\252\326\237+\312\361\216?\030\233\245\330$\375C\371\335?\026\3476B;\352\032\254\274\215\327\313\014\335\250\2733\204\343E\247c\370e\2617P\374\302*^\321rd\222}\370\300,\371H%\357\275\303\242\203\016mvR\006\3209\3231O\2569@[F\337\343\336\375\207l\312\206953\231\236\276:;\177\366\352\35597#\337\024\313\350\017dL\247\014\001\360`\016\365m2\310\370\012\341i\260;0\2510]\346cUT\306\324f\270\223\310\027E\203\011)\347B\203\261\232\323\325\233\325\234=\0144\237\025\227ns\366p_]\275\335\332\026^i\263u\255\271l2F\230\301\304\266\351&\263\313\202\251\221W\206q\326c\325\035\363t\336\372\2431Zi\276\362\252\016m\241u\361\002.\210\217\256b\362\243\015\270)x\014ad\261/\360~\331\264\224\311t4\324rl\231\216n\235\272rH\262\352gF\014\237Y%\252z\276\247\013&X\263\317\221\307_E\354>Pf\216Z\211\007\233\233\374\262\345o\313d\026\363w2\326\231\377\346\225\211e\020\264q\201\326\022_$f\030\303\007F\214z\305\265Ij\357\364\306\360Y\2276\325r\332\2026\324\312O\033\376N\226K\021\215KI\2352H\236U\010#q\302(\332\304Q\312\004R\211>t:\205x\315$\313\2535\250\224\345A\"A\230],\033\370\242\350\234[U\276\222N\362\327\030\315\257\177\301\020\210\272\266\226\212\351\240!\353I\034i\361\366\225\303~=\265F\315\273\\}D\274\211\177\360n\337\274\301l\014\256WZ\001Nk\010\354\275\353q5\033\007\221(\263\271\037\003\3130\312/\367\225\347\376vt}\305N\324(\241\300\223\026nz\301+\274|_G\235}\037\356\232\265\232K\\\230\243\222\342#\247P\333y\224\027\030$\351\200\356\256\004\230b-\040\011\016\303-\033\240y6\345\322\037z\031\375\200P\253\345\005\354\306\324\260\027\355=d\035\356T\334Y\264\251\224\267:\013#\255\325O&9\272Nr+R\244\253\3215\220\363\335\207f\011?\306\363,\373\277\337~\343\177\277\257\365\037\271\376\243\3342b\232\325M=*\311p\001x;\220\250-n\032\357zP\024\333\2155k\234i\026\263e\231\314\262*\035\014\344\237\2461c\014E'\275\022d\226\\\2443#\255;\266\215\351\023\363\270\217mc\343\223/:\337\266\3163)\261\224\032\276x`\362\0020\326\023\355e\237c\207\261\272\354\377\354\227\210\231\031\302\340\371\230\2111\233\225\250\243\255j\313!yQ\205\362\356;'>\357\211\020v\215{<\016\202wP^{O\177\206\3260\030h\322B\327\276\312\344\232k3\322\275\204\317\275\366\201hdz\020h\3005\377\001\301S\2634\217\305w\335\3106\353\240\202\242\001\020\227\274\322\366\241\343h\273\275\211\013\337\254:]BB\023\356:\206\312s\347(\231A\220\260\0076\324\235e\203\314w\300\223pGz\234M\2342\023\226Y\223M\241\256\367\332\250O(v\302r'\013\016\301\017\330\013Y\212\004S\337\355\351\017\040*\315\327\271\332\021\314J\030BB\261\376\331\247\001\215PM=G\0237a\354Z9h\307\004B\010d\302\312p\261\366\227%\264z\010\024\020\264i!E\010\333(b\267\356\033\231N}\204@\355\307G~\014'<\240/\373\364\333\300\224)\207|\260\351|<_\310\210\221\236\372\204~rX]\312\032\356\316\350*\351\347\014\206\016M\302\000(\333~qeQ\037\035Lb\330,\210\015\365\215\243\001\225\207\007\226\3029\273\362!R^U\032\"\242\255\302\203}\325O\026\0138\267\262\246\022\005\370\333@A?C^U\353x\360\0322\323\022\250ur9b\242<\251B%\0330\300#\271<\2046\203\201\370\313M\332\033mF\000\254gWn\220u\025\272\003\310O\023C#6\301y\330\230/U\315\245\302\226f\036\222\314\265\3748\210\004`\360\320\245D\340\254\177\333\024\034\354\233I=\314\307\3452\025\006\342YR\336\023Z\013\311\035u\203:\263~\203\301\373\350\274\373?\035\264\301I\353=\177\261\365a\253\333\013\320\266\203\321w\270/\012\\\311\325\204\0266\372\231\210\302\006\305\024\205/X\274\243w\377\207\032\200\310\372\320\347I<\024\336\373\033!\2745\251\300\263\326\252\310\341E\222\225\002i\271\343\230[M\267\3139\346\253\006\304\023:i\031\362\373\276\304(Z~\223\3729\256\252*e\373UR\363\040u\\{\010\267\2733\224\203\017\345J\322\241\275IyD\222\002\246\023O\017<\363H\377\223\006\361\357\274\023L\345\001D\027\365\276\332uN\3666\267\3075\313v\005\366A{\267L)\373e\252\325\360j\2725\225\212\300p\325A|\345.\353\273`\025I6y\2410&\013\262d\366\272\004\365\273\316\322*\3024B\3741\243P\034X\347\001\223\231\272\202D\036\337\352\203+\332o\277\371R3\242\033\332\203\253l\2226x\241\231\330\236\360$\326\256\211\023\273\227@Q\021\253Z\203\305\312\262\325*\240T2\016<\270[\003>\303O\240\220\375*\340\363\344f-\310/\223\2336`\363\"\207l\273\240)\266\006}Z\344\257\3717\253\300_\244\371\370j\236\224\037;\355\002\336W\360\3360\266Py*\340G\277\0058\241\225\271;4\314\324g\362\306Cy\306\204\002\023\344\237\330\206\271\306\022\340\3758+\210\3322\212\271\030`\240}r)\357\277\243]x\362\000;\314\252d\226/\347\215n\014\354\333w\273\037\272~\257I\334\327S\250\3634NO\213\272\305\220z\253*\004\0062\215\2528\007\223rx*mP\201:\254\021\257\341\362\016w\014\040\025l'\037\304\006\235\314\300\227\243i/\023;\220\000U\311t4\274D\014\030\327f\213\253\204\3212-\371\015o2\256\241\224\005\244\036(9\276+{\030\331\333\231\3437\"\023?\303\326/~\304\260\201\261\277O\362O\305\307\264\334\216F2\265l\243r\350+\277\210\216\253\341\302S\342\177\320\3420\237`\202\014\221\224E=j\376v%\003XuN\371z\341\313Q^\341\351Y\\1\337\013\306\351B*\335\006\227V2\"G\224\235\331G\007H^\210'u\253\350Z\226\303\354;\367\207\230Z\212L\013\354P\242\221\000\023@\373v\260\007\004)t\313C7\315\357\266\002\327;\002\015\3676\2611\266\017F\005Y\364\307w\360KUX}\330\012\006\337\255\334\363\331\237p\233\344\025\\\373\301\030\311\230>\334\014\312f\236V)\\\236B\261\215\237d\306\266CXz\245h\270\213\200\370CY7\362*\367\226m\347eZ^2q\013z\012\245\021\237e\037\323\350\257\357\300\272X\026\237\030\303}\370\253VN\226\035\232@\003\256B\340\330\207\037\336i\237Bq!\004\307\2400\221\307?\257\311\350C%\203\330Q\253\010\201\273N)\251\012\254\217\005\3176\012\376Z\301z\006\232\212&4\264\256\263\011\3555\2258\200\2262\317\370^\267mI\002OB\356&\376\202^\034/W\337Z\263\226|\030\201\340\362\303sz\303\3523\357Q3\305\335\216\035\360p2\301\244\305\235+l\322!\206\341\241#0;s\306\"XC*\303\004LP\237\352f\303\241\020?D\322\017\356y\365%\352\364;=\2510\337\006R\361\351k#\242\252\327\201\310\332a\254\313C\314\206\336\3237\030%k\253\236\177\353\263\324\252X\333\330T\015\2568Cs\255\267J:%Z7pV9\375\261\036q\363\036\341q!c\212kL.j(\341{pZ\243?5\304\211\256\310\302Z\314A\350\273\000\014\015\315\376\014\216wHG\311\262aK\031\260\333\300\305\337u\203#\230\040\033\205\037\235g\275\030x,\224H?XS\361\016\301\371\315\335\025$f\335Fd\024Q\264\025\257\276\365)\254\306\367\274f\203\342$-\017\277\245o\361c\234\366+\016V\257\356\255\264\310}\205\342\025\372\\K\272\334\022\200\217\347\005\264z\245\022\327^\221k\250\342-\307\034k\343\327\033h\243\212\2151\256\254\005\336\323\362=\010V\213#m+\327\326\265\020\023\3335z<\215h\345\270^k&3\250zW\241\374\206\261\3267\323a,\255\305q\3455\301\223\205\2415p\2620\264\003]|\237[\214\017\0010\214\242\245\352wQf(>\366v\377\363?\277\337\333\373\323\343??\336\363\224\352\223\355\257\250:\030\037\213\335L\333!\244\351\252\246\003Z\340T\216\360\376?\347\004k\274\336>\0404\327H\177\004\3375\244t!\337\030\2766\2269\0408\261\253_y\353\275EpJ\243D\263\221\267\234\\/\360\235\364m\250\260>\234\252$k\234\003\331V\001iPEj\365e\376\252\234\244\276\324T\260D\241\274\036\2422\030\234\344\317R\314g\015\032,~3\360\361\212\270g\315r\246\377\312\366Q\001\037\270\274\316\332~\264\330\325\351\366E\3729\033\027\227e\262\270\002\213\000u\355Kj\026$&\20608d\331\017\324\267\20332\377L\013\361\242\337\334\253%\030\254N\315\032\327\2523\2767Le+\346\341a\211,\320*?\263\317~\311%\033\233\331\022\365F\237\311\216\3521\002\337\022\031\304\361\021.\341\237\210\345\327\213\334\372\214M\244V\340\206\024i\237N|\245\026\311&\245\275\226j\240;3\232\377\306Z%\\\035@\301\014v\006\"\274\226/\251\202W\262\262\035\233\365\315\365J\251*\3761;\220\\d\365\213\246\253\206\203\352\273\017\2616Y\302S"_buf, + "\004\374=\335\307\345U\325d\225\344\025\006\257*\356+\304\264\225R\374h\376\316\364\000\345\256\030T=\024B\301\254G\373\015\220n7Z\365@\010>Q\370yh\337\015U\247\014\254\177\017\013\323\202\226LhN\315:\014Hs\021\015L\020!\242\012A\242\363\3346\201\350;.q\015\274\326(p\202~N\001!\250\353\250Y\205\247\361\263d\232\272\232\251:\326xw&od\260\252**\214\002\020\223H\333\017^_\236\363\347..X\213\025\213\0327`\"\335\325\2647\360{\015\034\305'\242<\272q\354\302PC\215&\252gS\"\353'\037y\255\362l\011\272eR\247\252\264q\363\356-\223(x\254\267Z\355\334!\372%=\027\215\033<\017\005@\306\240~\330\322\335\023\322\304\303\226\240\003\226\306v\011\306.^e^p\003\214Fw-\341\254u~|v>::\204\314Mxf;\202HCo\015\001s\354r\014\312\026\307\272\351\363\014\250\376\013\235\371H\212d\343\336W\222m\177\265\304\320L<\206\233\247\230\321\246\012FSs\377\270\375\212nV\361\246\215\003/\344\203_\251\335\306\237\362\257q7\325Fa\350k\320\001\304\300RUF@\017\217X`\212w\317\276X\003(\210\214\2339\314l\011\233\246:\263\213C\272\205\230\011\301A\313\203UC\304\271\203\3027\313\021%\316\227\334\262}X\211.\311\366\355<\216QJ\304\333\300\303\352i\027\311(\203\373\040\002\302l@L\257~GV\225\215\000\012A\273\262\003\277\033\274~I?\327\340\357v\244\256\363\234h:4\351\276*\377{\231\314\320\020\3662\255\257\212\311\251\235\014\331\260\275Kp\341\217\255\030\032\335=Xs4\330\332\3342*&\205\343E\040\347\011\324\010E\216\224\020\372%\005\214t\006\003'[\262\021m\222\346P\005\210\355\221i3\220\236\326\021T=\362\204\235\270\240\274A(\3166\353\303\3012\025j\026w\015=\031\021b\0030\220u\3017-2\327\220\277\256\011\3345p\007m\341\300\203\037\323\262\225\025|L\005\222\014\303x=\241\265\345\253\021\341\263\237\353eIGp\177\235_\216F\335\215?\320\245sr9O\"|\030M\262\3442/*\260\355\302\026\325\334\"c\177@A\363\316\316\317Poo\207\321:\335\231\244d\201/\312\252#+I\272\366{\365DH\367s\240\011\245\320\333\320\3746_\024\343\204\226\277\365\240\301\253!x\335\317?]}\335?\223\235\330\037\2518\014\232C\014\327\240?=\3256\304+\266\227\322\037\274R0\340\315\030\343\215U\312r>*\213\242\346M}E\367\316R\024p\274\3050\216\034\242t\276\000\210[\266n\351\260vrz~\374\346\364\360\305\350\305\311\351\361\011;\271\301m#w\037\360T2\225\233\225B\302)\334\304\260\\\346g\220\376\222\275=\306\252jl\012|\205\377\264\321xtK\213\"\214W\032\351\341\226\337]\033\331\323\242\306pP+{\213\027\035\234\240\243\2331\344\2124K7\332}\232X^\3328\206\211u\033\356}\\\300]\024\223\\\036\0044\200G\274\331\004\333y\356\040\003`'\002nP[T\235\204zi\346o\223J\2760\244m\233\224+\211R\311\272\333\002\254D`;\34225Z1Y\265\207\035\371\333\247t\311\257~8\313\313r\040\027\217{\026\246L\207\250?\3674\334\026\011\040\021u\325%\212\224\031\026(#q\013\203\022\003(3\235\013\001\213%PC,\351\263N\343\311*1}kO\367\331r\014a\327\340\272qCZ\263\336\3549V\353s]j\314\316u\030\022\360Wa\262\252\307W\213&O'\255\203\007\272@@\243\203N\253\346n\256\222\352\350*\233M\312\246\276\240\254*o$\316\027A\271C`\223\311\004\301*\306~\255j\215!,\233\277\005|\355D\311\333Ya\206\012\234\321#hz\274\313v\314\036u\275\221\343\270Ua2>^OS\040&\357Ctb\270\227!\3576\255~>xi\040Wy\250\372\206\337\253\231\276\242[\013}\273\354\366\345\366\316\330\315z\253\336y|AV\200\025\016%6H\367\332\344\326u#V\021\366&\305,\035\372\207h\333\252\3216\260\343\347\2752\232&\236\213\021c6+2\377\012\031\3033a\223{[\224\314\256\223\233\012\374\372Er\036\236\247\001\015\200\260\005z$<\001Z\301\365P\366\205x\320\255\376\253\257V\271}\212\245\3479\255\373v[\321|\337\223\240\335\220\242&(z\2653\324\320k\312\221k\013>CUSBB\332\007\321W\277A\216\375\230\346\344\302\261\032D\003]\303\272\203Gs\003\237\264\363\0022\350\331%\305\003\204j\040R\020\253\361\254\250H\245\321\335\031\217\340i\224\344\020\276\2211\326\302R@\202\375\2438\355_\366\243KA\221\252kg9\334\304\335\262\357h\035\214k\310\313\3156\311x\032\3679f\232]I8Ph\204\363zN\234\246\351\244:\314\321K\213)\261\203\366\316\017r\026\006\036\016\364iz\356V\350\351'\334\215X\013\003o\364\024J\361d6\203D\252\255d8\\[\373\304tW2)x\374\351\333jt\033\252\036\367\025\343\365\314\210\334\331\007\356K/pO;Rq\006\201\202\036\362h%*{\234\314f\305%\270\255Pq\000\036\370\257\363\216\205)?,\266\356\340m\3761/\256\363\006\360\036\2633\256\351\327\\\332\357oXk\300\364w\206uyC\326\027\327\030,\271\311\336Am>\2270,\311m\030g\354<\300Z\247M\260\331\270O\250\234\223\024\233\253\002\014\245\030\265\321\261\004\235\347(*ZH'\032\365\210;\321<\214\234\007\217\335\353c\255'\345F\010\225\220\260L\025;wCnW:\243\347\351'6\371\027\344\223\3014\313t\262\016,t1E_\204\035^\034^\260\007}\026\200%\274\306\034\341\354\210o\343}\024H)\033\2329c\267\273\353\264Y\364v\263\223\257?\254\207{\201\201y<9|\250\332C\275Lk\345\307\024\366\346\240&\301\213\356\000p\276[\342]u\003t}S\015\345\201\265/\35666\310\345\334~>\030\234H\003\177\250\205\271\247\205\333\231\303\331\017\344\246\275\333}g\261\020\367\225\201\013^\375\326\326w\265k&\000\015\304,\311\352\231\232\223C+7\012\250\244iD\035\272\241b\3515\305\360\303y\245,\256\273Q\300i\303\366\2760\230H\313\227#\357\\)\350\330\361\224\200!\216\"OBb\210\340\034\231>\040t\321J_t)\225B,\333\211\333\213CF\2347)\233g\376\207\035hI\036\040\345\252\274\212\275\240S\007\271c\364V$\005\3221\277sn]\257\211\243o\270\221\005]\344\215\224I\215\356\372\202\"\033\315)5m\247\027\203\034Q\267\371\363\326\351\222T\026\307\377\375\031\203\015v\375]\360\253\341\001p\353\021$+\223#V\340\312\332*:\322\2512\040J\314\271>!\301\314\303\334\035v0x\235\324l\344\271\374\303\353]A^\022\374\364>\037\251%m]Bz\300\376.\340\272>\022\236\216<\000\362\025;\22674\226`\000\313K8\332\217\340\030\275\371\\i\303%\301\"\211\040!y\336\302\341\364\232)\331\343\244\234\310v2}\011\3678Au\353,\315+\246\225~J!\203\223\367B\327?\026\031\300\340\013\003\326\334q\203D\263\320s#\"\372\236\302\301\012\031&\021$.\352\357p>\275\373\242j\215Y\253\214D0\315T\323\021\375J\242)\363\004O\221#(%S\2744IS\314O\260\326\0278Z\264k\004\276\015\314\015\223^\040\003&r\334\326\203XPY\263\332/\363IZ\316n\030\261\371;wF\234&t\371)Od=\254\202k\265\211\203\220\003\363\345\040\377\225\223\366\300\203\024\330\236\235\370\037\177\024?!EJ\371\3750\020\277bA\033/bc\330\270\3443q\307\262\371\3017]\213H\335\262,\374\303Q\267\313\201T$\346\320\002B\326v\342o\010@\242\204\347b\000\326\331\012\205\311\303\003@\226z\332\367e;h\232\003#\306#<\331\326\331\274\011\342\275\314f~\303gs\265\301\022\347\222\306\040e\2406\217\323~\253iT\370\277\244\346\356\210\236\336P/\355#\213\032\275\371-[\272\350Vb\353\3306\354\"\216Z5\315V\206]\002\254Z\370\010G\277\272\036'ik\270\"\272Y\030\3028\372\246\245\305\315N\006\366\020-\206\311W\216\016\263\340Y\001\203*X\020\274\212\010Ks^\243\320\035\250\211\237i\246\241\010\345\250\353\215O!\312\340w_D\227\264\310z\026P\275\036\244\307\371DP\336\3407\342~\305cD^^\324L\327\327\230n\315Nk\311,\233\034\226\227r\221\272)Zb(\272-\333uC\305\272L\2258\244/\2170-[sY\026\201\"\346_-)\236A\375\216\303y\325kY\253\0053\371\340~,\253Ml\032om\375\227`o:}#\272\376r\002\345\245\345\3405/&\344\271\252gh\236\217R\330!+\262\031[Y\037\347#\200r``\2723\264\312d`G\006\300j\234,\250b\252\233kr>\"\227{\206\251\264fb7n\375\040)\374)\220`Uc\250\275)v6^\230\320J\027\310\000\212\212\205\364\347\223H\207\266\217\341[v\200\301\243G\3314\372\2241\255\032F\024\301\305\265\221\205\024-\270\362}L\020\337!\234\017\2606\035\3572\0121\241\260a\235s5\277;\006\301\215\346v\3751\264\213\200|\362\222\315\256\317Z\256\347\342\3219\312a%\201\225y\335<\231p\331\357\253\224V[e/\234MQ\300\326\350\303\223\257\330\326\324\230\363'\370f!\377P\244\013\326\344\342\205h\337o\271\246q\342\265\330\275\320\204\316\340\002\235\264\306\261_\322\231\331qoEJ\334\325\270\364\020\225@\371\364t\001\331K\254\273?\217\037\020\366aT\362%o\223<\035\270\2211d\204\200\227\234\214^\271\357\035\227\207y\250'H\020n\264\022\275\260\027\262\227\325p4\032\015\254\370;\207+\357>;\216\203\013\366\315D\255\365\344\277\227E\355CF\243\342+\360\301\270\0172j\323\252\3115+\353\255\274q\312\353\262\230i\335:\267<\232\270\363d\316\265%\334\303\207\015w\313\012\365[\036\332\027\235_\027\242.\013\247\003\340:G\273]\245\177\007v/\310\206\237\314\2601d\323\005\323X\241\273\305B\216\344\214}\271\254a:\261\0408kz\231}BW;\236\010\036\276A\010\2444D||\021\221\251\012\213\013\227\333]\241!\023\022\271Kh+\332\032\254f(j\372\273\325\324\334\017]\0160\374%-X\357,X\250a\234\246\327\270\010\242s7\313l\023\260N#0\305\345\355`z\335\303L\220\355\2019Wl\241\371Sr\304/\364U\336wO\316x}E\201{GJ'\371A\307\353a\333W\263\304v\367\033v\010\3633\315\320\330m\273\247\225p-^?eZ\332y\361\"\251j\037\007Q\017\373M\373\272w=\252\322.\372\262\304\354\275k,>\241\022\351DO>\245>d\345tj\303\015i\362J;\2657\242\356J\365\317fu\261\"\034\353P\2309\032}\\\375+\245A\245\322\275\260P\006\375\276\345\373\316\231}\347\273w\276\357\202\314\323\250[4\362\272\323q\307\327\261\303\353\036|1\213\022\257l\021\270\214\362\262\225v\022\260%\231\214\215{\316\355\023\232\3311\350\322\242\035\202\204\275F\013<\262@\006\023!\360\327\007\216\0052x\323\346\227}\306\002\221\270\316\370#<\002\353\"/\014\311/\037$D\271\342\004\350\260AQ\342&\317\023\022\212v`:8P,\203\371(\344\363s0\366\353\307Ov\222\245\323&\034\331\227\363\024K`\220\236\007\247\332e\211\232\037\244=\312\040\265I5.\026i\177#Za@\220\247j\343(\255\277V\007~\267\362\204y\306\367\275\367\035\353\033\027\276\320\205\235\355\320s\2265\274'\037=\252\310\207\177\225\225[\355\365)\337\356\325\225\244\337\324]\027\037\261\034\2131\\+\355\221\236S!#+E\206\026\012]\012+KEf*\013\242\007\374W\2445\330\355\231\237\277\313>D;Q\006\316aF;_#\326f\257\275Y\307\256\201\002\320{\232\316\326u\005@\263\306\346\035\317\237\273\201\263W#\023\2550\015\011\036\200\216\366\333\210AC"_buf, + "\333\260#\030\005\336\036\336\260\034\234\037\320\320\270\204\264\351\343\334[\303m\2158@y\234;\275\367\272C1\021\332\"t\322n\200\304\220s\341sMo\321\247u\3136\214\371W\315b[\337(\224\354w?\275\335h%LV\2302\035\351\265b\232u\355\360[\3152;F\237\320\221\034\256\236\005\251\263\012\037u\2608\022$\346g/;\340\227Y\326W\360\223B\330\336\365\247E\361\241k\303\273N#,\205\003w\017\214\357\353\024}/i\013\221\345\226\020*\002d\303\200\276`\205D\2142\016o\360\365\247|\034\241\250\021<\343^\367X\350\310\215\240\345\243\306b0\3647\277}\011\244\241\275\033\253\253)\032\306X\307'\314\347>^\017\244\332\274O\216\367\347/\275\343:\360\244\364\274\037\332y\245\304\306\232\244\273O\262\335\376\353\213\015iG\307+\030\361\253\325U\214V\341\251\361\336H\224\335\355\366\3715\017\002\352+C}\310\2376\224\\\310\276\341\262o\301\262\271\233Ih|U\026y1\334\330\320\023\265\253\244\353y\222\027\224\267\263:\311\317\360\017L\331.\376\267\337\354\276z)\203\312N\025\2403\326yz\274(\330Q\260\013\316\252\2623\377\2359a8\030L\226\2244\\\253\311%^iX\016c\363\253\253\354\362\212)\010U1[\322\307\263b\374\021\034_\257cFjF\221Q\005\350\214R\216O\267?\206\314~\226+\200\257~\000\016\220\221\235\362F\001\3307\262\233\340\3000\337\266x\\-\347\226\302\033\231\011\363U\323\254Ni\364\225\"\277\265\206\021\037\234\357sJ\254\277\222\370\026\000\274D\013\250\251\252\177TN##(\333\031\030\033\300\307\252!\225\377\005\270$A\233vX\332p&E@\264\327w\207y+\"\3738\214\003\015I_\276g\244\366$\235\325\011h\261\330lG}\342I,\315\346\372\341\001}\341\001G\232\202\330\334/\040Q\355\230\235\345.\200\350L\322\300\011\242\200\200\215\357\">\232hg\207\214\357\300x>p\240e\244e\231]\314H\311`\260y\350\007\204\2012e\240\357\373\352\374\351\263A\364Sqm\\\022$5v5O\223j\011i\274\324r\202^\230\206t\221\\\314n\242k\266\342.\177\360n\313D\240\241\306\236\017\331P\266}\342%\264m\013\221\300\350\370(\212\351\000\263\214V\356\307\326\206\312\206\370s\272\305\216\302\277.+(\254\372Q\334m\260\301\261-\362*-\323~t^\000\213]\244\260\343\000\335\306H\266\232W#\204%\322g\023\371\011\311\312\217@P\247u\226\245ee\367\266\203\255\026\354\014\237C4\021#\023\003=/\030\006\332\222\316PI,\323\255\212is\040\261\242OI\231A\205\217\376\206\237\006\217\264\005\351\265\035\012\361{\314\005\324\244\255\204\342\362\207\244\211&9\031\233\007\205\235c\221\326?\364h\343\260\021q\213\264\256|\203o\256\344\207\366\313X\0330\207\014\343\236%\213\012\354&\362C\351\007\326\270\345\264\330\261L\376\376{=\201\013\225\203:fCI\362\234\035\371mW\224\234\355<\207%`\034=\205D\276/\262\272ft\277\265vs.?\261%S)Pdx\012P3t\340\346\307\311cj\232\015\240\212;C\376\342\206\035\356\257\361\030?\241\022\357\371\316\337\323\262\350\341\356\224\344\020\267\274\234\247>@\270{\317\010\325\024\307\006\312\004\233\036\200\263d\013\255\357Wm>%\263%\240\267]\246\030\304\274`+\224\204\003\\\357l\017\343M\206~\270\342\015}\376\203\040\322\000H\266\252*\222k\221-\223\353\227\030\230r^\360\312\207|6q\033\331\246@\237\236\241\263b\275A\235\342\020\371\012F{\250f\207)\225A\2272\011\222\260\271b\373\351\230a\236\252\015\034\246\0105`,ek%_@\301\310;\203@\243\2619\223`\301W\2344\030\010F`j\245\376\230S\307\271\036\217\320\207\177\307b\015\302\202\372\322\337i*\216\024\334t\007\207\264\332\006\356\261K\333z\033\016c\242\2506\255\253\023\247\213\244\351\273\2371\311\214(I1e\233P\274\265\273\325\225\017\331\352\263\334\301\341hA\341\012\360\327C\032\233e\242\344\340\005\330\353\3701\207\350\216e\030\343H\337e\037\324\000DNv\221r]\260\032\243Y\215.\263u\372\244\276Y\244\350p~>\334\320\271o\272PlwN\034\335C\256`ka\234Uz\226\004\320qym\270\254b\312A\214\255\273\036\253@\207\275\355\030\014\337Lbk\374\262\353X\307bC\253H\301\303N>k\001\335\354)\342\263\357,0`(\2136\366\001p\202Y\026Fp\2415\312\213\032\335\327\331\274\012\315\033\335\232a\026\335<\316P!\005\336L\270}\021\222B[w\213\023\270\215\0403\2435\361\231\356\3774AP\312-\217\237\246*\017\344\315\317&h\310\266\306\353\223\034\3349\031CV\261\217\201\267:[\354\350\305\040\263\377\312kj\217\354\256\342\316{H\027\260!o\300d]>\015-\345\026\300\336\273\236^\357s\333MJ\324n\355\274\177\237wZx/n\275\257\033@\324+@\370\375\2524\263\344\270\273\302\203P+\240\240\372\225t\021\2727\262-S\325X\177\246\322u\364\372\365\336\177pek\364\227\223\343\237\3330\305\350S\226^k\234a\277\322'\200c0\030p\361E\032\230h\236Mo\364\257\277\340\274C\231\255[\251\364\205\360Q\033\313\266\316\244\352\251\315\235\026W\334\0211\262\345X\231S\010\326\027\246*b2J\372\346\266\2434\217\333\306a\330\003\370\027C\335\3138?\037\375t\370\246\231Y\256\233D\310\265\220!\327\332\340\214\365\315\267\013\351\271\017\015M\307}\255\334\017[\365\327\366\262\207\035?\036GO\230\212\365y:\3552mQ\337\325\201\320C\220\011\203h\353\207-\217\254o\"o\227\026T\364\365+\352\272aI]7\257\251\026\004\327\037#\027\321\322\212V\254\255k\040\316\250v\227\227\361\"\272'>\275\376\326kL`\355\033\311\277\332\030\324YWY\015<\374\365\364\177\316\217\273\372\201\230a\301\232\017\233\231\015\364W\233;\360\354G\352\344z\"\273.Fpr\273d\300\245\266?+X\267\360\237\241\320P\225"_buf, + "(\207\223\322\312\021\005\361\207\003\221\302\034\264\344\265qVk\337\217f\250kl\250\372\306\217\377\241\235G>\014\\4Z)\372\232\242\016\334N\347\350a$P\326M\030\3062\340\247\260(\326\317a\254\265\204\011\177lu}\202T;\000\334\206'\330\260\011\252\261\032F\305\257\240\372\012\026]\211\2255\005&\270\1772^\315\310\375oc\024\360r\324\006\213N\217\027\026\361/\330f\337\001\257\260\016\333\336;x)\337i\004\252Y+t\001\251\3310\014\012*\212`hY\271\345;\211o\275g/:\306V`}7\015}7m\376.\017}\2277\177W\207\276\253=\337m\275g\247p\246<\321\367\354\260\315g\017\342c\326\335!C\246\177\311\351\336\355\222\224\371+\006\350\335\0070\304\262\216;\332\361\013_\354\301\033\215Wu\227eh\320N\003wN\020w[\314:\0271\325\262\335\012\266\372\267,gwC\304\300\240Y'\340y\372G\265\255\030\310\027\026\012\035\376\202\026\024\210e\035\346tV$\000JY\217\016\"0\203\207p\020\355E\327\370\333+P5s\031\267\225\311>\300#uk\272\345E\210\256\202,\214\366v\033P\222_\010\234\370m\322\272H9\264\307\013\325\021\375\040\342'u]\260\216\252\233\371E\201\011\255%\221\223\016\344cm\376z\232\316C\237O[|\276\310\306\201\257\027-\276\206+J\377\327y\213\257\347p\375\346\377|\331\352\363\331,\363\177>\307\317\3035\323\2766%\237u\007\250_\3659\327\2005\333x\032s\001`\225\317\212\377\203e\022\260\252@\264\023\305\342\035w\002\303\304\337\236\230\027\336\212a6\325\314J\354W\177\221`\326\261\203\210\377\261C0\370s\253\361\024S\246\243\003\033\376!\032O\255T\352Z\343\247\313\372\325G\371\005\3752?\303g\216XV\250\336\352D\330t\251\000\347\367\000\031\024\001\370\350X[\377\360\370\200\344{{D:\372V#?\376FH\274c\322\026\203\300\311\017\247\206\021XK\364\"\247K-\040J\000Mf\263\327\370a\030\260\230\310\203h\027S~\350S%}\301\374\240_}l\005\326tcD\036\347\377X\014\314\337\255``\336\312\303\300\224,\231\373\244i?\004\223\251G\326\207*M\312\201\2262E|V\233E\350\2338\223p\333t\207\207\234\351\037\237\235k\037Q\226\214\345\303Y\241(\233\205qt\271\317\232\002\364\000\263\221\203\250\034\376\244q\006\340B\026\263\362\357h\237\230\327\216\326\324\010\3111d\374f\336\260<|hN\206\263\362D\276\204\000Hb\332\326p\255\305\352\204\354:\237\331\202\302\307\004v\022\030%\321-Y\277\314\307\311\362\362\252\036\311\364\217\\\360[\355(\035\217\267\371\025on\226\337(\0267e\306Z\322\276\361\0302=^\025e\005\015\237\201\227ov\261\204\232a\230T\014\257\364\237\026lK\212\316\212i}\235\224i\364\"\033\2479\024\034\377KZ\242\362\263\327\337\355S7\361Y\232F\311\030Rj'\371\015\336H2BF/N\216\216O\317\216G{\243\335~\375\271\216\0120\250/n\242\244\326\260\273\252\353E5x\364\350\372\372\272\177\001=\366\213\362\362\221\365i\027\307s\366\372\331/;\034\215\235\223\011\370\251M\263\264\034DO\317^\3540lpG\316\035;\352\333\323\243\303\267?\376t>:\376\345\350\370\365\371\311\253\323\263\321O\257_\373}GB\215\315\315\376\345\331\321\350/\350\177\202'8\361;\0322\205\360?wwAc\370KV-\223\031S\007\227\223\254\210\036\357\356}\017\343\317\323\353\264$\015\301\350]\226E1,Y\036d\340[R\037\\_\026\311\002ny\324\305b4\313.|\334\322\215\336#\217B\2558\323\250\326\032\247.\030\260\357<\036i\322kD\323g\307l\217`p\214\374\313\323W_\361\361:tiI\216\015\215,\255\330\323\020.+D\203\237a\\\275R\356\354\036@\350*\024\264,?;9C\017,\235\024\376H\311?\244\263f\363\264\227\254>\347{?\222C\3202\376`\210\360\346\217\300d\304\347\000\017\373\255\012&\207d\266%\262?\221\340\264\003\033\012Y\3238\240\333s\201;\030\360?\344Pb\335\221\006\216\253\243y\362kQ\362ff\006N\253]\226\267j\267\000\010\257Jl\262\373\313/\321/\276&b\356\361\254\305\230\326_Y\006.\\\351\014\364\217cd\312\246\224\217\237\362`e\363@\356\203\017\333y\231R\342\024\366e\261\274\274\342\004\237\245S\\\000\011\252\013\311X$\303/(\232\363\202\235\261&@h\210,\377!\270\317\210\236=}1zy\370\313howt\374\313k\004H\377\377;\370w\337\314\266r\261\234N\323\362\235\001\343\203v\376\000\357\012\250\040!\313\374\245e\231\027=Q\371\017\317]\230B{\032M\313b\216E%`\031\341\215\253\"\3001|\365\343\022n\341/\341\277\373\"\307\240\210\311T\0075\2026\252bB\255\027u\376\275\377\335\264\323\223\323\327\265C\305\210\030\364]\363W<`\314\2150\343\031\363\350\343\240\377\335\331Uq\255\270\352\204\322\234\212-\226\302\371z\215\314\206\326;j\330\2574`\025\245r\326\341W\203\301!9\015\005\034F\255b\364w\354\343\024\303\206\002]x\005\247bB>R\306\241\214\353x\217\354\207\244\220\253\317@\323!\317T\040\011\004\027\241Y\036\316\373\232\226\230\0277\245jN\"\250\341S\012\231\353\215\324\265\332L\200?\2755.o\022\254B\317<\2153=\305\213w\333\024\"3OB\212\005\252!:P\375\250\263\330\027G+\177\200\000\335{\233\242\022\207\233\026\245\247\005R|B6<\200\010\253\306\340*+e\265,Ku\014\313\370EV\325)\033\313S\364\347\365>\216\337\360]Pg\374h3\342\221\254j\214\003\242.#\263\370\002?\027\355\314x\274*\255\237\374%-/\040\014\346f\030B\210\011\366\263\345\002\201MD\353,\255b\217[\344\227H\202\033\014\376{\231\245uO\177r\212\361\013\306\243\237\240B\312\255\277\312\237\007\027\231\271\000#U@n\310\215\367$\237\026\202.j\234\262Nk\023\260c\330\214\025$\006[dAAP\033\341\265\331\224\375\306Pq\006\333\011\364\024\241\361$aZG'r\335\274u\017oW7\325\031D\322\250\027\315A\277\277Ly\361\241\272\032l`\001\243k(\2160\210N\013\314\204R\301\005x\237\336\300P&\203\3509\245\030y\007h=b\030}\210N\261)\372>\202m\327y\377RK\276\3227z\241\3749!XQ\234\027\332\247]/\036\247\034O\263wO\227\227e\232\346\341.9\204\350:c\3246?\347\212=\323`(\005\213\035\214\261d2\214\030W\244\250\241\324$z~B\236\254D%<\021)\211\300m\304\210Z^\222A\302\230\0007\037\240\003O\345\004\012u\3255\022U\001\0230\254q\011\010\206\247\223\011S\007\213RS\017\334\302,\177[\262=\177z3RD\032\211\356\255\272\277\210\211\233\237Fa\251\275\023\024\371\3012\303\211u\026\202Fag\332\202\332\267\210i\300\353p\276A\213\211\003\334\246\247\023\301\262\2301\315\010\002\354B_0\345Vrp\207,\344\354\221\211\302TC!LK\013q\247g\207\020\254\037\371\214\272\336\352o\2058\307Cx?+\232\250\363\345\263\212z\202\345\326\040\037\377\304\244\237\375}\307\221\011\235\026\003\024|r7\376_\305D\367\316\022\3671\323\355\206zF5\322W\014\266\345\234\323\266\274\316\224\323\027\016y\314\336I\"\257$\214\204\025$\014\025\013\001Wa\272\030\224\265<\216H\235\022\352\260fP\331\030\317\030\270H\352}\257K,\217\304\250\273`\247\253lL;\267\375Z\271\030\035D\261\363-\235\203\272\021\226\207Lk\256&\332\315\356\374\235\2717\215\204\275\306\247\272\342k\366\213_\364\214p\213\003%\371%\251\006ZP\302\200\033\224b\016P\275\351q\253UL\260\324\224\020\207\351\015\271\306Q\211\246\231\267\253^\224\325\374\251\257\241\254=\255}\340\040\036{\306b\206\025\341{\343\200\202O\316\330\342\030\247\360\235Y\374[`\004\267@\026\"zU1\036|\243\354xD\204\363\233\205\345D\214q\"\364\362\347\204\235\364_}4\225@DF\373\330\273l{\226\212l\231\270\021\306\2532cX&3\327\220hu%+\316\371\214\216\306\231\231\217\356*\251\364\206\236b\363\004x\316N\341\220\315UL\215\030\312\251[R\314{\274\016\200iQ\015F\243\257\302\224$\367\300\031\026\037UVA\342\305\340`VM\210u\316yh(&\035(\032\313\344\353uRE\305\307Nw\215\321;\375\342&e\367\367\355\031\340^&\003R\225_\037\2134O\355\030\277\365xO\252j\231\306\235e\236~^\244\350\236.\023J\321N\302\327\357\240\343\373Z\010\036\337;E\0256\212oB\230\347\011\333\325p\244G\005;\327~;\352L\241#\260\026S\\\027u\365/O\236g\331\204\035\301\256\312\342[3\217\313:=\364\250fG\355\264\363\317\031;lI\355\006\013r\225\251A\260g\256=\207_\213\345\317I\011_\257\205\3505}\363\017\307\225\315\031\323\340\262\0326\204e\231~3N\302Nf7\235vch\330\035=\376\356\024\371S\245\334v\001)F1@J\273\000\002[!C\266\2148\235\253\040Ax\372\231A\203xBJ=\315\352A\003U\357\2622;\333\333\021\252\257\271\024K\333\333\235v\325\3266\030\354O\211\010\262S\312\235\256\312y\022uk\207\"\274\372\212m\253\237\341\237\210\367\021\3544\2414;\003<\2343\006[\256\215:4\354#\212.\040C\2347\271XU\275*\201\336.\352\250\203\251\006!\267]\327\237\3103f\372\333\023v\242F\314\035\274T\207MnH\332g\203\255&\177\012m\215x\206\237\301\013O\032,\033)l\027\240\272%\222-\002\006tX\213jZ\207\373\326M\320\012\362\306\232}\271\221\274\035\270\334\346\010\200b8\3504\321\267\205F\027\240\265\357#/k\255M\031\232\012\303u\241=ZA\265s5n\216\177\304\232+`\215)\232\026\345\040\352\264c\3746>\034\015\004\221;\2365tu\002}\240\035A\241\300d\303\334t\242-\264\233\310\217w\206\302\352\217\356[[\026S?|([\266\230\271\320\326\245\01170VhT\016\216\351\300\031\223\347\306[;h\023s`\024q\206\031\370\264\357\307\010`\337\327\366\324\312\362\247]\334\014I\016M2HH0N\025n=\352\241\253\237\363Mz\267\225\253\372\274\370lZ\247l\037\344\243\350t=2\324\216\3330X\202\220\2640\023\245\305!&]\230e(@\235+\003\274\362|\224\3447\321\311\351\363W\222\212\316\361\330\261\247@\022\004\215\257\3003\021\360\260TV\237_k\223f\347ew\357\330\032\250\337\274\260\355\251`k\264\323&&\021\034"_buf, + "\012\262\334\016\\\276]c\001\031\212\212i\247\243\177-\223\036\321Rl\212$X\264\262\315\334\311\202\367\007\324\036\312\371kn\206\305t\252z\004\016u\030\011ia\215\346@g\306\3677n\367\003\227\216\246\263\017\355\345\226U\025\275\004\236\245\325\270\314\026\216'\243vO\332\241\017*\272\007\244AW\021\353.\211\300\271\2151>8\0162\255i\231\325\3401\202\336\037'\317\216\253\216w\255\240\300rP\311\213\227p9\312\340\235\013c\264?\257\021;\007F\015\362\225_\322q\365\233\022{N\270\320\305o\271\230\0158D\256\304\323uf\210<\336\014\233\2212n\312\351\013\303\"_\206\220E81\037\333\203odN&^\255\357ms\260\345\036\343g4\351\340c\013\263g\340\277\0107\024LD\360\036\301\226V\221\365m\272\234ar\202\353t\213\2114pCD\3100\235\365Ua\331\326\320\375\177\316\235^v\206\334\307\363LB\"t+\212\3600l\203\336\200n\000\347\267\372ZB\221\237\220#\177\254\270\337\265\313\206\333\202\177\320\2211\362s\206\"F\300\375\025\277\304\235\250\032\220J`b\307\177\300t\364E\230M\200\256\267\355\211\011b\353\315R\310\202s\372eR\263\326\037\332C\323\335!\024#\351\237\320\205\256\303:\332\311\341}\276\3250\030\257\233\232\215\270\205\244\227\233\234\261\377n=\211\225\370$\307\2517\307?\236\234\235\037\277a\177\274~\365\206\375\021G\035\356s\325\3519\327\205\335\265=\274t\377\255\260\217W^\025\263\324\361f\017\272\256\207\252\253\360*j\\\343\213!\334\324}\312\364^\330L\007\177\334\375\323^\027\006s\312\304'\270\033\315\222\213tF\226\245\343_^\27789:9\177\361?\321\025\223\2633,F\300\357\2746\3707)\3452b`\036\303M\275\003C|\010r\232\247\035\003\205t\236a\316\236.f\301\317\001\223\211\267\366\262Y!.X\037\216\015\021\350\312V\033\323\031\346d\201\273\351E\027i>\276\232'\345G\326\325\016\346{\272Jg\013LdV\312,\200\262\3730|R\232'Qg\347\347e\276\254\322\311\316t\231\343\"\355H\254We#&\364P\0300\365\213\341\210z\314\021M\272`-~\375\314\237\256\270\205\016\2642.\243C\220\374w\313\201\326\367\004\345\037tQ\3353\352\020\210\273g\355q\363\365uO;G\032\016\024h\240\325\222Z\360\363\214R\002\344\011\307m\345\277\001\357m\0047z\377}\3667\270w\226\307v1L\256\021Y\333\2774\006B!X\341\374iik\232Jt\225T\312\256\321u6W\337-?\017\270\006\177IWU\342d|\001r\0050\320/\256:\373\353\300\037\256\013\276\352|\323{g\217\002\321nJ\334i!?^\363\312\331R\027|q\346\336.\321L\337\256\303F3\331\377\362\331n\272\330nC\323\026\364\264\261\235,\361\266'|\335\275\036\205Z\314\000\244\273\370F\324\327@\257I\371\2257\347\337\226\374I\344\275Q\357\334\357\365\3667\032\303\005\217#\314\013\235w\022HKYB\254\3405^)\262\355\016\037\012>\353|\345\365\265\215\005\336W\177\375e\263\263\232\371\355\362=^\015\257\246p\233\211\272\027Q\250\256\227\243o,\025\003=\255X\246\377\377\272\2436&\326{#\275\3764\207.\255\035GD\373\276\313\343\216h\344C\320\216\330>_\356a\264\353=\262\353\212\3417\365\026\363*\027\346\341\337\027\017\347\273\034\010\337\361\033\206\266;^\224\257\177}\2431\012\330m\006\357\363\216;\303\337\364\372\265\301}\301\355\251\341\032\312\326\016\002\327\230\034\320I\3762\031\227E\334h\321YE\211oy\343\253\015\015\205T\012\337`\331\307\367\366^\334@\301\000\206\301Q\263\357\226\363\033\3605\357\357\016\244\377\007\373\016u\244w\2017a\251\367r\3200\217\340n\320\372\366\320sQ\277\357\3047\332\016?\372;\235\235\202o\327\272\251l\272q4\323)|L\337\200\345\334LKK\305U\215@L\334\010\005\317\352/\320\360\036\361\0004\254h\376\203UX\370\325\351\331\253\027\307\243\237O\236\235\377\024ms\350\321#\376\305\000\312\341j\267\0301\007\310#\347yk\334\177\177\210\366Xs|\277\017\321'\032\032\020\251\236O^&\237c\343af\014b3\372\325\372\375Q\217)\314X/\277B\237\360\307G\247\244oFh\312\270\250_\275\255~U\255\354W\0379\322\040\011\371\272\302KG\302\000\252\324E\377wYA\001\3611\305\322|\211^\244\323\272\027\275\301\032\351\267.k\250\004\210P\306\366:\233\324Z\262\177\330\023\303F.N1\222;b\016\310\000\323#\020\010\200a\003?\006\003`\023\335\314lu\035\033\277\214l\307\010'\306\377\272\231py'F/\236D\025Vo\321\223\246\251\364\234\346F\346`\034\232\3511(\255;\224\223\274\272C}\005\335\271\307\263\326\235\251\205\371\025\303\003f\\\335\331Y\250\237\026h\242`p\356,\371?\250\211a\216y\251\203\354\014\005\343\273\266\177\016\3351\366\273\364\037\370\356\342m\202<2\034\345\250\327a\334\304t\373\376~\325T\334k\277\212\367\274\375\236\335{\227g\215\243\304\231\274\327\001\"\367\251\336\2745\232\374]\370\225[d'd\221\303J\306\247I\266\3227\351uyK\353\332\213^'\327\255D\3530eg\031\374r\005[u\346\201/\233\030\243\023\354-<\275\235y\247\335$\2552(\311\305\217G\2612\003\267\001\2343\243\\\201[\255@\3529\\\321\227)\265\344\264\312\346_\334\254C\000T|\321\027\302Fyu\313W\026\343\310\210\352}\345\372`\373\004\222\262u\016\267\351\352\302\332=\334@\276@\367\250\240\264\315!\024#\226\277\364\246\205\236\221\016\341TJ\267d\037-\313\222\235\372\010\022\023\272;{\332Q\203-\031+\367\243\241'\350X\373JD\204P\325\0205*3\210\014\356\272Z\240\265\345]\314\213Oil\302\320<\373\370\311\\}d/_/>\310\023\316\304{H\252\333$\031\313\345\216\007\372\003A37\343c\346OQ\016\377\303t\240\300JBGGo\261\177\373\267\177#4+^\344\207\375bx\260\307g\300\220RZZ\2106\231\356]8\017\037j\374/\210\207&\004N=\015\303w\356\347Z\251\040\374x\221L\2600\337\001\354\203DX\310\235\371$\034\323\301\273\243\365lYG\315,\\FKF&\275\207n\017\366C\363\353`\312!,\272\307\201\031v\014\230'%\233\007\0030\225tC4\346L\206\227\0154h;\035\241s\304\320\276\326\276Q\200\214\257\357o\251\010\241bK#\017Wy\356\244\202l\325\2121o\303\343\001C\220\345M\007\006O\343\2017e\242\310\025*\266o\177\266D\336\206\366s\310%\255\351\013yzm*\020\"\337'9\246iJ\300\273Mz\365!\3566\355\342_,\346Bh\323\345lFx\307\335\235\241tm<-\016\231\202ySe\225~\033\340\213\264p\335~\276\200/\000\207\203\232\0348\273\206-\243;\321\037\277\3539,\035\335\366|\200\351<\221@\356\235\212\201\335\373\243\371%\267\030\006>\2458\025\270\337\\\373Sq\233\235\344\341OM\207%\037{\031\213\355\237OLNG56\025~\303\316\040\237\326$\222\242.\373=+\256\005D\370\363n\020\241&\357<\001g$\366\277+\310\337I\040\361\317\225\040\233\247\343\226\3615*\305\316\352\376\335^\336\344\211\212G2y\215\040b\223\254o\003\261I\2151II\005\031\242\263\034\003\222*H$\005y\371;h4\347N\367V/\276\260\243@\324\221\272\271\370\332`\243\0406\344j~B\365\233\017\313\313%$\305\362!\224\224\227]\007\033\376]D\211\177y\344\002k\331\266\367VyZy\232V\036\320\024\202\020N\316\352\3043\011\262\336O\030\023\342\305\035\361y\300\020\226\011i\021U\364\333o\321\003\303\365s_&1]\035\345\204\036\235\276(\247t\336\227\267C\017,\304T\034S\253\010\245n\040\247->\236%\177\277ym\304\376\204|\302\027\322\333;\020kdb\311\025)'\276\2501\254\310\010'\0122\234\012\252!v;Sq5v\000\221\036\271jn\356;\377\257\275+on\3438\366\177\207\237b\265.K\200D\302\222_^REZz\005\001\220\304\204\002\031\002\264\354(*\004$\226\344F\270\202\005$+\011\363\331\337\364\034\273s\364\034\273XRt*\256Tlbg\272{\256\236\231\236_w\277\340w\257\003\376\221]\371\330\327\211zC\2628\260\350r(LA~\247\370%\275\237\234\3223\\\230\354k\304\3750\332E|Ei\267S\006\275J\040EvI-\030^|\264B\320$E\363\227y_\216\370H}N\030\211\330q\032v\023(\342\015b\017\365\302m\336\357\207\025\223Ck\214\314\310\233\235j.gE\246\033\305\323Lu4S.p\036\3672(\276\245s\331\315N1v\312lWS\2218\026\302M\300r`\363Z\235\303t1\313\356?\312\371\251\327o\277$\307\247\227\275~\347\315\333\366\351\037\017\373\257\233\226\265\223\037\304Nhv\016Xu\226\234W\324\210\224O\364w\351\232\014\306\032\362\324@rrA\205\036\356\231\035\213\336K\241\"\231\371Qnm\01224\031KS6\355\275\177\372A5B\355\374\246\010\200\177\3042\2470}'\031\307hF\225}!\016\263\207\025Q\356\241V\023\254U0\235d\326\315\0026\303\315C\376\037\300\366E\327\034X\347$\231\304&a\341B%Dh\335\330\325v>v\271\302\314\307AV\335\251\244\262Q\326\324\256'\016\316\272\010;R\274RZP:\023\233\342J\026Q\261\323{\356_\250D\371\"\245\034\3633s77\340\233\234o|\235\304\226\321K\251\317\326\331\017/\024\230\220\214\040\011j\300?\003\233\301\040\251p\322o\321\004+-\032\306\034Pzx\027\336\250\300\023\017\033|\274\370\230U\220!\204\004\271\001A<~Bb\262\035\241\315r\351'T\2262D*\231\214W\223n\362)e\2574\3335\331\244WG\373M\252\325:\243\222\222\312\343\376z\226\015s\316\3026\005\372RGU\251\355\244#\336\204\215Y++\2258_\222\"B}\203\356\306\354!\020.n\315Gry\243a\262\355^\244=\240\031\017<[\242\255\351\"\0103S\030\342:j:\200\347\277\006\235(\035>\333\0053\215\256\347$}\343h\300\353\325b\263,Z@\3774\233P\374,\253>nW\244\037\351\361\007\034y\315x\300\233\031\031\264/\335\364S:I\024+\277t\\\344\205(\200\366\012\350\211\363\243\312\275u\225\363*\316\217*2Y\366\252\327k\363\234\002\230\004\026O\372\033\337\230H\375\247\367\224\273\343s\007|o\340\000\321\243R\313Dgb\321\002\344\373\237\334\017x1\353\2150$v\200*\246\267\275\371\361\2037Y\2717B\031\371\322\350\346_\\\375\362zr\263\311o\"\233R\323q\237\225\256c\340P\356]\233\301\247Z?G7\005!\015=\"\361e&u\032[h\346\255\222\177V\016X\370\"5\353\346\005r{\004?\237Y/,yW\203\"j\317'\374F\375\206\226W\223]\352\212\251x\344\276\261N\032\263U\206=O,Z\375\021\370\337\346#0\276\365\260\233#Q<\220\006\327X\021f\307\357\275\000\265\243\354J\014\257\317\"\024|\212\331\011\375|EH\376\310rIrxzt\275\200\027\315%\200'\331\036N\264\226B\210\260`~a{\377G\325\340\202\332Q\263\277\314\251zC\316\233\253\371\325\040\241\311?\037@\326\011L\255\236\222\203\303b6O\262\214\\\370\223\011M\367\307/\261\030\035v\325/\370Yf^>\200\336\241\223&\225\264o\030s\222u\253\234\020\332,A5\177\326\201\303NF\215\035\372Ld\251P\371\354\213iMh\352\223\010\347&\2776cK$p\226z\026\001\027\222\231N`5)\246\033\341r\"\251.@\011\360\312R\357\003qE\364\035\2771(\314\335\202\361\312\232\332+\263\212\236e\251\335\025F9\270I\2173\314}\311x\317<\211R\370)]\247\343\351\241\374E\231?\302O\205_\0248\226\201\037\223\224\037\325(\204#\0329iWu\330\032q\267\343\002_HK)\030BV\021\340\203F\374\232\242><\255\031\002D\343\311\204\3345}I\355\320|\235+9(\311*\343@\226\215\234\213]n\335\212\314\247\347PN\007P\025\371<\243\305\024\244\001'\252\305g\303\003\221\307Aee\304\356\361\003\024\345\177\040\211=\031\275\347\024\340\372\204\377y\340\247\372\302Iu%\221\\\311\364$\200\012\221\277\005\201\251FTC\223?C\022\312\313\3355-\274\355\334\016|X\362U`\017\301;\017\234\272U\304sc\377\026\313S\304q\253\222\315NYG\362\341U\2742\032\271\356\212\014\345!)\313^0\247;C\236\361t\312\262V5\232A\342\250\351\260\250Pm\232\342\031\244\022\371&\321\247\242F\354Mx\025\220\245*\006\015\034o\237:K\261#q*\305\246\222\373\344\253\353\221O\030E\017\010,s&\343\032\351\017\322,VUW\034\027\232\212F\307BC\\\262\177Z\\\315\204%\216s\3265gE\263YBh>\270\273zx\245J\322c)\320B\205\347u\313\310\316\223\247\026\262\313\357\256U\344\307\222\036\206\312\317\353\226\227?\222\243\312\030m\341\037x\\\217-Z\365r\263>\376\270M\323\030\001\371\262!\233\010\241f\261\030\001\250\306\233\277K4\342\201\275J\301F\256\362\254\031tw\223\010!\347*~zp\256q\216x\234f\352\351\013\366'\2567e\360\375\224&\326\236\252\301\347$\306\024\220\315\320\316-\330r\336\223\377\373``c[S%f\2015\210\303T\204+\210\367\2610V\214\0319\353\305OcWD\000\015%n\365\317\013\333\253\366h\026\240h/6B\235\0302Y\033\246\321\317\263\025\363\255\340_\366\260\034\274&t\"\017Rb4C\264Xr\343\311\373\034\367)\320\003x\334\004\034\022\204\021\027;*\004\235\024^\350\007\205b\362\261\345v\312\375\364\013\227\177kzM\353.r\340\240O\227s0\023Z\2724'\246\323\003\230\210\355<\200>?\237\312\235\364\304l\322\023\205\367\017n\350\251\006\276\021\221\011$\026\273\006\207]\231A\023\220\376\333\010\370\342\266\005\334\333\223\3634\332V\"\3339s{\004G\367+l\036=\177\204\276\301\240\007J}\367\302)\3132\253\344\321\025$\237m\303\024\214y\272\225\205\220\272I\347\357\200Ui,J\0227\242C\005)_\231\260{\276(\274,J\316\277\257\346\317~e-8\036\015*\277\360\240h\014\030\354\001\231:\215&\204>\312\313\"f\321+\305\040\364r\005[\311\317\011\330j\360\267JN\213\333\321\311\321#%\027\214\177$\202E!\002i!\310\231\035\257\206\343\253\214?\321KW\011h\243-Zv\314\203W\323\323\234\322\003\256X\331\241\001\254\027\313\3466\301\241\027KQ\333\026\234\273\010\274m\013\316\3757\360\2075Bs\263\243\234\034\233;c=\257\204\353^\247\263D\376a<\275Z\254\322\3655)\205E\215\206\316\226#Gc\307.2V\035no'\304\211\304\263e\003\011\327\3642!}\230\354\262\230M\344\177\000\036^%\244\026\271v\257#\021\006rq\031\301Y\235\024\235\320\300|d\351\236\247\323t\375\205\245\333\312t\252\355iF\226\366\331\260\023AH\355\335h|\005\230x?\265\306\267\377\000!:O\236<\323\324;\364\020\015\324\363\031\376K?\012\221f\303\317\215\207\374\273\346\314X\270\211R:\003\350\014\356\203\007\233\362\342\262\021\177\377\364\331\357\367\236>\333{\366\273\341\263\337\357?\375\335\376o\377\367\317`@\204\331D&S$\346\036\302xF\211r\323\373?oT\326W3*y\326x(\012\355F\222\224\337\040\332\224\322|\234\023=0\372\201\263\242%\031\375\206B\222-\003%*!\321HE\323\337+\235\360A\017`\010\335D+<\346\177\\\316\340\275$\376\366\347\275og{\337N\206\337\276\331\377\366\355\376\267\203?\307!\375C\346\343%\2251\347\272\253\216\302.0\040\275\"\232f\357\226PR\012%\332\033\210\363\275\274q\344D\360l\001\362\272\272\344\317\035D\0036X\367X\015l\017\327DK\352k\216'\250\022\343\007\307\226Qz\331`\317O\264\302\256\343>Z\334V\346\223\022\245\337\177\210\260\313\040!@\304\023P\371\361U\353r\265\240\330\201\347\317\243G\337<:\210n\220\\\317\354\001\013xci\271\344XS\353\275\027\360$\260^5\2365\017|C`\246A\023I\205\276\314\026\233L\317,\364\007\320\266\305\036\252\374\331\210p'>\276\217Er\310\036\262inf\233)QA\237\022\305\233\257(\255\366\360/\263i\376-w\337\213lnu\263|\1778Y%\227Y\213\001\271O\223I\272\"\023f\260\236\034o\326\250\217\274\255\"\374\326\236N\0134\276Q\373\006\355\240\177\253=T\204\020\220\247\205V\307\221\234\311\351\004ET\375x\036\375\364\366\010\354\004\263\361\232\345\177\230.\026\037\263h\232~L\242\366|\375(\213\350\206\311ZI\246\323\212p\213\315\260\003\232H\241I\232\276{\014\336O\217\277\213\264\024\357\0329\035|\023!@\236\025\377\263\251<\300\241\223\006!\230\327.\006\210\314\240\026=A\364\246\011\270W5\230\301\026\222W%Y\0345\275\235\040\303\2628\233\374\251_H\235\343\312\224'\032\312\003\316\003+&\201\012^\203\311\370j\261\032@\241\326\3054\031k\340\266\011\271\012\331\277\027\341\306\363X\272Y\361x\346\3534\255=\222\370A\335\301\241\203\322(\012\204A\256\353\344\337T7\205\305\307\341\202\207\370\225K\265\304\357\015U\006\012\272\327d\010K\244\345\310\243\005\231\021\334\376e\206\213\326\363\347\3668\363\360\000\362@j\231\252\244\261\241\222o\353|u\333\306Ko\254\336\254\340\021\2232\015\031HS\005\020\032if!i\242\302\303\255R\266\305\276\333&.Z\236|\017\233\246\222\324\232\200\341\253Vj\265\211NU!\227J\273\271\353P\276\206\341\010Q\254g\2101;\035/\311\305\232{\017)\036Y\276\225'\265I\346.\031p\310u$\241\237h\216\253\274`\306\321%\273\222\\a}!@\227\205l\312\016\003Z\222\234/\204\216\364\323\224%\314\373\266\317^C\013\225\010?\354\232])s\376i6}\007\264\300\202q\261X&B\206\010z\234*o\371WY{S\345\235\323\301\007\230\"\340\011\241\\\232\226f\213\006\016\264-\3555\331\322\3167kr\026\211\271\263x\206a\206\233\236\272\024O\016/\011\250\206\366\325\276df\252,\347n{\012\331\253D\236\366\235\203\2660\015\373\350\000\032\221wR\274>\237\300H\300\371\361\301\360eW\321\261\2051#\223\274\3512\246Ne\007;\242R\373\311\247d\245\251N\274\021)c\034G.;\231\253\252\261x\234\025\350m\236\324\302\357\370\362\034$]@\347r\264\\A\314\216u\232dp\210_\323h\373c\026\210Y\363\305\024\375s=\316T\243\024\304_\266a5\261K\216\304\022[7q\361=F\256\031vA\260\2048v\362_b\374}O\357Y\261\304\342K\306'\264\032]\2750\202%\314fM_>\234\320"_buf, + "~\256\271\351+\212\256\335\003dm\331\346#\0227\003\022\021\346\363\263x%\225!?\215H\216\360E\316\375\323\011\271\263\025\252\223\376B\346\277\266H\251\220\342TA\366+VQ^\027\230\032\317\276d\353d\266\267\330\254\311:nq\032\277\220/\244\261\263\206~\354\040;\036\331(\270w-E\224\365\223\317\024)\247\037\365q6D+\333\330\310\247\025/\033\337\216Xt\203\370/yO\\\313\277\311\263\013=\223\211\275K\256%\266\257\035\305\3747\225\303R\\\217?%Q\362\313\370\0022\205\300C\251\000\324\356\301\273\320\30559oBP|\2104\001\232I\246\224S\211\322u\226L/[\321\020\356\222\202\300l\374\205Q\177\2727\217\346\244l2\021\337\212y\304\261\312\252\324b\346\310\271U\344\221\343\260g\271\257V\213\305\232\377L\372\3401N\216[P\016p\343\021\215\177\010\326#\236t\234=\341\320\255<\377$U\205\015+\377=G\223\353J@&*[\2474\006\324Z\204d1E\030\230\311\277$\026\361\325tq>\236\342\251\225)E\311\007\0264K\243i\241,S\325\253DO\242\270E\301\356H\277\320\211\315\207Bj\000\354\300\273\3120\005\256\221\234\024fJ(\310[-mH-\220\302]\011\231a\231\364\223\015N1g\375\305\225EQ\241\225\341\316\373\312\313!\031\033!\230eL8yQ\212\014\300\243\357\000\30287g\346\003\231\273td\023\204\377\365/\205\362\003UXP\246\241E\211B\264\316\376J\247u\212\215\213\214\325\020\262\332\254\0073Z\225\357\244z\317\207\234\355c\350sC\250\0333Vu\005y\212\225VR(\254!7\301\247\332\375}\036\324\262\233\254\311\035A\314\341\364\362\0136u\215\370\027QSgM\363F\025\017U\351$\031Owi\350\233t\315\3231G\347d\257\231/6W\327\000Q\237\245\263\364\"\272\2021\177d\274RQ\003$D\325Y\222\251h\3441\001\332d\277\"\033R\364\007\032\373]\030d\243\317\224\017\271\250,x\356\332\350\257\331\307t\011[\346_u24\231U\306r\220\263\203\016\244\035\247\241|\306K8\247\221S\343:\231~i\371;\025zi\223\321\231\262\231\253W\315\\)\026v\341\206\252M\264\302\306\372\325\026d3\340\230\351?1\031\364\303NM6\001\0255PF@\353Y\313\240\037&\340\215\347\214J\273|_!O\177\347*?3\362\235\206\355\302\352^5\317w\274\307\005\323f\000\246\315\272{2\212&5\337\366)O\272\022\273\232\321wE\312\040\265\357\2448=M\307\224\227\014\221\245%o\270\222\350(R\373\242\204exl0u\017\226\203|E&&\260\330\355\0236\225\373c\343\315\233\206ao\330\302w\241IcKd&\255\224O\263\230u\271\3204M\040T\211\017\320\242Hn\300\322\311\027-\025\0349v+e\332\264\264\216\333\307\334\3553\276\301\2757\021;\326\234\332\231\310\255\0336\233\214\245B\364\013l\246\317\014N\210\211\025\324\263>\007eZ,\223q\261d\346EKw\213p\371\275r\223\352fg\253C\243,\204\276\225\242{\265H\272\271\213&\315k\030\007\033\374\024E\326\262B\001N\0304\335^\237\335\221tQ\374\036X[\244\212\224\034\270D\206S$\325a\371\274\205:m#\001\241V\240D\026B\255\246\031M\330<\316VK2\250\267\301\227iP+\277}\266@\2741\326d\336\326\016\271A\216\211H\372z\307!\305\030\245\"e!\312\3218\005\260\014\203fjZ\204\0275\350\213\224\200\317\215\224\200Q\323\325\351R6@Kd~1\232\3435CF\342\311\372,\013\231\2353sO\306\360c%\037\002\033\2162\212\351\265\205\350\005\345@\023\271P\2248\250\261\000,\332\040\215\323\224\034\237a\373\260\302\032m\350\304#Q\2638p\031?)\317}lC\244N\306\204\366f\226p\320\010\255\224\2542\376i\372y\374\205\3747`\023\307\254(\327\\\322s>Y2\227d\007\235_$\241\260\031\371\230\210H>\236L\216\270\034\215\350\320\210\343r\262^=|\230K\252a\013\362\006H\036O\262W\256T\255\031*L\336\2016Y\304\000*y\012\362\210\015\371=\226\224\214s\016\305\365\366b<''\353\361\222b7\243g\344\303x\232\177\215\2250(y\235\347r\233\362_\225\262\330\260h0\250\202\040}49)j\020\225\203\325Qz\354T\002L\361jX\007\352\204\215\\\236y>\024Ib\304\0037Y\377\360c\262:_d\351\372\313\013\013\243\301fI\377\232\210\222i\222a8*\204\342?E\230k\317|\010ED\321h\320\332\365+R5o>\027\367\345\211k\334%\304\227\275\0278o\312\010\273,\313\303\353\255\352iv\205@\32555\332\302\231\306\271\3666;\240r\351\370\246\256nB\242\234F\2260\247\021\013\016j\344\325\301;\210g\326)\272\005\341\304\243L\260\2048r/8\312\336\2045\247\300z\241\221?\317\225\037k\236\365\210\020\032?\337,\010\245\020\330\031\034\274c\213\360y\256\374~k\275\301\245\320\271\005\367\205\263>Y\024\277\361\366\003\217\330\030\331B6\3265\3039\237\204\207\262v\314o\275d\271(\215\256\301\017A\256\256\245\237j\036u\203\275\302\3137\346!\265o\374\355\257\206\201\255\251\365>\300\252\273\365e\340\256\226\326\207A^o\253\371*\367\202SH\343\335u=M\327C\345GH\314~\351\021\264\356\266\033\354\025^\276\326\207\324\366\235\377\215\034\031\021\226$\243\270\032\335F/\040Bh\374|=\021J\341&O\2011\274N\304q\231\371\262\247D\223\222\013k\216h\313\323\307G\347\233\313K\260\250\346\017\202\024\254.\254\300\024\277\355\352\331\252\030n\303\224\021\330\257r8x\030\366\027\015\254\253-`k\274\253\363;\014\322\343\301\250m\373\352\343$\260\224\023r\264\376[Z|\234\273\312)p\3519\352\006\352\334j\240\365\032\325\256\013\177\356W\274\241\350u\327\236[\025\301^\347\326\353E\254{6_g\375\233\240\303\227\324\015z\274c9\216\360-\235\275\244\006\024\234\002O^\216\272>\005\300\201\016w{\342(\270\206\2374\354ud?\036\244\211i\366v3]\247v\313\220b8,itUM\2526\303+X\221\271\3115\310\375}\223]\233\277NR\372\030\264\377\333\247\277{\326\004)\373\013f5\245a_2\012\377\356\375trt\3309\034\036\375\314\241,\023\232K\207>.{\034K\031An\247%<\276\217\032s\223\001\247\352\247\005\010\031\236\230\015\340=<\353P\023\376;\231C;&\271g\263is\346oz\305\030J\177\204y\203\356\333\"t\243\216\2403\030\241\206\356\005\252\247\306\250\344\374Y\315\361\223Oi\245\017\376-w\202\232\367N\207\031(\365\252\272}B\330P\346\3669Y\\P\303Vl\015\\\2503\034\254\277L\223\354:\001\030\303\245}\345!\016\303\262\276R\2502\230K\361P\243\307\313\025\347\225\274\204f\271'#\274\343\202\276SO\201D8\346\344TZ\360\253\366\362dV\205\247\037\265\232\015\323\255\264)\330\330\253\264\305\022y\036'\346\225!\324\362`ti`\000|T\305\313m\314\344\271\002\236T\306\364\321\3406J\005\313\323%\035o6N*1\215\235\362\244\201x\362R\215\024\033\250\333@D\264$\005"_buf, + "\002\30640\322F\0365_\254\230\020f\302\377\005qi\211\354>-QSo\263\315\207\005m\262\016\334+\342\274\307\310+.\202\215Lh\234@\214g\310|\256fI\362e\321\360X\207\320\371C+\306^\375\301g\004\356\011\350ljE\263\221'\213KNQ\313^am\247`\034\334T\206\330\314\275\031\370\213\205\257\362\244\330\310\200\206\250-\375\354%\001~\023r]\370\273\235\361\310\325*\006\307\330r\362Jy,\364\346\201\346,Q\306!\261\315\236\277\365\005$\006\301\342\330\317\372?\231g\233\025\370\205\260`\351\336\355s\033;[`\226K\233\355\214i\017\376\261\233,\327\327O\236\320\250\276M#\272\0062\263\270\234azC\231\\\246\357\204\016\3232\006X\256\"\217\261)\245\245\377\015\334\2079\022\241\026?\322;\312\325\006'R\326\270\025\014|\015\312\216{K\031r\305\254\321\250\222\342\253\220\330\011\034$\031!\361\261h\326\017\360\222\2459\000\013\023#\271%\375\3002\261\323H8!\220&\255\203Tl\023\002\322\362\241\233\036>\324\333k\203\245\341{,\020\211\243\246\363j&c\231d\300\024\002\264\223\"\236\332\304\266\365\263[N^\253NQ\203\034Sk\310\271\234\237\377\266\313\273\254\265\\1C\354\030\223\025L\341I\016\034,\334\275\311Mz1OT\301p\210f\230\242-j\004\236\321X\307\025\210V\372\003$\361A\201\2045\340a\015u\215#\370\214z\370<<^\245W\351|<\265\267\226c\376\202\020\2778\017\001\374,\305\303\200\212Fx\0303\360\314\235OZ\255\226\320jbZ\363,N\020\022\203(\255dL]r\351\027\350\362b\306\224t:(\353p`\231e\274|\214\255\344\022#\214sC\373\264\200\254Z\353\231\241I<\010\364J\336\024h\217\0405\377\303\372\006wm(\277\213UhA\200tV\227\012\300\260r\205\315\321\252\204\330\204{\250\237'\311\234\016\311:\231W\341\352u\201\261\314\025\346\235\362\353\236\037\334p\271\357+{\263\023\264\271\355\370Dr\032\374\235\327\245*\017\243!I\320\255\217\235\320\316\275=\365\266\204\336\225\234./\226\015\357S\262\032O\305\361\333\230C\211u\213g\321\202\344\234\362FN\213\000br\344!\013-\236,\302O+Q\203n\373i\322\370\333\210\333l\0357v\213\214\206\377\263.$\342\040\215\036\\\360\365u\023f\033\252\366\274\035\224\344\327\376d\275\355\344T\003/\271\216\236j\3507\323\001\212\220dN\231\265\333i\002G\\7\347\040q\335\"\375\332\373\000\013\200\34741\353\275\311\036\243P'i\214v\230\2334.\232\335\213\333*Z\317\342\277\215\321v\213\266\343[)~3qU\360CX\316e\007\240\0010P\307\335\343\375\250s\235\\|\324\012\266\306\347\013j\034\242\017\251\343\013r\250\277\270X\254&\344\0279\270@\240\242\337\011\272\311%bA\031\031\2511}\357{L+4\263\227\244P\373\036\222\210\322\017$\235k\3772\375F_\320\342\355\373N\317\000\262}\327\351\211K\352\35394%J\204\030\237K\255\263\212\330\232\220\014\337V\274\314\355\254\014-G\371\366\353\302Ap\273\261\365\022\276\3035\241\313\262\355\212\260\323\253\267\317\266Y\015\025}~\224\265\203\370\325X\234}\014\250\203zq\214s_\0221\363\335=$\207\013\362-p\323\371\005q\341\211\036\202y\334\224R\347\233\215g\313)\035\017(\337\342\177z\204%\003\250V\313\177\360T\204\023\352X\344e\2435\213_c\314\307\363\005\3343\350\3713x\360\2306\015s9\362M\266Y2\236\373&\230\2103\251RnA\325\326r\221\316\327-\232UV\3078\030t\246\213\317d_\040E'\026b\264\300\350\034J\004\222\334,\227n\222\264@)\222\027\251\205\024\275\203L\300%uD#a\220n\011P/\266\216'\177\315'\343\325\244\233|J\331|\2526\012\006\235\332\206\304\244\\\357\370\230\364\353\031,\223n\275#\267\330\254\247\251\031\245\026\031\260U:&};zw\330\357\036\277\033(EFg\375\303\316q\267G\177|\040~\355\036\217\372\307\303\321\331\2407z\007r6A\320\001WyQ\347\273\316\223'\321\273t\376?\337Gg\363\364\002\342\276}\006\221#H+\366%\242{\303N\362\013\004r\212\342\016\244\271^\363\002\015\372,\271\272\272\330\215>C\012\252\321:z\014\177\177z\377A\376\345\375\007\230\376,I\224\311\331`\005Du\362<\301\025\243\315\250\025i\263D\376\013\026\274r\040^\016Z\253\315\274\301\353CE8\331\303\214\240\270\007\"G1\010\344\217\343\363\277\201\355\366S\262\327\011\025\206\255oI$2\224\017\330\040\265O;|\201\261p\366\375A{CfdB\246g\226\234\000\240\3461\241\277\200\024&\357\337\233\037\311\205lq\361\201tt\272\376\240f\010\343m\\%W\340\230\260\242/\352\311\372zQ\344\217\0001s\220\217\253K\032\320\214\307\217\233\242k\\\362\277\247\302NV\244#4\201x\337\2578j\210\366\257\3207J\007\027\353\311X\026r&\300\007\350b8|{r4:\356\037\375\334,V\337Q\373\264-\257>:\307\273\275W\207}\"\3647\2205\005-\026\300\255{8\200\246\3032\201\177@\372\303K\226r\217\373\026\300\311`\235^\222]\006`\032\234\010\3406\346\324\241\202R#\323\346b\265`n\025\020\232$\375\205\024\241\221\246\0303T\215\234\234\222\006\3744j\037\035\021\001\031\335\\!\377\351\354\360\264\327\210\000\020\320\214\016\373D'\367\333G#\366u\330\033\014\001\316,\027\205\324\215l\374\331\255\260\233fK\032\324d1\207\354\356\253\031\004c\035\215~l\223\341~=\030\215\2106GY\216^\265\217\006e\030\263\012\001\354\243\1779\212\274\"Wt\032\016]\027\322\"\345\360\315)Q\20761\371\307\030\253S[G1r\2436a\004\210\036\262K\0134\004@.lR\321\362\261\205R\254\021\011\021\025x\373d|w8|#\244\234\001E\032\323\010\227o0<%K\207\374\320\263\012\012\344\202\272\221\363*\204\364\255B\316\371t\340iP.\040\322\363\376&z\232\307?W\031\014\243\301T\375\350\2471\275\261\226\266\022\025\007\002Y&y\377x\304?\307h\265\012\363\\\223\203\310\326\371c\210&\240\005\235\374:\013@\337m\222\3439\267\322\271\227\030%\030\256\211\244\342\345\244\250\246\222\020Y{\335\321"_buf, + "\341+\213\250\360!\326\313\326\336[\204j\317\336]\354Sl\226\257\177\324\372\307\020\2002|\330X\371\032\307\015\342z\001\240\004\312\206\314pm/\361l&r\225\372;o\373=E\243SF\211!\022\243\233\213\302b\333\255\305\040V\266S\353\333c\024Q\352\335a0\322[\016\015\276\325D%\367\032\261\006K\3554J\245\355\026A\015\303\325\036\322K\016>(R\231X\257\026K\235X\252\0114\040\234\375dZR\040\271b\230Hb\367fr\204\016\274&\357a\377\3251\005\343#;\026\375\024\027\177\200X\331\225\241\010\316\372\203\316\361\011\354gvZZ\231\030\371\325B\375]\373\264o!\372v\360:'\005\305\3649(CA\313.+D\222N\373dxf\275\215\345_\215\226\037\376\351\214\034\307\332o{\215\213\361\222\334\234\223Us7\237\206\254V\274\353\334\240`\277$E\235\307\040\366\331\265\267\344TFo{\3037\307]%\261\200\225\256\265\206\213\025+N6\036Y\364\0315ZXX9k\270\357a\334h)\325{\265\231SL\236\205\227RE\257\341\3425\350u\206\207\307}\313(\344_]$\272?\223\231p\330\361\2202J\271H:\016Z\362\012\301\316W\030ly\333\2131\360q^\032t\241\360\213CY\321J\036\264\006g\235N\257\327\015\020\221\227D\345;\376\270\345\266\247\310\324\356\037\367\245il_\346\315\302\252\254(\373\341i\273{\010\023\206Ty;\370\261\003\246\245\223\323\343No08>5\264\301[0+\367\002\224\213Y\320\255f\364\362\243\301\341\353`\342\254pI\006\341\012-\244j%\346L\356\312\002\030\325\203\204\040\203\333=\353\014\303\307\020\251P\215Q\310\230Z*UdXz\214\203Hl%L\3111\017&\243\011E\037Q*\256\336\336O'\355~\227\320#\324\032\245\227\366v\213\273$odv\324\271\366\313J\343\233,u\253\206j\362\271\347\316\366\232#L*\237Z\251G\261T\224\245\324\274\252\256w\252JW}\236m\247\226\266\223\327?\357\274On\247g\375\341\341[2<\303\366\220\234u\371\005\3308\250)_s\363\234\034\225Sd\217\215\024!vY\231o\024\301\016\242\002\356\220\037\001\277q\036\024\025\376\2525Z\343\377\240!\021\202;\336\203F\254\022\217\2334\353\271\207?\242\357]\275\240\275\025Vm\014\372\376\247K\226C%\342\227\335\356\036\215\273\024\303\003\351\247d\236\002p\212f\245X&\253Lg\334\351\365\333\247\207\307*3I]\304\203\213d>^\245\213\375(v7\201S\252\347\022\033\314\366\365\341\217=r\017\203\2504\274\343}W\266\030\012\275NI\317\354\263\3344\254\256q\346\357j\264\275t\333\363It\345\243\373\356\215&n\230\274\321\273k\277\274*m?]\020\370\263\207\356\260\242\274\303\000y\207%\345e\261T\346\023\225nI\370\267*F\376\255A\346h3\372\313\016\322\302\242\214\303\2044\"\377tF\355\021\231\322\2437\360\307\313\021\371\"\376\040JG\253\373\2727\034=\203I-\353\246\335]\274\340\367HAkKF\355\356\217\355~\207(0\206Vw\267\251(\275M\343(\247R\3506\206\343\260\340-D\222Z\005\314\001\2619Xy\016\341\020\245V\311\3377\351\212\006\271\004\005\235\367K\020J\243*>C\232\320%\240\031w\014\312(\007\307\250\015\210Q\007\004\3436\300\027\265\301.\276&\340\342\226\240\026\267\015\262\010\177\371*\215\257\250\023Y\021\200\251\250\021M\021\214\243\370J\010\2120\354D\335\250\211p\274D\375H\211p\214\304\327DG\224\302E\324\217\210\330\036\013q\253(\210\232\360\017\367\002\371p+\230\207{\210v(\211s\370\332\010\207\322\330\206\332Q\015\025\360\014w\216d\360c\030P|A\025\334\202\033\261\340\305*\3342J\241^|\202\033\231\260-&\341N\320\010w\202C\270\033\004\302V\330\203ZQ\007^\274\301\355#\015\0021\006_\001]\020\202+\270ED\201\020\343\216\240\004\267\000\"\270E\370\300W\002\016|e\310\300\035\200\005\356\020&pO\000\002\367\005\032\240\213sD\266\225\360\001\326J\313\257W>\322\345{\333_\337\365\014v\367\200\207\257\007u\270\237\040\207\373\015o\370\372\300\206\373\003i\370u\200\031~%0\206J\0326L(\235TI\3365\017fI\375\\\013\304\243*\270c\327\304u\370\320\034\267\201\343\310yZJh{\230\253\265\036\370\206K\372\040\310F\376o\365\325\375\264\335\037\320\321\357\375\324\351\235\260[_\226^\315\307`\007@6sO\371r\320\020\035\024R\016\016rg@\220\234c\375\030\220\372\321\037\365\343>\352G|\324\217\365\370\352(\217\377\004|\307\257\014\331\261\201\344\243\302V\322M\326\343t\272\277\337^.W\213_\016\244\210/\230\015y\347>G\371\340\3774\040\360T\263\3614(@\207T:(R\206\217\270\367\321-\220\000\376,\2465\357\256\243AH\254k\214\313`\035\001\305L\351\033]\344\251\336SXy7\347\221\320\321\213\274=J\000\255\243\036zB\234\372=M\326\037\216\335M\256<\343\002\236a\353\232o\225^I\365\331V\213k\266\334\363\267\3419\035\244P\220z\345\033\353pG\366.\026\364\001\317VX~\233\363/C\361X&\227\267vI\350S\030<-\263\227\237\3236=\20586\314\310\3301\207d\307\034\220\377\037\301\241\264\036\337\336[\026\312\377\372V\301\227\3276d\352\323V\220\327\255\303\217\326\306\305|x\262\312\243>\004Y'O\350KM\255\343\364U\335G\215\2268\266\253\032^\203\266d\267\365\013\221\301\037\267\250\334\245\243i\240H\025\274\307\266t\031v\232Nk\247m\035\332\332\235\205K\2328\267\340\177\207\276\242\316\205u\347\236\243[Ks\273O,\301K\356\376\270\225\326\040\362\177\365\304\275\325\023uy\362\335\375\261\262\222\341\327\265\024\253\213\266[\360v{\014\372\274\376\034\336{\036\007<\207\037\235\307\025n\247\204\217\251\365\224\353x\227\220\216\274w\357\205e\023\333'\251\333\245\311N\257\202\375\"\310V\266\235\335\242&\013\331\326N5\330\355\307s\2112\015a\226B\212\001\314n\375B\354^N\263\027b\360\262\265\"\300\322U\331\306\345\267nmi\331\272c\233\326mX\263\354v,\347\302\256\327~\345\266A\005\232\252d#\025\246r\025\253\024\3228\343\234u\247\333\363=3B\2250?U3\000\342\355\037\223\266\305/\336\205\031\013\307;\3321\213(\366\320\012\037DQ\200V\040\237\037\346%\303[\341\272\366\040\302\263H\355\350\231\332VI2\037\237O\223\021\317J\227\265\256w\260\334q\014T\303~<\354t\200Gz\261\274\340\346\252\214Z\252\362\342\014\032\306*\301?h\342;\370\300\366f\255\030\236\237\216\026\247\315$;z\201N$L_\367\317:BDN\3425\2210$\301\035\326z\271\200\224\244\213f\265\177"_buf, + "w\374\362\350\254\3279{\331\033\020\025\326\177M\356\300\207\375\316\321Y\267\307\247\333\233\223\023\361Kwg\347\377\001t+\311(>\367\011\000"_buf}; + +} + +std::string_view dds::detail::catch2_embedded_single_header_str() noexcept { + static const std::string decompressed = [] { + neo::string_dynbuf_io str; + neo::gzip_decompress(str, catch2_gzip_bufs); + str.shrink_uncommitted(); + return std::move(str.string()); + }(); + return decompressed; +} diff --git a/src/dds/catch2_embedded.hpp b/src/dds/catch2_embedded.hpp index 10247737..2132ba36 100644 --- a/src/dds/catch2_embedded.hpp +++ b/src/dds/catch2_embedded.hpp @@ -1,7 +1,9 @@ #pragma once +#include + namespace dds::detail { -extern const char* const catch2_embedded_single_header_str; +std::string_view catch2_embedded_single_header_str() noexcept; -} // namespace dds::detail \ No newline at end of file +} // namespace dds::detail diff --git a/src/dds/cli/cmd/build.cpp b/src/dds/cli/cmd/build.cpp new file mode 100644 index 00000000..f8e36a50 --- /dev/null +++ b/src/dds/cli/cmd/build.cpp @@ -0,0 +1,41 @@ +#include "../options.hpp" + +#include "./build_common.hpp" + +#include +#include +#include +#include +#include + +using namespace dds; + +namespace dds::cli::cmd { + +int build(const options& opts) { + if (!opts.build.add_repos.empty()) { + auto cat = opts.open_pkg_db(); + for (auto& str : opts.build.add_repos) { + auto repo = pkg_remote::connect(str); + repo.store(cat.database()); + } + } + + if (opts.build.update_repos || !opts.build.add_repos.empty()) { + update_all_remotes(opts.open_pkg_db().database()); + } + + auto builder = create_project_builder(opts); + builder.build({ + .out_root = opts.out_path.value_or(fs::current_path() / "_build"), + .existing_lm_index = opts.build.lm_index, + .emit_lmi = {}, + .tweaks_dir = opts.build.tweaks_dir, + .toolchain = opts.load_toolchain(), + .parallel_jobs = opts.jobs, + }); + + return 0; +} + +} // namespace dds::cli::cmd diff --git a/src/dds/cli/cmd/build_common.cpp b/src/dds/cli/cmd/build_common.cpp new file mode 100644 index 00000000..74ff51d9 --- /dev/null +++ b/src/dds/cli/cmd/build_common.cpp @@ -0,0 +1,45 @@ +#include "./build_common.hpp" + +#include +#include +#include + +using namespace dds; + +builder dds::cli::create_project_builder(const dds::cli::options& opts) { + sdist_build_params main_params = { + .subdir = "", + .build_tests = opts.build.want_tests, + .run_tests = opts.build.want_tests, + .build_apps = opts.build.want_apps, + .enable_warnings = !opts.disable_warnings, + }; + + auto man + = value_or(package_manifest::load_from_directory(opts.project_dir), package_manifest{}); + auto cat_path = opts.pkg_db_dir.value_or(pkg_db::default_path()); + auto repo_path = opts.pkg_cache_dir.value_or(pkg_cache::default_local_path()); + + builder builder; + if (!opts.build.lm_index.has_value()) { + auto cat = pkg_db::open(cat_path); + // Build the dependencies + pkg_cache::with_cache( // + repo_path, + pkg_cache_flags::write_lock | pkg_cache_flags::create_if_absent, + [&](pkg_cache repo) { + // Download dependencies + auto deps = repo.solve(man.dependencies, cat); + get_all(deps, repo, cat); + for (const pkg_id& pk : deps) { + auto sdist_ptr = repo.find(pk); + assert(sdist_ptr); + sdist_build_params deps_params; + deps_params.subdir = fs::path("_deps") / sdist_ptr->manifest.id.to_string(); + builder.add(*sdist_ptr, deps_params); + } + }); + } + builder.add(sdist{std::move(man), opts.project_dir}, main_params); + return builder; +} diff --git a/src/dds/cli/cmd/build_common.hpp b/src/dds/cli/cmd/build_common.hpp new file mode 100644 index 00000000..eaa4dc33 --- /dev/null +++ b/src/dds/cli/cmd/build_common.hpp @@ -0,0 +1,11 @@ +#include "../options.hpp" + +#include + +#include + +namespace dds::cli { + +dds::builder create_project_builder(const options& opts); + +} // namespace dds::cli diff --git a/src/dds/cli/cmd/build_deps.cpp b/src/dds/cli/cmd/build_deps.cpp new file mode 100644 index 00000000..59fe1d12 --- /dev/null +++ b/src/dds/cli/cmd/build_deps.cpp @@ -0,0 +1,65 @@ +#include "../options.hpp" + +#include +#include +#include +#include + +#include +#include +#include +#include + +namespace dds::cli::cmd { + +int build_deps(const options& opts) { + dds::build_params params{ + .out_root = opts.out_path.value_or(fs::current_path() / "_deps"), + .existing_lm_index = {}, + .emit_lmi = opts.build.lm_index.value_or("INDEX.lmi"), + .emit_cmake = opts.build_deps.cmake_file, + .tweaks_dir = opts.build.tweaks_dir, + .toolchain = opts.load_toolchain(), + .parallel_jobs = opts.jobs, + }; + + dds::builder bd; + dds::sdist_build_params sdist_params; + + auto all_file_deps = opts.build_deps.deps_files // + | ranges::views::transform([&](auto dep_fpath) { + dds_log(info, "Reading deps from {}", dep_fpath.string()); + return dds::dependency_manifest::from_file(dep_fpath).dependencies; + }) + | ranges::actions::join; + + auto cmd_deps = ranges::views::transform(opts.build_deps.deps, [&](auto dep_str) { + return dds::dependency::parse_depends_string(dep_str); + }); + + auto all_deps = ranges::views::concat(all_file_deps, cmd_deps) | ranges::to_vector; + + auto cat = opts.open_pkg_db(); + dds::pkg_cache::with_cache( // + opts.pkg_cache_dir.value_or(pkg_cache::default_local_path()), + dds::pkg_cache_flags::write_lock | dds::pkg_cache_flags::create_if_absent, + [&](dds::pkg_cache repo) { + // Download dependencies + dds_log(info, "Loading {} dependencies", all_deps.size()); + auto deps = repo.solve(all_deps, cat); + dds::get_all(deps, repo, cat); + for (const dds::pkg_id& pk : deps) { + auto sdist_ptr = repo.find(pk); + assert(sdist_ptr); + dds::sdist_build_params deps_params; + deps_params.subdir = sdist_ptr->manifest.id.to_string(); + dds_log(info, "Dependency: {}", sdist_ptr->manifest.id.to_string()); + bd.add(*sdist_ptr, deps_params); + } + }); + + bd.build(params); + return 0; +} + +} // namespace dds::cli::cmd diff --git a/src/dds/cli/cmd/compile_file.cpp b/src/dds/cli/cmd/compile_file.cpp new file mode 100644 index 00000000..bfc045af --- /dev/null +++ b/src/dds/cli/cmd/compile_file.cpp @@ -0,0 +1,21 @@ +#include "../options.hpp" + +#include "./build_common.hpp" + +namespace dds::cli::cmd { + +int compile_file(const options& opts) { + auto builder = create_project_builder(opts); + builder.compile_files(opts.compile_file.files, + { + .out_root = opts.out_path.value_or(fs::current_path() / "_build"), + .existing_lm_index = opts.build.lm_index, + .emit_lmi = {}, + .tweaks_dir = opts.build.tweaks_dir, + .toolchain = opts.load_toolchain(), + .parallel_jobs = opts.jobs, + }); + return 0; +} + +} // namespace dds::cli::cmd diff --git a/src/dds/cli/cmd/install_yourself.cpp b/src/dds/cli/cmd/install_yourself.cpp new file mode 100644 index 00000000..61135b5a --- /dev/null +++ b/src/dds/cli/cmd/install_yourself.cpp @@ -0,0 +1,433 @@ +#include "../options.hpp" + +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#ifdef __APPLE__ +#include +#elif __FreeBSD__ +#include +#elif _WIN32 +#include +// Must be included second: +#include +#endif + +using namespace fansi::literals; + +namespace dds::cli::cmd { + +namespace { + +fs::path current_executable() { +#if __linux__ + return fs::read_symlink("/proc/self/exe"); +#elif __APPLE__ + std::uint32_t len = 0; + _NSGetExecutablePath(nullptr, &len); + std::string buffer; + buffer.resize(len + 1); + auto rc = _NSGetExecutablePath(buffer.data(), &len); + neo_assert(invariant, rc == 0, "Unexpected error from _NSGetExecutablePath()"); + return fs::canonical(buffer); +#elif __FreeBSD__ + std::string buffer; + int mib[] = {CTRL_KERN, KERN_PROC, KERN_PROC_PATHNAME, -1}; + std::size_t len = 0; + auto rc = ::sysctl(mib, 4, nullptr, &len, nullptr, 0); + neo_assert(invariant, + rc == 0, + "Unexpected error from ::sysctl() while getting executable path", + errno); + buffer.resize(len + 1); + rc = ::sysctl(mib, 4, buffer.data(), &len, nullptr, 0); + neo_assert(invariant, + rc == 0, + "Unexpected error from ::sysctl() while getting executable path", + errno); + return fs::canonical(nullptr); +#elif _WIN32 + std::wstring buffer; + while (true) { + buffer.resize(buffer.size() + 32); + auto reallen + = ::GetModuleFileNameW(nullptr, buffer.data(), static_cast(buffer.size())); + if (reallen == buffer.size() && ::GetLastError() == ERROR_INSUFFICIENT_BUFFER) { + continue; + } + buffer.resize(reallen); + return fs::canonical(buffer); + } +#else +#error "No method of getting the current executable path is implemented on this system. FIXME!" +#endif +} + +fs::path user_binaries_dir() noexcept { +#if _WIN32 + return dds::user_data_dir() / "bin"; +#else + return dds::user_home_dir() / ".local/bin"; +#endif +} + +fs::path system_binaries_dir() noexcept { +#if _WIN32 + return "C:/bin"; +#else + return "/usr/local/bin"; +#endif +} + +#if _WIN32 +void fixup_path_env(const options& opts, const wil::unique_hkey& env_hkey, fs::path want_path) { + DWORD len = 0; + // Get the length + auto err = ::RegGetValueW(env_hkey.get(), + nullptr, + L"PATH", + RRF_RT_REG_EXPAND_SZ | RRF_RT_REG_SZ | RRF_NOEXPAND, + nullptr, + nullptr, + &len); + if (err != ERROR_SUCCESS) { + throw std::system_error(std::error_code(err, std::system_category()), + "Failed to access PATH environment variable [1]"); + } + // Now get the value + std::wstring buffer; + buffer.resize(len / 2); + err = ::RegGetValueW(env_hkey.get(), + nullptr, + L"PATH", + RRF_RT_REG_EXPAND_SZ | RRF_RT_REG_SZ | RRF_NOEXPAND, + nullptr, + buffer.data(), + &len); + if (err != ERROR_SUCCESS) { + throw std::system_error(std::error_code(err, std::system_category()), + "Failed to access PATH environment variable [2]"); + } + // Strip null-term + buffer.resize(len); + while (!buffer.empty() && buffer.back() == 0) { + buffer.pop_back(); + } + // Check if we need to append the user-local binaries dir to the path + const auto want_entry = fs::path(want_path).make_preferred().lexically_normal(); + const auto path_env_str = fs::path(buffer).string(); + auto path_elems = split_view(path_env_str, ";"); + const bool any_match = std::any_of(path_elems.cbegin(), path_elems.cend(), [&](auto view) { + auto existing = fs::weakly_canonical(view).make_preferred().lexically_normal(); + dds_log(trace, "Existing PATH entry: '{}'", existing.string()); + return existing.native() == want_entry.native(); + }); + if (any_match) { + dds_log(info, "PATH is up-to-date"); + return; + } + if (opts.dry_run) { + dds_log(info, "The PATH environment variable would be modified."); + return; + } + // It's not there. Add it now. + auto want_str = want_entry.string(); + path_elems.insert(path_elems.begin(), want_str); + auto joined = joinstr(";", path_elems); + buffer = fs::path(joined).native(); + // Put the new PATH entry back into the environment + err = ::RegSetValueExW(env_hkey.get(), + L"Path", + 0, + REG_EXPAND_SZ, + reinterpret_cast(buffer.data()), + (buffer.size() + 1) * 2); + if (err != ERROR_SUCCESS) { + throw std::system_error(std::error_code(err, std::system_category()), + "Failed to modify PATH environment variable"); + } + dds_log( + info, + "The directory [.br.cyan[{}]] has been added to your PATH environment variables."_styled, + want_path.string()); + dds_log( + info, + ".bold.cyan[NOTE:] You may need to restart running applications to see this change!"_styled); +} +#endif + +void fixup_system_path(const options& opts [[maybe_unused]]) { +#if !_WIN32 +// We install into /usr/local/bin, and every nix-like system we support already has that on the +// global PATH +#else // Windows! + wil::unique_hkey env_hkey; + auto err = ::RegOpenKeyExW(HKEY_LOCAL_MACHINE, + L"SYSTEM\\CurrentControlSet\\Control\\Session Manager\\Environment", + 0, + KEY_WRITE | KEY_READ, + &env_hkey); + if (err != ERROR_SUCCESS) { + throw std::system_error(std::error_code(err, std::system_category()), + "Failed to open user-local environment variables registry " + "entry"); + } + fixup_path_env(opts, env_hkey, "C:/bin"); +#endif +} + +void fixup_user_path(const options& opts) { +#if !_WIN32 + auto profile_file = dds::user_home_dir() / ".profile"; + auto profile_content = dds::slurp_file(profile_file); + if (dds::contains(profile_content, "$HOME/.local/bin")) { + // We'll assume that this is properly loading .local/bin for .profile + dds_log(info, "[.br.cyan[{}]] is okay"_styled, profile_file.string()); + } else if (opts.dry_run) { + dds_log(info, + "Would update [.br.cyan[{}]] to have ~/.local/bin on $PATH"_styled, + profile_file.string()); + } else { + // Let's add it + profile_content + += ("\n# This entry was added by 'dds install-yourself' for the user-local " + "binaries path\nPATH=$HOME/bin:$HOME/.local/bin:$PATH\n"); + dds_log(info, + "Updating [.br.cyan[{}]] with a user-local binaries PATH entry"_styled, + profile_file.string()); + auto tmp_file = profile_file; + tmp_file += ".tmp"; + auto bak_file = profile_file; + bak_file += ".bak"; + // Move .profile back into place if we abore for any reason + neo_defer { + if (!fs::exists(profile_file)) { + safe_rename(bak_file, profile_file); + } + }; + // Write the temporary version + dds::write_file(tmp_file, profile_content).value(); + // Make a backup + safe_rename(profile_file, bak_file); + // Move the tmp over the final location + safe_rename(tmp_file, profile_file); + // Okay! + dds_log(info, + "[.br.green[{}]] was updated. Prior contents are safe in [.br.cyan[{}]]"_styled, + profile_file.string(), + bak_file.string()); + dds_log( + info, + ".bold.cyan[NOTE:] Running applications may need to be restarted to see this change"_styled); + } + + auto fish_config = dds::user_config_dir() / "fish/config.fish"; + if (fs::exists(fish_config)) { + auto fish_config_content = slurp_file(fish_config); + if (dds::contains(fish_config_content, "$HOME/.local/bin")) { + // Assume that this is up-to-date + dds_log(info, + "Fish configuration in [.br.cyan[{}]] is okay"_styled, + fish_config.string()); + } else if (opts.dry_run) { + dds_log(info, + "Would update [.br.cyan[{}]] to have ~/.local/bin on $PATH"_styled, + fish_config.string()); + } else { + dds_log( + info, + "Updating Fish shell configuration [.br.cyan[{}]] with user-local binaries PATH entry"_styled, + fish_config.string()); + fish_config_content + += ("\n# This line was added by 'dds install-yourself' to add the user-local " + "binaries directory to $PATH\nset -x PATH $PATH \"$HOME/.local/bin\"\n"); + auto tmp_file = fish_config; + auto bak_file = fish_config; + tmp_file += ".tmp"; + bak_file += ".bak"; + neo_defer { + if (!fs::exists(fish_config)) { + safe_rename(bak_file, fish_config); + } + }; + // Write the temporary version + dds::write_file(tmp_file, fish_config_content).value(); + // Make a backup + safe_rename(fish_config, bak_file); + // Move the temp over the destination + safe_rename(tmp_file, fish_config); + // Okay! + dds_log(info, + "[.br.green[{}]] was updated. Prior contents are safe in [.br.cyan[{}]]"_styled, + fish_config.string(), + bak_file.string()); + dds_log( + info, + ".bold.cyan[NOTE:] Running Fish shells will need to be restartred to see this change"_styled); + } + } +#else // _WIN32 + wil::unique_hkey env_hkey; + auto err + = ::RegOpenKeyExW(HKEY_CURRENT_USER, L"Environment", 0, KEY_WRITE | KEY_READ, &env_hkey); + if (err != ERROR_SUCCESS) { + throw std::system_error(std::error_code(err, std::system_category()), + "Failed to open user-local environment variables registry " + "entry"); + } + fixup_path_env(opts, env_hkey, "%LocalAppData%/bin"); +#endif +} + +void fixup_path(const options& opts) { + if (opts.install_yourself.where == opts.install_yourself.system) { + fixup_system_path(opts); + } else { + fixup_user_path(opts); + } +} + +int _install_yourself(const options& opts) { + auto self_exe = current_executable(); + + auto dest_dir = opts.install_yourself.where == opts.install_yourself.user + ? user_binaries_dir() + : system_binaries_dir(); + + auto dest_path = dest_dir / "dds"; + if constexpr (neo::os_is_windows) { + dest_path += ".exe"; + } + + if (fs::absolute(dest_path).lexically_normal() == fs::canonical(self_exe)) { + dds_log(error, + "We cannot install over our own executable (.br.red[{}])"_styled, + self_exe.string()); + return 1; + } + + if (!fs::is_directory(dest_dir)) { + if (opts.dry_run) { + dds_log(info, "Would create directory [.br.cyan[{}]]"_styled, dest_dir.string()); + } else { + dds_log(info, "Creating directory [.br.cyan[{}]]"_styled, dest_dir.string()); + fs::create_directories(dest_dir); + } + } + + if (opts.dry_run) { + if (fs::is_symlink(dest_path)) { + dds_log(info, "Would remove symlink [.br.cyan[{}]]"_styled, dest_path.string()); + } + if (fs::exists(dest_path) && !fs::is_symlink(dest_path)) { + if (opts.install_yourself.symlink) { + dds_log( + info, + "Would overwrite .br.yellow[{0}] with a symlink .br.green[{0}] -> .br.cyan[{1}]"_styled, + dest_path.string(), + self_exe.string()); + } else { + dds_log(info, + "Would overwrite .br.yellow[{}] with [.br.cyan[{}]]"_styled, + dest_path.string(), + self_exe.string()); + } + } else { + if (opts.install_yourself.symlink) { + dds_log(info, + "Would create a symlink [.br.green[{}]] -> [.br.cyan[{}]]"_styled, + dest_path.string(), + self_exe.string()); + } else { + dds_log(info, + "Would install [.br.cyan[{}]] to .br.yellow[{}]"_styled, + self_exe.string(), + dest_path.string()); + } + } + } else { + if (fs::is_symlink(dest_path)) { + dds_log(info, "Removing old symlink file [.br.cyan[{}]]"_styled, dest_path.string()); + dds::remove_file(dest_path).value(); + } + if (opts.install_yourself.symlink) { + if (fs::exists(dest_path)) { + dds_log(info, "Removing previous file [.br.cyan[{}]]"_styled, dest_path.string()); + dds::remove_file(dest_path).value(); + } + dds_log(info, + "Creating symbolic link [.br.green[{}]] -> [.br.cyan[{}]]"_styled, + dest_path.string(), + self_exe.string()); + dds::create_symlink(self_exe, dest_path).value(); + } else { + dds_log(info, + "Installing [.br.cyan[{}]] to [.br.green[{}]]"_styled, + self_exe.string(), + dest_path.string()); + dds::copy_file(self_exe, dest_path, fs::copy_options::overwrite_existing).value(); + } + } + + if (opts.install_yourself.fixup_path_env) { + fixup_path(opts); + } + + if (!opts.dry_run) { + dds_log(info, "Success!"); + } + return 0; +} + +} // namespace + +int install_yourself(const options& opts) { + return boost::leaf::try_catch( + [&] { + try { + return _install_yourself(opts); + } catch (...) { + capture_exception(); + } + }, + [](std::error_code ec, e_copy_file copy) { + dds_log(error, + "Failed to copy file [.br.cyan[{}]] to .br.yellow[{}]: .bold.red[{}]"_styled, + copy.source.string(), + copy.dest.string(), + ec.message()); + return 1; + }, + [](std::error_code ec, e_remove_file file) { + dds_log(error, + "Failed to delete file .br.yellow[{}]: .bold.red[{}]"_styled, + file.value.string(), + ec.message()); + return 1; + }, + [](std::error_code ec, e_symlink oper) { + dds_log( + error, + "Failed to create symlink from .br.yellow[{}] to [.br.cyan[{}]]: .bold.red[{}]"_styled, + oper.symlink.string(), + oper.target.string(), + ec.message()); + return 1; + }, + [](e_system_error_exc e) { + dds_log(error, "Failure while installing: {}", e.message); + return 1; + }); + return 0; +} + +} // namespace dds::cli::cmd diff --git a/src/dds/cli/cmd/pkg_create.cpp b/src/dds/cli/cmd/pkg_create.cpp new file mode 100644 index 00000000..004f7916 --- /dev/null +++ b/src/dds/cli/cmd/pkg_create.cpp @@ -0,0 +1,55 @@ +#include "../options.hpp" + +#include +#include + +#include +#include +#include +#include + +using namespace fansi::literals; + +namespace dds::cli::cmd { + +int pkg_create(const options& opts) { + dds::sdist_params params{ + .project_dir = opts.project_dir, + .dest_path = {}, + .force = opts.if_exists == if_exists::replace, + .include_apps = true, + .include_tests = true, + }; + return boost::leaf::try_catch( + [&] { + auto pkg_man = package_manifest::load_from_directory(params.project_dir).value(); + auto default_filename = fmt::format("{}.tar.gz", pkg_man.id.to_string()); + auto filepath = opts.out_path.value_or(fs::current_path() / default_filename); + create_sdist_targz(filepath, params); + dds_log(info, + "Created source dirtribution archive: .bold.cyan[{}]"_styled, + filepath.string()); + return 0; + }, + [&](boost::leaf::bad_result, e_missing_file missing, e_human_message msg) { + dds_log( + error, + "A required file is missing for creating a source distribution for [.bold.yellow[{}]]"_styled, + params.project_dir.string()); + dds_log(error, "Error: .bold.yellow[{}]"_styled, msg.value); + dds_log(error, "Missing file: .bold.red[{}]"_styled, missing.path.string()); + write_error_marker("no-package-json5"); + return 1; + }, + [&](std::error_code ec, e_human_message msg, boost::leaf::e_file_name file) { + dds_log(error, "Error: .bold.red[{}]"_styled, msg.value); + dds_log(error, + "Failed to access file [.bold.red[{}]]: .br.yellow[{}]"_styled, + file.value, + ec.message()); + write_error_marker("failed-package-json5-scan"); + return 1; + }); +} + +} // namespace dds::cli::cmd diff --git a/src/dds/cli/cmd/pkg_get.cpp b/src/dds/cli/cmd/pkg_get.cpp new file mode 100644 index 00000000..8ef66929 --- /dev/null +++ b/src/dds/cli/cmd/pkg_get.cpp @@ -0,0 +1,73 @@ +#include "../options.hpp" + +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include + +namespace dds::cli::cmd { + +static int _pkg_get(const options& opts) { + auto cat = opts.open_pkg_db(); + for (const auto& item : opts.pkg.get.pkgs) { + auto id = pkg_id::parse(item); + auto info = *cat.get(id); + auto tsd = get_package_sdist(info); + auto dest = opts.out_path.value_or(fs::current_path()) / id.to_string(); + dds_log(info, "Create sdist at {}", dest.string()); + fs::remove_all(dest); + safe_rename(tsd.sdist.path, dest); + } + return 0; +} + +int pkg_get(const options& opts) { + return boost::leaf::try_catch( // + [&] { + try { + return _pkg_get(opts); + } catch (...) { + dds::capture_exception(); + } + }, + [&](neo::url_validation_error url_err, dds::e_url_string bad_url) { + dds_log(error, + "Invalid package URL in the database [{}]: {}", + bad_url.value, + url_err.what()); + return 1; + }, + [&](const json5::parse_error& e, neo::url bad_url) { + dds_log(error, + "Error parsing JSON5 document package downloaded from [{}]: {}", + bad_url.to_string(), + e.what()); + return 1; + }, + [](dds::e_sqlite3_error_exc e) { + dds_log(error, "Error accessing the package database: {}", e.message); + return 1; + }, + [](e_nonesuch nonesuch) -> int { + nonesuch.log_error("There is no entry in the package database for '{}'."); + write_error_marker("pkg-get-no-pkg-id-listing"); + return 1; + }, + [&](dds::e_system_error_exc e, dds::network_origin conn) { + dds_log(error, + "Error opening connection to [{}:{}]: {}", + conn.hostname, + conn.port, + e.message); + return 1; + }); +} + +} // namespace dds::cli::cmd diff --git a/src/dds/cli/cmd/pkg_import.cpp b/src/dds/cli/cmd/pkg_import.cpp new file mode 100644 index 00000000..a2f2362e --- /dev/null +++ b/src/dds/cli/cmd/pkg_import.cpp @@ -0,0 +1,81 @@ +#include "../options.hpp" + +#include +#include +#include + +#include +#include +#include +#include +#include + +#include +#include + +using namespace fansi::literals; + +namespace dds::cli::cmd { + +struct e_importing { + std::string value; +}; + +static int _pkg_import(const options& opts) { + return pkg_cache::with_cache( // + opts.pkg_cache_dir.value_or(pkg_cache::default_local_path()), + pkg_cache_flags::write_lock | pkg_cache_flags::create_if_absent, + [&](auto repo) { + // Lambda to import an sdist object + auto import_sdist + = [&](const sdist& sd) { repo.import_sdist(sd, dds::if_exists(opts.if_exists)); }; + + for (std::string_view sdist_where : opts.pkg.import.items) { + DDS_E_SCOPE(e_importing{std::string(sdist_where)}); + neo_assertion_breadcrumbs("Importing sdist", sdist_where); + if (sdist_where.starts_with("http://") || sdist_where.starts_with("https://")) { + auto tmp_sd = download_expand_sdist_targz(sdist_where); + import_sdist(tmp_sd.sdist); + } else if (fs::is_directory(sdist_where)) { + auto sd = sdist::from_directory(sdist_where); + import_sdist(sd); + } else { + auto tmp_sd = expand_sdist_targz(sdist_where); + import_sdist(tmp_sd.sdist); + } + } + if (opts.pkg.import.from_stdin) { + auto tmp_sd = dds::expand_sdist_from_istream(std::cin, ""); + repo.import_sdist(tmp_sd.sdist, dds::if_exists(opts.if_exists)); + } + return 0; + }); +} + +int pkg_import(const options& opts) { + return boost::leaf::try_catch( + [&] { + try { + return _pkg_import(opts); + } catch (...) { + dds::capture_exception(); + } + }, + [&](const json5::parse_error& e) { + dds_log(error, "Error parsing JSON in package archive: {}", e.what()); + return 1; + }, + [](dds::e_sqlite3_error_exc e) { + dds_log(error, "Unexpected database error: {}", e.message); + return 1; + }, + [](e_system_error_exc err, e_importing what) { + dds_log( + error, + "Error while importing source distribution from [.bold.red[{}]]: .br.yellow[{}]"_styled, + what.value, + err.message); + return 1; + }); +} +} // namespace dds::cli::cmd diff --git a/src/dds/cli/cmd/pkg_ls.cpp b/src/dds/cli/cmd/pkg_ls.cpp new file mode 100644 index 00000000..63234220 --- /dev/null +++ b/src/dds/cli/cmd/pkg_ls.cpp @@ -0,0 +1,60 @@ +#include "../options.hpp" + +#include +#include +#include + +#include +#include +#include +#include +#include + +#include +#include + +namespace dds::cli::cmd { +static int _pkg_ls(const options& opts) { + auto list_contents = [&](pkg_cache repo) { + auto same_name + = [](auto&& a, auto&& b) { return a.manifest.id.name == b.manifest.id.name; }; + + auto all = repo.iter_sdists(); + auto grp_by_name = all // + | ranges::views::group_by(same_name) // + | ranges::views::transform(ranges::to_vector) // + | ranges::views::transform([](auto&& grp) { + assert(grp.size() > 0); + return std::pair(grp[0].manifest.id.name, grp); + }); + + for (const auto& [name, grp] : grp_by_name) { + dds_log(info, "{}:", name); + for (const dds::sdist& sd : grp) { + dds_log(info, " - {}", sd.manifest.id.version.to_string()); + } + } + + return 0; + }; + + return dds::pkg_cache::with_cache(opts.pkg_cache_dir.value_or(pkg_cache::default_local_path()), + dds::pkg_cache_flags::read, + list_contents); +} + +int pkg_ls(const options& opts) { + return boost::leaf::try_catch( + [&] { + try { + return _pkg_ls(opts); + } catch (...) { + dds::capture_exception(); + } + }, + [](dds::e_sqlite3_error_exc e) { + dds_log(error, "Unexpected database error: {}", e.message); + return 1; + }); +} +} // namespace dds::cli::cmd diff --git a/src/dds/cli/cmd/pkg_repo_add.cpp b/src/dds/cli/cmd/pkg_repo_add.cpp new file mode 100644 index 00000000..1f0eabe9 --- /dev/null +++ b/src/dds/cli/cmd/pkg_repo_add.cpp @@ -0,0 +1,24 @@ +#include "../options.hpp" + +#include "./pkg_repo_err_handle.hpp" + +#include +#include + +namespace dds::cli::cmd { + +static int _pkg_repo_add(const options& opts) { + auto cat = opts.open_pkg_db(); + auto repo = pkg_remote::connect(opts.pkg.repo.add.url); + repo.store(cat.database()); + if (opts.pkg.repo.add.update) { + repo.update_pkg_db(cat.database()); + } + return 0; +} + +int pkg_repo_add(const options& opts) { + return handle_pkg_repo_remote_errors([&] { return _pkg_repo_add(opts); }); +} + +} // namespace dds::cli::cmd diff --git a/src/dds/cli/cmd/pkg_repo_err_handle.cpp b/src/dds/cli/cmd/pkg_repo_err_handle.cpp new file mode 100644 index 00000000..58e59356 --- /dev/null +++ b/src/dds/cli/cmd/pkg_repo_err_handle.cpp @@ -0,0 +1,75 @@ +#include "./pkg_repo_err_handle.hpp" + +#include "../options.hpp" + +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include + +using namespace fansi::literals; + +int dds::cli::cmd::handle_pkg_repo_remote_errors(std::function fn) { + return boost::leaf::try_catch( + [&] { + try { + return fn(); + } catch (...) { + dds::capture_exception(); + } + }, + [](neo::url_validation_error url_err, neo::url bad_url) { + dds_log(error, "Invalid URL [{}]: {}", bad_url.to_string(), url_err.what()); + return 1; + }, + [](dds::http_status_error err, dds::http_response_info resp, neo::url bad_url) { + dds_log(error, + "An HTTP error occured while requesting [{}]: HTTP Status {} {}", + err.what(), + bad_url.to_string(), + resp.status, + resp.status_message); + return 1; + }, + [](const json5::parse_error& e, neo::url bad_url) { + dds_log(error, + "Error parsing JSON downloaded from URL [.br.red[{}]`]: {}"_styled, + bad_url.to_string(), + e.what()); + return 1; + }, + [](dds::e_sqlite3_error_exc e, neo::url url) { + dds_log(error, + "Error accessing remote database [.br.red[{}]`]: {}"_styled, + url.to_string(), + e.message); + return 1; + }, + [](dds::e_sqlite3_error_exc e) { + dds_log(error, "Unexpected database error: {}", e.message); + return 1; + }, + [](dds::e_system_error_exc e, dds::network_origin conn) { + dds_log(error, + "Error communicating with [.br.red[{}://{}:{}]`]: {}"_styled, + conn.protocol, + conn.hostname, + conn.port, + e.message); + return 1; + }, + [](matchv, e_nonesuch missing) { + missing.log_error( + "Cannot delete remote '.br.red[{}]', as no such remote repository is locally registered by that name."_styled); + write_error_marker("repo-rm-no-such-repo"); + return 1; + }); +} diff --git a/src/dds/cli/cmd/pkg_repo_err_handle.hpp b/src/dds/cli/cmd/pkg_repo_err_handle.hpp new file mode 100644 index 00000000..ff5d731e --- /dev/null +++ b/src/dds/cli/cmd/pkg_repo_err_handle.hpp @@ -0,0 +1,9 @@ +#pragma once + +#include + +namespace dds::cli::cmd { + +int handle_pkg_repo_remote_errors(std::function); + +} // namespace dds::cli::cmd \ No newline at end of file diff --git a/src/dds/cli/cmd/pkg_repo_ls.cpp b/src/dds/cli/cmd/pkg_repo_ls.cpp new file mode 100644 index 00000000..a94f3f68 --- /dev/null +++ b/src/dds/cli/cmd/pkg_repo_ls.cpp @@ -0,0 +1,33 @@ +#include "../options.hpp" + +#include "./pkg_repo_err_handle.hpp" + +#include +#include + +#include + +namespace dds::cli::cmd { + +static int _pkg_repo_ls(const options& opts) { + auto pkg_db = opts.open_pkg_db(); + neo::sqlite3::database_ref db = pkg_db.database(); + + auto st = db.prepare("SELECT name, url, db_mtime FROM dds_pkg_remotes"); + auto tups = neo::sqlite3::iter_tuples>(st); + for (auto [name, remote_url, mtime] : tups) { + fmt::print("Remote '{}':\n", name); + fmt::print(" Updates URL: {}\n", remote_url); + if (mtime) { + fmt::print(" Last Modified: {}\n", *mtime); + } + fmt::print("\n"); + } + return 0; +} + +int pkg_repo_ls(const options& opts) { + return handle_pkg_repo_remote_errors([&] { return _pkg_repo_ls(opts); }); +} + +} // namespace dds::cli::cmd diff --git a/src/dds/cli/cmd/pkg_repo_remove.cpp b/src/dds/cli/cmd/pkg_repo_remove.cpp new file mode 100644 index 00000000..82560b0b --- /dev/null +++ b/src/dds/cli/cmd/pkg_repo_remove.cpp @@ -0,0 +1,26 @@ +#include "../options.hpp" + +#include "./pkg_repo_err_handle.hpp" + +#include +#include +#include + +namespace dds::cli::cmd { + +static int _pkg_repo_remove(const options& opts) { + auto cat = opts.open_pkg_db(); + for (auto&& rm_name : opts.pkg.repo.remove.names) { + dds::remove_remote(cat, rm_name); + } + return 0; +} + +int pkg_repo_remove(const options& opts) { + return handle_pkg_repo_remote_errors([&] { + DDS_E_SCOPE(opts.pkg.repo.subcommand); + return _pkg_repo_remove(opts); + }); +} + +} // namespace dds::cli::cmd diff --git a/src/dds/cli/cmd/pkg_repo_update.cpp b/src/dds/cli/cmd/pkg_repo_update.cpp new file mode 100644 index 00000000..eb4ea64a --- /dev/null +++ b/src/dds/cli/cmd/pkg_repo_update.cpp @@ -0,0 +1,19 @@ +#include "../options.hpp" + +#include "./pkg_repo_err_handle.hpp" + +#include +#include + +namespace dds::cli::cmd { + +static int _pkg_repo_update(const options& opts) { + update_all_remotes(opts.open_pkg_db().database()); + return 0; +} + +int pkg_repo_update(const options& opts) { + return handle_pkg_repo_remote_errors([&] { return _pkg_repo_update(opts); }); +} + +} // namespace dds::cli::cmd diff --git a/src/dds/cli/cmd/pkg_search.cpp b/src/dds/cli/cmd/pkg_search.cpp new file mode 100644 index 00000000..27159b94 --- /dev/null +++ b/src/dds/cli/cmd/pkg_search.cpp @@ -0,0 +1,60 @@ +#include "../options.hpp" + +#include +#include +#include +#include +#include + +#include +#include +#include +#include + +using namespace fansi::literals; + +namespace dds::cli::cmd { + +static int _pkg_search(const options& opts) { + auto cat = opts.open_pkg_db(); + auto results = *dds::pkg_search(cat.database(), opts.pkg.search.pattern); + for (pkg_group_search_result const& found : results.found) { + fmt::print( + " Name: .bold[{}]\n" + "Versions: .bold[{}]\n" + " From: .bold[{}]\n" + " .bold[{}]\n\n"_styled, + found.name, + joinstr(", ", found.versions | ranges::views::transform(&semver::version::to_string)), + found.remote_name, + found.description); + } + + if (results.found.empty()) { + dds_log(error, + "There are no packages that match the given pattern \".bold.red[{}]\""_styled, + opts.pkg.search.pattern.value_or("*")); + write_error_marker("pkg-search-no-result"); + return 1; + } + return 0; +} + +int pkg_search(const options& opts) { + return boost::leaf::try_catch( + [&] { + try { + return _pkg_search(opts); + } catch (...) { + capture_exception(); + } + }, + [](e_nonesuch missing) { + missing.log_error( + "There are no packages that match the given pattern \".bold.red[{}]\""_styled); + write_error_marker("pkg-search-no-result"); + return 1; + }); +} + +} // namespace dds::cli::cmd diff --git a/src/dds/cli/cmd/repoman_add.cpp b/src/dds/cli/cmd/repoman_add.cpp new file mode 100644 index 00000000..dae04030 --- /dev/null +++ b/src/dds/cli/cmd/repoman_add.cpp @@ -0,0 +1,71 @@ +#include "../options.hpp" + +#include +#include +#include +#include +#include +#include + +#include +#include +#include + +namespace dds::cli::cmd { + +static int _repoman_add(const options& opts) { + auto rpkg = any_remote_pkg::from_url(neo::url::parse(opts.repoman.add.url_str)); + auto temp_sdist = get_package_sdist(rpkg); + + dds::pkg_listing add_info{ + .ident = temp_sdist.sdist.manifest.id, + .deps = temp_sdist.sdist.manifest.dependencies, + .description = opts.repoman.add.description, + .remote_pkg = rpkg, + }; + + auto repo = repo_manager::open(opts.repoman.repo_dir); + repo.add_pkg(add_info, opts.repoman.add.url_str); + return 0; +} + +int repoman_add(const options& opts) { + return boost::leaf::try_catch( // + [&] { + try { + return _repoman_add(opts); + } catch (...) { + dds::capture_exception(); + } + }, + [](dds::e_sqlite3_error_exc, + boost::leaf::match, + dds::pkg_id pkid) { + dds_log(error, "Package {} is already present in the repository", pkid.to_string()); + write_error_marker("dup-pkg-add"); + return 1; + }, + [](http_status_error, http_response_info resp, neo::url url) { + dds_log(error, + "Error resulted from HTTP request [{}]: {} {}", + url.to_string(), + resp.status, + resp.status_message); + return 1; + }, + [](dds::user_error e, neo::url url) -> int { + dds_log(error, "Invalid URL '{}': {}", url.to_string(), e.what()); + write_error_marker("repoman-add-invalid-pkg-url"); + throw; + }, + [](dds::e_sqlite3_error_exc e, dds::e_repo_import_targz tgz) { + dds_log(error, "Database error while importing tar file {}: {}", tgz.path, e.message); + return 1; + }, + [](dds::e_system_error_exc e, dds::e_open_repo_db db) { + dds_log(error, "Error while opening repository database {}: {}", db.path, e.message); + return 1; + }); +} + +} // namespace dds::cli::cmd diff --git a/src/dds/cli/cmd/repoman_import.cpp b/src/dds/cli/cmd/repoman_import.cpp new file mode 100644 index 00000000..7f0aec45 --- /dev/null +++ b/src/dds/cli/cmd/repoman_import.cpp @@ -0,0 +1,57 @@ +#include "../options.hpp" + +#include +#include + +#include +#include +#include + +namespace dds::cli::cmd { + +static int _repoman_import(const options& opts) { + auto repo = repo_manager::open(opts.repoman.repo_dir); + for (auto pkg : opts.repoman.import.files) { + repo.import_targz(pkg); + } + return 0; +} + +int repoman_import(const options& opts) { + return boost::leaf::try_catch( // + [&] { + try { + return _repoman_import(opts); + } catch (...) { + dds::capture_exception(); + } + }, + [](dds::e_sqlite3_error_exc, + boost::leaf::match, + dds::e_repo_import_targz tgz, + dds::pkg_id pkid) { + dds_log(error, + "Package {} (from {}) is already present in the repository", + pkid.to_string(), + tgz.path); + return 1; + }, + [](dds::e_system_error_exc e, dds::e_repo_import_targz tgz) { + dds_log(error, "Failed to import file {}: {}", tgz.path, e.message); + return 1; + }, + [](const std::runtime_error& e, dds::e_repo_import_targz tgz) { + dds_log(error, "Unknown error while importing file {}: {}", tgz.path, e.what()); + return 1; + }, + [](dds::e_sqlite3_error_exc e, dds::e_repo_import_targz tgz) { + dds_log(error, "Database error while importing tar file {}: {}", tgz.path, e.message); + return 1; + }, + [](dds::e_system_error_exc e, dds::e_open_repo_db db) { + dds_log(error, "Error while opening repository database {}: {}", db.path, e.message); + return 1; + }); +} + +} // namespace dds::cli::cmd diff --git a/src/dds/cli/cmd/repoman_init.cpp b/src/dds/cli/cmd/repoman_init.cpp new file mode 100644 index 00000000..6fa2f2b6 --- /dev/null +++ b/src/dds/cli/cmd/repoman_init.cpp @@ -0,0 +1,48 @@ +#include "../options.hpp" + +#include +#include +#include + +#include +#include + +namespace dds::cli::cmd { + +static int _repoman_init(const options& opts) { + auto repo = repo_manager::create(opts.repoman.repo_dir, opts.repoman.init.name); + dds_log(info, "Created new repository '{}' in {}", repo.name(), repo.root()); + return 0; +} + +int repoman_init(const options& opts) { + return boost::leaf::try_catch( // + [&] { + try { + return _repoman_init(opts); + } catch (...) { + dds::capture_exception(); + } + }, + [](dds::e_sqlite3_error_exc e, dds::e_init_repo init, dds::e_init_repo_db init_db) { + dds_log(error, + "SQLite error while initializing repository in [{}] (SQlite database {}): {}", + init.path, + init_db.path, + e.message); + return 1; + }, + [](dds::e_system_error_exc e, dds::e_open_repo_db db) { + dds_log(error, "Error while opening repository database {}: {}", db.path, e.message); + return 1; + }, + [](dds::e_sqlite3_error_exc e, dds::e_init_repo init) { + dds_log(error, + "SQLite error while initializing repository in [{}]: {}", + init.path, + e.message); + return 1; + }); +} + +} // namespace dds::cli::cmd diff --git a/src/dds/cli/cmd/repoman_ls.cpp b/src/dds/cli/cmd/repoman_ls.cpp new file mode 100644 index 00000000..7c88989e --- /dev/null +++ b/src/dds/cli/cmd/repoman_ls.cpp @@ -0,0 +1,37 @@ +#include "../options.hpp" + +#include +#include +#include + +#include +#include + +#include + +namespace dds::cli::cmd { + +static int _repoman_ls(const options& opts) { + auto repo = repo_manager::open(opts.repoman.repo_dir); + for (auto id : repo.all_packages()) { + std::cout << id.to_string() << '\n'; + } + return 0; +} + +int repoman_ls(const options& opts) { + return boost::leaf::try_catch( // + [&] { + try { + return _repoman_ls(opts); + } catch (...) { + dds::capture_exception(); + } + }, + [](dds::e_system_error_exc e, dds::e_open_repo_db db) { + dds_log(error, "Error while opening repository database {}: {}", db.path, e.message); + return 1; + }); +} + +} // namespace dds::cli::cmd diff --git a/src/dds/cli/cmd/repoman_remove.cpp b/src/dds/cli/cmd/repoman_remove.cpp new file mode 100644 index 00000000..29fc4ab6 --- /dev/null +++ b/src/dds/cli/cmd/repoman_remove.cpp @@ -0,0 +1,45 @@ +#include "../options.hpp" + +#include +#include + +#include +#include +#include + +namespace dds::cli::cmd { + +static int _repoman_remove(const options& opts) { + auto repo = repo_manager::open(opts.repoman.repo_dir); + for (auto& str : opts.repoman.remove.pkgs) { + auto id = dds::pkg_id::parse(str); + repo.delete_package(id); + } + return 0; +} + +int repoman_remove(const options& opts) { + return boost::leaf::try_catch( // + [&] { + try { + return _repoman_remove(opts); + } catch (...) { + dds::capture_exception(); + } + }, + [](dds::e_system_error_exc e, dds::e_repo_delete_path tgz, dds::pkg_id pkid) { + dds_log(error, + "Cannot delete requested package '{}' from repository {}: {}", + pkid.to_string(), + tgz.path, + e.message); + write_error_marker("repoman-rm-no-such-package"); + return 1; + }, + [](dds::e_system_error_exc e, dds::e_open_repo_db db) { + dds_log(error, "Error while opening repository database {}: {}", db.path, e.message); + return 1; + }); +} + +} // namespace dds::cli::cmd diff --git a/src/dds/cli/dispatch_main.cpp b/src/dds/cli/dispatch_main.cpp new file mode 100644 index 00000000..1be462b3 --- /dev/null +++ b/src/dds/cli/dispatch_main.cpp @@ -0,0 +1,105 @@ +#include "./dispatch_main.hpp" + +#include "./error_handler.hpp" +#include "./options.hpp" + +#include +#include + +using namespace dds; + +namespace dds::cli { + +namespace cmd { +using command = int(const options&); + +command build_deps; +command build; +command compile_file; +command install_yourself; +command pkg_create; +command pkg_get; +command pkg_import; +command pkg_ls; +command pkg_repo_add; +command pkg_repo_update; +command pkg_repo_ls; +command pkg_repo_remove; +command pkg_search; +command repoman_add; +command repoman_import; +command repoman_init; +command repoman_ls; +command repoman_remove; + +} // namespace cmd + +int dispatch_main(const options& opts) noexcept { + return dds::handle_cli_errors([&] { + DDS_E_SCOPE(opts.subcommand); + switch (opts.subcommand) { + case subcommand::build: + return cmd::build(opts); + case subcommand::pkg: { + DDS_E_SCOPE(opts.pkg.subcommand); + switch (opts.pkg.subcommand) { + case pkg_subcommand::ls: + return cmd::pkg_ls(opts); + case pkg_subcommand::create: + return cmd::pkg_create(opts); + case pkg_subcommand::get: + return cmd::pkg_get(opts); + case pkg_subcommand::import: + return cmd::pkg_import(opts); + case pkg_subcommand::repo: { + DDS_E_SCOPE(opts.pkg.repo.subcommand); + switch (opts.pkg.repo.subcommand) { + case pkg_repo_subcommand::add: + return cmd::pkg_repo_add(opts); + case pkg_repo_subcommand::update: + return cmd::pkg_repo_update(opts); + case pkg_repo_subcommand::ls: + return cmd::pkg_repo_ls(opts); + case pkg_repo_subcommand::remove: + return cmd::pkg_repo_remove(opts); + case pkg_repo_subcommand::_none_:; + } + neo::unreachable(); + } + case pkg_subcommand::search: + return cmd::pkg_search(opts); + case pkg_subcommand::_none_:; + } + neo::unreachable(); + } + case subcommand::repoman: { + DDS_E_SCOPE(opts.repoman.subcommand); + switch (opts.repoman.subcommand) { + case repoman_subcommand::import: + return cmd::repoman_import(opts); + case repoman_subcommand::add: + return cmd::repoman_add(opts); + case repoman_subcommand::init: + return cmd::repoman_init(opts); + case repoman_subcommand::remove: + return cmd::repoman_remove(opts); + case repoman_subcommand::ls: + return cmd::repoman_ls(opts); + case repoman_subcommand::_none_:; + } + neo::unreachable(); + } + case subcommand::compile_file: + return cmd::compile_file(opts); + case subcommand::build_deps: + return cmd::build_deps(opts); + case subcommand::install_yourself: + return cmd::install_yourself(opts); + case subcommand::_none_:; + } + neo::unreachable(); + return 6; + }); +} + +} // namespace dds::cli diff --git a/src/dds/cli/dispatch_main.hpp b/src/dds/cli/dispatch_main.hpp new file mode 100644 index 00000000..3db6cbd8 --- /dev/null +++ b/src/dds/cli/dispatch_main.hpp @@ -0,0 +1,9 @@ +#pragma once + +namespace dds::cli { + +struct options; + +int dispatch_main(const options&) noexcept; + +} // namespace dds::cli \ No newline at end of file diff --git a/src/dds/cli/error_handler.cpp b/src/dds/cli/error_handler.cpp new file mode 100644 index 00000000..c7168d81 --- /dev/null +++ b/src/dds/cli/error_handler.cpp @@ -0,0 +1,111 @@ +#include "./error_handler.hpp" +#include "./options.hpp" + +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include + +using namespace dds; +using namespace fansi::literals; + +namespace { + +auto handlers = std::tuple( // + [](neo::url_validation_error exc, e_url_string bad_url) { + dds_log(error, "Invalid URL '{}': {}", bad_url.value, exc.what()); + return 1; + }, + [](boost::leaf::catch_ exc, + json5::parse_error parse_err, + boost::leaf::e_file_name* maybe_fpath) { + dds_log(error, "{}", exc.value().what()); + dds_log(error, "Invalid JSON5 was found: {}", parse_err.what()); + if (maybe_fpath) { + dds_log(error, " (While reading from [{}])", maybe_fpath->value); + } + dds_log(error, "{}", exc.value().explanation()); + write_error_marker("package-json5-parse-error"); + return 1; + }, + [](user_error exc, matchv) { + write_error_marker("build-failed-test-failed"); + dds_log(error, "{}", exc.what()); + dds_log(error, "{}", exc.explanation()); + dds_log(error, "Refer: {}", exc.error_reference()); + return 1; + }, + [](boost::leaf::catch_ exc) { + dds_log(error, "{}", exc.value().what()); + dds_log(error, "{}", exc.value().explanation()); + dds_log(error, "Refer: {}", exc.value().error_reference()); + return 1; + }, + [](user_cancelled) { + dds_log(critical, "Operation cancelled by the user"); + return 2; + }, + [](e_system_error_exc e, neo::url url, http_response_info) { + dds_log(error, + "An error occured while downloading [.bold.red[{}]]: {}"_styled, + url.to_string(), + e.message); + return 1; + }, + [](e_system_error_exc e, network_origin origin, neo::url* url) { + dds_log(error, + "Network error communicating with .bold.red[{}://{}:{}]: {}"_styled, + origin.protocol, + origin.hostname, + origin.port, + e.message); + if (url) { + dds_log(error, " (While accessing URL [.bold.red[{}]])"_styled, url->to_string()); + } + return 1; + }, + [](e_system_error_exc err, e_loading_toolchain, e_toolchain_file* tc_file) { + dds_log(error, "Failed to load toolchain: .br.yellow[{}]"_styled, err.message); + if (tc_file) { + dds_log(error, " (While loading from file [.bold.red[{}]])"_styled, tc_file->value); + } + return 1; + }, + [](e_system_error_exc exc, boost::leaf::verbose_diagnostic_info const& diag) { + dds_log(critical, + "An unhandled std::system_error arose. THIS IS A DDS BUG! Info: {}", + diag); + dds_log(critical, "Exception message from std::system_error: {}", exc.message); + return 42; + }, + [](boost::leaf::verbose_diagnostic_info const& diag) { + dds_log(critical, "An unhandled error arose. THIS IS A DDS BUG! Info: {}", diag); + return 42; + }); +} // namespace + +int dds::handle_cli_errors(std::function fn) noexcept { + return boost::leaf::try_catch( + [&] { + try { + return fn(); + } catch (...) { + capture_exception(); + } + }, + handlers); +} diff --git a/src/dds/cli/error_handler.hpp b/src/dds/cli/error_handler.hpp new file mode 100644 index 00000000..e0cd24f6 --- /dev/null +++ b/src/dds/cli/error_handler.hpp @@ -0,0 +1,9 @@ +#pragma once + +#include + +namespace dds { + +int handle_cli_errors(std::function) noexcept; + +} // namespace dds diff --git a/src/dds/cli/options.cpp b/src/dds/cli/options.cpp new file mode 100644 index 00000000..189087a0 --- /dev/null +++ b/src/dds/cli/options.cpp @@ -0,0 +1,541 @@ +#include "./options.hpp" + +#include +#include +#include +#include +#include +#include + +#include +#include + +using namespace dds; +using namespace debate; +using namespace fansi::literals; + +namespace { + +struct setup { + dds::cli::options& opts; + + explicit setup(dds::cli::options& opts) + : opts(opts) {} + + // Util argument common to a lot of operations + argument if_exists_arg{ + .long_spellings = {"if-exists"}, + .help = "What to do if the resource already exists", + .valname = "{replace,skip,fail}", + .action = put_into(opts.if_exists), + }; + + argument if_missing_arg{ + .long_spellings = {"if-missing"}, + .help = "What to do if the resource does not exist", + .valname = "{fail,ignore}", + .action = put_into(opts.if_missing), + }; + + argument toolchain_arg{ + .long_spellings = {"toolchain"}, + .short_spellings = {"t"}, + .help = "The toolchain to use when building", + .valname = "", + .action = put_into(opts.toolchain), + }; + + argument project_arg{ + .long_spellings = {"project"}, + .short_spellings = {"p"}, + .help = "The project to build. If not given, uses the current working directory", + .valname = "", + .action = put_into(opts.project_dir), + }; + + argument no_warn_arg{ + .long_spellings = {"no-warn", "no-warnings"}, + .help = "Disable build warnings", + .nargs = 0, + .action = store_true(opts.disable_warnings), + }; + + argument out_arg{ + .long_spellings = {"out", "output"}, + .short_spellings = {"o"}, + .help = "Path to the output", + .valname = "", + .action = put_into(opts.out_path), + }; + + argument lm_index_arg{ + .long_spellings = {"libman-index"}, + .help = "Path to a libman index to use", + .valname = "", + .action = put_into(opts.build.lm_index), + }; + + argument jobs_arg{ + .long_spellings = {"jobs"}, + .short_spellings = {"j"}, + .help = "Set the maximum number of parallel jobs to execute", + .valname = "", + .action = put_into(opts.jobs), + }; + + argument repoman_repo_dir_arg{ + .help = "The directory of the repository to manage", + .valname = "", + .required = true, + .action = put_into(opts.repoman.repo_dir), + }; + + argument tweaks_dir_arg{ + .long_spellings = {"tweaks-dir"}, + .short_spellings = {"TD"}, + .help + = "Base directory of " + "\x1b]8;;https://vector-of-bool.github.io/2020/10/04/lib-configuration.html\x1b\\tweak " + "headers\x1b]8;;\x1b\\ that should be available to the build.", + .valname = "", + .action = put_into(opts.build.tweaks_dir), + }; + + void do_setup(argument_parser& parser) noexcept { + parser.add_argument({ + .long_spellings = {"log-level"}, + .short_spellings = {"l"}, + .help = "" + "Set the dds logging level. One of 'trace', 'debug', 'info', \n" + "'warn', 'error', 'critical', or 'silent'", + .valname = "", + .action = put_into(opts.log_level), + }); + parser.add_argument({ + .long_spellings = {"data-dir"}, + .help + = "" + "(Advanced) " + "Override dds's data directory. This is used for various caches and databases.\n" + "The default is a user-local directory that differs depending on platform.", + .valname = "", + .action = put_into(opts.data_dir), + }); + parser.add_argument({ + .long_spellings = {"pkg-cache-dir"}, + .help = "(Advanced) Override dds's local package cache directory.", + .valname = "", + .action = put_into(opts.pkg_cache_dir), + }); + parser.add_argument({ + .long_spellings = {"pkg-db-path"}, + .help = "(Advanced) Override dds's default package database path.", + .valname = "", + .action = put_into(opts.pkg_db_dir), + }); + + setup_main_commands(parser.add_subparsers({ + .description = "The operation to perform", + .action = put_into(opts.subcommand), + })); + } + + void setup_main_commands(subparser_group& group) { + setup_build_cmd(group.add_parser({ + .name = "build", + .help = "Build a project", + })); + setup_compile_file_cmd(group.add_parser({ + .name = "compile-file", + .help = "Compile individual files in the project", + })); + setup_build_deps_cmd(group.add_parser({ + .name = "build-deps", + .help = "Build a set of dependencies and generate a libman index", + })); + setup_pkg_cmd(group.add_parser({ + .name = "pkg", + .help = "Manage packages and package remotes", + })); + setup_repoman_cmd(group.add_parser({ + .name = "repoman", + .help = "Manage a dds package repository", + })); + setup_install_yourself_cmd(group.add_parser({ + .name = "install-yourself", + .help = "Have this dds executable install itself onto your PATH", + })); + } + + void setup_build_cmd(argument_parser& build_cmd) { + build_cmd.add_argument(toolchain_arg.dup()); + build_cmd.add_argument(project_arg.dup()); + build_cmd.add_argument({ + .long_spellings = {"no-tests"}, + .help = "Do not build and run project tests", + .nargs = 0, + .action = debate::store_false(opts.build.want_tests), + }); + build_cmd.add_argument({ + .long_spellings = {"no-apps"}, + .help = "Do not build project applications", + .nargs = 0, + .action = debate::store_false(opts.build.want_apps), + }); + build_cmd.add_argument(no_warn_arg.dup()); + build_cmd.add_argument(out_arg.dup()).help = "Directory where dds will write build results"; + + build_cmd.add_argument({ + .long_spellings = {"add-repo"}, + .help = "" + "Add remote repositories to the package database before building\n" + "(Implies --update-repos)", + .valname = "", + .can_repeat = true, + .action = debate::push_back_onto(opts.build.add_repos), + }); + build_cmd.add_argument({ + .long_spellings = {"update-repos"}, + .short_spellings = {"U"}, + .help = "Update package repositories before building", + .nargs = 0, + .action = debate::store_true(opts.build.update_repos), + }); + build_cmd.add_argument(lm_index_arg.dup()).help + = "Path to a libman index file to use for loading project dependencies"; + build_cmd.add_argument(jobs_arg.dup()); + build_cmd.add_argument(tweaks_dir_arg.dup()); + } + + void setup_compile_file_cmd(argument_parser& compile_file_cmd) noexcept { + compile_file_cmd.add_argument(project_arg.dup()); + compile_file_cmd.add_argument(toolchain_arg.dup()); + compile_file_cmd.add_argument(no_warn_arg.dup()).help = "Disable compiler warnings"; + compile_file_cmd.add_argument(jobs_arg.dup()).help + = "Set the maximum number of files to compile in parallel"; + compile_file_cmd.add_argument(lm_index_arg.dup()); + compile_file_cmd.add_argument(out_arg.dup()); + compile_file_cmd.add_argument(tweaks_dir_arg.dup()); + compile_file_cmd.add_argument({ + .help = "One or more source files to compile", + .valname = "", + .can_repeat = true, + .action = debate::push_back_onto(opts.compile_file.files), + }); + } + + void setup_build_deps_cmd(argument_parser& build_deps_cmd) noexcept { + build_deps_cmd.add_argument(toolchain_arg.dup()).required; + build_deps_cmd.add_argument(jobs_arg.dup()); + build_deps_cmd.add_argument(out_arg.dup()); + build_deps_cmd.add_argument(lm_index_arg.dup()).help + = "Destination path for the generated libman index file"; + build_deps_cmd.add_argument({ + .long_spellings = {"deps-file"}, + .short_spellings = {"d"}, + .help = "Path to a JSON5 file listing dependencies", + .valname = "", + .can_repeat = true, + .action = debate::push_back_onto(opts.build_deps.deps_files), + }); + build_deps_cmd.add_argument({ + .long_spellings = {"cmake"}, + .help = "Generate a CMake file at the given path that will create import targets for " + "the dependencies", + .valname = "", + .action = debate::put_into(opts.build_deps.cmake_file), + }); + build_deps_cmd.add_argument(tweaks_dir_arg.dup()); + build_deps_cmd.add_argument({ + .help = "Dependency statement strings", + .valname = "", + .can_repeat = true, + .action = debate::push_back_onto(opts.build_deps.deps), + }); + } + + void setup_pkg_cmd(argument_parser& pkg_cmd) { + auto& pkg_group = pkg_cmd.add_subparsers({ + .valname = "", + .action = put_into(opts.pkg.subcommand), + }); + setup_pkg_init_db_cmd(pkg_group.add_parser({ + .name = "init-db", + .help = "Initialize a new package database file (Path specified with '--pkg-db-path')", + })); + pkg_group.add_parser({ + .name = "ls", + .help = "List locally available packages", + }); + setup_pkg_create_cmd(pkg_group.add_parser({ + .name = "create", + .help = "Create a source distribution archive of a project", + })); + setup_pkg_get_cmd(pkg_group.add_parser({ + .name = "get", + .help = "Obtain a copy of a package from a remote", + })); + setup_pkg_import_cmd(pkg_group.add_parser({ + .name = "import", + .help = "Import a source distribution archive into the local package cache", + })); + setup_pkg_repo_cmd(pkg_group.add_parser({ + .name = "repo", + .help = "Manage package repositories", + })); + setup_pkg_search_cmd(pkg_group.add_parser({ + .name = "search", + .help = "Search for packages available to download", + })); + } + + void setup_pkg_create_cmd(argument_parser& pkg_create_cmd) { + pkg_create_cmd.add_argument(project_arg.dup()).help + = "Path to the project for which to create a source distribution.\n" + "Default is the current working directory."; + pkg_create_cmd.add_argument(out_arg.dup()).help + = "Destination path for the source distributioon archive"; + pkg_create_cmd.add_argument(if_exists_arg.dup()).help + = "What to do if the destination names an existing file"; + } + + void setup_pkg_get_cmd(argument_parser& pkg_get_cmd) { + pkg_get_cmd.add_argument({ + .valname = "", + .can_repeat = true, + .action = push_back_onto(opts.pkg.get.pkgs), + }); + pkg_get_cmd.add_argument(out_arg.dup()).help + = "Directory where obtained packages will be placed.\n" + "Default is the current working directory."; + } + + void setup_pkg_init_db_cmd(argument_parser& pkg_init_db_cmd) { + pkg_init_db_cmd.add_argument(if_exists_arg.dup()).help + = "What to do if the database file already exists"; + } + + void setup_pkg_import_cmd(argument_parser& pkg_import_cmd) noexcept { + pkg_import_cmd.add_argument({ + .long_spellings = {"stdin"}, + .help = "Import a source distribution archive from standard input", + .nargs = 0, + .action = debate::store_true(opts.pkg.import.from_stdin), + }); + pkg_import_cmd.add_argument(if_exists_arg.dup()).help + = "What to do if the package already exists in the local cache"; + pkg_import_cmd.add_argument({ + .help = "One or more paths/URLs to source distribution archives to import", + .valname = "", + .can_repeat = true, + .action = debate::push_back_onto(opts.pkg.import.items), + }); + } + + void setup_pkg_repo_cmd(argument_parser& pkg_repo_cmd) noexcept { + auto& pkg_repo_grp = pkg_repo_cmd.add_subparsers({ + .valname = "", + .action = put_into(opts.pkg.repo.subcommand), + }); + setup_pkg_repo_add_cmd(pkg_repo_grp.add_parser({ + .name = "add", + .help = "Add a package repository", + })); + setup_pkg_repo_remove_cmd(pkg_repo_grp.add_parser({ + .name = "remove", + .help = "Remove one or more package repositories", + })); + + pkg_repo_grp.add_parser({ + .name = "update", + .help = "Update package repository information", + }); + pkg_repo_grp.add_parser({ + .name = "ls", + .help = "List locally registered package repositories", + }); + } + + void setup_pkg_repo_add_cmd(argument_parser& pkg_repo_add_cmd) noexcept { + pkg_repo_add_cmd.add_argument({ + .help = "URL of a repository to add", + .valname = "", + .required = true, + .action = debate::put_into(opts.pkg.repo.add.url), + }); + pkg_repo_add_cmd.add_argument({ + .long_spellings = {"no-update"}, + .help = "Do not immediately update for the new package repository", + .nargs = 0, + .action = debate::store_false(opts.pkg.repo.add.update), + }); + } + + void setup_pkg_repo_remove_cmd(argument_parser& pkg_repo_remove_cmd) noexcept { + pkg_repo_remove_cmd.add_argument({ + .help = "Name of one or more repositories to remove", + .valname = "", + .can_repeat = true, + .action = push_back_onto(opts.pkg.repo.remove.names), + }); + pkg_repo_remove_cmd.add_argument(if_missing_arg.dup()).help + = "What to do if any of the named repositories do not exist"; + } + + void setup_pkg_search_cmd(argument_parser& pkg_repo_search_cmd) noexcept { + pkg_repo_search_cmd.add_argument({ + .help + = "A name or glob-style pattern. Only matching packages will be returned. \n" + "Searching is case-insensitive. Only the .italic[name] will be matched (not the \n" + "version).\n\nIf this parameter is omitted, the search will return .italic[all] \n" + "available packages."_styled, + .valname = "", + .action = put_into(opts.pkg.search.pattern), + }); + } + + void setup_repoman_cmd(argument_parser& repoman_cmd) { + auto& grp = repoman_cmd.add_subparsers({ + .valname = "", + .action = put_into(opts.repoman.subcommand), + }); + + setup_repoman_init_cmd(grp.add_parser({ + .name = "init", + .help = "Initialize a directory as a new repository", + })); + auto& ls_cmd = grp.add_parser({ + .name = "ls", + .help = "List the contents of a package repository directory", + }); + ls_cmd.add_argument(repoman_repo_dir_arg.dup()); + setup_repoman_add_cmd(grp.add_parser({ + .name = "add", + .help = "Add a package listing to the repository by URL", + })); + setup_repoman_import_cmd(grp.add_parser({ + .name = "import", + .help = "Import a source distribution into the repository", + })); + setup_repoman_remove_cmd(grp.add_parser({ + .name = "remove", + .help = "Remove packages from a package repository", + })); + } + + void setup_repoman_init_cmd(argument_parser& repoman_init_cmd) { + repoman_init_cmd.add_argument(repoman_repo_dir_arg.dup()); + repoman_init_cmd.add_argument(if_exists_arg.dup()).help + = "What to do if the directory exists and is already repository"; + repoman_init_cmd.add_argument({ + .long_spellings = {"name"}, + .short_spellings = {"n"}, + .help = "Specifiy the name of the new repository", + .valname = "", + .action = put_into(opts.repoman.init.name), + }); + } + + void setup_repoman_import_cmd(argument_parser& repoman_import_cmd) { + repoman_import_cmd.add_argument(repoman_repo_dir_arg.dup()); + repoman_import_cmd.add_argument({ + .help = "Paths to source distribution archives to import", + .valname = "", + .can_repeat = true, + .action = push_back_onto(opts.repoman.import.files), + }); + } + + void setup_repoman_add_cmd(argument_parser& repoman_add_cmd) { + repoman_add_cmd.add_argument(repoman_repo_dir_arg.dup()); + repoman_add_cmd.add_argument({ + .help = "URL to add to the repository", + .valname = "", + .required = true, + .action = put_into(opts.repoman.add.url_str), + }); + repoman_add_cmd.add_argument({ + .long_spellings = {"description"}, + .short_spellings = {"d"}, + .action = put_into(opts.repoman.add.description), + }); + } + + void setup_repoman_remove_cmd(argument_parser& repoman_remove_cmd) { + repoman_remove_cmd.add_argument(repoman_repo_dir_arg.dup()); + repoman_remove_cmd.add_argument({ + .help = "One or more identifiers of packages to remove", + .valname = "", + .can_repeat = true, + .action = push_back_onto(opts.repoman.remove.pkgs), + }); + } + + void setup_install_yourself_cmd(argument_parser& install_yourself_cmd) { + install_yourself_cmd.add_argument({ + .long_spellings = {"where"}, + .help = "The scope of the installation. For .bold[system], installs in a global \n" + "directory for all users of the system. For .bold[user], installs in a \n" + "user-specific directory for executable binaries."_styled, + .valname = "{user,system}", + .action = put_into(opts.install_yourself.where), + }); + install_yourself_cmd.add_argument({ + .long_spellings = {"dry-run"}, + .help + = "Do not actually perform any operations, but log what .italic[would] happen"_styled, + .nargs = 0, + .action = store_true(opts.dry_run), + }); + install_yourself_cmd.add_argument({ + .long_spellings = {"no-modify-path"}, + .help = "Do not attempt to modify the PATH environment variable", + .nargs = 0, + .action = store_false(opts.install_yourself.fixup_path_env), + }); + install_yourself_cmd.add_argument({ + .long_spellings = {"symlink"}, + .help = "Create a symlink at the installed location to the existing 'dds' executable\n" + "instead of copying the executable file", + .nargs = 0, + .action = store_true(opts.install_yourself.symlink), + }); + } +}; + +} // namespace + +void cli::options::setup_parser(debate::argument_parser& parser) noexcept { + setup{*this}.do_setup(parser); +} + +pkg_db dds::cli::options::open_pkg_db() const { + return pkg_db::open(this->pkg_db_dir.value_or(pkg_db::default_path())); +} + +toolchain dds::cli::options::load_toolchain() const { + if (!toolchain) { + auto def = dds::toolchain::get_default(); + if (!def) { + throw_user_error(); + } + return *def; + } + // Convert the given string to a toolchain + auto& tc_str = *toolchain; + DDS_E_SCOPE(e_loading_toolchain{tc_str}); + if (tc_str.starts_with(":")) { + DDS_E_SCOPE(e_toolchain_builtin{tc_str}); + auto default_tc = tc_str.substr(1); + auto tc = dds::toolchain::get_builtin(default_tc); + if (!tc.has_value()) { + throw_user_error< + errc::invalid_builtin_toolchain>("Invalid built-in toolchain name '{}'", + default_tc); + } + return std::move(*tc); + } else { + DDS_E_SCOPE(e_toolchain_file{tc_str}); + return parse_toolchain_json5(slurp_file(tc_str)); + } +} diff --git a/src/dds/cli/options.hpp b/src/dds/cli/options.hpp new file mode 100644 index 00000000..6a89a91b --- /dev/null +++ b/src/dds/cli/options.hpp @@ -0,0 +1,279 @@ +#pragma once + +#include +#include + +#include +#include +#include +#include + +namespace dds { + +namespace fs = std::filesystem; +class pkg_db; +class toolchain; + +namespace cli { + +/** + * @brief Top-level dds subcommands + */ +enum class subcommand { + _none_, + build, + compile_file, + build_deps, + pkg, + repoman, + install_yourself, +}; + +/** + * @brief 'dds pkg' subcommands + */ +enum class pkg_subcommand { + _none_, + ls, + get, + create, + import, + repo, + search, +}; + +/** + * @brief 'dds pkg repo' subcommands + */ +enum class pkg_repo_subcommand { + _none_, + add, + remove, + update, + ls, +}; + +/** + * @brief 'dds repoman' subcommands + * + */ +enum class repoman_subcommand { + _none_, + init, + import, + add, + remove, + ls, +}; + +/** + * @brief Options for `--if-exists` on the CLI + */ +enum class if_exists { + replace, + fail, + ignore, +}; + +enum class if_missing { + fail, + ignore, +}; + +/** + * @brief Complete aggregate of all dds command-line options, and some utilities + */ +struct options { + using path = fs::path; + using opt_path = std::optional; + using string = std::string; + using opt_string = std::optional; + + // The `--data-dir` argument + opt_path data_dir; + // The `--pkg-cache-dir' argument + opt_path pkg_cache_dir; + // The `--pkg-db-dir` argument + opt_path pkg_db_dir; + // The `--log-level` argument + log::level log_level = log::level::info; + // Any `--dry-run` argument + bool dry_run = false; + + // The top-most selected subcommand + enum subcommand subcommand; + + // Many subcommands use a '--project' argument, stored here, using the CWD as the default + path project_dir = fs::current_path(); + + // Compile and build commands with `--no-warnings`/`--no-warn` + bool disable_warnings = false; + // Compile and build commands' `--jobs` parameter + int jobs = 0; + // Compile and build commands' `--toolchain` option: + opt_string toolchain; + opt_path out_path; + + // Shared `--if-exists` argument: + cli::if_exists if_exists = cli::if_exists::fail; + // Shared '--if-missing' argument: + cli::if_missing if_missing = cli::if_missing::fail; + + /** + * @brief Open the package pkg_db based on the user-specified options. + * @return pkg_db + */ + pkg_db open_pkg_db() const; + /** + * @brief Load a dds toolchain as specified by the user, or a default. + * @return dds::toolchain + */ + dds::toolchain load_toolchain() const; + + /** + * @brief Parameters specific to 'dds build' + */ + struct { + bool want_tests = true; + bool want_apps = true; + opt_path lm_index; + std::vector add_repos; + bool update_repos = false; + opt_path tweaks_dir; + } build; + + /** + * @brief Parameters specific to 'dds compile-file' + */ + struct { + /// The files that the user has requested to be compiled + std::vector files; + } compile_file; + + /** + * @brief Parameters specific to 'dds build-deps' + */ + struct { + /// Files listed with '--deps-file' + std::vector deps_files; + /// Dependency strings provided directly in the command-line + std::vector deps; + /// Path to a CMake import file to write + opt_path cmake_file; + } build_deps; + + /** + * @brief Parameters and subcommands for 'dds pkg' + * + */ + struct { + /// The 'dds pkg' subcommand + pkg_subcommand subcommand; + + /** + * @brief Parameters for 'dds pkg import' + */ + struct { + /// File paths or URLs of packages to import + std::vector items; + /// Allow piping a package tarball in through stdin + bool from_stdin = false; + } import; + + /** + * @brief Parameters for 'dds pkg repo' + */ + struct { + /// The 'pkg repo' subcommand + pkg_repo_subcommand subcommand; + + /** + * @brief Parameters of 'dds pkg repo add' + */ + struct { + /// The repository URL + string url; + /// Whether we should update repo data after adding the repository + bool update = true; + } add; + + /** + * @brief Parameters of 'dds pkg repo remove' + */ + struct { + /// Repositories to remove (by name) + std::vector names; + } remove; + } repo; + + /** + * @brief Paramters for 'dds pkg get' + */ + struct { + /// Package IDs to download + std::vector pkgs; + } get; + + /** + * @brief Parameters for 'dds pkg search' + */ + struct { + /// The search pattern, if provided + opt_string pattern; + } search; + } pkg; + + /** + * @brief Parameters for 'dds repoman' + */ + struct { + /// Shared parameter between repoman subcommands: The directory we are acting upon + path repo_dir; + + /// The actual operation we are performing on the repository dir + repoman_subcommand subcommand; + + /// Options for 'dds repoman init' + struct { + /// The name of the new repository. If not provided, a random one will be generated + opt_string name; + } init; + + /// Options for 'dds repoman import' + struct { + /// sdist tarball file paths to import into the repository + std::vector files; + } import; + + /// Options for 'dds repoman add' + struct { + std::string url_str; + std::string description; + } add; + + /// Options for 'dds repoman remove' + struct { + /// Package IDs of packages to remove + std::vector pkgs; + } remove; + } repoman; + + struct { + enum where_e { + system, + user, + } where + = user; + bool fixup_path_env = true; + bool symlink = false; + } install_yourself; + + /** + * @brief Attach arguments and subcommands to the given argument parser, binding those arguments + * to the values in this object. + */ + void setup_parser(debate::argument_parser& parser) noexcept; +}; + +} // namespace cli +} // namespace dds diff --git a/src/dds/db/database.cpp b/src/dds/db/database.cpp index b49e3e2d..8f782cb1 100644 --- a/src/dds/db/database.cpp +++ b/src/dds/db/database.cpp @@ -14,89 +14,90 @@ using namespace dds; -namespace sqlite3 = neo::sqlite3; -using sqlite3::exec; -using namespace sqlite3::literals; +namespace nsql = neo::sqlite3; +using nsql::exec; +using namespace nsql::literals; +using namespace std::literals; namespace { -void migrate_1(sqlite3::database& db) { +void migrate_1(nsql::database& db) { db.exec(R"( - CREATE TABLE dds_files ( + DROP TABLE IF EXISTS dds_deps; + DROP TABLE IF EXISTS dds_file_commands; + DROP TABLE IF EXISTS dds_files; + DROP TABLE IF EXISTS dds_compile_deps; + DROP TABLE IF EXISTS dds_compilations; + DROP TABLE IF EXISTS dds_source_files; + CREATE TABLE dds_source_files ( file_id INTEGER PRIMARY KEY, path TEXT NOT NULL UNIQUE ); - CREATE TABLE dds_file_commands ( - command_id INTEGER PRIMARY KEY, + CREATE TABLE dds_compilations ( + compile_id INTEGER PRIMARY KEY, file_id - INTEGER - UNIQUE - NOT NULL - REFERENCES dds_files(file_id), + INTEGER NOT NULL + UNIQUE REFERENCES dds_source_files(file_id), command TEXT NOT NULL, - output TEXT NOT NULL + output TEXT NOT NULL, + n_compilations INTEGER NOT NULL DEFAULT 0, + avg_duration INTEGER NOT NULL DEFAULT 0 ); - CREATE TABLE dds_deps ( + CREATE TABLE dds_compile_deps ( input_file_id - INTEGER - NOT NULL - REFERENCES dds_files(file_id), + INTEGER NOT NULL + REFERENCES dds_source_files(file_id), output_file_id - INTEGER - NOT NULL - REFERENCES dds_files(file_id), + INTEGER NOT NULL + REFERENCES dds_source_files(file_id), input_mtime INTEGER NOT NULL, UNIQUE(input_file_id, output_file_id) ); )"); } -void ensure_migrated(sqlite3::database& db) { - sqlite3::transaction_guard tr{db}; +void ensure_migrated(nsql::database& db) { db.exec(R"( PRAGMA foreign_keys = 1; - CREATE TABLE IF NOT EXISTS dds_meta AS - WITH init (meta) AS (VALUES ('{"version": 0}')) + DROP TABLE IF EXISTS dds_meta; + CREATE TABLE IF NOT EXISTS dds_meta_1 AS + WITH init (version) AS (VALUES ('eggs')) SELECT * FROM init; )"); - auto meta_st = db.prepare("SELECT meta FROM dds_meta"); - auto [meta_json] = sqlite3::unpack_single(meta_st); + nsql::transaction_guard tr{db}; - auto meta = nlohmann::json::parse(meta_json); - if (!meta.is_object()) { - throw_external_error(); - } + auto version_st = db.prepare("SELECT version FROM dds_meta_1"); + auto [version_str] = nsql::unpack_single(version_st); - auto version_ = meta["version"]; - if (!version_.is_number_integer()) { - throw_external_error( - "The build database file is corrupted [bad dds_meta.version]"); - } - int version = version_; - if (version < 1) { + const auto cur_version = "alpha-5"sv; + if (cur_version != version_str) { + if (!version_str.empty()) { + dds_log(info, "NOTE: A prior version of the project build database was found."); + dds_log(info, "This is not an error, but incremental builds will be invalidated."); + dds_log(info, "The database is being upgraded, and no further action is necessary."); + } migrate_1(db); } - meta["version"] = 1; - exec(db, "UPDATE dds_meta SET meta=?", std::forward_as_tuple(meta.dump())); + exec(db.prepare("UPDATE dds_meta_1 SET version=?"), cur_version); } } // namespace database database::open(const std::string& db_path) { - auto db = sqlite3::database::open(db_path); + auto db = nsql::database::open(db_path); try { ensure_migrated(db); - } catch (const sqlite3::sqlite3_error& e) { + } catch (const nsql::sqlite3_error& e) { dds_log( error, "Failed to load the databsae. It appears to be invalid/corrupted. We'll delete it and " "create a new one. The exception message is: {}", e.what()); fs::remove(db_path); - db = sqlite3::database::open(db_path); + db = nsql::database::open(db_path); try { ensure_migrated(db); - } catch (const sqlite3::sqlite3_error& e) { + } catch (const nsql::sqlite3_error& e) { dds_log(critical, "Failed to apply database migrations to recovery database. This is a critical " "error. The exception message is: {}", @@ -107,25 +108,25 @@ database database::open(const std::string& db_path) { return database(std::move(db)); } -database::database(sqlite3::database db) +database::database(nsql::database db) : _db(std::move(db)) {} std::int64_t database::_record_file(path_ref path_) { auto path = fs::weakly_canonical(path_); - sqlite3::exec(_stmt_cache(R"( - INSERT OR IGNORE INTO dds_files (path) + nsql::exec(_stmt_cache(R"( + INSERT OR IGNORE INTO dds_source_files (path) VALUES (?) )"_sql), - std::forward_as_tuple(path.generic_string())); + path.generic_string()); auto& st = _stmt_cache(R"( SELECT file_id - FROM dds_files + FROM dds_source_files WHERE path = ?1 )"_sql); st.reset(); - auto str = path.generic_string(); - st.bindings[1] = str; - auto [rowid] = sqlite3::unpack_single(st); + auto str = path.generic_string(); + st.bindings()[1] = str; + auto [rowid] = nsql::unpack_single(st); return rowid; } @@ -133,37 +134,48 @@ void database::record_dep(path_ref input, path_ref output, fs::file_time_type in auto in_id = _record_file(input); auto out_id = _record_file(output); auto& st = _stmt_cache(R"( - INSERT OR REPLACE INTO dds_deps (input_file_id, output_file_id, input_mtime) + INSERT OR REPLACE INTO dds_compile_deps (input_file_id, output_file_id, input_mtime) VALUES (?, ?, ?) )"_sql); - sqlite3::exec(st, std::forward_as_tuple(in_id, out_id, input_mtime.time_since_epoch().count())); + nsql::exec(st, in_id, out_id, input_mtime.time_since_epoch().count()); } -void database::store_file_command(path_ref file, const command_info& cmd) { +void database::record_compilation(path_ref file, const completed_compilation& cmd) { auto file_id = _record_file(file); auto& st = _stmt_cache(R"( - INSERT OR REPLACE - INTO dds_file_commands(file_id, command, output) - VALUES (?1, ?2, ?3) + INSERT INTO dds_compilations(file_id, command, output, n_compilations, avg_duration) + VALUES (:file_id, :command, :output, 1, :duration) + ON CONFLICT(file_id) DO UPDATE SET + command = ?2, + output = ?3, + n_compilations = CASE + WHEN :duration < 500 THEN n_compilations + ELSE min(10, n_compilations + 1) + END, + avg_duration = CASE + WHEN :duration < 500 THEN avg_duration + ELSE avg_duration + ((:duration - avg_duration) / min(10, n_compilations + 1)) + END )"_sql); - sqlite3::exec(st, - std::forward_as_tuple(file_id, - std::string_view(cmd.command), - std::string_view(cmd.output))); + nsql::exec(st, + file_id, + std::string_view(cmd.quoted_command), + std::string_view(cmd.output), + cmd.duration.count()); } void database::forget_inputs_of(path_ref file) { auto& st = _stmt_cache(R"( WITH id_to_delete AS ( SELECT file_id - FROM dds_files + FROM dds_source_files WHERE path = ? ) - DELETE FROM dds_deps + DELETE FROM dds_compile_deps WHERE output_file_id IN id_to_delete )"_sql); - sqlite3::exec(st, std::forward_as_tuple(fs::weakly_canonical(file).generic_string())); + nsql::exec(st, fs::weakly_canonical(file).generic_string()); } std::optional> database::inputs_of(path_ref file_) const { @@ -171,20 +183,20 @@ std::optional> database::inputs_of(path_ref file_) auto& st = _stmt_cache(R"( WITH file AS ( SELECT file_id - FROM dds_files + FROM dds_source_files WHERE path = ? ) SELECT path, input_mtime - FROM dds_deps - JOIN dds_files ON input_file_id = file_id + FROM dds_compile_deps + JOIN dds_source_files ON input_file_id = file_id WHERE output_file_id IN file )"_sql); st.reset(); - st.bindings[1] = file.generic_string(); - auto tup_iter = sqlite3::iter_tuples(st); + st.bindings()[1] = file.generic_string(); + auto tup_iter = nsql::iter_tuples(st); std::vector ret; - for (auto& [path, mtime] : tup_iter) { + for (auto [path, mtime] : tup_iter) { ret.emplace_back( input_file_info{path, fs::file_time_type(fs::file_time_type::duration(mtime))}); } @@ -195,24 +207,24 @@ std::optional> database::inputs_of(path_ref file_) return ret; } -std::optional database::command_of(path_ref file_) const { +std::optional database::command_of(path_ref file_) const { auto file = fs::weakly_canonical(file_); auto& st = _stmt_cache(R"( WITH file AS ( SELECT file_id - FROM dds_files + FROM dds_source_files WHERE path = ? ) - SELECT command, output - FROM dds_file_commands + SELECT command, output, avg_duration + FROM dds_compilations WHERE file_id IN file )"_sql); st.reset(); - st.bindings[1] = file.generic_string(); - auto opt_res = sqlite3::unpack_single_opt(st); + st.bindings()[1] = file.generic_string(); + auto opt_res = nsql::unpack_single_opt(st); if (!opt_res) { return std::nullopt; } - auto& [cmd, out] = *opt_res; - return command_info{cmd, out}; -} \ No newline at end of file + auto& [cmd, out, dur] = *opt_res; + return completed_compilation{cmd, out, std::chrono::milliseconds(dur)}; +} diff --git a/src/dds/db/database.hpp b/src/dds/db/database.hpp index 4a148bac..280d4ccb 100644 --- a/src/dds/db/database.hpp +++ b/src/dds/db/database.hpp @@ -15,9 +15,11 @@ namespace dds { -struct command_info { - std::string command; +struct completed_compilation { + std::string quoted_command; std::string output; + // The amount of time that the command took to run + std::chrono::milliseconds duration; }; struct input_file_info { @@ -43,11 +45,11 @@ class database { } void record_dep(path_ref input, path_ref output, fs::file_time_type input_mtime); - void store_file_command(path_ref file, const command_info& cmd); + void record_compilation(path_ref file, const completed_compilation& cmd); void forget_inputs_of(path_ref file); std::optional> inputs_of(path_ref file) const; - std::optional command_of(path_ref file) const; + std::optional command_of(path_ref file) const; }; } // namespace dds \ No newline at end of file diff --git a/src/dds/dym.cpp b/src/dds/dym.cpp index eb7c4e1e..e1c25c4f 100644 --- a/src/dds/dym.cpp +++ b/src/dds/dym.cpp @@ -1,6 +1,7 @@ #include #include +#include #include #include @@ -10,8 +11,6 @@ using namespace dds; -thread_local dym_target* dym_target::_tls_current = nullptr; - std::size_t dds::lev_edit_distance(std::string_view a, std::string_view b) noexcept { const auto n_rows = b.size() + 1; const auto n_columns = a.size() + 1; diff --git a/src/dds/dym.hpp b/src/dds/dym.hpp index 8fae3417..e285da94 100644 --- a/src/dds/dym.hpp +++ b/src/dds/dym.hpp @@ -11,36 +11,6 @@ namespace dds { std::size_t lev_edit_distance(std::string_view a, std::string_view b) noexcept; -class dym_target { - std::optional _candidate; - dym_target* _tls_prev = nullptr; - static thread_local dym_target* _tls_current; - -public: - dym_target() - : _tls_prev(_tls_current) { - _tls_current = this; - } - dym_target(const dym_target&) = delete; - ~dym_target() { _tls_current = _tls_prev; } - - template - static void fill(Func&& fn) noexcept { - if (_tls_current) { - _tls_current->_candidate = fn(); - } - } - - auto& candidate() const noexcept { return _candidate; } - - std::string sentence_suffix() const noexcept { - if (_candidate) { - return " (Did you mean '" + *_candidate + "'?)"; - } - return ""; - } -}; - template std::optional did_you_mean(std::string_view given, Range&& strings) noexcept { auto cand = ranges::min_element(strings, ranges::less{}, [&](std::string_view candidate) { diff --git a/src/dds/error/errors.cpp b/src/dds/error/errors.cpp index 69d115f7..51b8d727 100644 --- a/src/dds/error/errors.cpp +++ b/src/dds/error/errors.cpp @@ -34,9 +34,13 @@ std::string error_url_suffix(dds::errc ec) noexcept { case errc::invalid_catalog_json: return "invalid-catalog-json.html"; case errc::no_catalog_remote_info: - return "no-catalog-remote-info.html"; + return "no-pkg-remote.html"; case errc::git_clone_failure: return "git-clone-failure.html"; + case errc::invalid_remote_url: + return "invalid-remote-url.html"; + case errc::http_download_failure: + return "http-failure.html"; case errc::invalid_repo_transform: return "invalid-repo-transform.html"; case errc::sdist_ident_mismatch: @@ -163,14 +167,21 @@ Check the JSON schema and try your submission again. )"; case errc::no_catalog_remote_info: return R"( -The catalog entry requires information regarding the remote acquisition method. -Refer to the documentation for details. +There is no package remote with the given name )"; case errc::git_clone_failure: return R"( dds tried to clone a repository using Git, but the clone operation failed. There are a variety of possible causes. It is best to check the output from Git in diagnosing this failure. +)"; + case errc::invalid_remote_url: + return R"(The given package/remote URL is invalid)"; + case errc::http_download_failure: + return R"( +There was a problem when trying to download data from an HTTP server. HTTP 40x +errors indicate problems on the client-side, and HTTP 50x errors indicate that +the server itself encountered an error. )"; case errc::invalid_repo_transform: return R"( @@ -280,10 +291,13 @@ std::string_view dds::default_error_string(dds::errc ec) noexcept { case errc::invalid_catalog_json: return "The given catalog JSON data is not valid"; case errc::no_catalog_remote_info: - return "The catalog JSON is missing remote acquisition information for one or more\n" - "packages"; + return "Tne named remote does not exist." BUG_STRING_SUFFIX; case errc::git_clone_failure: return "A git-clone operation failed."; + case errc::invalid_remote_url: + return "The given package/remote URL is not valid"; + case errc::http_download_failure: + return "There was an error downloading data from an HTTP server."; case errc::invalid_repo_transform: return "A repository filesystem transformation is invalid"; case errc::sdist_ident_mismatch: diff --git a/src/dds/error/errors.hpp b/src/dds/error/errors.hpp index 1f60fabb..d856c0bb 100644 --- a/src/dds/error/errors.hpp +++ b/src/dds/error/errors.hpp @@ -24,6 +24,8 @@ enum class errc { no_catalog_remote_info, git_clone_failure, + invalid_remote_url, + http_download_failure, invalid_repo_transform, sdist_ident_mismatch, sdist_exists, @@ -84,6 +86,16 @@ struct external_error : external_error_base { using error_invalid_default_toolchain = user_error; +template +auto make_user_error(std::string_view fmt_str, Args&&... args) { + return user_error(fmt::format(fmt_str, std::forward(args)...)); +} + +template +auto make_user_error() { + return user_error(std::string(default_error_string(ErrorCode))); +} + template [[noreturn]] void throw_user_error(std::string_view fmt_str, Args&&... args) { throw user_error(fmt::format(fmt_str, std::forward(args)...)); @@ -94,14 +106,24 @@ template throw user_error(std::string(default_error_string(ErrorCode))); } +template +auto make_external_error(std::string_view fmt_str, Args&&... args) { + return external_error(fmt::format(fmt_str, std::forward(args)...)); +} + +template +auto make_external_error() { + return external_error(std::string(default_error_string(ErrorCode))); +} + template [[noreturn]] void throw_external_error(std::string_view fmt_str, Args&&... args) { - throw external_error(fmt::format(fmt_str, std::forward(args)...)); + throw make_external_error(fmt::format(fmt_str, std::forward(args)...)); } template [[noreturn]] void throw_external_error() { - throw external_error(std::string(default_error_string(ErrorCode))); + throw make_external_error(std::string(default_error_string(ErrorCode))); } } // namespace dds diff --git a/src/dds/error/nonesuch.cpp b/src/dds/error/nonesuch.cpp new file mode 100644 index 00000000..288720fc --- /dev/null +++ b/src/dds/error/nonesuch.cpp @@ -0,0 +1,15 @@ +#include "./nonesuch.hpp" + +#include + +#include + +using namespace dds; +using namespace fansi::literals; + +void e_nonesuch::log_error(std::string_view fmt) const noexcept { + dds_log(error, fmt, given); + if (nearest) { + dds_log(error, " (Did you mean '.br.yellow[{}]'?)"_styled, *nearest); + } +} diff --git a/src/dds/error/nonesuch.hpp b/src/dds/error/nonesuch.hpp new file mode 100644 index 00000000..b7946d3d --- /dev/null +++ b/src/dds/error/nonesuch.hpp @@ -0,0 +1,19 @@ +#pragma once + +#include +#include + +namespace dds { + +struct e_nonesuch { + std::string given; + std::optional nearest; + + e_nonesuch(std::string_view gn, std::optional nr) noexcept + : given{gn} + , nearest{nr} {} + + void log_error(std::string_view fmt) const noexcept; +}; + +} // namespace dds diff --git a/src/dds/error/on_error.hpp b/src/dds/error/on_error.hpp new file mode 100644 index 00000000..c4b48fcf --- /dev/null +++ b/src/dds/error/on_error.hpp @@ -0,0 +1,17 @@ +#pragma once + +#include + +/** + * @brief Generate a callable object that returns the given expression. + * + * Use this as a parameter to leaf's error-loading APIs. + */ +#define DDS_E_ARG(...) ([&] { return __VA_ARGS__; }) + +/** + * @brief Generate a leaf::on_error object that loads the given expression into the currently + * in-flight error if the current scope is exitted via exception or a bad result<> + */ +#define DDS_E_SCOPE(...) \ + auto NEO_CONCAT(_err_info_, __LINE__) = boost::leaf::on_error(DDS_E_ARG(__VA_ARGS__)) diff --git a/src/dds/error/result.hpp b/src/dds/error/result.hpp new file mode 100644 index 00000000..36c28dac --- /dev/null +++ b/src/dds/error/result.hpp @@ -0,0 +1,12 @@ +#pragma once + +#include "./result_fwd.hpp" + +#include +#include + +namespace dds { + +using boost::leaf::new_error; + +} // namespace dds diff --git a/src/dds/error/result_fwd.hpp b/src/dds/error/result_fwd.hpp new file mode 100644 index 00000000..f7efb901 --- /dev/null +++ b/src/dds/error/result_fwd.hpp @@ -0,0 +1,14 @@ +#pragma once + +namespace boost::leaf { + +template +class result; + +} // namespace boost::leaf + +namespace dds { + +using boost::leaf::result; + +} // namespace dds diff --git a/src/dds/error/toolchain.hpp b/src/dds/error/toolchain.hpp new file mode 100644 index 00000000..6fc30ac1 --- /dev/null +++ b/src/dds/error/toolchain.hpp @@ -0,0 +1,19 @@ +#pragma once + +#include + +namespace dds { + +struct e_loading_toolchain { + std::string value; +}; + +struct e_toolchain_file { + std::string value; +}; + +struct e_toolchain_builtin { + std::string value; +}; + +} // namespace dds \ No newline at end of file diff --git a/src/dds/package/id.cpp b/src/dds/package/id.cpp deleted file mode 100644 index a22b5fba..00000000 --- a/src/dds/package/id.cpp +++ /dev/null @@ -1,32 +0,0 @@ -#include - -#include - -#include - -#include - -using namespace dds; - -package_id package_id::parse(std::string_view s) { - auto at_pos = s.find('@'); - if (at_pos == s.npos) { - throw_user_error("Invalid package ID '{}'", s); - } - - auto name = s.substr(0, at_pos); - auto ver_str = s.substr(at_pos + 1); - - return {std::string(name), semver::version::parse(ver_str)}; -} - -package_id::package_id(std::string_view n, semver::version v) - : name(n) - , version(std::move(v)) { - if (name.find('@') != name.npos) { - throw_user_error( - "Invalid package name '{}' (The '@' character is not allowed)"); - } -} - -std::string package_id::to_string() const noexcept { return name + "@" + version.to_string(); } \ No newline at end of file diff --git a/src/dds/repo/repo.cpp b/src/dds/pkg/cache.cpp similarity index 55% rename from src/dds/repo/repo.cpp rename to src/dds/pkg/cache.cpp index efd0192a..89602aa5 100644 --- a/src/dds/repo/repo.cpp +++ b/src/dds/pkg/cache.cpp @@ -1,14 +1,14 @@ -#include "./repo.hpp" +#include "./cache.hpp" -#include #include +#include +#include #include -#include #include #include -#include #include +#include #include #include #include @@ -20,16 +20,16 @@ using namespace dds; using namespace ranges; -void repository::_log_blocking(path_ref dirpath) noexcept { - dds_log(warn, "Another process has the repository directory locked [{}]", dirpath.string()); - dds_log(warn, "Waiting for repository to be released..."); +void pkg_cache::_log_blocking(path_ref dirpath) noexcept { + dds_log(warn, "Another process has the package cache directory locked [{}]", dirpath.string()); + dds_log(warn, "Waiting for cache to be released..."); } -void repository::_init_repo_dir(path_ref dirpath) noexcept { fs::create_directories(dirpath); } +void pkg_cache::_init_cache_dir(path_ref dirpath) noexcept { fs::create_directories(dirpath); } -fs::path repository::default_local_path() noexcept { return dds_data_dir() / "repo"; } +fs::path pkg_cache::default_local_path() noexcept { return dds_data_dir() / "pkg"; } -repository repository::_open_for_directory(bool writeable, path_ref dirpath) { +pkg_cache pkg_cache::_open_for_directory(bool writeable, path_ref dirpath) { auto try_read_sdist = [](path_ref p) -> std::optional { if (starts_with(p.filename().string(), ".")) { return std::nullopt; @@ -47,10 +47,11 @@ repository repository::_open_for_directory(bool writeable, path_ref dirpath) { auto entries = // Get the top-level `name-version` dirs - view_safe(fs::directory_iterator(dirpath)) // - // // Convert each dir into an `sdist` object + fs::directory_iterator(dirpath) // + | neo::lref // + // Convert each dir into an `sdist` object | ranges::views::transform(try_read_sdist) // - // // Drop items that failed to load + // Drop items that failed to load | ranges::views::filter([](auto&& opt) { return opt.has_value(); }) // | ranges::views::transform([](auto&& opt) { return *opt; }) // | to(); @@ -58,20 +59,20 @@ repository repository::_open_for_directory(bool writeable, path_ref dirpath) { return {writeable, dirpath, std::move(entries)}; } -void repository::add_sdist(const sdist& sd, if_exists ife_action) { +void pkg_cache::import_sdist(const sdist& sd, if_exists ife_action) { + neo_assertion_breadcrumbs("Importing sdist archive", sd.manifest.id.to_string()); if (!_write_enabled) { - dds_log( - critical, - "DDS attempted to write into a repository that wasn't opened with a write-lock. This " - "is a hard bug and should be reported. For the safety and integrity of the local " - "repository, we'll hard-exit immediately."); + dds_log(critical, + "DDS attempted to write into a cache that wasn't opened with a write-lock. This " + "is a hard bug and should be reported. For the safety and integrity of the local " + "cache, we'll hard-exit immediately."); std::terminate(); } - auto sd_dest = _root / sd.manifest.pkg_id.to_string(); + auto sd_dest = _root / sd.manifest.id.to_string(); if (fs::exists(sd_dest)) { auto msg = fmt:: - format("Package '{}' (Importing from [{}]) is already available in the local repo", - sd.manifest.pkg_id.to_string(), + format("Package '{}' (Importing from [{}]) is already available in the local cache", + sd.manifest.id.to_string(), sd.path.string()); if (ife_action == if_exists::throw_exc) { throw_user_error(msg); @@ -82,22 +83,35 @@ void repository::add_sdist(const sdist& sd, if_exists ife_action) { dds_log(info, msg + " - Replacing"); } } + + // Create a temporary location where we are creating it auto tmp_copy = sd_dest; tmp_copy.replace_filename(".tmp-import"); if (fs::exists(tmp_copy)) { fs::remove_all(tmp_copy); } fs::create_directories(tmp_copy.parent_path()); - fs::copy(sd.path, tmp_copy, fs::copy_options::recursive); + + // Re-create an sdist from the given sdist. This will prune non-sdist files, rather than just + // fs::copy_all from the source, which may contain extras. + sdist_params params{ + .project_dir = sd.path, + .dest_path = tmp_copy, + .include_apps = true, + .include_tests = true, + }; + create_sdist_in_dir(tmp_copy, params); + + // Swap out the temporary to the final location if (fs::exists(sd_dest)) { fs::remove_all(sd_dest); } fs::rename(tmp_copy, sd_dest); _sdists.insert(sdist::from_directory(sd_dest)); - dds_log(info, "Source distribution '{}' successfully exported", sd.manifest.pkg_id.to_string()); + dds_log(info, "Source distribution for '{}' successfully imported", sd.manifest.id.to_string()); } -const sdist* repository::find(const package_id& pkg) const noexcept { +const sdist* pkg_cache::find(const pkg_id& pkg) const noexcept { auto found = _sdists.find(pkg); if (found == _sdists.end()) { return nullptr; @@ -105,22 +119,22 @@ const sdist* repository::find(const package_id& pkg) const noexcept { return &*found; } -std::vector repository::solve(const std::vector& deps, - const catalog& ctlg) const { +std::vector pkg_cache::solve(const std::vector& deps, + const pkg_db& ctlg) const { return dds::solve( deps, - [&](std::string_view name) -> std::vector { + [&](std::string_view name) -> std::vector { auto mine = ranges::views::all(_sdists) // | ranges::views::filter( - [&](const sdist& sd) { return sd.manifest.pkg_id.name == name; }) - | ranges::views::transform([](const sdist& sd) { return sd.manifest.pkg_id; }); + [&](const sdist& sd) { return sd.manifest.id.name == name; }) + | ranges::views::transform([](const sdist& sd) { return sd.manifest.id; }); auto avail = ctlg.by_name(name); auto all = ranges::views::concat(mine, avail) | ranges::to_vector; - ranges::sort(all, std::less<>{}); - ranges::unique(all, std::less<>{}); + ranges::sort(all, std::less{}); + ranges::unique(all, std::less{}); return all; }, - [&](const package_id& pkg_id) { + [&](const pkg_id& pkg_id) { auto found = find(pkg_id); if (found) { return found->manifest.dependencies; diff --git a/src/dds/repo/repo.hpp b/src/dds/pkg/cache.hpp similarity index 58% rename from src/dds/repo/repo.hpp rename to src/dds/pkg/cache.hpp index a7fe8340..17555943 100644 --- a/src/dds/repo/repo.hpp +++ b/src/dds/pkg/cache.hpp @@ -1,7 +1,7 @@ #pragma once -#include -#include +#include +#include #include #include @@ -15,7 +15,7 @@ namespace dds { -enum repo_flags { +enum pkg_cache_flags { none = 0b00, read = none, create_if_absent = 0b01, @@ -28,40 +28,40 @@ enum class if_exists { ignore, }; -inline repo_flags operator|(repo_flags a, repo_flags b) { - return static_cast(int(a) | int(b)); +inline pkg_cache_flags operator|(pkg_cache_flags a, pkg_cache_flags b) { + return static_cast(int(a) | int(b)); } -class repository { +class pkg_cache { using sdist_set = std::set; bool _write_enabled = false; fs::path _root; sdist_set _sdists; - repository(bool writeable, path_ref p, sdist_set sds) + pkg_cache(bool writeable, path_ref p, sdist_set sds) : _write_enabled(writeable) , _root(p) , _sdists(std::move(sds)) {} - static void _log_blocking(path_ref dir) noexcept; - static void _init_repo_dir(path_ref dir) noexcept; - static repository _open_for_directory(bool writeable, path_ref); + static void _log_blocking(path_ref dir) noexcept; + static void _init_cache_dir(path_ref dir) noexcept; + static pkg_cache _open_for_directory(bool writeable, path_ref); public: template - static decltype(auto) with_repository(path_ref dirpath, repo_flags flags, Func&& fn) { + static decltype(auto) with_cache(path_ref dirpath, pkg_cache_flags flags, Func&& fn) { if (!fs::exists(dirpath)) { - if (flags & repo_flags::create_if_absent) { - _init_repo_dir(dirpath); + if (flags & pkg_cache_flags::create_if_absent) { + _init_cache_dir(dirpath); } } - shared_file_mutex mut{dirpath / ".dds-repo-lock"}; + shared_file_mutex mut{dirpath / ".dds-cache-lock"}; std::shared_lock shared_lk{mut, std::defer_lock}; std::unique_lock excl_lk{mut, std::defer_lock}; - bool writeable = (flags & repo_flags::write_lock) != repo_flags::none; + bool writeable = (flags & pkg_cache_flags::write_lock) != pkg_cache_flags::none; if (writeable) { if (!excl_lk.try_lock()) { @@ -75,15 +75,15 @@ class repository { } } - auto repo = _open_for_directory(writeable, dirpath); - return std::invoke(NEO_FWD(fn), std::move(repo)); + auto cache = _open_for_directory(writeable, dirpath); + return std::invoke(NEO_FWD(fn), std::move(cache)); } static fs::path default_local_path() noexcept; - void add_sdist(const sdist&, if_exists = if_exists::throw_exc); + void import_sdist(const sdist&, if_exists = if_exists::throw_exc); - const sdist* find(const package_id& pk) const noexcept; + const sdist* find(const pkg_id& pk) const noexcept; auto iter_sdists() const noexcept { class ret { @@ -99,7 +99,7 @@ class repository { return r; } - std::vector solve(const std::vector& deps, const catalog&) const; + std::vector solve(const std::vector& deps, const pkg_db&) const; }; } // namespace dds \ No newline at end of file diff --git a/src/dds/pkg/db.cpp b/src/dds/pkg/db.cpp new file mode 100644 index 00000000..b4aa9573 --- /dev/null +++ b/src/dds/pkg/db.cpp @@ -0,0 +1,394 @@ +#include "./db.hpp" + +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +using namespace dds; + +namespace nsql = neo::sqlite3; +using namespace neo::sqlite3::literals; + +namespace dds { + +void add_init_repo(nsql::database_ref db) noexcept; + +} // namespace dds + +namespace { + +void migrate_repodb_1(nsql::database& db) { + db.exec(R"( + CREATE TABLE dds_cat_pkgs ( + pkg_id INTEGER PRIMARY KEY AUTOINCREMENT, + name TEXT NOT NULL, + version TEXT NOT NULL, + git_url TEXT, + git_ref TEXT, + lm_name TEXT, + lm_namespace TEXT, + description TEXT NOT NULL, + UNIQUE(name, version), + CONSTRAINT has_source_info CHECK( + ( + git_url NOT NULL + AND git_ref NOT NULL + ) + = 1 + ), + CONSTRAINT valid_lm_info CHECK( + ( + lm_name NOT NULL + AND lm_namespace NOT NULL + ) + + + ( + lm_name ISNULL + AND lm_namespace ISNULL + ) + = 1 + ) + ); + + CREATE TABLE dds_cat_pkg_deps ( + dep_id INTEGER PRIMARY KEY AUTOINCREMENT, + pkg_id INTEGER NOT NULL REFERENCES dds_cat_pkgs(pkg_id), + dep_name TEXT NOT NULL, + low TEXT NOT NULL, + high TEXT NOT NULL, + UNIQUE(pkg_id, dep_name) + ); + )"); +} + +void migrate_repodb_2(nsql::database& db) { + db.exec(R"( + ALTER TABLE dds_cat_pkgs + ADD COLUMN repo_transform TEXT NOT NULL DEFAULT '[]' + )"); +} + +void migrate_repodb_3(nsql::database& db) { + db.exec(R"( + CREATE TABLE dds_pkg_remotes ( + remote_id INTEGER PRIMARY KEY AUTOINCREMENT, + name TEXT NOT NULL UNIQUE, + url TEXT NOT NULL, + db_etag TEXT, + db_mtime TEXT + ); + + CREATE TABLE dds_pkgs ( + pkg_id INTEGER PRIMARY KEY AUTOINCREMENT, + name TEXT NOT NULL, + version TEXT NOT NULL, + description TEXT NOT NULL, + remote_url TEXT NOT NULL, + remote_id INTEGER + REFERENCES dds_pkg_remotes + ON DELETE CASCADE, + UNIQUE (name, version, remote_id) + ); + + INSERT INTO dds_pkgs(pkg_id, + name, + version, + description, + remote_url) + SELECT pkg_id, + name, + version, + description, + 'git+' || git_url || ( + CASE + WHEN lm_name ISNULL THEN '' + ELSE ('?lm=' || lm_namespace || '/' || lm_name) + END + ) || '#' || git_ref + FROM dds_cat_pkgs; + + CREATE TABLE dds_pkg_deps ( + dep_id INTEGER PRIMARY KEY AUTOINCREMENT, + pkg_id INTEGER + NOT NULL + REFERENCES dds_pkgs(pkg_id) + ON DELETE CASCADE, + dep_name TEXT NOT NULL, + low TEXT NOT NULL, + high TEXT NOT NULL, + UNIQUE(pkg_id, dep_name) + ); + + INSERT INTO dds_pkg_deps SELECT * FROM dds_cat_pkg_deps; + + DROP TABLE dds_cat_pkg_deps; + DROP TABLE dds_cat_pkgs; + )"); +} + +void do_store_pkg(neo::sqlite3::database& db, + neo::sqlite3::statement_cache& st_cache, + const pkg_listing& pkg) { + dds_log(debug, "Recording package {}@{}", pkg.ident.name, pkg.ident.version.to_string()); + auto& store_pkg_st = st_cache(R"( + INSERT OR REPLACE INTO dds_pkgs + (name, version, remote_url, description) + VALUES + (?, ?, ?, ?) + )"_sql); + nsql::exec(store_pkg_st, + pkg.ident.name, + pkg.ident.version.to_string(), + pkg.remote_pkg.to_url_string(), + pkg.description); + + auto db_pkg_id = db.last_insert_rowid(); + auto& new_dep_st = st_cache(R"( + INSERT INTO dds_pkg_deps ( + pkg_id, + dep_name, + low, + high + ) VALUES ( + ?, + ?, + ?, + ? + ) + )"_sql); + for (const auto& dep : pkg.deps) { + new_dep_st.reset(); + assert(dep.versions.num_intervals() == 1); + auto iv_1 = *dep.versions.iter_intervals().begin(); + dds_log(trace, " Depends on: {}", dep.to_string()); + nsql::exec(new_dep_st, db_pkg_id, dep.name, iv_1.low.to_string(), iv_1.high.to_string()); + } +} + +void ensure_migrated(nsql::database& db) { + db.exec(R"( + PRAGMA foreign_keys = 1; + CREATE TABLE IF NOT EXISTS dds_cat_meta AS + WITH init(meta) AS (VALUES ('{"version": 0}')) + SELECT * FROM init; + )"); + nsql::transaction_guard tr{db}; + + auto meta_st = db.prepare("SELECT meta FROM dds_cat_meta"); + auto [meta_json] = nsql::unpack_single(meta_st); + + auto meta = nlohmann::json::parse(meta_json); + if (!meta.is_object()) { + dds_log(critical, "Root of database dds_cat_meta cell should be a JSON object"); + throw_external_error(); + } + + auto version_ = meta["version"]; + if (!version_.is_number_integer()) { + dds_log(critical, "'version' key in dds_cat_meta is not an integer"); + throw_external_error( + "The database metadata is invalid [bad dds_meta.version]"); + } + + constexpr int current_database_version = 3; + + int version = version_; + + if (version > current_database_version) { + dds_log(critical, + "Catalog version is {}, but we only support up to {}", + version, + current_database_version); + throw_external_error(); + } + + if (version < 1) { + dds_log(debug, "Applying pkg_db migration 1"); + migrate_repodb_1(db); + } + if (version < 2) { + dds_log(debug, "Applying pkg_db migration 2"); + migrate_repodb_2(db); + } + if (version < 3) { + dds_log(debug, "Applying pkg_db migration 3"); + migrate_repodb_3(db); + } + meta["version"] = current_database_version; + exec(db.prepare("UPDATE dds_cat_meta SET meta=?"), meta.dump()); + tr.commit(); + + if (version < 3 && !getenv_bool("DDS_NO_ADD_INITIAL_REPO")) { + // Version 3 introduced remote repositories. If we're updating to 3, add that repo now + dds_log(info, "Downloading initial repository"); + dds::add_init_repo(db); + } +} + +} // namespace + +fs::path pkg_db::default_path() noexcept { return dds_data_dir() / "pkgs.db"; } + +pkg_db pkg_db::open(const std::string& db_path) { + if (db_path != ":memory:") { + auto pardir = fs::weakly_canonical(db_path).parent_path(); + fs::create_directories(pardir); + } + dds_log(debug, "Opening package database [{}]", db_path); + auto db = nsql::database::open(db_path); + try { + ensure_migrated(db); + } catch (const nsql::sqlite3_error& e) { + dds_log(critical, + "Failed to load the package database. It appears to be invalid/corrupted. The " + "exception message is: {}", + e.what()); + throw_external_error(); + } + dds_log(trace, "Successfully opened database"); + return pkg_db(std::move(db)); +} + +pkg_db::pkg_db(nsql::database db) + : _db(std::move(db)) {} + +void pkg_db::store(const pkg_listing& pkg) { + nsql::transaction_guard tr{_db}; + do_store_pkg(_db, _stmt_cache, pkg); +} + +result pkg_db::get(const pkg_id& pk_id) const noexcept { + auto ver_str = pk_id.version.to_string(); + dds_log(trace, "Lookup package {}@{}", pk_id.name, ver_str); + auto& st = _stmt_cache(R"( + SELECT + pkg_id, + name, + version, + remote_url, + description + FROM dds_pkgs + WHERE name = ?1 AND version = ?2 + ORDER BY pkg_id DESC + )"_sql); + st.reset(); + st.bindings() = std::forward_as_tuple(pk_id.name, ver_str); + auto ec = st.step(std::nothrow); + if (ec == nsql::errc::done) { + return new_error([&] { + auto all_ids = this->all(); + auto id_strings + = ranges::views::transform(all_ids, [&](auto id) { return id.to_string(); }); + return e_nonesuch{pk_id.to_string(), did_you_mean(pk_id.to_string(), id_strings)}; + }); + } + neo_assert_always(invariant, + ec == nsql::errc::row, + "Failed to pull a package from the database", + ec, + pk_id.to_string(), + nsql::error_category().message(int(ec))); + + const auto& [pkg_id, name, version, remote_url, description] + = st.row().unpack(); + + ec = st.step(std::nothrow); + if (ec == nsql::errc::row) { + dds_log(warn, + "There is more than one entry for package {} in the database. One will be " + "chosen arbitrarily.", + pk_id.to_string()); + } + + neo_assert(invariant, + pk_id.name == name && pk_id.version == semver::version::parse(version), + "Package metadata does not match", + pk_id.to_string(), + name, + version); + + auto deps = dependencies_of(pk_id); + + auto info = pkg_listing{ + .ident = pk_id, + .deps = std::move(deps), + .description = std::move(description), + .remote_pkg = any_remote_pkg::from_url(neo::url::parse(remote_url)), + }; + + return info; +} + +auto pair_to_pkg_id = [](auto&& pair) { + const auto& [name, ver] = pair; + return pkg_id{name, semver::version::parse(ver)}; +}; + +std::vector pkg_db::all() const noexcept { + return nsql::exec_tuples( + _stmt_cache("SELECT name, version FROM dds_pkgs"_sql)) + | neo::lref // + | ranges::views::transform(pair_to_pkg_id) // + | ranges::to_vector; +} + +std::vector pkg_db::by_name(std::string_view sv) const noexcept { + return nsql::exec_tuples( // + _stmt_cache( + R"( + SELECT name, version + FROM dds_pkgs + WHERE name = ? + ORDER BY pkg_id DESC + )"_sql), + sv) // + | neo::lref // + | ranges::views::transform(pair_to_pkg_id) // + | ranges::to_vector; +} + +std::vector pkg_db::dependencies_of(const pkg_id& pkg) const noexcept { + dds_log(trace, "Lookup dependencies of {}@{}", pkg.name, pkg.version.to_string()); + return nsql::exec_tuples( // + _stmt_cache( + R"( + WITH this_pkg_id AS ( + SELECT pkg_id + FROM dds_pkgs + WHERE name = ? AND version = ? + ) + SELECT dep_name, low, high + FROM dds_pkg_deps + WHERE pkg_id IN this_pkg_id + ORDER BY dep_name + )"_sql), + pkg.name, + pkg.version.to_string()) // + | neo::lref // + | ranges::views::transform([](auto&& pair) { + auto& [name, low, high] = pair; + auto dep + = dependency{name, {semver::version::parse(low), semver::version::parse(high)}}; + dds_log(trace, " Depends: {}", dep.to_string()); + return dep; + }) // + | ranges::to_vector; +} diff --git a/src/dds/pkg/db.hpp b/src/dds/pkg/db.hpp new file mode 100644 index 00000000..3519a3ef --- /dev/null +++ b/src/dds/pkg/db.hpp @@ -0,0 +1,47 @@ +#pragma once + +#include "./listing.hpp" + +#include +#include + +#include +#include +#include + +#include +#include + +namespace dds { + +struct dependency; +struct pkg_id; + +class pkg_db { + neo::sqlite3::database _db; + mutable neo::sqlite3::statement_cache _stmt_cache{_db}; + + explicit pkg_db(neo::sqlite3::database db); + pkg_db(const pkg_db&) = delete; + +public: + pkg_db(pkg_db&&) = default; + pkg_db& operator=(pkg_db&&) = default; + + static pkg_db open(const std::string& db_path); + static pkg_db open(path_ref db_path) { return open(db_path.string()); } + + static fs::path default_path() noexcept; + + void store(const pkg_listing& info); + result get(const pkg_id& id) const noexcept; + + std::vector all() const noexcept; + std::vector by_name(std::string_view sv) const noexcept; + std::vector dependencies_of(const pkg_id& pkg) const noexcept; + + auto& database() noexcept { return _db; } + auto& database() const noexcept { return _db; } +}; + +} // namespace dds diff --git a/src/dds/pkg/db.test.cpp b/src/dds/pkg/db.test.cpp new file mode 100644 index 00000000..c1dcf271 --- /dev/null +++ b/src/dds/pkg/db.test.cpp @@ -0,0 +1,75 @@ +#include + +#include + +using namespace std::literals; + +TEST_CASE("Create a simple database") { + // Just create and run migrations on an in-memory database + auto repo = dds::pkg_db::open(":memory:"s); +} + +TEST_CASE("Open a database in a non-ascii path") { + ::setlocale(LC_ALL, ".utf8"); + auto THIS_DIR = dds::fs::canonical(__FILE__).parent_path(); + auto BUILD_DIR + = (THIS_DIR.parent_path().parent_path().parent_path() / "_build").lexically_normal(); + auto subdir = BUILD_DIR / "Ю́рий Алексе́евич Гага́рин"; + dds::fs::remove_all(subdir); + dds::pkg_db::open(subdir / "test.db"); + dds::fs::remove_all(subdir); +} + +struct pkg_db_test_case { + dds::pkg_db db = dds::pkg_db::open(":memory:"s); +}; + +TEST_CASE_METHOD(pkg_db_test_case, "Store a simple package") { + db.store(dds::pkg_listing{ + dds::pkg_id{"foo", semver::version::parse("1.2.3")}, + {}, + "example", + dds::any_remote_pkg::from_url(neo::url::parse("git+http://example.com#master")), + }); + + auto pkgs = db.by_name("foo"); + REQUIRE(pkgs.size() == 1); + CHECK(pkgs[0].name == "foo"); + CHECK(pkgs[0].version == semver::version::parse("1.2.3")); + auto info = db.get(pkgs[0]); + REQUIRE(info); + CHECK(info->ident == pkgs[0]); + CHECK(info->deps.empty()); + CHECK(info->remote_pkg.to_url_string() == "git+http://example.com#master"); + + // Update the entry with a new git remote ref + CHECK_NOTHROW(db.store(dds::pkg_listing{ + dds::pkg_id{"foo", semver::version::parse("1.2.3")}, + {}, + "example", + dds::any_remote_pkg::from_url(neo::url::parse("git+http://example.com#develop")), + })); + // The previous pkg_id is still a valid lookup key + info = db.get(pkgs[0]); + REQUIRE(info); + CHECK(info->remote_pkg.to_url_string() == "git+http://example.com#develop"); +} + +TEST_CASE_METHOD(pkg_db_test_case, "Package requirements") { + db.store(dds::pkg_listing{ + dds::pkg_id{"foo", semver::version::parse("1.2.3")}, + { + {"bar", {semver::version::parse("1.2.3"), semver::version::parse("1.4.0")}}, + {"baz", {semver::version::parse("5.3.0"), semver::version::parse("6.0.0")}}, + }, + "example", + dds::any_remote_pkg::from_url(neo::url::parse("git+http://example.com#master")), + }); + auto pkgs = db.by_name("foo"); + REQUIRE(pkgs.size() == 1); + CHECK(pkgs[0].name == "foo"); + auto deps = db.dependencies_of(pkgs[0]); + CHECK(deps.size() == 2); + CHECK(deps[0].name == "bar"); + CHECK(deps[1].name == "baz"); +} diff --git a/src/dds/pkg/get/base.cpp b/src/dds/pkg/get/base.cpp new file mode 100644 index 00000000..cd0a75fb --- /dev/null +++ b/src/dds/pkg/get/base.cpp @@ -0,0 +1,33 @@ +#include "./base.hpp" + +#include +#include + +#include + +using namespace dds; + +// void remote_pkg_base::generate_auto_lib_files(const pkg_id& pid, path_ref root) const { +// if (auto_lib.has_value()) { +// dds_log(info, "Generating library data automatically"); + +// auto pkg_strm = open(root / "package.json5", std::ios::binary | std::ios::out); +// auto man_json = nlohmann::json::object(); +// man_json["name"] = pid.name; +// man_json["version"] = pid.version.to_string(); +// man_json["namespace"] = auto_lib->namespace_; +// pkg_strm << nlohmann::to_string(man_json); + +// auto lib_strm = open(root / "library.json5", std::ios::binary | std::ios::out); +// auto lib_json = nlohmann::json::object(); +// lib_json["name"] = auto_lib->name; +// lib_strm << nlohmann::to_string(lib_json); +// } +// } + +void remote_pkg_base::get_sdist(path_ref dest) const { get_raw_directory(dest); } +void remote_pkg_base::get_raw_directory(path_ref dest) const { do_get_raw(dest); } + +neo::url remote_pkg_base::to_url() const { return do_to_url(); } + +std::string remote_pkg_base::to_url_string() const { return to_url().to_string(); } \ No newline at end of file diff --git a/src/dds/pkg/get/base.hpp b/src/dds/pkg/get/base.hpp new file mode 100644 index 00000000..e192f341 --- /dev/null +++ b/src/dds/pkg/get/base.hpp @@ -0,0 +1,26 @@ +#pragma once + +#include +#include +#include + +#include +#include + +namespace dds { + +struct pkg_id; + +class remote_pkg_base { + virtual void do_get_raw(path_ref dest) const = 0; + virtual neo::url do_to_url() const = 0; + +public: + void get_sdist(path_ref dest) const; + void get_raw_directory(path_ref dest) const; + + neo::url to_url() const; + std::string to_url_string() const; +}; + +} // namespace dds diff --git a/src/dds/pkg/get/dds_http.cpp b/src/dds/pkg/get/dds_http.cpp new file mode 100644 index 00000000..ea0963c2 --- /dev/null +++ b/src/dds/pkg/get/dds_http.cpp @@ -0,0 +1,41 @@ +#include "./dds_http.hpp" + +#include "./http.hpp" + +#include + +using namespace dds; + +neo::url dds_http_remote_pkg::do_to_url() const { + auto ret = repo_url; + ret.scheme = "dds+" + ret.scheme; + ret.path = fmt::format("{}/{}", ret.path, pkg_id.to_string()); + return ret; +} + +dds_http_remote_pkg dds_http_remote_pkg::from_url(const neo::url& url) { + auto repo_url = url; + if (repo_url.scheme.starts_with("dds+")) { + repo_url.scheme = repo_url.scheme.substr(4); + } else if (repo_url.scheme.ends_with("+dds")) { + repo_url.scheme = repo_url.scheme.substr(0, repo_url.scheme.size() - 4); + } else { + // Nothing to trim + } + + fs::path full_path = repo_url.path; + repo_url.path = full_path.parent_path().generic_string(); + auto pkg_id = dds::pkg_id::parse(full_path.filename().string()); + + return {repo_url, pkg_id}; +} + +void dds_http_remote_pkg::do_get_raw(path_ref dest) const { + auto http_url = repo_url; + fs::path path = fs::path(repo_url.path) / "pkg" / pkg_id.name / pkg_id.version.to_string() + / "sdist.tar.gz"; + http_url.path = path.lexically_normal().generic_string(); + http_remote_pkg http; + http.url = http_url; + http.get_raw_directory(dest); +} diff --git a/src/dds/pkg/get/dds_http.hpp b/src/dds/pkg/get/dds_http.hpp new file mode 100644 index 00000000..1ed7f238 --- /dev/null +++ b/src/dds/pkg/get/dds_http.hpp @@ -0,0 +1,31 @@ +#pragma once + +#include "./base.hpp" + +#include + +#include + +#include +#include + +namespace dds { + +class dds_http_remote_pkg : public remote_pkg_base { + void do_get_raw(path_ref) const override; + neo::url do_to_url() const override; + +public: + neo::url repo_url; + dds::pkg_id pkg_id; + + dds_http_remote_pkg() = default; + + dds_http_remote_pkg(neo::url u, dds::pkg_id pid) + : repo_url(u) + , pkg_id(pid) {} + + static dds_http_remote_pkg from_url(const neo::url& url); +}; + +} // namespace dds diff --git a/src/dds/pkg/get/dds_http.test.cpp b/src/dds/pkg/get/dds_http.test.cpp new file mode 100644 index 00000000..5e5786c1 --- /dev/null +++ b/src/dds/pkg/get/dds_http.test.cpp @@ -0,0 +1,12 @@ +#include "./dds_http.hpp" + +#include + +TEST_CASE("Parse a URL") { + auto pkg = dds::dds_http_remote_pkg::from_url( + neo::url::parse("dds+http://foo.bar/repo-dir/egg@1.2.3")); + CHECK(pkg.repo_url.to_string() == "http://foo.bar/repo-dir"); + CHECK(pkg.pkg_id.name == "egg"); + CHECK(pkg.pkg_id.version.to_string() == "1.2.3"); + CHECK(pkg.to_url_string() == "dds+http://foo.bar/repo-dir/egg@1.2.3"); +} diff --git a/src/dds/pkg/get/get.cpp b/src/dds/pkg/get/get.cpp new file mode 100644 index 00000000..577dcd0c --- /dev/null +++ b/src/dds/pkg/get/get.cpp @@ -0,0 +1,67 @@ +#include "./get.hpp" + +#include +#include +#include +#include +#include + +#include +#include +#include + +using namespace dds; + +temporary_sdist dds::get_package_sdist(const any_remote_pkg& rpkg) { + auto tmpdir = dds::temporary_dir::create(); + + rpkg.get_sdist(tmpdir.path()); + + auto sd_tmp_dir = dds::temporary_dir::create(); + sdist_params params{ + .project_dir = tmpdir.path(), + .dest_path = sd_tmp_dir.path(), + .force = true, + }; + auto sd = create_sdist(params); + return {sd_tmp_dir, sd}; +} + +temporary_sdist dds::get_package_sdist(const pkg_listing& pkg) { + auto tsd = get_package_sdist(pkg.remote_pkg); + if (!(tsd.sdist.manifest.id == pkg.ident)) { + throw_external_error( + "The package name@version in the generated source distribution does not match the name " + "listed in the remote listing file (expected '{}', but got '{}')", + pkg.ident.to_string(), + tsd.sdist.manifest.id.to_string()); + } + return tsd; +} + +void dds::get_all(const std::vector& pkgs, pkg_cache& repo, const pkg_db& cat) { + std::mutex repo_mut; + + auto absent_pkg_infos + = pkgs // + | ranges::views::filter([&](auto pk) { + std::scoped_lock lk{repo_mut}; + return !repo.find(pk); + }) + | ranges::views::transform([&](auto id) { + auto info = cat.get(id); + neo_assert(invariant, !!info, "No database entry for package id?", id.to_string()); + return *info; + }); + + auto okay = parallel_run(absent_pkg_infos, 8, [&](pkg_listing inf) { + dds_log(info, "Download package: {}", inf.ident.to_string()); + auto tsd = get_package_sdist(inf); + std::scoped_lock lk{repo_mut}; + repo.import_sdist(tsd.sdist, if_exists::throw_exc); + }); + + if (!okay) { + throw_external_error("Downloading of packages failed."); + } +} diff --git a/src/dds/pkg/get/get.hpp b/src/dds/pkg/get/get.hpp new file mode 100644 index 00000000..b1ed0521 --- /dev/null +++ b/src/dds/pkg/get/get.hpp @@ -0,0 +1,18 @@ +#pragma once + +#include +#include + +namespace dds { + +class pkg_cache; +class pkg_db; +struct pkg_listing; +class any_remote_pkg; + +temporary_sdist get_package_sdist(const any_remote_pkg&); +temporary_sdist get_package_sdist(const pkg_listing&); + +void get_all(const std::vector& pkgs, dds::pkg_cache& repo, const pkg_db& cat); + +} // namespace dds diff --git a/src/dds/pkg/get/git.cpp b/src/dds/pkg/get/git.cpp new file mode 100644 index 00000000..445fce49 --- /dev/null +++ b/src/dds/pkg/get/git.cpp @@ -0,0 +1,59 @@ +#include "./git.hpp" + +#include +#include +#include +#include + +#include +#include + +using namespace dds; +using namespace std::literals; + +git_remote_pkg git_remote_pkg::from_url(const neo::url& url) { + if (!url.fragment) { + BOOST_LEAF_THROW_EXCEPTION( + user_error( + "Git URL requires a fragment specified the Git ref to clone"), + DDS_E_ARG(e_url_string{url.to_string()})); + } + git_remote_pkg ret; + ret.url = url; + if (url.scheme.starts_with("git+")) { + ret.url.scheme = url.scheme.substr(4); + } else if (url.scheme.ends_with("+git")) { + ret.url.scheme = url.scheme.substr(0, url.scheme.size() - 4); + } else { + // Leave the URL as-is + } + ret.ref = *url.fragment; + ret.url.fragment.reset(); + return ret; +} + +neo::url git_remote_pkg::do_to_url() const { + neo::url ret = url; + ret.fragment = ref; + if (ret.scheme != "git") { + ret.scheme = "git+" + ret.scheme; + } + return ret; +} + +void git_remote_pkg::do_get_raw(path_ref dest) const { + fs::remove(dest); + dds_log(info, "Clone Git repository [{}] (at {}) to [{}]", url.to_string(), ref, dest.string()); + auto command + = {"git"s, "clone"s, "--depth=1"s, "--branch"s, ref, url.to_string(), dest.string()}; + auto git_res = run_proc(command); + if (!git_res.okay()) { + BOOST_LEAF_THROW_EXCEPTION( + make_external_error( + "Git clone operation failed [Git command: {}] [Exitted {}]:\n{}", + quote_command(command), + git_res.retc, + git_res.output), + url); + } +} diff --git a/src/dds/pkg/get/git.hpp b/src/dds/pkg/get/git.hpp new file mode 100644 index 00000000..01f87d4c --- /dev/null +++ b/src/dds/pkg/get/git.hpp @@ -0,0 +1,22 @@ +#pragma once + +#include "./base.hpp" + +#include + +#include + +namespace dds { + +class git_remote_pkg : public remote_pkg_base { + void do_get_raw(path_ref) const override; + neo::url do_to_url() const override; + +public: + neo::url url; + std::string ref; + + static git_remote_pkg from_url(const neo::url&); +}; + +} // namespace dds diff --git a/src/dds/pkg/get/git.test.cpp b/src/dds/pkg/get/git.test.cpp new file mode 100644 index 00000000..aa32d1ee --- /dev/null +++ b/src/dds/pkg/get/git.test.cpp @@ -0,0 +1,9 @@ +#include "./git.hpp" + +#include + +TEST_CASE("Round-trip a URL") { + auto git = dds::git_remote_pkg::from_url( + neo::url::parse("http://github.com/vector-of-bool/neo-fun.git#0.4.0")); + CHECK(git.to_url_string() == "git+http://github.com/vector-of-bool/neo-fun.git#0.4.0"); +} diff --git a/src/dds/pkg/get/github.cpp b/src/dds/pkg/get/github.cpp new file mode 100644 index 00000000..12e824c1 --- /dev/null +++ b/src/dds/pkg/get/github.cpp @@ -0,0 +1,42 @@ +#include "./github.hpp" + +#include "./http.hpp" + +#include +#include + +#include +#include + +using namespace dds; + +neo::url github_remote_pkg::do_to_url() const { + neo::url ret; + ret.scheme = "github"; + ret.path = fmt::format("{}/{}/{}", owner, reponame, ref); + return ret; +} + +void github_remote_pkg::do_get_raw(path_ref dest) const { + http_remote_pkg http; + auto new_url = fmt::format("https://github.com/{}/{}/archive/{}.tar.gz", owner, reponame, ref); + http.url = neo::url::parse(new_url); + http.strip_n_components = 1; + http.get_raw_directory(dest); +} + +github_remote_pkg github_remote_pkg::from_url(const neo::url& url) { + fs::path path = url.path; + if (ranges::distance(path) != 3) { + BOOST_LEAF_THROW_EXCEPTION(make_user_error( + "'github:' URLs should have a path with three segments"), + url); + } + github_remote_pkg ret; + // Split the three path elements as {owner}/{reponame}/{git-ref} + auto elem_iter = path.begin(); + ret.owner = (*elem_iter++).generic_string(); + ret.reponame = (*elem_iter++).generic_string(); + ret.ref = (*elem_iter).generic_string(); + return ret; +} diff --git a/src/dds/pkg/get/github.hpp b/src/dds/pkg/get/github.hpp new file mode 100644 index 00000000..c052201e --- /dev/null +++ b/src/dds/pkg/get/github.hpp @@ -0,0 +1,24 @@ +#pragma once + +#include "./base.hpp" + +#include + +#include +#include + +namespace dds { + +class github_remote_pkg : public remote_pkg_base { + void do_get_raw(path_ref) const override; + neo::url do_to_url() const override; + +public: + std::string owner; + std::string reponame; + std::string ref; + + static github_remote_pkg from_url(const neo::url&); +}; + +} // namespace dds diff --git a/src/dds/pkg/get/github.test.cpp b/src/dds/pkg/get/github.test.cpp new file mode 100644 index 00000000..57f33bd3 --- /dev/null +++ b/src/dds/pkg/get/github.test.cpp @@ -0,0 +1,11 @@ +#include "./github.hpp" + +#include + +TEST_CASE("Parse a github: URL") { + auto gh_pkg + = dds::github_remote_pkg::from_url(neo::url::parse("github:vector-of-bool/neo-fun/0.6.0")); + CHECK(gh_pkg.owner == "vector-of-bool"); + CHECK(gh_pkg.reponame == "neo-fun"); + CHECK(gh_pkg.ref == "0.6.0"); +} diff --git a/src/dds/pkg/get/http.cpp b/src/dds/pkg/get/http.cpp new file mode 100644 index 00000000..02d2e165 --- /dev/null +++ b/src/dds/pkg/get/http.cpp @@ -0,0 +1,123 @@ +#include "./http.hpp" + +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +using namespace dds; + +void http_remote_pkg::do_get_raw(path_ref dest) const { + dds_log(trace, "Downloading remote package via HTTP from [{}]", url.to_string()); + + if (url.scheme != "http" && url.scheme != "https") { + dds_log(error, "Unsupported URL scheme '{}' (in [{}])", url.scheme, url.to_string()); + BOOST_LEAF_THROW_EXCEPTION(user_error( + "The given URL download is not supported. (Only 'http' and " + "'https' URLs are supported)"), + DDS_E_ARG(e_url_string{url.to_string()})); + } + + neo_assert(invariant, + !!url.host, + "The given URL did not have a host part. This shouldn't be possible... Please file " + "a bug report.", + url.to_string()); + + // Create a temporary directory in which to download the archive + auto tdir = dds::temporary_dir::create(); + // For ease of debugging, use the filename from the URL, if possible + auto fname = fs::path(url.path).filename(); + if (fname.empty()) { + fname = "dds-download.tmp"; + } + auto dl_path = tdir.path() / fname; + fs::create_directories(tdir.path()); + + // Download the file! + { + auto& pool = http_pool::thread_local_pool(); + auto [client, resp] = pool.request(url); + auto dl_file = neo::file_stream::open(dl_path, neo::open_mode::write); + client.recv_body_into(resp, neo::stream_io_buffers{dl_file}); + } + + fs::create_directories(fs::absolute(dest)); + dds_log(debug, "Expanding downloaded package archive into [{}]", dest.string()); + std::ifstream infile{dl_path, std::ios::binary}; + try { + neo::expand_directory_targz( + neo::expand_options{ + .destination_directory = dest, + .input_name = dl_path.string(), + .strip_components = this->strip_n_components, + }, + infile); + } catch (const std::runtime_error& err) { + throw_external_error( + "The file downloaded from [{}] failed to extract (Inner error: {})", + url.to_string(), + err.what()); + } +} + +http_remote_pkg http_remote_pkg::from_url(const neo::url& url) { + neo_assert(expects, + url.scheme == neo::oper::any_of("http", "https"), + "Invalid URL for an HTTP remote", + url.to_string()); + + neo::url ret_url = url; + if (url.fragment) { + dds_log(warn, + "Fragment '{}' in URL [{}] will have no effect", + *url.fragment, + url.to_string()); + ret_url.fragment.reset(); + } + + ret_url.query = {}; + + unsigned n_strpcmp = 0; + + if (url.query) { + std::string query_acc; + + neo::basic_query_string_view qsv{*url.query}; + for (auto qstr : qsv) { + if (qstr.key_raw() == "__dds_strpcmp") { + n_strpcmp = static_cast(std::stoul(qstr.value_decoded())); + } else { + if (!query_acc.empty()) { + query_acc.push_back(';'); + } + query_acc.append(qstr.string()); + } + } + if (!query_acc.empty()) { + ret_url.query = query_acc; + } + } + + return {ret_url, n_strpcmp}; +} + +neo::url http_remote_pkg::do_to_url() const { + auto ret_url = url; + if (strip_n_components != 0) { + auto strpcmp_param = fmt::format("__dds_strpcmp={}", strip_n_components); + if (ret_url.query) { + *ret_url.query += ";" + strpcmp_param; + } else { + ret_url.query = strpcmp_param; + } + } + return ret_url; +} diff --git a/src/dds/pkg/get/http.hpp b/src/dds/pkg/get/http.hpp new file mode 100644 index 00000000..03d6ee10 --- /dev/null +++ b/src/dds/pkg/get/http.hpp @@ -0,0 +1,29 @@ +#pragma once + +#include "./base.hpp" + +#include + +#include +#include + +namespace dds { + +class http_remote_pkg : public remote_pkg_base { + void do_get_raw(path_ref) const override; + neo::url do_to_url() const override; + +public: + neo::url url; + unsigned strip_n_components = 0; + + http_remote_pkg() = default; + + http_remote_pkg(neo::url u, unsigned strpcmp) + : url(u) + , strip_n_components(strpcmp) {} + + static http_remote_pkg from_url(const neo::url& url); +}; + +} // namespace dds diff --git a/src/dds/pkg/get/http.test.cpp b/src/dds/pkg/get/http.test.cpp new file mode 100644 index 00000000..b71eabbe --- /dev/null +++ b/src/dds/pkg/get/http.test.cpp @@ -0,0 +1,19 @@ +#include "./http.hpp" + +#include +#include +#include + +#include + +TEST_CASE("Convert from URL") { + auto listing = dds::http_remote_pkg::from_url(neo::url::parse("http://example.org/foo")); + CHECK(listing.to_url_string() == "http://example.org/foo"); + listing.strip_n_components = 4; + CHECK(listing.to_url_string() == "http://example.org/foo?__dds_strpcmp=4"); + + listing = dds::http_remote_pkg::from_url( + neo::url::parse("http://example.org/foo?bar=baz;__dds_strpcmp=7;thing=foo#fragment")); + CHECK(listing.strip_n_components == 7); + CHECK(listing.to_url_string() == "http://example.org/foo?bar=baz;thing=foo;__dds_strpcmp=7"); +} diff --git a/src/dds/pkg/id.cpp b/src/dds/pkg/id.cpp new file mode 100644 index 00000000..a5995758 --- /dev/null +++ b/src/dds/pkg/id.cpp @@ -0,0 +1,30 @@ +#include + +#include +#include + +#include + +#include + +using namespace dds; + +pkg_id pkg_id::parse(const std::string_view s) { + DDS_E_SCOPE(e_invalid_pkg_id_str{std::string(s)}); + auto at_pos = s.find('@'); + if (at_pos == s.npos) { + BOOST_LEAF_THROW_EXCEPTION( + make_user_error("Package ID must contain an '@' symbol")); + } + + auto name = s.substr(0, at_pos); + auto ver_str = s.substr(at_pos + 1); + + try { + return {std::string(name), semver::version::parse(ver_str)}; + } catch (const semver::invalid_version& err) { + BOOST_LEAF_THROW_EXCEPTION(make_user_error(), err); + } +} + +std::string pkg_id::to_string() const noexcept { return name + "@" + version.to_string(); } diff --git a/src/dds/package/id.hpp b/src/dds/pkg/id.hpp similarity index 57% rename from src/dds/package/id.hpp rename to src/dds/pkg/id.hpp index 9bcb7410..82447542 100644 --- a/src/dds/package/id.hpp +++ b/src/dds/pkg/id.hpp @@ -8,6 +8,10 @@ namespace dds { +struct e_invalid_pkg_id_str { + std::string value; +}; + /** * Represents a unique package ID. We store this as a simple name-version pair. * @@ -15,34 +19,29 @@ namespace dds { * `to_string` method convert between this textual representation, and supports * full round-trips. */ -struct package_id { +struct pkg_id { /// The name of the package std::string name; /// The version of the package semver::version version; - /// Default-initialize a package_id with a blank name and a default version - package_id() = default; - /// Construct a package ID from a name-version pair - package_id(std::string_view s, semver::version v); - /** - * Parse the given string into a package_id object. + * Parse the given string into a pkg_id object. */ - static package_id parse(std::string_view); + static pkg_id parse(std::string_view); - /** - * Convert this package_id into its corresponding textual representation. + /**d + * Convert this pkg_id into its corresponding textual representation. * The returned string can be passed back to `parse()` for a round-trip */ std::string to_string() const noexcept; - friend bool operator<(const package_id& lhs, const package_id& rhs) noexcept { + friend bool operator<(const pkg_id& lhs, const pkg_id& rhs) noexcept { return std::tie(lhs.name, lhs.version) < std::tie(rhs.name, rhs.version); } - friend bool operator==(const package_id& lhs, const package_id& rhs) noexcept { + friend bool operator==(const pkg_id& lhs, const pkg_id& rhs) noexcept { return std::tie(lhs.name, lhs.version) == std::tie(rhs.name, rhs.version); } }; -} // namespace dds \ No newline at end of file +} // namespace dds diff --git a/src/dds/package/id.test.cpp b/src/dds/pkg/id.test.cpp similarity index 90% rename from src/dds/package/id.test.cpp rename to src/dds/pkg/id.test.cpp index afbac817..13bdd954 100644 --- a/src/dds/package/id.test.cpp +++ b/src/dds/pkg/id.test.cpp @@ -1,4 +1,4 @@ -#include +#include #include @@ -14,7 +14,7 @@ TEST_CASE("Package package ID strings") { {"foo@1.2.3-alpha", "foo", "1.2.3-alpha"}, })); - auto pk_id = dds::package_id::parse(id_str); + auto pk_id = dds::pkg_id::parse(id_str); CHECK(pk_id.to_string() == id_str); CHECK(pk_id.name == exp_name); CHECK(pk_id.version.to_string() == exp_ver); @@ -44,8 +44,8 @@ TEST_CASE("Package ordering") { {"foo@0.1.2-alpha", less_than, "foo@1.0.0"}, })); - auto lhs = dds::package_id::parse(lhs_str); - auto rhs = dds::package_id::parse(rhs_str); + auto lhs = dds::pkg_id::parse(lhs_str); + auto rhs = dds::pkg_id::parse(rhs_str); if (ord == less_than) { CHECK(lhs < rhs); diff --git a/src/dds/pkg/listing.cpp b/src/dds/pkg/listing.cpp new file mode 100644 index 00000000..0bd70256 --- /dev/null +++ b/src/dds/pkg/listing.cpp @@ -0,0 +1,54 @@ +#include "./listing.hpp" + +#include "./get/dds_http.hpp" +#include "./get/git.hpp" +#include "./get/github.hpp" +#include "./get/http.hpp" + +#include +#include +#include + +#include +#include +#include + +using namespace dds; + +any_remote_pkg::~any_remote_pkg() = default; +any_remote_pkg::any_remote_pkg() {} + +static std::shared_ptr do_parse_url(const neo::url& url) { + if (url.scheme == neo::oper::any_of("http", "https")) { + return std::make_shared(http_remote_pkg::from_url(url)); + } else if (url.scheme + == neo::oper::any_of("git", "git+https", "git+http", "https+git", "http+git")) { + return std::make_shared(git_remote_pkg::from_url(url)); + } else if (url.scheme == "github") { + return std::make_shared(github_remote_pkg::from_url(url)); + } else if (url.scheme == neo::oper::any_of("dds+http", "http+dds", "dds+https", "https+dds")) { + return std::make_shared(dds_http_remote_pkg::from_url(url)); + } else { + BOOST_LEAF_THROW_EXCEPTION(make_user_error( + "Unknown scheme '{}' for remote package listing URL", + url.scheme), + url); + } +} + +any_remote_pkg any_remote_pkg::from_url(const neo::url& url) { + auto ptr = do_parse_url(url); + return any_remote_pkg(ptr); +} + +neo::url any_remote_pkg::to_url() const { + neo_assert(expects, !!_impl, "Accessing an inactive any_remote_pkg"); + return _impl->to_url(); +} + +std::string any_remote_pkg::to_url_string() const { return to_url().to_string(); } + +void any_remote_pkg::get_sdist(path_ref dest) const { + neo_assert(expects, !!_impl, "Accessing an inactive any_remote_pkg"); + _impl->get_sdist(dest); +} diff --git a/src/dds/pkg/listing.hpp b/src/dds/pkg/listing.hpp new file mode 100644 index 00000000..1a6ec68d --- /dev/null +++ b/src/dds/pkg/listing.hpp @@ -0,0 +1,42 @@ +#pragma once + +#include +#include + +#include + +#include +#include +#include +#include + +namespace dds { + +class remote_pkg_base; + +class any_remote_pkg { + std::shared_ptr _impl; + + explicit any_remote_pkg(std::shared_ptr p) + : _impl(p) {} + +public: + any_remote_pkg(); + ~any_remote_pkg(); + + static any_remote_pkg from_url(const neo::url& url); + + neo::url to_url() const; + std::string to_url_string() const; + void get_sdist(path_ref dest) const; +}; + +struct pkg_listing { + pkg_id ident; + std::vector deps{}; + std::string description{}; + + any_remote_pkg remote_pkg{}; +}; + +} // namespace dds diff --git a/src/dds/pkg/listing.test.cpp b/src/dds/pkg/listing.test.cpp new file mode 100644 index 00000000..3bf0407d --- /dev/null +++ b/src/dds/pkg/listing.test.cpp @@ -0,0 +1,12 @@ +#include "./listing.hpp" + +#include + +TEST_CASE("Round trip a URL") { + auto listing + = dds::any_remote_pkg::from_url(neo::url::parse("http://example.org/package.tar.gz")); + CHECK(listing.to_url_string() == "http://example.org/package.tar.gz"); + + listing = dds::any_remote_pkg::from_url(neo::url::parse("git://example.org/repo#wat")); + CHECK(listing.to_url_string() == "git://example.org/repo#wat"); +} diff --git a/src/dds/pkg/remote.cpp b/src/dds/pkg/remote.cpp new file mode 100644 index 00000000..82c385e9 --- /dev/null +++ b/src/dds/pkg/remote.cpp @@ -0,0 +1,309 @@ +#include "./remote.hpp" + +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +using namespace dds; +using namespace fansi::literals; +namespace nsql = neo::sqlite3; + +namespace { + +struct remote_db { + temporary_dir _tempdir; + nsql::database db; + + static remote_db download_and_open(http_client& client, const http_response_info& resp) { + auto tempdir = temporary_dir::create(); + auto repo_db_dl = tempdir.path() / "repo.db"; + fs::create_directories(tempdir.path()); + auto outfile = neo::file_stream::open(repo_db_dl, neo::open_mode::write); + client.recv_body_into(resp, neo::stream_io_buffers(outfile)); + + auto db = nsql::open(repo_db_dl.string()); + return {tempdir, std::move(db)}; + } +}; + +} // namespace + +pkg_remote pkg_remote::connect(std::string_view url_str) { + DDS_E_SCOPE(e_url_string{std::string(url_str)}); + const auto url = neo::url::parse(url_str); + + auto& pool = http_pool::global_pool(); + auto db_url = url; + while (db_url.path.ends_with("/")) + db_url.path.pop_back(); + auto full_path = fmt::format("{}/{}", db_url.path, "repo.db"); + db_url.path = full_path; + auto [client, resp] = pool.request(db_url, http_request_params{.method = "GET"}); + auto db = remote_db::download_and_open(client, resp); + + auto name_st = db.db.prepare("SELECT name FROM dds_repo_meta"); + auto [name] = nsql::unpack_single(name_st); + + return {name, url}; +} + +void pkg_remote::store(nsql::database_ref db) { + auto st = db.prepare(R"( + INSERT INTO dds_pkg_remotes (name, url) + VALUES (?, ?) + ON CONFLICT (name) DO + UPDATE SET url = ?2 + )"); + nsql::exec(st, _name, _base_url.to_string()); +} + +void pkg_remote::update_pkg_db(nsql::database_ref db, + std::optional etag, + std::optional db_mtime) { + dds_log(info, + "Pulling repository contents for .cyan[{}] [{}`]"_styled, + _name, + _base_url.to_string()); + + auto& pool = http_pool::global_pool(); + auto url = _base_url; + while (url.path.ends_with("/")) + url.path.pop_back(); + auto full_path = fmt::format("{}/{}", url.path, "repo.db"); + url.path = full_path; + auto [client, resp] = pool.request(url, + http_request_params{ + .method = "GET", + .prior_etag = etag.value_or(""), + .last_modified = db_mtime.value_or(""), + }); + if (resp.not_modified()) { + // Cache hit + dds_log(info, "Package database {} is up-to-date", _name); + client.discard_body(resp); + return; + } + + auto rdb = remote_db::download_and_open(client, resp); + + auto base_url_str = _base_url.to_string(); + while (base_url_str.ends_with("/")) { + base_url_str.pop_back(); + } + + auto db_path = rdb._tempdir.path() / "repo.db"; + + auto rid_st = db.prepare("SELECT remote_id FROM dds_pkg_remotes WHERE name = ?"); + rid_st.bindings()[1] = _name; + auto [remote_id] = nsql::unpack_single(rid_st); + rid_st.reset(); + + dds_log(trace, "Attaching downloaded database"); + nsql::exec(db.prepare("ATTACH DATABASE ? AS remote"), db_path.string()); + neo_defer { db.exec("DETACH DATABASE remote"); }; + nsql::transaction_guard tr{db}; + dds_log(trace, "Clearing prior contents"); + nsql::exec( // + db.prepare(R"( + DELETE FROM dds_pkgs + WHERE remote_id = ? + )"), + remote_id); + dds_log(trace, "Importing packages"); + nsql::exec( // + db.prepare(R"( + INSERT INTO dds_pkgs + (name, version, description, remote_url, remote_id) + SELECT + name, + version, + description, + CASE + WHEN url LIKE 'dds:%@%' THEN + -- Convert 'dds:name@ver' to 'dds+/name@ver' + -- This will later resolve to the actual package URL + printf('dds+%s/%s', ?2, substr(url, 5)) + ELSE + -- Non-'dds:' URLs are kept as-is + url + END, + ?1 + FROM remote.dds_repo_packages + )"), + remote_id, + base_url_str); + dds_log(trace, "Importing dependencies"); + db.exec(R"( + INSERT OR REPLACE INTO dds_pkg_deps (pkg_id, dep_name, low, high) + SELECT + local_pkgs.pkg_id AS pkg_id, + dep_name, + low, + high + FROM remote.dds_repo_package_deps AS deps, + remote.dds_repo_packages AS pkgs USING(package_id), + dds_pkgs AS local_pkgs USING(name, version) + )"); + // Validate our database + dds_log(trace, "Running integrity check"); + auto fk_check = db.prepare("PRAGMA foreign_key_check"); + auto rows = nsql::iter_tuples(fk_check); + bool any_failed = false; + for (auto [child_table, rowid, parent_table, failed_idx] : rows) { + dds_log( + critical, + "Database foreign_key error after import: {0}.{3} referencing {2} violated at row {1}", + child_table, + rowid, + parent_table, + failed_idx); + any_failed = true; + } + auto int_check = db.prepare("PRAGMA main.integrity_check"); + for (auto [error] : nsql::iter_tuples(int_check)) { + if (error == "ok") { + continue; + } + dds_log(critical, "Database errors after import: {}", error); + any_failed = true; + } + if (any_failed) { + throw_external_error( + "Database update failed due to data integrity errors"); + } + + // Save the cache info for the remote + if (auto new_etag = resp.etag()) { + nsql::exec(db.prepare("UPDATE dds_pkg_remotes SET db_etag = ? WHERE name = ?"), + *new_etag, + _name); + } + if (auto mtime = resp.last_modified()) { + nsql::exec(db.prepare("UPDATE dds_pkg_remotes SET db_mtime = ? WHERE name = ?"), + *mtime, + _name); + } +} + +void dds::update_all_remotes(nsql::database_ref db) { + dds_log(info, "Updating catalog from all remotes"); + auto repos_st = db.prepare("SELECT name, url, db_etag, db_mtime FROM dds_pkg_remotes"); + auto tups = nsql::iter_tuples, + std::optional>(repos_st) + | ranges::to_vector; + + for (const auto& [name, url, etag, db_mtime] : tups) { + DDS_E_SCOPE(e_url_string{url}); + pkg_remote repo{name, neo::url::parse(url)}; + repo.update_pkg_db(db, etag, db_mtime); + } + + dds_log(info, "Recompacting database..."); + db.exec("VACUUM"); +} + +void dds::remove_remote(pkg_db& pkdb, std::string_view name) { + auto& db = pkdb.database(); + nsql::transaction_guard tr{db}; + auto get_rowid_st = db.prepare("SELECT remote_id FROM dds_pkg_remotes WHERE name = ?"); + get_rowid_st.bindings()[1] = name; + auto row = nsql::unpack_single_opt(get_rowid_st); + if (!row) { + BOOST_LEAF_THROW_EXCEPTION( // + make_user_error("There is no remote with name '{}'", + name), + [&] { + auto all_st = db.prepare("SELECT name FROM dds_pkg_remotes"); + auto tups = nsql::iter_tuples(all_st); + auto names = tups | ranges::views::transform([](auto&& tup) { + auto&& [n] = tup; + return n; + }) + | ranges::to_vector; + return e_nonesuch{name, did_you_mean(name, names)}; + }); + } + auto [rowid] = *row; + nsql::exec(db.prepare("DELETE FROM dds_pkg_remotes WHERE remote_id = ?"), rowid); +} + +void dds::add_init_repo(nsql::database_ref db) noexcept { + std::string_view init_repo = "https://repo-1.dds.pizza"; + // _Do not_ let errors stop us from continuing + bool okay = boost::leaf::try_catch( + [&]() -> bool { + try { + auto remote = pkg_remote::connect(init_repo); + remote.store(db); + update_all_remotes(db); + return true; + } catch (...) { + capture_exception(); + } + }, + [](http_status_error err, http_response_info resp, neo::url url) { + dds_log(error, + "An HTTP error occurred while adding the initial repository [{}]: HTTP Status " + "{} {}", + err.what(), + url.to_string(), + resp.status, + resp.status_message); + return false; + }, + [](e_sqlite3_error_exc e, neo::url url) { + dds_log(error, + "Error accessing remote database while adding initial repository: {}: {}", + url.to_string(), + e.message); + return false; + }, + [](e_sqlite3_error_exc e) { + dds_log(error, "Unexpected database error: {}", e.message); + return false; + }, + [](e_system_error_exc e, network_origin conn) { + dds_log(error, + "Error communicating with [.br.red[{}://{}:{}]`]: {}"_styled, + conn.protocol, + conn.hostname, + conn.port, + e.message); + return false; + }, + [](boost::leaf::diagnostic_info const& diag) -> int { + dds_log(critical, "Unhandled error while adding initial package repository: ", diag); + throw; + }); + if (!okay) { + dds_log(warn, "We failed to add the initial package repository [{}]", init_repo); + dds_log(warn, "No remote packages will be available until the above issue is resolved."); + dds_log( + warn, + "The remote package repository can be added again with [.br.yellow[dds pkg repo add \"{}\"]]"_styled, + init_repo); + } +} diff --git a/src/dds/pkg/remote.hpp b/src/dds/pkg/remote.hpp new file mode 100644 index 00000000..4310da3a --- /dev/null +++ b/src/dds/pkg/remote.hpp @@ -0,0 +1,39 @@ +#pragma once + +#include +#include + +#include + +namespace dds { + +class pkg_db; + +struct e_remote_name { + std::string value; +}; + +class pkg_remote { + std::string _name; + neo::url _base_url; + +public: + pkg_remote(std::string name, neo::url url) + : _name(std::move(name)) + , _base_url(std::move(url)) {} + pkg_remote() = default; + + static pkg_remote connect(std::string_view url); + + void store(neo::sqlite3::database_ref); + void update_pkg_db(neo::sqlite3::database_ref, + std::optional etag = {}, + std::optional last_modified = {}); +}; + +void update_all_remotes(neo::sqlite3::database_ref); +void remove_remote(pkg_db& db, std::string_view name); + +void add_init_repo(neo::sqlite3::database_ref db) noexcept; + +} // namespace dds diff --git a/src/dds/pkg/search.cpp b/src/dds/pkg/search.cpp new file mode 100644 index 00000000..0d3cd786 --- /dev/null +++ b/src/dds/pkg/search.cpp @@ -0,0 +1,76 @@ +#include "./search.hpp" + +#include +#include +#include +#include +#include + +#include +#include + +#include +#include +#include + +using namespace dds; +namespace nsql = neo::sqlite3; + +result dds::pkg_search(nsql::database_ref db, + std::optional pattern) noexcept { + auto search_st = db.prepare(R"( + SELECT pkg.name, + group_concat(version, ';;'), + description, + remote.name, + remote.url + FROM dds_pkgs AS pkg + JOIN dds_pkg_remotes AS remote USING(remote_id) + WHERE lower(pkg.name) GLOB lower(:pattern) + GROUP BY pkg.name, remote_id, description + ORDER BY remote.name, pkg.name + )"); + // If no pattern, grab _everything_ + auto final_pattern = pattern.value_or("*"); + dds_log(debug, "Searching for packages matching pattern '{}'", final_pattern); + search_st.bindings()[1] = final_pattern; + auto rows = nsql::iter_tuples( + search_st); + + std::vector found; + for (auto [name, versions, desc, remote_name, remote_url] : rows) { + dds_log(debug, + "Found: {} with versions {} (Description: {}) from {} [{}]", + name, + versions, + desc, + remote_name, + remote_url); + auto version_strs = split(versions, ";;"); + auto versions_semver + = version_strs | ranges::views::transform(&semver::version::parse) | ranges::to_vector; + ranges::sort(versions_semver); + found.push_back(pkg_group_search_result{ + .name = name, + .versions = versions_semver, + .description = desc, + .remote_name = remote_name, + }); + } + + if (found.empty()) { + return boost::leaf::new_error([&] { + auto names_st = db.prepare("SELECT DISTINCT name from dds_pkgs"); + auto tups = nsql::iter_tuples(names_st); + auto names_vec = tups | ranges::views::transform([](auto&& row) { + auto [name] = row; + return name; + }) + | ranges::to_vector; + auto nearest = dds::did_you_mean(final_pattern, names_vec); + return e_nonesuch{final_pattern, nearest}; + }); + } + + return pkg_search_results{.found = std::move(found)}; +} diff --git a/src/dds/pkg/search.hpp b/src/dds/pkg/search.hpp new file mode 100644 index 00000000..633b61be --- /dev/null +++ b/src/dds/pkg/search.hpp @@ -0,0 +1,33 @@ +#pragma once + +#include + +#include + +#include +#include +#include + +namespace neo::sqlite3 { + +class database_ref; + +} // namespace neo::sqlite3 + +namespace dds { + +struct pkg_group_search_result { + std::string name; + std::vector versions; + std::string description; + std::string remote_name; +}; + +struct pkg_search_results { + std::vector found; +}; + +result pkg_search(neo::sqlite3::database_ref db, + std::optional query) noexcept; + +} // namespace dds diff --git a/src/dds/proc.hpp b/src/dds/proc.hpp index d4ce6cda..c41ccd20 100644 --- a/src/dds/proc.hpp +++ b/src/dds/proc.hpp @@ -1,6 +1,7 @@ #pragma once #include +#include #include #include #include @@ -25,8 +26,8 @@ std::string quote_command(const Container& c) { } struct proc_result { - int signal = 0; - int retc = 0; + int signal = 0; + int retc = 0; bool timed_out = false; std::string output; @@ -36,6 +37,8 @@ struct proc_result { struct proc_options { std::vector command; + std::optional cwd = std::nullopt; + /** * Timeout for the subprocess, in milliseconds. If zero, will wait forever */ diff --git a/src/dds/proc.nix.cpp b/src/dds/proc.nix.cpp index c2861072..5f9d76a6 100644 --- a/src/dds/proc.nix.cpp +++ b/src/dds/proc.nix.cpp @@ -1,6 +1,7 @@ #ifndef _WIN32 #include "./proc.hpp" +#include #include #include @@ -25,8 +26,21 @@ void check_rc(bool b, std::string_view s) { } } -::pid_t -spawn_child(const std::vector& command, int stdout_pipe, int close_me) noexcept { +::pid_t spawn_child(const proc_options& opts, int stdout_pipe, int close_me) noexcept { + // We must allocate BEFORE fork(), since the CRT might stumble with malloc()-related locks that + // are held during the fork(). + std::vector strings; + strings.reserve(opts.command.size() + 1); + for (auto& s : opts.command) { + strings.push_back(s.data()); + } + strings.push_back(nullptr); + + std::string workdir = opts.cwd.value_or(fs::current_path()).string(); + auto not_found_err + = fmt::format("[dds child executor] The requested executable [{}] could not be found.", + strings[0]); + auto child_pid = ::fork(); if (child_pid != 0) { return child_pid; @@ -37,26 +51,20 @@ spawn_child(const std::vector& command, int stdout_pipe, int close_ check_rc(rc != -1, "Failed to dup2 stdout"); rc = dup2(stdout_pipe, STDERR_FILENO); check_rc(rc != -1, "Failed to dup2 stderr"); + rc = ::chdir(workdir.data()); + check_rc(rc != -1, "Failed to chdir() for subprocess"); - std::vector strings; - strings.reserve(command.size() + 1); - for (auto& s : command) { - strings.push_back(s.data()); - } - strings.push_back(nullptr); ::execvp(strings[0], (char* const*)strings.data()); if (errno == ENOENT) { - std::cerr - << fmt::format("[dds child executor] The requested executable ({}) could not be found.", - strings[0]); - std::exit(-1); + std::fputs(not_found_err.c_str(), stderr); + std::_Exit(-1); } - std::cerr << "[dds child executor] execvp returned! This is a fatal error: " - << std::system_category().message(errno) << '\n'; - - std::terminate(); + std::fputs("[dds child executor] execvp returned! This is a fatal error: ", stderr); + std::fputs(std::strerror(errno), stderr); + std::fputs("\n", stderr); + std::_Exit(-1); } } // namespace @@ -70,7 +78,7 @@ proc_result dds::run_proc(const proc_options& opts) { int read_pipe = stdio_pipe[0]; int write_pipe = stdio_pipe[1]; - auto child = spawn_child(opts.command, write_pipe, read_pipe); + auto child = spawn_child(opts, write_pipe, read_pipe); ::close(write_pipe); diff --git a/src/dds/proc.win.cpp b/src/dds/proc.win.cpp index bb792923..0b8ee1c5 100644 --- a/src/dds/proc.win.cpp +++ b/src/dds/proc.win.cpp @@ -1,6 +1,7 @@ #ifdef _WIN32 #include "./proc.hpp" +#include #include #include @@ -23,10 +24,23 @@ namespace { throw std::system_error(std::error_code(::GetLastError(), std::system_category()), what); } +std::wstring widen(std::string_view s) { + if (s.empty()) { + return L""; + } + auto req_chars + = ::MultiByteToWideChar(CP_UTF8, 0, s.data(), static_cast(s.size()), nullptr, 0); + std::wstring ret; + ret.resize(req_chars); + ::MultiByteToWideChar(CP_UTF8, 0, s.data(), static_cast(s.size()), ret.data(), req_chars); + return ret; +} + } // namespace proc_result dds::run_proc(const proc_options& opts) { - auto cmd_str = quote_command(opts.command); + auto cmd_str = quote_command(opts.command); + auto cmd_wide = widen(cmd_str); dds_log(debug, "Spawning subprocess: {}", cmd_str); ::SECURITY_ATTRIBUTES security = {}; @@ -46,20 +60,20 @@ proc_result dds::run_proc(const proc_options& opts) { wil::unique_process_information proc_info; - ::STARTUPINFOA startup_info = {}; + ::STARTUPINFOW startup_info = {}; ::RtlSecureZeroMemory(&startup_info, sizeof startup_info); startup_info.hStdOutput = startup_info.hStdError = writer.get(); startup_info.dwFlags = STARTF_USESTDHANDLES; startup_info.cb = sizeof startup_info; // DO IT! - okay = ::CreateProcessA(nullptr, // cmd[0].data(), - cmd_str.data(), + okay = ::CreateProcessW(nullptr, // cmd[0].data(), + cmd_wide.data(), nullptr, nullptr, true, CREATE_NEW_PROCESS_GROUP, nullptr, - nullptr, + opts.cwd.value_or(fs::current_path()).c_str(), &startup_info, &proc_info); if (!okay) { diff --git a/src/dds/repoman/repoman.cpp b/src/dds/repoman/repoman.cpp new file mode 100644 index 00000000..1afd326c --- /dev/null +++ b/src/dds/repoman/repoman.cpp @@ -0,0 +1,240 @@ +#include "./repoman.hpp" + +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include + +using namespace dds; + +namespace nsql = neo::sqlite3; +using namespace nsql::literals; + +namespace { + +void migrate_db_1(nsql::database_ref db) { + db.exec(R"( + CREATE TABLE dds_repo_packages ( + package_id INTEGER PRIMARY KEY, + name TEXT NOT NULL, + version TEXT NOT NULL, + description TEXT NOT NULL, + url TEXT NOT NULL, + UNIQUE (name, version) + ); + + CREATE TABLE dds_repo_package_deps ( + dep_id INTEGER PRIMARY KEY, + package_id INTEGER NOT NULL + REFERENCES dds_repo_packages + ON DELETE CASCADE, + dep_name TEXT NOT NULL, + low TEXT NOT NULL, + high TEXT NOT NULL, + UNIQUE(package_id, dep_name) + ); + )"); +} + +void ensure_migrated(nsql::database_ref db, std::optional name) { + db.exec(R"( + PRAGMA busy_timeout = 6000; + PRAGMA foreign_keys = 1; + CREATE TABLE IF NOT EXISTS dds_repo_meta ( + meta_version INTEGER DEFAULT 1, + version INTEGER NOT NULL, + name TEXT NOT NULL + ); + + -- Insert the initial metadata + INSERT INTO dds_repo_meta (version, name) + SELECT 0, 'dds-repo-' || lower(hex(randomblob(6))) + WHERE NOT EXISTS (SELECT 1 FROM dds_repo_meta); + )"); + nsql::transaction_guard tr{db}; + + auto meta_st = db.prepare("SELECT version FROM dds_repo_meta"); + auto [version] = nsql::unpack_single(meta_st); + + constexpr int current_database_version = 1; + if (version < 1) { + migrate_db_1(db); + } + + nsql::exec(db.prepare("UPDATE dds_repo_meta SET version=?"), current_database_version); + if (name) { + nsql::exec(db.prepare("UPDATE dds_repo_meta SET name=?"), *name); + } +} + +} // namespace + +repo_manager repo_manager::create(path_ref directory, std::optional name) { + { + DDS_E_SCOPE(e_init_repo{directory}); + fs::create_directories(directory); + auto db_path = directory / "repo.db"; + auto db = nsql::database::open(db_path.string()); + DDS_E_SCOPE(e_init_repo_db{db_path}); + DDS_E_SCOPE(e_open_repo_db{db_path}); + ensure_migrated(db, name); + fs::create_directories(directory / "pkg"); + } + return open(directory); +} + +repo_manager repo_manager::open(path_ref directory) { + DDS_E_SCOPE(e_open_repo{directory}); + auto db_path = directory / "repo.db"; + DDS_E_SCOPE(e_open_repo_db{db_path}); + if (!fs::is_regular_file(db_path)) { + throw std::system_error(make_error_code(std::errc::no_such_file_or_directory), + "The database file does not exist"); + } + auto db = nsql::database::open(db_path.string()); + ensure_migrated(db, std::nullopt); + return repo_manager{fs::canonical(directory), std::move(db)}; +} + +std::string repo_manager::name() const noexcept { + auto [name] = nsql::unpack_single(_stmts("SELECT name FROM dds_repo_meta"_sql)); + return name; +} + +void repo_manager::import_targz(path_ref tgz_file) { + neo_assertion_breadcrumbs("Importing targz file", tgz_file.string()); + DDS_E_SCOPE(e_repo_import_targz{tgz_file}); + dds_log(info, "Importing sdist archive [{}]", tgz_file.string()); + neo::ustar_reader tar{ + neo::buffer_transform_source{neo::stream_io_buffers{ + neo::file_stream::open(tgz_file, neo::open_mode::read)}, + neo::gzip_decompressor{neo::inflate_decompressor{}}}}; + + std::optional man; + + for (auto mem : tar) { + if (fs::path(mem.filename_str()).lexically_normal() + == neo::oper::none_of("package.jsonc", "package.json5", "package.json")) { + continue; + } + + auto content = tar.all_data(); + auto synth_filename = tgz_file / mem.filename_str(); + man = package_manifest::load_from_json5_str(std::string_view(content), + synth_filename.string()); + break; + } + + if (!man) { + dds_log(critical, + "Given archive [{}] does not contain a package manifest file", + tgz_file.string()); + throw std::runtime_error("Invalid package archive"); + } + + DDS_E_SCOPE(man->id); + + neo::sqlite3::transaction_guard tr{_db}; + + dds_log(debug, "Recording package {}@{}", man->id.name, man->id.version.to_string()); + dds::pkg_listing info{.ident = man->id, + .deps = man->dependencies, + .description = "[No description]", + .remote_pkg = {}}; + auto rel_url = fmt::format("dds:{}", man->id.to_string()); + add_pkg(info, rel_url); + + auto dest_path = pkg_dir() / man->id.name / man->id.version.to_string() / "sdist.tar.gz"; + fs::create_directories(dest_path.parent_path()); + fs::copy(tgz_file, dest_path); + + tr.commit(); +} + +void repo_manager::delete_package(pkg_id pkg_id) { + neo::sqlite3::transaction_guard tr{_db}; + + DDS_E_SCOPE(pkg_id); + + nsql::exec( // + _stmts(R"( + DELETE FROM dds_repo_packages + WHERE name = ? + AND version = ? + )"_sql), + pkg_id.name, + pkg_id.version.to_string()); + /// XXX: Verify with _db.changes() that we actually deleted one row + + auto name_dir = pkg_dir() / pkg_id.name; + auto ver_dir = name_dir / pkg_id.version.to_string(); + + DDS_E_SCOPE(e_repo_delete_path{ver_dir}); + + if (!fs::is_directory(ver_dir)) { + throw std::system_error(std::make_error_code(std::errc::no_such_file_or_directory), + "No source archive for the requested package"); + } + + fs::remove_all(ver_dir); + + tr.commit(); + + std::error_code ec; + fs::remove(name_dir, ec); + if (ec && ec != std::errc::directory_not_empty) { + throw std::system_error(ec, "Failed to delete package name directory"); + } +} + +void repo_manager::add_pkg(const pkg_listing& info, std::string_view url) { + dds_log(info, "Directly add an entry for {}", info.ident.to_string()); + DDS_E_SCOPE(info.ident); + nsql::recursive_transaction_guard tr{_db}; + nsql::exec( // + _stmts(R"( + INSERT INTO dds_repo_packages (name, version, description, url) + VALUES (?, ?, ?, ?) + )"_sql), + info.ident.name, + info.ident.version.to_string(), + info.description, + url); + + auto package_rowid = _db.last_insert_rowid(); + + auto& insert_dep_st = _stmts(R"( + INSERT INTO dds_repo_package_deps(package_id, dep_name, low, high) + VALUES (?, ?, ?, ?) + )"_sql); + for (auto& dep : info.deps) { + assert(dep.versions.num_intervals() == 1); + auto iv_1 = *dep.versions.iter_intervals().begin(); + dds_log(trace, " Depends on: {}", dep.to_string()); + nsql::exec(insert_dep_st, + package_rowid, + dep.name, + iv_1.low.to_string(), + iv_1.high.to_string()); + } + + auto dest_dir = pkg_dir() / info.ident.name / info.ident.version.to_string(); + auto stamp_path = dest_dir / "url.txt"; + fs::create_directories(dest_dir); + std::ofstream stamp_file{stamp_path, std::ios::binary}; + stamp_file << url; +} diff --git a/src/dds/repoman/repoman.hpp b/src/dds/repoman/repoman.hpp new file mode 100644 index 00000000..02ceec8b --- /dev/null +++ b/src/dds/repoman/repoman.hpp @@ -0,0 +1,73 @@ +#pragma once + +#include +#include + +#include +#include +#include +#include + +namespace dds { + +struct pkg_listing; + +struct e_init_repo { + fs::path path; +}; + +struct e_open_repo { + fs::path path; +}; + +struct e_init_repo_db { + fs::path path; +}; + +struct e_open_repo_db { + fs::path path; +}; + +struct e_repo_import_targz { + fs::path path; +}; + +struct e_repo_delete_path { + fs::path path; +}; + +class repo_manager { + neo::sqlite3::database _db; + mutable neo::sqlite3::statement_cache _stmts{_db}; + fs::path _root; + + explicit repo_manager(path_ref root, neo::sqlite3::database db) + : _db(std::move(db)) + , _root(root) {} + +public: + repo_manager(repo_manager&&) = default; + + static repo_manager create(path_ref directory, std::optional name); + static repo_manager open(path_ref directory); + + auto pkg_dir() const noexcept { return _root / "pkg"; } + path_ref root() const noexcept { return _root; } + std::string name() const noexcept; + + void import_targz(path_ref tgz_path); + void delete_package(pkg_id id); + void add_pkg(const pkg_listing& info, std::string_view url); + + auto all_packages() const noexcept { + using namespace neo::sqlite3::literals; + auto& st = _stmts("SELECT name, version FROM dds_repo_packages"_sql); + auto tups = neo::sqlite3::iter_tuples(st); + return tups | ranges::views::transform([](auto&& pair) { + auto [name, version] = pair; + return pkg_id{name, semver::version::parse(version)}; + }); + } +}; + +} // namespace dds diff --git a/src/dds/repoman/repoman.test.cpp b/src/dds/repoman/repoman.test.cpp new file mode 100644 index 00000000..19ffc8c1 --- /dev/null +++ b/src/dds/repoman/repoman.test.cpp @@ -0,0 +1,48 @@ +#include + +#include +#include + +#include + +#include + +namespace { + +const auto THIS_FILE = dds::fs::canonical(__FILE__); +const auto THIS_DIR = THIS_FILE.parent_path(); +const auto REPO_ROOT = (THIS_DIR / "../../../").lexically_normal(); +const auto DATA_DIR = REPO_ROOT / "data"; + +struct tmp_repo { + dds::temporary_dir tempdir = dds::temporary_dir::create(); + dds::repo_manager repo = dds::repo_manager::create(tempdir.path(), "test-repo"); +}; + +} // namespace + +TEST_CASE_METHOD(tmp_repo, "Open and import into a repository") { + auto neo_url_tgz = DATA_DIR / "neo-url@0.2.1.tar.gz"; + repo.import_targz(neo_url_tgz); + CHECK(dds::fs::is_directory(repo.pkg_dir() / "neo-url/")); + CHECK(dds::fs::is_regular_file(repo.pkg_dir() / "neo-url/0.2.1/sdist.tar.gz")); + CHECK_THROWS_AS(repo.import_targz(neo_url_tgz), neo::sqlite3::constraint_unique_error); + repo.delete_package(dds::pkg_id::parse("neo-url@0.2.1")); + CHECK_FALSE(dds::fs::is_regular_file(repo.pkg_dir() / "neo-url/0.2.1/sdist.tar.gz")); + CHECK_FALSE(dds::fs::is_directory(repo.pkg_dir() / "neo-url")); + CHECK_THROWS_AS(repo.delete_package(dds::pkg_id::parse("neo-url@0.2.1")), std::system_error); + CHECK_NOTHROW(repo.import_targz(neo_url_tgz)); +} + +TEST_CASE_METHOD(tmp_repo, "Add a package directly") { + dds::pkg_listing info{ + .ident = dds::pkg_id::parse("foo@1.2.3"), + .deps = {}, + .description = "Something", + .remote_pkg = {}, + }; + repo.add_pkg(info, "http://example.com"); + CHECK_THROWS_AS(repo.add_pkg(info, "https://example.com"), + neo::sqlite3::constraint_unique_error); + repo.delete_package(dds::pkg_id::parse("foo@1.2.3")); +} diff --git a/src/dds/source/dist.cpp b/src/dds/sdist/dist.cpp similarity index 78% rename from src/dds/source/dist.cpp rename to src/dds/sdist/dist.cpp index 73cba2c5..bbdda329 100644 --- a/src/dds/source/dist.cpp +++ b/src/dds/sdist/dist.cpp @@ -1,7 +1,8 @@ #include "./dist.hpp" #include -#include +#include +#include #include #include #include @@ -22,7 +23,7 @@ void sdist_export_file(path_ref out_root, path_ref in_root, path_ref filepath) { auto relpath = fs::relative(filepath, in_root); dds_log(debug, "Export file {}", relpath.string()); auto dest = out_root / relpath; - fs::create_directories(dest.parent_path()); + fs::create_directories(fs::absolute(dest).parent_path()); fs::copy(filepath, dest); } @@ -77,7 +78,7 @@ sdist dds::create_sdist(const sdist_params& params) { if (fs::exists(dest) && params.force) { fs::remove_all(dest); } - fs::create_directories(dest.parent_path()); + fs::create_directories(fs::absolute(dest).parent_path()); safe_rename(tempdir.path(), dest); dds_log(info, "Source distribution created in {}", dest.string()); return sdist::from_directory(dest); @@ -94,7 +95,7 @@ void dds::create_sdist_targz(path_ref filepath, const sdist_params& params) { auto tempdir = temporary_dir::create(); dds_log(debug, "Generating source distribution in {}", tempdir.path().string()); create_sdist_in_dir(tempdir.path(), params); - fs::create_directories(filepath.parent_path()); + fs::create_directories(fs::absolute(filepath).parent_path()); neo::compress_directory_targz(tempdir.path(), filepath); } @@ -115,33 +116,42 @@ sdist dds::create_sdist_in_dir(path_ref out, const sdist_params& params) { auto pkg_man = package_manifest::load_from_file(*man_path); sdist_export_file(out, params.project_dir, *man_path); - dds_log(info, "Generated export as {}", pkg_man.pkg_id.to_string()); return sdist::from_directory(out); } sdist sdist::from_directory(path_ref where) { auto pkg_man = package_manifest::load_from_directory(where); // Code paths should only call here if they *know* that the sdist is valid - neo_assert(invariant, - pkg_man.has_value(), - "All dirs in the repo should be proper source distributions. If you see this, it " - "means one of the directories in the repository is not a valid sdist.", - where.string()); + if (!pkg_man) { + throw_user_error( + "The given directory [{}] does not contain a package manifest file. All source " + "distribution directories are required to contain a package manifest.", + where.string()); + } return sdist{pkg_man.value(), where}; } temporary_sdist dds::expand_sdist_targz(path_ref targz_path) { + neo_assertion_breadcrumbs("Expanding sdist targz file", targz_path.string()); + auto infile = open(targz_path, std::ios::binary | std::ios::in); + return expand_sdist_from_istream(infile, targz_path.string()); +} + +temporary_sdist dds::expand_sdist_from_istream(std::istream& is, std::string_view input_name) { auto tempdir = temporary_dir::create(); - dds_log(debug, "Expanding source ditsribution content into {}", tempdir.path().string()); + dds_log(debug, + "Expanding source distribution content from [{}] into [{}]", + input_name, + tempdir.path().string()); fs::create_directories(tempdir.path()); - neo::expand_directory_targz(tempdir.path(), targz_path); + neo::expand_directory_targz({.destination_directory = tempdir.path(), .input_name = input_name}, + is); return {tempdir, sdist::from_directory(tempdir.path())}; } -temporary_sdist dds::expand_sdist_from_istream(std::istream& is, std::string_view input_name) { +temporary_sdist dds::download_expand_sdist_targz(std::string_view url_str) { + auto remote = http_remote_pkg::from_url(neo::url::parse(url_str)); auto tempdir = temporary_dir::create(); - dds_log(debug, "Expanding source ditsribution content into {}", tempdir.path().string()); - fs::create_directories(tempdir.path()); - neo::expand_directory_targz(tempdir.path(), is, input_name); + remote.get_raw_directory(tempdir.path()); return {tempdir, sdist::from_directory(tempdir.path())}; } diff --git a/src/dds/source/dist.hpp b/src/dds/sdist/dist.hpp similarity index 75% rename from src/dds/source/dist.hpp rename to src/dds/sdist/dist.hpp index 495b57f1..81aa5780 100644 --- a/src/dds/source/dist.hpp +++ b/src/dds/sdist/dist.hpp @@ -2,7 +2,7 @@ #include -#include +#include #include #include @@ -34,14 +34,10 @@ struct temporary_sdist { inline constexpr struct sdist_compare_t { bool operator()(const sdist& lhs, const sdist& rhs) const { - return lhs.manifest.pkg_id < rhs.manifest.pkg_id; - } - bool operator()(const sdist& lhs, const package_id& rhs) const { - return lhs.manifest.pkg_id < rhs; - } - bool operator()(const package_id& lhs, const sdist& rhs) const { - return lhs < rhs.manifest.pkg_id; + return lhs.manifest.id < rhs.manifest.id; } + bool operator()(const sdist& lhs, const pkg_id& rhs) const { return lhs.manifest.id < rhs; } + bool operator()(const pkg_id& lhs, const sdist& rhs) const { return lhs < rhs.manifest.id; } using is_transparent = int; } sdist_compare; @@ -51,5 +47,6 @@ void create_sdist_targz(path_ref, const sdist_params&); temporary_sdist expand_sdist_targz(path_ref targz); temporary_sdist expand_sdist_from_istream(std::istream&, std::string_view input_name); +temporary_sdist download_expand_sdist_targz(std::string_view); } // namespace dds diff --git a/src/dds/source/file.cpp b/src/dds/sdist/file.cpp similarity index 100% rename from src/dds/source/file.cpp rename to src/dds/sdist/file.cpp diff --git a/src/dds/source/file.hpp b/src/dds/sdist/file.hpp similarity index 100% rename from src/dds/source/file.hpp rename to src/dds/sdist/file.hpp diff --git a/src/dds/source/file.test.cpp b/src/dds/sdist/file.test.cpp similarity index 94% rename from src/dds/source/file.test.cpp rename to src/dds/sdist/file.test.cpp index a5661ccf..853ee31f 100644 --- a/src/dds/source/file.test.cpp +++ b/src/dds/sdist/file.test.cpp @@ -1,4 +1,4 @@ -#include +#include #include diff --git a/src/dds/library/manifest.cpp b/src/dds/sdist/library/manifest.cpp similarity index 100% rename from src/dds/library/manifest.cpp rename to src/dds/sdist/library/manifest.cpp diff --git a/src/dds/library/manifest.hpp b/src/dds/sdist/library/manifest.hpp similarity index 100% rename from src/dds/library/manifest.hpp rename to src/dds/sdist/library/manifest.hpp diff --git a/src/dds/library/root.cpp b/src/dds/sdist/library/root.cpp similarity index 88% rename from src/dds/library/root.cpp rename to src/dds/sdist/library/root.cpp index fb38efed..bf2f95b3 100644 --- a/src/dds/library/root.cpp +++ b/src/dds/sdist/library/root.cpp @@ -1,12 +1,12 @@ -#include +#include #include #include -#include +#include #include #include -#include +#include #include #include @@ -15,6 +15,7 @@ using namespace dds; namespace { auto collect_pf_sources(path_ref path) { + dds_log(debug, "Scanning for sources in {}", path.string()); auto include_dir = source_root{path / "include"}; auto src_dir = source_root{path / "src"}; @@ -48,6 +49,7 @@ auto collect_pf_sources(path_ref path) { extend(sources, src_sources); } + dds_log(debug, "Found {} source files", sources.size()); return sources; } @@ -105,8 +107,9 @@ std::vector dds::collect_libraries(path_ref root) { if (fs::is_directory(pf_libs_dir)) { extend(ret, - view_safe(fs::directory_iterator(pf_libs_dir)) // - | ranges::views::filter(has_library_dirs) // + fs::directory_iterator(pf_libs_dir) // + | neo::lref // + | ranges::views::filter(has_library_dirs) // | ranges::views::transform( [&](auto p) { return library_root::from_directory(fs::canonical(p)); })); } diff --git a/src/dds/library/root.hpp b/src/dds/sdist/library/root.hpp similarity index 96% rename from src/dds/library/root.hpp rename to src/dds/sdist/library/root.hpp index 6592addc..1a427c7b 100644 --- a/src/dds/library/root.hpp +++ b/src/dds/sdist/library/root.hpp @@ -1,9 +1,10 @@ #pragma once +#include "./manifest.hpp" + +#include "../file.hpp" +#include "../root.hpp" #include -#include -#include -#include #include diff --git a/src/dds/package/manifest.cpp b/src/dds/sdist/package.cpp similarity index 71% rename from src/dds/package/manifest.cpp rename to src/dds/sdist/package.cpp index dfb3a89e..230cbc6a 100644 --- a/src/dds/package/manifest.cpp +++ b/src/dds/sdist/package.cpp @@ -1,10 +1,12 @@ -#include "./manifest.hpp" +#include "./package.hpp" #include #include #include +#include #include +#include #include #include #include @@ -50,7 +52,7 @@ package_manifest parse_json(const json5::data& data, std::string_view fpath) { required_key{"name", "A string 'name' is required", require_str{"'name' must be a string"}, - put_into{ret.pkg_id.name}}, + put_into{ret.id.name}}, required_key{"namespace", "A string 'namespace' is a required ", require_str{"'namespace' must be a string"}, @@ -58,7 +60,7 @@ package_manifest parse_json(const json5::data& data, std::string_view fpath) { required_key{"version", "A 'version' string is requried", require_str{"'version' must be a string"}, - put_into{ret.pkg_id.version, + put_into{ret.id.version, [](std::string s) { return semver::version::parse(s); }}}, if_key{"depends", [&](auto&& dat) { @@ -103,34 +105,52 @@ package_manifest parse_json(const json5::data& data, std::string_view fpath) { package_manifest package_manifest::load_from_file(const fs::path& fpath) { auto content = slurp_file(fpath); - auto data = json5::parse_data(content); + return load_from_json5_str(content, fpath.string()); +} + +package_manifest package_manifest::load_from_json5_str(std::string_view content, + std::string_view input_name) { try { - return parse_json(data, fpath.string()); + auto data = json5::parse_data(content); + return parse_json(data, input_name); } catch (const semester::walk_error& e) { throw_user_error(e.what()); + } catch (const json5::parse_error& err) { + BOOST_LEAF_THROW_EXCEPTION(user_error( + "Invalid package manifest JSON5 document"), + err, + boost::leaf::e_file_name{std::string(input_name)}); } } -std::optional package_manifest::find_in_directory(path_ref dirpath) { +result package_manifest::find_in_directory(path_ref dirpath) { auto cands = { "package.json5", "package.jsonc", "package.json", }; for (auto c : cands) { - auto cand = dirpath / c; - if (fs::is_regular_file(cand)) { + auto cand = dirpath / c; + std::error_code ec; + if (fs::is_regular_file(cand, ec)) { return cand; } + if (ec != std::errc::no_such_file_or_directory) { + return boost::leaf:: + new_error(ec, + DDS_E_ARG(e_human_message{ + "Failed to check for package manifest in project directory"}), + DDS_E_ARG(boost::leaf::e_file_name{cand.string()})); + } } - return std::nullopt; + return boost::leaf::new_error(std::errc::no_such_file_or_directory, + DDS_E_ARG( + e_human_message{"Expected to find a package manifest file"}), + DDS_E_ARG(e_missing_file{dirpath / "package.json5"})); } -std::optional package_manifest::load_from_directory(path_ref dirpath) { - auto found = find_in_directory(dirpath); - if (!found.has_value()) { - return std::nullopt; - } - return load_from_file(*found); +result package_manifest::load_from_directory(path_ref dirpath) { + BOOST_LEAF_AUTO(found, find_in_directory(dirpath)); + return load_from_file(found); } diff --git a/src/dds/package/manifest.hpp b/src/dds/sdist/package.hpp similarity index 74% rename from src/dds/package/manifest.hpp rename to src/dds/sdist/package.hpp index bba31ced..78919cfd 100644 --- a/src/dds/package/manifest.hpp +++ b/src/dds/sdist/package.hpp @@ -1,8 +1,9 @@ #pragma once #include -#include +#include #include +#include #include #include @@ -23,7 +24,7 @@ enum class test_lib { */ struct package_manifest { /// The package ID, as determined by `Name` and `Version` together - package_id pkg_id; + dds::pkg_id id; /// The declared `Namespace` of the package. This directly corresponds with the libman Namespace std::string namespace_; /// The `test_driver` that this package declares, or `nullopt` if absent. @@ -35,14 +36,18 @@ struct package_manifest { * Load a package manifest from a file on disk. */ static package_manifest load_from_file(path_ref); + /** + * @brief Load a package manifest from an in-memory string + */ + static package_manifest load_from_json5_str(std::string_view, std::string_view input_name); /** * Find a package manifest contained within a directory. This will search * for a few file candidates and return the result from the first matching. * If none match, it will return nullopt. */ - static std::optional find_in_directory(path_ref); - static std::optional load_from_directory(path_ref); + static result find_in_directory(path_ref); + static result load_from_directory(path_ref); }; } // namespace dds \ No newline at end of file diff --git a/src/dds/source/root.cpp b/src/dds/sdist/root.cpp similarity index 82% rename from src/dds/source/root.cpp rename to src/dds/sdist/root.cpp index 3c16f930..739704b0 100644 --- a/src/dds/source/root.cpp +++ b/src/dds/sdist/root.cpp @@ -1,7 +1,6 @@ #include "./root.hpp" -#include - +#include #include #include #include @@ -12,7 +11,8 @@ std::vector source_root::collect_sources() const { using namespace ranges::views; // Collect all source files from the directory return // - view_safe(fs::recursive_directory_iterator(path)) // + fs::recursive_directory_iterator(path) // + | neo::lref // | filter([](auto&& entry) { return entry.is_regular_file(); }) // | transform([&](auto&& entry) { return source_file::from_path(entry, path); }) // // source_file::from_path returns an optional. Drop nulls diff --git a/src/dds/source/root.hpp b/src/dds/sdist/root.hpp similarity index 95% rename from src/dds/source/root.hpp rename to src/dds/sdist/root.hpp index 7e162f80..ee139eb3 100644 --- a/src/dds/source/root.hpp +++ b/src/dds/sdist/root.hpp @@ -1,6 +1,6 @@ #pragma once -#include +#include #include #include diff --git a/src/dds/solve/solve.cpp b/src/dds/solve/solve.cpp index d241d9da..39cc629c 100644 --- a/src/dds/solve/solve.cpp +++ b/src/dds/solve/solve.cpp @@ -66,14 +66,14 @@ struct req_type { auto as_pkg_id(const req_type& req) { const version_range_set& versions = req.dep.versions; assert(versions.num_intervals() == 1); - return package_id{req.dep.name, (*versions.iter_intervals().begin()).low}; + return pkg_id{req.dep.name, (*versions.iter_intervals().begin()).low}; } struct solver_provider { pkg_id_provider_fn& pkgs_for_name; deps_provider_fn& deps_for_pkg; - mutable std::map> pkgs_by_name = {}; + mutable std::map> pkgs_by_name = {}; std::optional best_candidate(const req_type& req) const { dds_log(debug, "Find best candidate of {}", req.dep.to_string()); @@ -85,14 +85,14 @@ struct solver_provider { } // Find the first package with the version contained by the ranges in the requirement auto& for_name = found->second; - auto cand = std::find_if(for_name.cbegin(), for_name.cend(), [&](const package_id& pk) { + auto cand = std::find_if(for_name.cbegin(), for_name.cend(), [&](const pkg_id& pk) { return req.dep.versions.contains(pk.version); }); if (cand == for_name.cend()) { dds_log(debug, "No candidate for requirement {}", req.dep.to_string()); return std::nullopt; } - dds_log(debug, "Select candidate {}@{}", cand->to_string()); + dds_log(debug, "Select candidate {}", cand->to_string()); return req_type{dependency{cand->name, {cand->version, cand->version.next_after()}}}; } @@ -156,9 +156,9 @@ struct explainer { } // namespace -std::vector dds::solve(const std::vector& deps, - pkg_id_provider_fn pkgs_prov, - deps_provider_fn deps_prov) { +std::vector dds::solve(const std::vector& deps, + pkg_id_provider_fn pkgs_prov, + deps_provider_fn deps_prov) { auto wrap_req = deps | ranges::views::transform([](const dependency& dep) { return req_type{dep}; }); diff --git a/src/dds/solve/solve.hpp b/src/dds/solve/solve.hpp index 9f9d75f8..b44754ec 100644 --- a/src/dds/solve/solve.hpp +++ b/src/dds/solve/solve.hpp @@ -1,16 +1,16 @@ #pragma once #include -#include +#include #include namespace dds { -using pkg_id_provider_fn = std::function(std::string_view)>; -using deps_provider_fn = std::function(const package_id& pk)>; +using pkg_id_provider_fn = std::function(std::string_view)>; +using deps_provider_fn = std::function(const pkg_id& pk)>; -std::vector +std::vector solve(const std::vector& deps, pkg_id_provider_fn, deps_provider_fn); } // namespace dds diff --git a/src/dds/toolchain/from_json.test.cpp b/src/dds/toolchain/from_json.test.cpp index d8c89b55..31331f5f 100644 --- a/src/dds/toolchain/from_json.test.cpp +++ b/src/dds/toolchain/from_json.test.cpp @@ -48,32 +48,32 @@ void check_tc_compile(std::string_view tc_content, TEST_CASE("Generating toolchain commands") { check_tc_compile("{compiler_id: 'gnu'}", - "g++ -fPIC -pthread -MD -MF foo.o.d -MT foo.o -c foo.cpp -ofoo.o", + "g++ -fPIC -pthread -MD -MF foo.o.d -MQ foo.o -c foo.cpp -ofoo.o", "g++ -fPIC -pthread -Wall -Wextra -Wpedantic -Wconversion " - "-MD -MF foo.o.d -MT foo.o -c foo.cpp -ofoo.o", + "-MD -MF foo.o.d -MQ foo.o -c foo.cpp -ofoo.o", "ar rcs stuff.a foo.o bar.o", "g++ -fPIC foo.o bar.a -pthread -omeow.exe"); check_tc_compile("{compiler_id: 'gnu', debug: true}", - "g++ -g -fPIC -pthread -MD -MF foo.o.d -MT foo.o -c foo.cpp -ofoo.o", + "g++ -g -fPIC -pthread -MD -MF foo.o.d -MQ foo.o -c foo.cpp -ofoo.o", "g++ -g -fPIC -pthread -Wall -Wextra -Wpedantic -Wconversion " - "-MD -MF foo.o.d -MT foo.o -c foo.cpp -ofoo.o", + "-MD -MF foo.o.d -MQ foo.o -c foo.cpp -ofoo.o", "ar rcs stuff.a foo.o bar.o", "g++ -fPIC foo.o bar.a -pthread -omeow.exe -g"); check_tc_compile("{compiler_id: 'gnu', debug: true, optimize: true}", - "g++ -O2 -g -fPIC -pthread -MD -MF foo.o.d -MT foo.o -c foo.cpp " + "g++ -O2 -g -fPIC -pthread -MD -MF foo.o.d -MQ foo.o -c foo.cpp " "-ofoo.o", "g++ -O2 -g -fPIC -pthread -Wall -Wextra -Wpedantic -Wconversion " - "-MD -MF foo.o.d -MT foo.o -c foo.cpp -ofoo.o", + "-MD -MF foo.o.d -MQ foo.o -c foo.cpp -ofoo.o", "ar rcs stuff.a foo.o bar.o", "g++ -fPIC foo.o bar.a -pthread -omeow.exe -O2 -g"); check_tc_compile( "{compiler_id: 'gnu', debug: 'split', optimize: true}", - "g++ -O2 -g -gsplit-dwarf -fPIC -pthread -MD -MF foo.o.d -MT foo.o -c foo.cpp -ofoo.o", + "g++ -O2 -g -gsplit-dwarf -fPIC -pthread -MD -MF foo.o.d -MQ foo.o -c foo.cpp -ofoo.o", "g++ -O2 -g -gsplit-dwarf -fPIC -pthread -Wall -Wextra -Wpedantic -Wconversion -MD -MF " - "foo.o.d -MT foo.o -c foo.cpp -ofoo.o", + "foo.o.d -MQ foo.o -c foo.cpp -ofoo.o", "ar rcs stuff.a foo.o bar.o", "g++ -fPIC foo.o bar.a -pthread -omeow.exe -O2 -g -gsplit-dwarf"); @@ -145,7 +145,7 @@ TEST_CASE("Manipulate a toolchain and file compilation") { "-MD", "-MF", "foo.o.d", - "-MT", + "-MQ", "foo.o", "-c", "foo.cpp", @@ -165,7 +165,7 @@ TEST_CASE("Manipulate a toolchain and file compilation") { "-MD", "-MF", "foo.o.d", - "-MT", + "-MQ", "foo.o", "-c", "foo.cpp", @@ -184,7 +184,7 @@ TEST_CASE("Manipulate a toolchain and file compilation") { "-MD", "-MF", "foo.o.d", - "-MT", + "-MQ", "foo.o", "-c", "foo.cpp", diff --git a/src/dds/toolchain/toolchain.cpp b/src/dds/toolchain/toolchain.cpp index d4d205a8..55dfbc8f 100644 --- a/src/dds/toolchain/toolchain.cpp +++ b/src/dds/toolchain/toolchain.cpp @@ -97,6 +97,13 @@ compile_command_info toolchain::create_compile_command(const compile_file_spec& extend(flags, _tty_flags); } + if (knobs.cache_buster) { + // This is simply a CPP definition that is used to "bust" any caches that rely on inspecting + // the command-line of the compiler (including our own). + auto def = replace(_def_template, "[def]", "__dds_cachebust=" + *knobs.cache_buster); + extend(flags, def); + } + dds_log(trace, "#include-search dirs:"); for (auto&& inc_dir : spec.include_dirs) { dds_log(trace, " - search: {}", inc_dir.string()); @@ -111,6 +118,13 @@ compile_command_info toolchain::create_compile_command(const compile_file_spec& extend(flags, inc_args); } + if (knobs.tweaks_dir) { + dds_log(trace, " - search (tweaks): {}", knobs.tweaks_dir->string()); + auto shortest = shortest_path_from(*knobs.tweaks_dir, cwd); + auto tweak_inc_args = include_args(shortest); + extend(flags, tweak_inc_args); + } + for (auto&& def : spec.definitions) { auto def_args = definition_args(def); extend(flags, def_args); @@ -129,7 +143,7 @@ compile_command_info toolchain::create_compile_command(const compile_file_spec& {"-MD"sv, "-MF"sv, std::string_view(gnu_depfile_path->string()), - "-MT"sv, + "-MQ"sv, std::string_view(spec.out_path.string())}); } else if (_deps_mode == file_deps_mode::msvc) { flags.push_back("/showIncludes"); @@ -275,12 +289,6 @@ std::optional toolchain::get_builtin(std::string_view tc_id) noexcept return std::nullopt; } - if (starts_with(tc_id, "gcc") || starts_with(tc_id, "clang")) { - json5::data& arr = root_map.emplace("link_flags", json5::data::array_type()).first->second; - arr.as_array().emplace_back("-static-libgcc"); - arr.as_array().emplace_back("-static-libstdc++"); - } - root_map.emplace("c_compiler", opt_triple->c); root_map.emplace("cxx_compiler", opt_triple->cxx); root_map.emplace("compiler_id", opt_triple->id); diff --git a/src/dds/toolchain/toolchain.hpp b/src/dds/toolchain/toolchain.hpp index 3f528553..8534d9c5 100644 --- a/src/dds/toolchain/toolchain.hpp +++ b/src/dds/toolchain/toolchain.hpp @@ -18,6 +18,9 @@ enum class language { struct toolchain_knobs { bool is_tty = false; + // Directory storing tweaks for the compilation + std::optional tweaks_dir{}; + std::optional cache_buster{}; }; struct compile_file_spec { diff --git a/src/dds/util/algo.hpp b/src/dds/util/algo.hpp index 1593a7e2..422d8143 100644 --- a/src/dds/util/algo.hpp +++ b/src/dds/util/algo.hpp @@ -35,7 +35,18 @@ void extend(Container& c, std::initializer_list il) { c.insert(c.end(), il.begin(), il.end()); } +template +void unique_erase(Container& c) noexcept { + c.erase(std::unique(c.begin(), c.end()), c.end()); +} + +template +void sort_unique_erase(Container& c) noexcept { + std::sort(c.begin(), c.end()); + unique_erase(c); +} + template using ref_vector = std::vector>; -} // namespace dds \ No newline at end of file +} // namespace dds diff --git a/src/dds/util/env.cpp b/src/dds/util/env.cpp new file mode 100644 index 00000000..97bc13d7 --- /dev/null +++ b/src/dds/util/env.cpp @@ -0,0 +1,18 @@ +#include "./env.hpp" + +#include + +#include + +std::optional dds::getenv(const std::string& varname) noexcept { + auto cptr = std::getenv(varname.data()); + if (cptr) { + return std::string(cptr); + } + return {}; +} + +bool dds::getenv_bool(const std::string& varname) noexcept { + auto s = getenv(varname); + return s == neo::oper::any_of("1", "true", "on", "TRUE", "ON", "YES", "yes"); +} diff --git a/src/dds/util/env.hpp b/src/dds/util/env.hpp new file mode 100644 index 00000000..37d16314 --- /dev/null +++ b/src/dds/util/env.hpp @@ -0,0 +1,23 @@ +#pragma once + +#include + +#include +#include + +namespace dds { + +std::optional getenv(const std::string& env) noexcept; + +bool getenv_bool(const std::string& env) noexcept; + +template +std::string getenv(const std::string& name, Func&& fn) noexcept(noexcept(fn())) { + auto val = getenv(name); + if (!val) { + return std::string(fn()); + } + return *val; +} + +} // namespace dds diff --git a/src/dds/util/flock.win.cpp b/src/dds/util/flock.win.cpp index 97b21153..ae23af42 100644 --- a/src/dds/util/flock.win.cpp +++ b/src/dds/util/flock.win.cpp @@ -61,7 +61,7 @@ struct lock_data { shared_file_mutex::shared_file_mutex(path_ref filepath) : _path{filepath} { - auto h = ::CreateFileA(_path.string().c_str(), + auto h = ::CreateFileW(_path.native().c_str(), GENERIC_READ | GENERIC_WRITE, FILE_SHARE_READ | FILE_SHARE_WRITE | FILE_SHARE_DELETE, nullptr, diff --git a/src/dds/util/fs.cpp b/src/dds/util/fs.cpp index a2224289..9dcc1d88 100644 --- a/src/dds/util/fs.cpp +++ b/src/dds/util/fs.cpp @@ -1,5 +1,8 @@ #include "./fs.hpp" +#include +#include + #include #include @@ -7,13 +10,8 @@ using namespace dds; std::fstream dds::open(const fs::path& filepath, std::ios::openmode mode, std::error_code& ec) { - std::fstream ret; - auto mask = ret.exceptions() | std::ios::failbit; - ret.exceptions(mask); - - try { - ret.open(filepath.string(), mode); - } catch (const std::ios::failure&) { + std::fstream ret{filepath, mode}; + if (!ret) { ec = std::error_code(errno, std::system_category()); } return ret; @@ -55,4 +53,51 @@ void dds::safe_rename(path_ref source, path_ref dest) { } fs::rename(tmp, dest); fs::remove_all(source); +} + +result dds::copy_file(path_ref source, path_ref dest, fs::copy_options opts) noexcept { + std::error_code ec; + fs::copy_file(source, dest, opts, ec); + if (ec) { + return new_error(DDS_E_ARG(e_copy_file{source, dest}), ec); + } + return {}; +} + +result dds::remove_file(path_ref file) noexcept { + std::error_code ec; + fs::remove(file, ec); + if (ec) { + return new_error(DDS_E_ARG(e_remove_file{file}), ec); + } + return {}; +} + +result dds::create_symlink(path_ref target, path_ref symlink) noexcept { + std::error_code ec; + if (fs::is_directory(target)) { + fs::create_directory_symlink(target, symlink, ec); + } else { + fs::create_symlink(target, symlink, ec); + } + if (ec) { + return new_error(DDS_E_ARG(e_symlink{symlink, target}), ec); + } + return {}; +} + +result dds::write_file(path_ref dest, std::string_view content) noexcept { + std::error_code ec; + auto outfile = dds::open(dest, std::ios::binary | std::ios::out, ec); + if (ec) { + return new_error(DDS_E_ARG(e_write_file_path{dest}), ec); + } + errno = 0; + outfile.write(content.data(), content.size()); + auto e = errno; + if (!outfile) { + return new_error(std::error_code(e, std::system_category()), + DDS_E_ARG(e_write_file_path{dest})); + } + return {}; } \ No newline at end of file diff --git a/src/dds/util/fs.hpp b/src/dds/util/fs.hpp index e52b431e..edf5c92e 100644 --- a/src/dds/util/fs.hpp +++ b/src/dds/util/fs.hpp @@ -1,5 +1,7 @@ #pragma once +#include + #include #include #include @@ -16,6 +18,11 @@ using path_ref = const fs::path&; std::fstream open(const fs::path& filepath, std::ios::openmode mode, std::error_code& ec); std::string slurp_file(const fs::path& path, std::error_code& ec); +struct e_write_file_path { + fs::path value; +}; +[[nodiscard]] result write_file(const fs::path& path, std::string_view content) noexcept; + inline std::fstream open(const fs::path& filepath, std::ios::openmode mode) { std::error_code ec; auto ret = dds::open(filepath, mode, ec); @@ -36,6 +43,26 @@ inline std::string slurp_file(const fs::path& path) { void safe_rename(path_ref source, path_ref dest); +struct e_copy_file { + fs::path source; + fs::path dest; +}; + +struct e_remove_file { + fs::path value; +}; + +struct e_symlink { + fs::path symlink; + fs::path target; +}; + +[[nodiscard]] result + copy_file(path_ref source, path_ref dest, fs::copy_options opts = {}) noexcept; +[[nodiscard]] result remove_file(path_ref file) noexcept; + +[[nodiscard]] result create_symlink(path_ref target, path_ref symlink) noexcept; + } // namespace file_utils } // namespace dds \ No newline at end of file diff --git a/src/dds/util/fs_transform.cpp b/src/dds/util/fs_transform.cpp deleted file mode 100644 index 8e8bbfc8..00000000 --- a/src/dds/util/fs_transform.cpp +++ /dev/null @@ -1,445 +0,0 @@ -#include "./fs_transform.hpp" - -#include -#include - -#include -#include -#include -#include - -#include - -#include - -using namespace dds; - -using require_obj = semester::require_type; -using require_array = semester::require_type; -using require_str = semester::require_type; - -dds::fs_transformation dds::fs_transformation::from_json(const json5::data& data) { - fs_transformation ret; - using namespace semester::walk_ops; - - auto prep_optional = [](auto& opt) { - return [&](auto&&) { - opt.emplace(); - return walk.pass; - }; - }; - - auto str_to_path = [](std::string const& s) { - auto p = fs::path(s); - if (p.is_absolute()) { - throw semester::walk_error(std::string(walk.path()) - + ": Only relative paths are accepted"); - } - return p; - }; - - auto get_strip_components = [](double d) { - if (d != double(int(d)) || d < 0) { - throw semester::walk_error(std::string(walk.path()) + ": " - + "'strip-components' should be a positive whole number"); - } - return int(d); - }; - - auto populate_globs = [&](std::vector& globs) { - return for_each{ - require_str{"Include/exclude list should be a list of globs"}, - put_into(std::back_inserter(globs), - [](const std::string& glob) { - try { - return dds::glob::compile(glob); - } catch (const std::runtime_error& e) { - throw semester::walk_error{std::string(walk.path()) + ": " + e.what()}; - } - }), - }; - }; - - auto populate_reloc = [&](auto& op) { - return [&](auto&& dat) { - op.emplace(); - return mapping{ - required_key{"from", - "a 'from' path is required", - require_str{"'from' should be a path string"}, - put_into(op->from, str_to_path)}, - required_key{"to", - "a 'to' path is required", - require_str{"'to' should be a path string"}, - put_into(op->to, str_to_path)}, - if_key{"strip-components", - require_type{"'strip-components' should be an integer"}, - put_into(op->strip_components, get_strip_components)}, - if_key{"include", - require_array{"'include' should be an array"}, - populate_globs(op->include)}, - if_key{"exclude", - require_array{"'exclude' should be an array"}, - populate_globs(op->exclude)}, - }(dat); - }; - }; - - struct fs_transformation::edit pending_edit; - fs_transformation::one_edit pending_edit_item; - - walk(data, - require_obj{"Each transform must be a JSON object"}, - mapping{ - if_key{"copy", populate_reloc(ret.copy)}, - if_key{"move", populate_reloc(ret.move)}, - if_key{"remove", - require_obj{"'remove' should be a JSON object"}, - prep_optional(ret.remove), - mapping{ - required_key{"path", - "'path' is required", - require_str{"'path' should be a string path to remove"}, - put_into(ret.remove->path, str_to_path)}, - if_key{"only-matching", - require_array{"'only-matching' should be an array of globs"}, - populate_globs(ret.remove->only_matching)}, - }}, - if_key{"write", - require_obj{"'write' should be a JSON object"}, - prep_optional(ret.write), - mapping{ - required_key{"path", - "'path' is required", - require_str{"'path' should be a string path to write to"}, - put_into(ret.write->path, str_to_path)}, - required_key{"content", - "'content' is required", - require_str{"'content' must be a string"}, - put_into(ret.write->content)}, - }}, - if_key{ - "edit", - require_obj{"'edit' should be a JSON object"}, - prep_optional(ret.edit), - mapping{ - required_key{"path", - "'path' is required", - require_str{"'path' should be a string path"}, - put_into(ret.edit->path, str_to_path)}, - required_key{ - "edits", - "An 'edits' array is required", - require_array{"'edits' should be an array"}, - for_each{ - require_obj{"Each edit should be a JSON object"}, - [&](auto&&) { - ret.edit->edits.emplace_back(); - return walk.pass; - }, - [&](auto&& dat) { - return mapping{ - required_key{ - "kind", - "Edit 'kind' is required", - require_str{"'kind' should be a string"}, - [&](std::string s) { - auto& ed = ret.edit->edits.back(); - if (s == "delete") { - ed.kind = ed.delete_; - } else if (s == "insert") { - ed.kind = ed.insert; - } else { - return walk.reject("Invalid edit kind"); - } - return walk.accept; - }, - }, - required_key{ - "line", - "Edit 'line' number is required", - require_type{"'line' should be an integer"}, - [&](double d) { - ret.edit->edits.back().line = int(d); - return walk.accept; - }, - }, - if_key{ - "content", - require_str{"'content' should be a string"}, - [&](std::string s) { - ret.edit->edits.back().content = s; - return walk.accept; - }, - }, - }(dat); - }, - }, - }, - }, - }, - }); - - return ret; -} - -namespace { - -bool matches_any(path_ref path, const std::vector& globs) { - return std::any_of(globs.begin(), globs.end(), [&](auto&& gl) { return gl.match(path); }); -} - -bool parent_dir_of(fs::path root, fs::path child) { - auto root_str = (root += "/").lexically_normal().generic_string(); - auto child_str = (child += "/").lexically_normal().generic_string(); - return child_str.find(root_str) == 0; -} - -void do_relocate(const dds::fs_transformation::copy_move_base& oper, - dds::path_ref root, - bool is_copy) { - auto from = fs::weakly_canonical(root / oper.from); - auto to = fs::weakly_canonical(root / oper.to); - if (!parent_dir_of(root, from)) { - throw_external_error( - "Filesystem transformation attempts to copy/move a file/directory from outside of the " - "root [{}] into the root [{}].", - from.string(), - root.string()); - } - if (!parent_dir_of(root, to)) { - throw_external_error( - "Filesystem transformation attempts to copy/move a file/directory [{}] to a " - "destination outside of the restricted root [{}].", - to.string(), - root.string()); - } - - if (!fs::exists(from)) { - throw_external_error( - "Filesystem transformation attempting to copy/move a non-existint file/directory [{}] " - "to [{}].", - from.string(), - to.string()); - } - - fs::create_directories(to.parent_path()); - - if (fs::is_regular_file(from)) { - if (is_copy) { - fs::copy_file(from, to, fs::copy_options::overwrite_existing); - } else { - safe_rename(from, to); - } - return; - } - - for (auto item : fs::recursive_directory_iterator(from)) { - auto relpath = fs::relative(item, from); - auto matches_glob = [&](auto glob) { return glob.match(relpath.string()); }; - auto included = oper.include.empty() || ranges::any_of(oper.include, matches_glob); - auto excluded = ranges::any_of(oper.exclude, matches_glob); - if (!included || excluded) { - continue; - } - - auto n_components = ranges::distance(relpath); - if (n_components <= oper.strip_components) { - continue; - } - - auto it = relpath.begin(); - std::advance(it, oper.strip_components); - relpath = ranges::accumulate(it, relpath.end(), fs::path(), std::divides<>()); - - auto dest = to / relpath; - fs::create_directories(dest.parent_path()); - if (item.is_directory()) { - fs::create_directories(dest); - } else { - if (is_copy) { - fs::copy_file(item, dest, fs::copy_options::overwrite_existing); - } else { - safe_rename(item, dest); - } - } - } -} - -void do_remove(const struct fs_transformation::remove& oper, path_ref root) { - auto from = fs::weakly_canonical(root / oper.path); - if (!parent_dir_of(root, from)) { - throw_external_error( - "Filesystem transformation attempts to deletes files/directories outside of the " - "root. Attempted to remove [{}]. Removal is restricted to [{}].", - from.string(), - root.string()); - } - - if (!fs::exists(from)) { - throw_external_error( - "Filesystem transformation attempts to delete a non-existint file/directory [{}].", - from.string()); - } - - if (fs::is_directory(from)) { - for (auto child : fs::recursive_directory_iterator{from}) { - if (child.is_directory()) { - continue; - } - auto relpath = child.path().lexically_proximate(from); - if (!oper.only_matching.empty() && !matches_any(relpath, oper.only_matching)) { - continue; - } - fs::remove_all(child); - } - } else { - fs::remove_all(from); - } -} - -void do_write(const struct fs_transformation::write& oper, path_ref root) { - auto dest = fs::weakly_canonical(root / oper.path); - if (!parent_dir_of(root, dest)) { - throw_external_error( - "Filesystem transformation is trying to write outside of the root. Attempted to write " - "to [{}]. Writing is restricted to [{}].", - dest.string(), - root.string()); - } - - auto of = dds::open(dest, std::ios::binary | std::ios::out); - of << oper.content; -} - -void do_edit(path_ref filepath, const fs_transformation::one_edit& edit) { - auto file = open(filepath, std::ios::in | std::ios::binary); - file.exceptions(std::ios::badbit); - std::string lines; - std::string line; - int line_n = 1; - for (; std::getline(file, line, '\n'); ++line_n) { - if (line_n != edit.line) { - lines += line + "\n"; - continue; - } - switch (edit.kind) { - case edit.delete_: - // Just delete the line. Ignore it. - continue; - case edit.insert: - // Insert some new content - lines += edit.content + "\n"; - lines += line + "\n"; - continue; - } - } - file = open(filepath, std::ios::out | std::ios::binary); - file << lines; -} - -} // namespace - -void dds::fs_transformation::apply_to(dds::path_ref root_) const { - auto root = fs::weakly_canonical(root_); - if (copy) { - do_relocate(*copy, root, true); - } - if (move) { - do_relocate(*move, root, false); - } - if (remove) { - do_remove(*remove, root); - } - if (write) { - do_write(*write, root); - } - if (edit) { - auto fpath = root / edit->path; - if (!parent_dir_of(root, fpath)) { - throw_external_error( - "Filesystem transformation wants to edit a file outside of the root. Attempted to " - "modify [{}]. Writing is restricted to [{}].", - fpath.string(), - root.string()); - } - for (auto&& ed : edit->edits) { - do_edit(fpath, ed); - } - } -} - -namespace { - -nlohmann::json reloc_as_json(const fs_transformation::copy_move_base& oper) { - auto obj = nlohmann::json::object(); - obj["from"] = oper.from.string(); - obj["to"] = oper.to.string(); - - obj["strip-components"] = oper.strip_components; - - auto inc_list = nlohmann::json::array(); - for (auto& inc : oper.include) { - inc_list.push_back(inc.string()); - } - - auto exc_list = nlohmann::json::array(); - for (auto& exc : oper.exclude) { - exc_list.push_back(exc.string()); - } - - if (!inc_list.empty()) { - obj["include"] = inc_list; - } - if (!exc_list.empty()) { - obj["exclude"] = exc_list; - } - - return obj; -} - -} // namespace - -std::string fs_transformation::as_json() const noexcept { - auto obj = nlohmann::json::object(); - if (copy) { - obj["copy"] = reloc_as_json(*copy); - } - if (move) { - obj["move"] = reloc_as_json(*move); - } - if (remove) { - auto rm = nlohmann::json::object(); - rm["path"] = remove->path.string(); - if (!remove->only_matching.empty()) { - auto if_arr = nlohmann::json::array(); - for (auto&& gl : remove->only_matching) { - if_arr.push_back(gl.string()); - } - rm["only-matching"] = if_arr; - } - obj["remove"] = rm; - } - if (write) { - auto wr = nlohmann::json::object(); - wr["path"] = write->path.string(); - wr["content"] = write->content; - obj["write"] = wr; - } - if (edit) { - auto ed = nlohmann::json::object(); - ed["path"] = edit->path.string(); - auto edits = nlohmann::json::array(); - for (auto&& one : edit->edits) { - auto one_ed = nlohmann::json::object(); - one_ed["kind"] = one.kind == one.delete_ ? "delete" : "insert"; - one_ed["line"] = one.line; - one_ed["content"] = one.content; - edits.push_back(std::move(one_ed)); - } - ed["edits"] = edits; - obj["edit"] = ed; - } - - return to_string(obj); -} diff --git a/src/dds/util/fs_transform.hpp b/src/dds/util/fs_transform.hpp deleted file mode 100644 index afd83239..00000000 --- a/src/dds/util/fs_transform.hpp +++ /dev/null @@ -1,65 +0,0 @@ -#pragma once - -#include "./fs.hpp" -#include "./glob.hpp" - -#include - -#include -#include - -namespace dds { - -struct fs_transformation { - struct copy_move_base { - fs::path from; - fs::path to; - - int strip_components = 0; - std::vector include; - std::vector exclude; - }; - - struct copy : copy_move_base {}; - struct move : copy_move_base {}; - - struct remove { - fs::path path; - - std::vector only_matching; - }; - - struct write { - fs::path path; - std::string content; - }; - - struct one_edit { - int line = 0; - std::string content; - enum kind_t { - delete_, - insert, - } kind - = delete_; - }; - - struct edit { - fs::path path; - std::vector edits; - }; - - std::optional copy; - std::optional move; - std::optional remove; - std::optional write; - std::optional edit; - - void apply_to(path_ref root) const; - - static fs_transformation from_json(const json5::data&); - - std::string as_json() const noexcept; -}; - -} // namespace dds diff --git a/src/dds/util/glob.test.cpp b/src/dds/util/glob.test.cpp index c5c4233c..e815e4f3 100644 --- a/src/dds/util/glob.test.cpp +++ b/src/dds/util/glob.test.cpp @@ -5,6 +5,7 @@ TEST_CASE("Simple glob") { auto this_dir = dds::fs::path(__FILE__).parent_path(); auto glob = dds::glob::compile("*.test.cpp"); + ::setlocale(LC_ALL, ".utf8"); auto it = glob.scan_from(this_dir); for (; it != glob.end(); ++it) { diff --git a/src/dds/util/http/pool.cpp b/src/dds/util/http/pool.cpp new file mode 100644 index 00000000..f6f73aea --- /dev/null +++ b/src/dds/util/http/pool.cpp @@ -0,0 +1,436 @@ +#include "./pool.hpp" + +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include + +namespace dds::detail { + +struct http_client_impl { + network_origin origin; + explicit http_client_impl(network_origin o) + : origin(std::move(o)) {} + + enum class _state_t { + ready, + sent_req_head, + sent_req_body, + recvd_resp_head, + }; + + _state_t _state = _state_t::ready; + + bool _peer_disconnected = false; + + neo::socket _conn; + + std::string _host_string; + + using sock_buffers = neo::stream_io_buffers; + sock_buffers _sock_in{_conn}; + + using ssl_engine = neo::ssl::engine; + using ssl_buffers = neo::stream_io_buffers; + std::optional _ssl_in; + + template + auto _do_io(Fun&& fn) { + if (_ssl_in.has_value()) { + return fn(*_ssl_in); + } else { + return fn(_sock_in); + } + } + + void connect() { + DDS_E_SCOPE(origin); + auto addr = neo::address::resolve(origin.hostname, std::to_string(origin.port)); + auto sock = neo::socket::open_connected(addr, neo::socket::type::stream); + + _conn = std::move(sock); + + if (origin.protocol == "https") { + static neo::ssl::openssl_app_init ssl_init; + static neo::ssl::context ssl_ctx{neo::ssl::protocol::tls_any, neo::ssl::role::client}; + _ssl_in.emplace(ssl_engine{ssl_ctx, _sock_in, neo::stream_io_buffers{_conn}}); + _ssl_in->stream().connect(); + } else if (origin.protocol == "http") { + // Plain HTTP, nothing special to do + } else { + throw_user_error("Unknown protocol: {}", origin.protocol); + } + } + + void send_head(const http_request_params& params) { + neo_assert(invariant, + _state == _state_t::ready, + "Invalid state for http_client::send_head()", + int(_state), + params.method, + params.path, + params.query, + origin.hostname, + origin.protocol, + origin.port); + + neo::http::request_line start_line{ + .method_view = params.method, + .target = neo::http::origin_form_target{ + .path_view = params.path, + .query_view = params.query, + .has_query = !params.query.empty(), + .parse_tail = {}, + }, + .http_version = neo::http::version::v1_1, + .parse_tail = {}, + }; + + dds_log(debug, + " --> HTTP {} {}://{}:{}{}", + params.method, + origin.protocol, + origin.hostname, + origin.port, + params.path); + + auto hostname_port = fmt::format("{}:{}", origin.hostname, origin.port); + + std::vector> headers = { + {"Host", hostname_port}, + {"Accept", "*/*"}, + {"Content-Length", "0"}, + {"TE", "gzip, chunked"}, + {"Connection", "keep-alive"}, + {"User-Agent", "dds 0.1.0-alpha.6"}, + }; + if (!params.prior_etag.empty()) { + headers.push_back({"If-None-Match", params.prior_etag}); + } + if (!params.last_modified.empty()) { + headers.push_back({"If-Modified-Since", params.last_modified}); + } + + _do_io([&](auto&& sink) { + neo::http::write_request(sink, start_line, headers, neo::const_buffer()); + }); + _state = _state_t::sent_req_body; + } + + http_response_info recv_head() { + neo_assert(invariant, + _state == _state_t::sent_req_body, + "Invalid state for http_client::recv_head()", + int(_state), + origin.hostname, + origin.protocol, + origin.port); + auto r = _do_io([&](auto&& source) { + return neo::http::read_response_head(source); + }); + _state = _state_t::recvd_resp_head; + auto clen_hdr = r.headers.find(neo::http::standard_headers::content_length); + if (clen_hdr && clen_hdr->value == "0") { + _state = _state_t::ready; + } + bool disconnect = false; + if (r.version == neo::http::version::v1_0) { + dds_log(trace, "HTTP/1.0 server will disconnect by default"); + disconnect = true; + } else if (r.version == neo::http::version::v1_1) { + disconnect = r.header_value("Connection") == "close"; + } else { + // Invalid version?? + disconnect = true; + } + _peer_disconnected = disconnect; + dds_log(debug, " <-- HTTP {} {}", r.status, r.status_message); + return r; + } +}; + +struct origin_order { + bool operator()(const network_origin& left, const network_origin& right) const noexcept { + return std::tie(left.protocol, left.hostname, left.port) + < std::tie(right.protocol, right.hostname, right.port); + } +}; + +struct http_pool_impl { + std::multimap, origin_order> _clients; +}; + +} // namespace dds::detail + +using namespace dds; + +using client_impl_ptr = std::shared_ptr; + +http_pool::~http_pool() = default; + +http_pool::http_pool() + : _impl(new detail::http_pool_impl) {} + +http_client::~http_client() { + // When the http_client is dropped, return its impl back to the connection pool for this origin + if (!_impl) { + // We are moved-from + return; + } + if (_impl->_state != detail::http_client_impl::_state_t::ready + && _n_exceptions != std::uncaught_exceptions()) { + dds_log(debug, "NOTE: An http_client was dropped due to an exception"); + return; + } + neo_assert(expects, + _impl->_state == detail::http_client_impl::_state_t::ready, + "An http_client object was dropped while in a partial-request state. Did you read " + "the response header AND body?", + int(_impl->_state), + _impl->origin.protocol, + _impl->origin.hostname, + _impl->origin.port); + if (_impl->_peer_disconnected) { + // Do not return this connection to the pool. Let it destroy + return; + } + if (auto pool = _pool.lock()) { + pool->_clients.emplace(_impl->origin, _impl); + } +} + +network_origin network_origin::for_url(neo::url_view url) noexcept { + auto proto = url.scheme; + auto host = url.host.value_or(""); + auto port = url.port.value_or(proto == "https" ? 443 : 80); + return {std::string(proto), std::string(host), port}; +} + +network_origin network_origin::for_url(neo::url const& url) noexcept { + auto proto = url.scheme; + auto host = url.host.value_or(""); + auto port = url.port.value_or(proto == "https" ? 443 : 80); + return {std::string(proto), std::string(host), port}; +} + +http_client http_pool::client_for_origin(const network_origin& origin) { + auto iter = _impl->_clients.find(origin); + http_client ret; + ret._pool = _impl; + if (iter == _impl->_clients.end()) { + // Nothing for this origin yet + dds_log(debug, + "Opening new connection to {}://{}:{}", + origin.protocol, + origin.hostname, + origin.port); + auto ptr = std::make_shared(origin); + ptr->connect(); + ret._impl = ptr; + } else { + dds_log(debug, + "Reusing existing connection to {}://{}:{}", + origin.protocol, + origin.hostname, + origin.port); + ret._impl = iter->second; + _impl->_clients.erase(iter); + } + return ret; +} + +void http_client::send_head(const http_request_params& params) { _impl->send_head(params); } +http_response_info http_client::recv_head() { return _impl->recv_head(); } + +void http_client::_send_buf(neo::const_buffer cbuf) { + _impl->_do_io([&](auto&& sink) { buffer_copy(sink, cbuf); }); +} + +namespace { + +struct recv_none_state : erased_message_body { + neo::const_buffer next(std::size_t) override { return {}; } + void consume(std::size_t) override {} +}; + +template +struct recv_chunked_state : erased_message_body { + Stream& _strm; + neo::http::chunked_buffers _chunked{_strm}; + client_impl_ptr _client; + + explicit recv_chunked_state(Stream& s, client_impl_ptr c) + : _strm(s) + , _client(c) {} + + neo::const_buffer next(std::size_t n) override { + auto part = _chunked.next(n); + if (neo::buffer_is_empty(part)) { + _client->_state = detail::http_client_impl::_state_t::ready; + } + return part; + } + void consume(std::size_t n) override { _chunked.consume(n); } +}; + +template +struct recv_gzip_state : erased_message_body { + Stream& _strm; + neo::gzip_source _gzip{_strm}; + client_impl_ptr _client; + + explicit recv_gzip_state(Stream& s, client_impl_ptr c) + : _strm(s) + , _client(c) {} + + neo::const_buffer next(std::size_t n) override { + auto part = _gzip.next(n); + if (neo::buffer_is_empty(part)) { + _client->_state = detail::http_client_impl::_state_t::ready; + } + return part; + } + void consume(std::size_t n) override { _gzip.consume(n); } +}; + +template +struct recv_plain_state : erased_message_body { + Stream& _strm; + std::size_t _size; + client_impl_ptr _client; + + explicit recv_plain_state(Stream& s, std::size_t size, client_impl_ptr cl) + : _strm(s) + , _size(size) + , _client(cl) {} + + neo::const_buffer next(std::size_t n) override { + auto part = _strm.next((std::min)(n, _size)); + if (neo::buffer_is_empty(part)) { + _client->_state = detail::http_client_impl::_state_t::ready; + } + return part; + } + void consume(std::size_t n) override { + _size -= n; + return _strm.consume(n); + } +}; + +} // namespace + +std::unique_ptr http_client::_make_body_reader(const http_response_info& res) { + neo_assert( + expects, + _impl->_state == detail::http_client_impl::_state_t::recvd_resp_head, + "Invalid state to ready HTTP response body. Have not yet received the response header", + int(_impl->_state), + _impl->origin.protocol, + _impl->origin.hostname, + _impl->origin.port); + if (res.status < 200 || res.status == 204 || res.status == 304) { + return std::make_unique(); + } + return _impl->_do_io([&](auto&& source) -> std::unique_ptr { + using source_type = decltype(source); + if (res.content_length() == 0) { + dds_log(trace, "Empty response body"); + _set_ready(); + return std::make_unique(); + } else if (res.transfer_encoding() == "chunked") { + dds_log(trace, "Chunked response body"); + return std::make_unique>(source, _impl); + } else if (res.transfer_encoding() == "gzip") { + dds_log(trace, "GZip encoded response body"); + return std::make_unique>(source, _impl); + } else if (!res.transfer_encoding().has_value() && res.content_length() > 0) { + dds_log(trace, "Plain response body"); + return std::make_unique>(source, + *res.content_length(), + _impl); + } else { + neo_assert(invariant, + false, + "Unimplemented", + res.transfer_encoding().value_or("[null]")); + } + }); +} + +void http_client::discard_body(const http_response_info& resp) { + auto reader_ = _make_body_reader(resp); + auto& reader = *reader_; + while (true) { + auto part = reader.next(1024); + reader.consume(neo::buffer_size(part)); + if (neo::buffer_is_empty(part)) { + break; + } + } + _set_ready(); +} + +void http_client::_set_ready() noexcept { + _impl->_state = detail::http_client_impl::_state_t::ready; +} + +request_result http_pool::request(neo::url url, http_request_params params) { + for (auto i = 0; i <= 100; ++i) { + DDS_E_SCOPE(url); + params.path = url.path; + params.query = url.query.value_or(""); + + auto origin = network_origin::for_url(url); + auto client = client_for_origin(origin); + + client.send_head(params); + auto resp = client.recv_head(); + DDS_E_SCOPE(resp); + + if (dds::log::level_enabled(dds::log::level::trace)) { + for (auto hdr : resp.headers) { + dds_log(trace, " -- {}: {}", hdr.key, hdr.value); + } + } + + if (resp.not_modified()) { + // Not Modified, a cache hit + return {std::move(client), std::move(resp)}; + } + + if (resp.is_error()) { + client.discard_body(resp); + throw BOOST_LEAF_EXCEPTION(http_status_error("Received an error from HTTP")); + } + + if (resp.is_redirect()) { + client.discard_body(resp); + if (i == 100) { + throw BOOST_LEAF_EXCEPTION( + http_server_error("Encountered over 100 HTTP redirects. Request aborted.")); + } + auto loc = resp.headers.find("Location"); + if (!loc) { + throw BOOST_LEAF_EXCEPTION( + http_server_error("Server sent an invalid response of a 30x redirect without a " + "'Location' header")); + } + url = neo::url::parse(loc->value); + continue; + } + + return {std::move(client), std::move(resp)}; + } + neo::unreachable(); +} diff --git a/src/dds/util/http/pool.hpp b/src/dds/util/http/pool.hpp new file mode 100644 index 00000000..750c2fd3 --- /dev/null +++ b/src/dds/util/http/pool.hpp @@ -0,0 +1,137 @@ +#pragma once + +#include "./request.hpp" +#include "./response.hpp" + +#include +#include +#include +#include +#include +#include + +#include + +namespace dds { + +namespace detail { + +struct http_pool_access_impl; +struct http_pool_impl; + +struct http_client_impl; + +} // namespace detail + +struct erased_message_body { + virtual ~erased_message_body() = default; + virtual neo::const_buffer next(std::size_t n) = 0; + virtual void consume(std::size_t n) = 0; +}; + +class http_status_error : public std::runtime_error { + using runtime_error::runtime_error; +}; + +class http_server_error : public std::runtime_error { + using runtime_error::runtime_error; +}; + +struct network_origin { + std::string protocol; + std::string hostname; + int port = 0; + + static network_origin for_url(neo::url_view url) noexcept; + static network_origin for_url(const neo::url& url) noexcept; +}; + +class http_client { + friend class http_pool; + + std::weak_ptr _pool; + std::shared_ptr _impl; + int _n_exceptions; + + http_client() = default; + + void _send_buf(neo::const_buffer); + + std::unique_ptr _make_body_reader(const http_response_info&); + void _set_ready() noexcept; + +public: + http_client(http_client&& o) + : _pool(neo::take(o._pool)) + , _impl(neo::take(o._impl)) + , _n_exceptions(std::uncaught_exceptions()) {} + ~http_client(); + + void send_head(http_request_params const& params); + + http_response_info recv_head(); + + template + void send_body(Body&& body) { + if constexpr (neo::single_buffer) { + _send_buf(body); + } else if constexpr (neo::buffer_range) { + neo::buffers_consumer cons{body}; + send_body(cons); + } else { + while (true) { + auto part = body.next(1024); + if (neo::buffer_is_empty(part)) { + break; + } + send_body(part); + body.consume(neo::buffer_size(part)); + } + } + } + + template + void recv_body_into(const http_response_info& resp, Out&& out) { + auto&& sink = neo::ensure_buffer_sink(out); + auto state = _make_body_reader(resp); + neo::buffer_copy(sink, *state); + _set_ready(); + } + + void discard_body(const http_response_info&); +}; + +struct request_result { + http_client client; + http_response_info resp; + + void discard_body() { client.discard_body(resp); } +}; + +class http_pool { + friend class http_client; + std::shared_ptr _impl; + +public: + http_pool(); + http_pool(http_pool&&) = default; + http_pool& operator=(http_pool&&) = default; + ~http_pool(); + + static http_pool& thread_local_pool() { + thread_local http_pool inst; + return inst; + } + + static http_pool& global_pool() { + static http_pool inst; + return inst; + } + + http_client client_for_origin(const network_origin&); + + request_result request(neo::url url, http_request_params params); + auto request(neo::url url) { return request(url, http_request_params{}); } +}; + +} // namespace dds diff --git a/src/dds/util/http/pool.test.cpp b/src/dds/util/http/pool.test.cpp new file mode 100644 index 00000000..e8c210ce --- /dev/null +++ b/src/dds/util/http/pool.test.cpp @@ -0,0 +1,25 @@ +#include "./pool.hpp" + +#include +#include + +#include + +TEST_CASE("Create an empty pool") { dds::http_pool pool; } + +TEST_CASE("Connect to a remote") { + dds::http_pool pool; + // auto client = pool.access(); + auto cl = pool.client_for_origin({"https", "www.google.com", 443}); + cl.send_head({.method = "GET", .path = "/"}); + auto resp = cl.recv_head(); + CHECK(resp.status == 200); + CHECK(resp.status_message == "OK"); + cl.discard_body(resp); +} + +TEST_CASE("Issue a request on a pool") { + dds::http_pool pool; + auto resp = pool.request(neo::url::parse("https://www.google.com")); + resp.discard_body(); +} diff --git a/src/dds/util/http/request.hpp b/src/dds/util/http/request.hpp new file mode 100644 index 00000000..3c925486 --- /dev/null +++ b/src/dds/util/http/request.hpp @@ -0,0 +1,20 @@ +#pragma once + +#include + +#include + +namespace dds { + +struct http_request_params { + std::string_view method = "GET"; + std::string_view path{}; + std::string_view query{}; + + bool follow_redirects = true; + + std::string_view prior_etag{}; + std::string_view last_modified{}; +}; + +} // namespace dds diff --git a/src/dds/util/http/response.cpp b/src/dds/util/http/response.cpp new file mode 100644 index 00000000..273bc7b3 --- /dev/null +++ b/src/dds/util/http/response.cpp @@ -0,0 +1,35 @@ +#include "./response.hpp" + +#include + +#include + +#include + +using namespace dds; + +std::optional http_response_info::content_length() const noexcept { + auto cl_str = header_value("Content-Length"); + if (!cl_str) { + return {}; + } + int clen = 0; + auto conv_res = std::from_chars(cl_str->data(), cl_str->data() + cl_str->size(), clen); + if (conv_res.ec != std::errc{}) { + dds_log(warn, + "The HTTP server returned a non-integral 'Content-Length' header: '{}'. We'll " + "pretend that there is no 'Content-Length' on this message.", + *cl_str); + return {}; + } + return clen; +} + +std::optional +http_response_info::header_value(std::string_view key) const noexcept { + auto hdr = headers.find(key); + if (!hdr) { + return {}; + } + return hdr->value; +} diff --git a/src/dds/util/http/response.hpp b/src/dds/util/http/response.hpp new file mode 100644 index 00000000..24fa7cf6 --- /dev/null +++ b/src/dds/util/http/response.hpp @@ -0,0 +1,35 @@ +#pragma once + +#include +#include + +#include + +namespace dds { + +struct http_response_info { + int status; + std::string status_message; + neo::http::version version; + neo::http::headers headers; + + std::size_t head_byte_size = 0; + + void throw_for_status() const; + + bool is_client_error() const noexcept { return status >= 400 && status < 500; } + bool is_server_error() const noexcept { return status >= 500 && status < 600; } + bool is_error() const noexcept { return is_client_error() || is_server_error(); } + bool is_redirect() const noexcept { return status >= 300 && status < 400; } + bool not_modified() const noexcept { return status == 304; } + + std::optional header_value(std::string_view key) const noexcept; + std::optional content_length() const noexcept; + + auto location() const noexcept { return header_value("Location"); } + auto transfer_encoding() const noexcept { return header_value("Transfer-Encoding"); } + auto etag() const noexcept { return header_value("ETag"); } + auto last_modified() const noexcept { return header_value("Last-Modified"); } +}; + +} // namespace dds diff --git a/src/dds/util/log.cpp b/src/dds/util/log.cpp index fad62830..a83746d1 100644 --- a/src/dds/util/log.cpp +++ b/src/dds/util/log.cpp @@ -1,6 +1,7 @@ #include "./log.hpp" #include +#include #include @@ -18,6 +19,13 @@ static void set_utf8_output() { } #endif +void dds::log::init_logger() noexcept { + // spdlog::set_pattern("[%H:%M:%S] [%^%-5l%$] %v"); + spdlog::set_pattern("[%^%-5l%$] %v"); +} + +void dds::log::ev_log::print() const noexcept { log_print(level, message); } + void dds::log::log_print(dds::log::level l, std::string_view msg) noexcept { static auto logger_inst = [] { auto logger = spdlog::default_logger_raw(); @@ -40,9 +48,24 @@ void dds::log::log_print(dds::log::level l, std::string_view msg) noexcept { return spdlog::level::err; case level::critical: return spdlog::level::critical; + case level::silent: + return spdlog::level::off; } neo_assert_always(invariant, false, "Invalid log level", msg, int(l)); }(); - logger_inst->log(lvl, "{}", msg); + logger_inst->log(lvl, msg); +} + +void dds::log::log_emit(dds::log::ev_log ev) noexcept { + if (!neo::get_event_subscriber()) { + thread_local bool did_warn = false; + if (!did_warn) { + log_print(level::warn, + "The calling thread issued a log message, but there is no subscriber " + "listening for it. The log message will be dropped. This is a bug!"); + did_warn = true; + } + } + neo::emit(ev); } diff --git a/src/dds/util/log.hpp b/src/dds/util/log.hpp index 5d3a7a08..1d9b8c97 100644 --- a/src/dds/util/log.hpp +++ b/src/dds/util/log.hpp @@ -13,11 +13,22 @@ enum class level : int { warn, error, critical, + silent, }; inline level current_log_level = level::info; +struct ev_log { + log::level level; + std::string_view message; + + void print() const noexcept; +}; + void log_print(level l, std::string_view s) noexcept; +void log_emit(ev_log) noexcept; + +void init_logger() noexcept; template concept formattable = requires(const T item) { @@ -30,7 +41,7 @@ template void log(level l, std::string_view s, const Args&... args) noexcept { if (int(l) >= int(current_log_level)) { auto message = fmt::format(s, args...); - log_print(l, message); + log_emit(ev_log{l, message}); } } diff --git a/src/dds/util/output.hpp b/src/dds/util/output.hpp index df5d078b..ffc0f7e1 100644 --- a/src/dds/util/output.hpp +++ b/src/dds/util/output.hpp @@ -2,6 +2,8 @@ namespace dds { +void enable_ansi_console() noexcept; + bool stdout_is_a_tty() noexcept; } // namespace dds diff --git a/src/dds/util/output.nix.cpp b/src/dds/util/output.nix.cpp index e94babf2..fa322df2 100644 --- a/src/dds/util/output.nix.cpp +++ b/src/dds/util/output.nix.cpp @@ -6,6 +6,10 @@ using namespace dds; +void dds::enable_ansi_console() noexcept { + // unix consoles generally already support ANSI control chars by default +} + bool dds::stdout_is_a_tty() noexcept { return ::isatty(STDOUT_FILENO) != 0; } #endif diff --git a/src/dds/util/output.win.cpp b/src/dds/util/output.win.cpp index eb46d02a..6c42716c 100644 --- a/src/dds/util/output.win.cpp +++ b/src/dds/util/output.win.cpp @@ -1,10 +1,36 @@ +#include + #if _WIN32 -#include +#include + +void dds::enable_ansi_console() noexcept { + auto stdio_console = ::GetStdHandle(STD_OUTPUT_HANDLE); + if (stdio_console == INVALID_HANDLE_VALUE) { + // Oh well... + return; + } + DWORD mode = 0; + if (!::GetConsoleMode(stdio_console, &mode)) { + // Failed to get the mode? + return; + } + // Set the bit! + mode |= ENABLE_VIRTUAL_TERMINAL_PROCESSING; + ::SetConsoleMode(stdio_console, mode); +} bool dds::stdout_is_a_tty() noexcept { - // XXX: Newer Windows consoles support ANSI color, so this should be made smarter - return false; + auto stdio_console = ::GetStdHandle(STD_OUTPUT_HANDLE); + if (stdio_console == INVALID_HANDLE_VALUE) { + return false; + } + DWORD mode = 0; + if (!::GetConsoleMode(stdio_console, &mode)) { + // Failed to get the mode + return false; + } + return (mode & ENABLE_VIRTUAL_TERMINAL_PROCESSING); } #endif \ No newline at end of file diff --git a/src/dds/util/parallel.cpp b/src/dds/util/parallel.cpp index cd2ede5e..d0ad7992 100644 --- a/src/dds/util/parallel.cpp +++ b/src/dds/util/parallel.cpp @@ -1,5 +1,7 @@ #include "./parallel.hpp" +#include + #include using namespace dds; @@ -7,7 +9,9 @@ using namespace dds; void dds::log_exception(std::exception_ptr eptr) noexcept { try { std::rethrow_exception(eptr); + } catch (const dds::user_cancelled&) { + // Don't log this one. The user knows what they did } catch (const std::exception& e) { - dds_log(error, e.what()); + dds_log(error, "{}", e.what()); } } diff --git a/src/dds/util/parallel.hpp b/src/dds/util/parallel.hpp index 78ba65d4..2f709950 100644 --- a/src/dds/util/parallel.hpp +++ b/src/dds/util/parallel.hpp @@ -1,5 +1,9 @@ #pragma once +#include + +#include + #include #include #include @@ -23,6 +27,8 @@ bool parallel_run(Range&& rng, int n_jobs, Func&& fn) { std::vector exceptions; auto run_one = [&]() mutable { + auto log_subscr = neo::subscribe(&log::ev_log::print); + while (true) { std::unique_lock lk{mut}; if (!exceptions.empty()) { diff --git a/src/dds/util/paths.linux_fbsd.cpp b/src/dds/util/paths.linux_fbsd.cpp index 64856e7a..a0683e91 100644 --- a/src/dds/util/paths.linux_fbsd.cpp +++ b/src/dds/util/paths.linux_fbsd.cpp @@ -2,6 +2,7 @@ #include "./paths.hpp" +#include #include #include @@ -10,45 +11,34 @@ using namespace dds; fs::path dds::user_home_dir() { static auto ret = []() -> fs::path { - auto home_env = std::getenv("HOME"); - if (!home_env) { + return fs::absolute(dds::getenv("HOME", [] { dds_log(error, "No HOME environment variable set!"); return "/"; - } - return fs::absolute(fs::path(home_env)); + })); }(); return ret; } fs::path dds::user_data_dir() { static auto ret = []() -> fs::path { - auto xdg_data_home = std::getenv("XDG_DATA_HOME"); - if (xdg_data_home) { - return fs::absolute(fs::path(xdg_data_home)); - } - return user_home_dir() / ".local/share"; + return fs::absolute( + dds::getenv("XDG_DATA_HOME", [] { return user_home_dir() / ".local/share"; })); }(); return ret; } fs::path dds::user_cache_dir() { static auto ret = []() -> fs::path { - auto xdg_cache_home = std::getenv("XDG_CACHE_HOME"); - if (xdg_cache_home) { - return fs::absolute(fs::path(xdg_cache_home)); - } - return user_home_dir() / ".cache"; + return fs::absolute( + dds::getenv("XDG_CACHE_HOME", [] { return user_home_dir() / ".cache"; })); }(); return ret; } fs::path dds::user_config_dir() { static auto ret = []() -> fs::path { - auto xdg_config_home = std::getenv("XDG_CONFIG_HOME"); - if (xdg_config_home) { - return fs::absolute(fs::path(xdg_config_home)); - } - return user_home_dir() / ".config"; + return fs::absolute( + dds::getenv("XDG_CONFIG_HOME", [] { return user_home_dir() / ".config"; })); }(); return ret; } diff --git a/src/dds/util/paths.macos.cpp b/src/dds/util/paths.macos.cpp index 9c942c3d..11daacdb 100644 --- a/src/dds/util/paths.macos.cpp +++ b/src/dds/util/paths.macos.cpp @@ -2,6 +2,7 @@ #include "./paths.hpp" +#include #include #include @@ -10,12 +11,10 @@ using namespace dds; fs::path dds::user_home_dir() { static auto ret = []() -> fs::path { - auto home_env = std::getenv("HOME"); - if (!home_env) { - dds_log(warn, "No HOME environment variable set!"); + return fs::absolute(dds::getenv("HOME", [] { + dds_log(error, "No HOME environment variable set!"); return "/"; - } - return fs::absolute(fs::path(home_env)); + })); }(); return ret; } @@ -24,4 +23,4 @@ fs::path dds::user_data_dir() { return user_home_dir() / "Library/Application Su fs::path dds::user_cache_dir() { return user_home_dir() / "Library/Caches"; } fs::path dds::user_config_dir() { return user_home_dir() / "Preferences"; } -#endif \ No newline at end of file +#endif diff --git a/src/dds/util/paths.win.cpp b/src/dds/util/paths.win.cpp index 769cfe11..5e0270de 100644 --- a/src/dds/util/paths.win.cpp +++ b/src/dds/util/paths.win.cpp @@ -7,15 +7,39 @@ #include #include +#include + using namespace dds; +namespace { + +std::wstring +getenv_wstr(std::wstring varname, std::wstring default_val, std::size_t size_hint = 256) { + std::wstring ret; + ret.resize(size_hint); + while (true) { + auto real_len + = ::GetEnvironmentVariableW(varname.data(), ret.data(), static_cast(ret.size())); + if (real_len == 0 && ::GetLastError() == ERROR_ENVVAR_NOT_FOUND) { + // Environment variable is not defined + return default_val; + } else if (real_len > size_hint) { + // Try again, with a larger buffer + ret.resize(real_len); + continue; + } else { + // Got it! + ret.resize(real_len); + return ret; + } + } +} + +} // namespace + fs::path dds::user_home_dir() { static auto ret = []() -> fs::path { - auto userprofile_env = std::getenv("USERPROFILE"); - if (!userprofile_env) { - dds_log(warn, "No USERPROFILE environment variable set!"); - return "/"; - } + std::wstring userprofile_env = getenv_wstr(L"UserProfile", L"/"); return fs::absolute(fs::path(userprofile_env)); }(); return ret; @@ -24,16 +48,12 @@ fs::path dds::user_home_dir() { namespace { fs::path appdatalocal_dir() { - auto env = std::getenv("LocalAppData"); - assert(env); - + static auto env = getenv_wstr(L"LocalAppData", L"/"); return fs::absolute(fs::path(env)); } fs::path appdata_dir() { - auto env = std::getenv("AppData"); - assert(env); - + static auto env = getenv_wstr(L"AppData", L"/"); return fs::absolute(fs::path(env)); } diff --git a/src/dds/util/ranges.hpp b/src/dds/util/ranges.hpp deleted file mode 100644 index 832d2800..00000000 --- a/src/dds/util/ranges.hpp +++ /dev/null @@ -1,10 +0,0 @@ -#pragma once - -namespace dds { - -template -constexpr auto& view_safe(T&& t) { - return t; -} - -} // namespace dds \ No newline at end of file diff --git a/src/dds/util/result.cpp b/src/dds/util/result.cpp new file mode 100644 index 00000000..022bee2b --- /dev/null +++ b/src/dds/util/result.cpp @@ -0,0 +1,32 @@ +#include "./result.hpp" + +#include +#include + +#include +#include + +#include + +void dds::capture_exception() { + try { + throw; + } catch (const neo::sqlite3::sqlite3_error& e) { + current_error().load(e_sqlite3_error_exc{std::string(e.what()), e.code()}, + e.code(), + neo::sqlite3::errc{e.code().value()}); + } catch (const std::system_error& e) { + current_error().load(e_system_error_exc{std::string(e.what()), e.code()}, e.code()); + } + // Re-throw as a bare exception. + throw std::exception(); +} + +void dds::write_error_marker(std::string_view error) noexcept { + dds_log(trace, "[error marker {}]", error); + auto efile_path = dds::getenv("DDS_WRITE_ERROR_MARKER"); + if (efile_path) { + std::ofstream outfile{*efile_path, std::ios::binary}; + fmt::print(outfile, "{}", error); + } +} diff --git a/src/dds/util/result.hpp b/src/dds/util/result.hpp new file mode 100644 index 00000000..165d30e9 --- /dev/null +++ b/src/dds/util/result.hpp @@ -0,0 +1,69 @@ +#pragma once + +#include +#include + +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include + +namespace dds { + +using boost::leaf::current_error; +using boost::leaf::error_id; +using boost::leaf::new_error; +using boost::leaf::result; + +template U> +constexpr T value_or(const result& res, U&& arg) { + return res ? res.value() : static_cast(arg); +} + +template +using matchv = boost::leaf::match; + +/** + * @brief Error object representing a captured system_error exception + */ +struct e_system_error_exc { + std::string message; + std::error_code code; +}; + +/** + * @brief Error object representing a captured neo::sqlite3::sqlite3_error + */ +struct e_sqlite3_error_exc { + std::string message; + std::error_code code; +}; + +struct e_url_string { + std::string value; +}; + +struct e_human_message { + std::string value; +}; + +struct e_missing_file { + std::filesystem::path path; +}; + +/** + * @brief Capture currently in-flight special exceptions as new error object. Works around a bug in + * Boost.LEAF when catching std::system error. + */ +[[noreturn]] void capture_exception(); + +void write_error_marker(std::string_view error) noexcept; + +} // namespace dds diff --git a/src/dds/util/signal.cpp b/src/dds/util/signal.cpp index 8667e942..ea164ab6 100644 --- a/src/dds/util/signal.cpp +++ b/src/dds/util/signal.cpp @@ -17,6 +17,17 @@ void dds::notify_cancel() noexcept { got_signal = SIGINT; } void dds::install_signal_handlers() noexcept { std::signal(SIGINT, handle_signal); std::signal(SIGTERM, handle_signal); + +#ifdef SIGQUIT + // Some systems issue SIGQUIT :shrug: + std::signal(SIGQUIT, handle_signal); +#endif + +#ifdef SIGPIPE + // XXX: neo-io doesn't behave nicely when EOF is hit on sockets. This Isn't + // easily fixed portably without simply blocking SIGPIPE globally. + std::signal(SIGPIPE, SIG_IGN); +#endif } bool dds::is_cancelled() noexcept { return got_signal != 0; } @@ -24,4 +35,4 @@ void dds::cancellation_point() { if (is_cancelled()) { throw user_cancelled(); } -} \ No newline at end of file +} diff --git a/src/dds/util/string.hpp b/src/dds/util/string.hpp index 17f67e81..2c369264 100644 --- a/src/dds/util/string.hpp +++ b/src/dds/util/string.hpp @@ -86,6 +86,21 @@ replace(std::vector strings, std::string_view key, std::string_view return strings; } +template +inline std::string joinstr(std::string_view joiner, Range&& rng) { + auto iter = std::begin(rng); + auto end = std::end(rng); + std::string ret; + while (iter != end) { + ret.append(*iter); + ++iter; + if (iter != end) { + ret.append(joiner); + } + } + return ret; +} + } // namespace string_utils } // namespace dds \ No newline at end of file diff --git a/src/debate/argument.cpp b/src/debate/argument.cpp new file mode 100644 index 00000000..810ad3ba --- /dev/null +++ b/src/debate/argument.cpp @@ -0,0 +1,101 @@ +#include "./argument.hpp" + +#include + +using namespace debate; + +using strv = std::string_view; + +using namespace std::literals; + +strv argument::try_match_short(strv given) const noexcept { + for (auto& cand : short_spellings) { + if (given.starts_with(cand)) { + return cand; + } + } + return ""; +} + +strv argument::try_match_long(strv given) const noexcept { + for (auto& cand : long_spellings) { + if (!given.starts_with(cand)) { + continue; + } + auto tail = given.substr(cand.size()); + // We should either be empty, as in '--argument value', + // or followed by an equal, as in '--argument=value' + if (tail.empty() || tail[0] == '=') { + return cand; + } + } + return ""; +} + +std::string argument::preferred_spelling() const noexcept { + if (!long_spellings.empty()) { + return "--"s + long_spellings.front(); + } else if (!short_spellings.empty()) { + return "-"s + short_spellings.front(); + } else { + return valname; + } +} + +std::string argument::syntax_string() const noexcept { + std::string ret; + if (!required) { + ret.push_back('['); + } + if (is_positional()) { + ret.append(preferred_spelling()); + } else { + ret.append(preferred_spelling()); + if (nargs != 0) { + auto real_valname = !valname.empty() + ? valname + : (long_spellings.empty() ? "" : ("<" + long_spellings[0] + ">")); + ret.append(fmt::format(" {}", valname.empty() ? "" : valname)); + } + } + if (can_repeat) { + ret.append(" ..."); + } + if (!required) { + ret.push_back(']'); + } + return ret; +} + +std::string argument::help_string() const noexcept { + std::string ret; + for (auto& l : long_spellings) { + ret.append(fmt::format(fmt::emphasis::bold, "--{}", l)); + if (nargs != 0) { + ret.append( + fmt::format(fmt::emphasis::italic, "={}", valname.empty() ? "" : valname)); + } + ret.push_back('\n'); + } + for (auto& s : short_spellings) { + ret.append(fmt::format(fmt::emphasis::bold, "-{}", s)); + if (nargs != 0) { + ret.append( + fmt::format(fmt::emphasis::italic, " {}", valname.empty() ? "" : valname)); + } + ret.push_back('\n'); + } + if (is_positional()) { + ret.append(preferred_spelling() + "\n"); + } + ret.append(" "); + for (auto c : help) { + ret.push_back(c); + if (c == '\n') { + ret.append(2, ' '); + } + } + ret.push_back('\n'); + + return ret; +} diff --git a/src/debate/argument.hpp b/src/debate/argument.hpp new file mode 100644 index 00000000..d962bd9c --- /dev/null +++ b/src/debate/argument.hpp @@ -0,0 +1,111 @@ +#pragma once + +#include "./error.hpp" + +#include +#include + +#include +#include +#include +#include +#include + +namespace debate { + +template +constexpr auto make_enum_putter(E& dest) noexcept; + +template +class argument_value_putter { + T& _dest; + +public: + explicit argument_value_putter(T& dest) noexcept + : _dest(dest) {} + + void operator()(std::string_view value, std::string_view) { _dest = T(value); } +}; + +template +class integer_putter { + Int& _dest; + +public: + explicit integer_putter(Int& d) + : _dest(d) {} + + void operator()(std::string_view value, std::string_view spelling) { + auto res = std::from_chars(value.data(), value.data() + value.size(), _dest); + if (res.ec != std::errc{} || res.ptr != value.data() + value.size()) { + throw boost::leaf::exception(invalid_arguments( + "Invalid value given for integral argument"), + e_arg_spelling{std::string(spelling)}, + e_invalid_arg_value{std::string(value)}); + } + } +}; + +template +constexpr auto make_argument_putter(T& dest) { + if constexpr (std::is_enum_v) { + return make_enum_putter(dest); /// !! README: Include to use enums here + } else if constexpr (std::is_integral_v) { + return integer_putter(dest); + } else { + return argument_value_putter{dest}; + } +} + +constexpr inline auto store_value = [](auto& dest, auto val) { + return [&dest, val](std::string_view = {}, std::string_view = {}) { dest = val; }; +}; + +constexpr inline auto store_true = [](auto& dest) { return store_value(dest, true); }; +constexpr inline auto store_false = [](auto& dest) { return store_value(dest, false); }; + +constexpr inline auto put_into = [](auto& dest) { return make_argument_putter(dest); }; + +constexpr inline auto push_back_onto = [](auto& dest) { + return [&dest](std::string_view value, std::string_view = {}) { dest.emplace_back(value); }; +}; + +struct argument { + std::vector long_spellings{}; + std::vector short_spellings{}; + + std::string help{}; + std::string valname{}; + + bool required = false; + int nargs = 1; + bool can_repeat = false; + + std::function action; + + // This member variable makes this strunct noncopyable, and has no other purpose + std::unique_ptr _make_noncopyable{}; + std::string_view try_match_short(std::string_view arg) const noexcept; + std::string_view try_match_long(std::string_view arg) const noexcept; + std::string preferred_spelling() const noexcept; + std::string syntax_string() const noexcept; + std::string help_string() const noexcept; + bool is_positional() const noexcept { + return long_spellings.empty() && short_spellings.empty(); + } + + argument dup() const noexcept { + return argument{ + .long_spellings = long_spellings, + .short_spellings = short_spellings, + .help = help, + .valname = valname, + .required = required, + .nargs = nargs, + .can_repeat = can_repeat, + .action = action, + }; + } +}; + +} // namespace debate \ No newline at end of file diff --git a/src/debate/argument_parser.cpp b/src/debate/argument_parser.cpp new file mode 100644 index 00000000..c51e5bfb --- /dev/null +++ b/src/debate/argument_parser.cpp @@ -0,0 +1,517 @@ +#include "./argument_parser.hpp" + +/// XXX: Refactor this after pulling debate:: out of dds +#include + +#include +#include +#include + +#include +#include +#include + +#include + +using strv = std::string_view; + +using namespace debate; + +namespace { + +struct parse_engine { + debate::detail::parser_state& state; + const argument_parser* bottom_parser; + + // Keep track of how many positional arguments we have seen + int positional_index = 0; + + // Keep track of what we've seen + std::set seen{}; + + auto current_arg() const noexcept { return state.current_arg(); } + auto at_end() const noexcept { return state.at_end(); } + void shift() noexcept { return state.shift(); } + + void see(const argument& arg) { + auto did_insert = seen.insert(&arg).second; + if (!did_insert && !arg.can_repeat) { + BOOST_LEAF_THROW_EXCEPTION(invalid_repitition("Invalid repitition")); + } + } + + void run() { + auto _ = boost::leaf::on_error([this] { return e_argument_parser{*bottom_parser}; }); + while (!at_end()) { + parse_another(); + } + // Parsed everything successfully. Cool. + finalize(); + } + + std::optional find_nearest_arg_spelling(std::string_view given) const noexcept { + std::vector candidates; + // Only match arguments of the corrent type + auto parser = bottom_parser; + while (parser) { + for (auto& arg : parser->arguments()) { + for (auto& l : arg.long_spellings) { + candidates.push_back("--" + l); + } + for (auto& s : arg.short_spellings) { + candidates.push_back("-" + s); + } + } + parser = parser->parent().pointer(); + } + if (bottom_parser->subparsers()) { + auto&& grp = *bottom_parser->subparsers(); + for (auto& p : grp._p_subparsers) { + candidates.push_back(p.name); + } + } + return dds::did_you_mean(given, candidates); + } + + void parse_another() { + auto given = current_arg(); + auto did_parse = try_parse_given(given); + if (!did_parse) { + neo_defer { + auto dym = find_nearest_arg_spelling(given); + if (dym) { + boost::leaf::current_error().load(e_did_you_mean{*dym}); + } + }; + BOOST_LEAF_THROW_EXCEPTION(unrecognized_argument("Unrecognized argument"), + e_arg_spelling{std::string(given)}); + } + } + + bool try_parse_given(const strv given) { + if (given.size() < 2 || given[0] != '-') { + if (try_parse_positional(given)) { + return true; + } + return try_parse_subparser(given); + } else if (given[1] == '-') { + // Two hyphens is a long argument + return try_parse_long(given.substr(2), given); + } else { + // A single hyphen, shorthand argument(s) + return try_parse_short(given.substr(1), given); + } + } + + /* + ## ####### ## ## ###### + ## ## ## ### ## ## ## + ## ## ## #### ## ## + ## ## ## ## ## ## ## #### + ## ## ## ## #### ## ## + ## ## ## ## ### ## ## + ######## ####### ## ## ###### + */ + + bool try_parse_long(strv tail, const strv given) { + if (tail == "help") { + BOOST_LEAF_THROW_EXCEPTION(help_request()); + } + auto argset = bottom_parser; + while (argset) { + if (try_parse_long_1(*argset, tail, given)) { + return true; + } + argset = argset->parent().pointer(); + } + return false; + } + + bool try_parse_long_1(const argument_parser& argset, strv tail, const strv) { + for (const argument& cand : argset.arguments()) { + auto matched = cand.try_match_long(tail); + if (matched.empty()) { + continue; + } + tail.remove_prefix(matched.size()); + shift(); + auto long_arg = fmt::format("--{}", matched); + auto _ = boost::leaf::on_error(e_argument{cand}, e_arg_spelling{long_arg}); + see(cand); + return dispatch_long(cand, tail, long_arg); + } + + // None of the arguments matched + return false; + } + + bool dispatch_long(const argument& arg, strv tail, strv given) { + if (arg.nargs == 0) { + if (!tail.empty()) { + // We should not have a value + BOOST_LEAF_THROW_EXCEPTION(invalid_arguments("Argument does not expect a value"), + e_wrong_val_num{1}); + } + // Just a switch. Dispatch + arg.action(given, given); + return true; + } + // We expect at least one value + neo_assert(invariant, + tail.empty() || tail[0] == '=', + "Invalid argparsing state", + tail, + given); + if (!tail.empty()) { + // Given with an '=', as in: '--long-option=value' + tail.remove_prefix(1); + // The remainder is a single value + if (arg.nargs > 1) { + BOOST_LEAF_THROW_EXCEPTION(invalid_arguments("Invalid number of values"), + e_wrong_val_num{1}); + } + arg.action(tail, given); + } else { + // Trailing words are arguments + for (auto i = 0; i < arg.nargs; ++i) { + if (at_end()) { + BOOST_LEAF_THROW_EXCEPTION(invalid_arguments( + "Invalid number of argument values"), + e_wrong_val_num{i}); + } + arg.action(current_arg(), given); + shift(); + } + } + return true; + } + + /* + ###### ## ## ####### ######## ######## + ## ## ## ## ## ## ## ## ## + ## ## ## ## ## ## ## ## + ###### ######### ## ## ######## ## + ## ## ## ## ## ## ## ## + ## ## ## ## ## ## ## ## ## + ###### ## ## ####### ## ## ## + */ + + bool try_parse_short(strv tail, const strv given) { + if (tail == "h") { + BOOST_LEAF_THROW_EXCEPTION(help_request()); + } + auto argset = bottom_parser; + while (argset) { + auto new_tail = try_parse_short_1(*argset, tail, given); + if (new_tail == tail) { + // No characters were consumed... + argset = argset->parent().pointer(); + } else { + // Got one argument. Re-seek back to the bottom-most active parser + argset = bottom_parser; + tail = new_tail; + } + if (tail.empty()) { + // We parsed the full group + return true; + } + } + // Did not match anything... + return false; + } + + strv try_parse_short_1(const argument_parser& argset, const strv tail, const strv) { + for (const argument& cand : argset.arguments()) { + auto matched = cand.try_match_short(tail); + if (matched.empty()) { + continue; + } + auto short_tail = tail.substr(matched.size()); + std::string short_arg = fmt::format("-{}", matched); + auto _ = boost::leaf::on_error(e_argument{cand}, e_arg_spelling{short_arg}); + see(cand); + return dispatch_short(cand, short_tail, short_arg); + } + // Didn't match anything. Return the original group unmodified + return tail; + } + + strv dispatch_short(const argument& arg, strv tail, strv spelling) { + if (!arg.nargs) { + // Just a switch. Consume a single character + arg.action("", spelling); + return tail; + } else if (arg.nargs == 1) { + // Want one value + if (tail.empty()) { + // The next argument is the value + shift(); + if (at_end()) { + BOOST_LEAF_THROW_EXCEPTION(invalid_arguments("Expected a value")); + } + arg.action(current_arg(), spelling); + shift(); + // We consumed the whole group, so return empty as the remaining: + return ""; + } else { + // Consume the remainder of the argument as the value + arg.action(tail, spelling); + shift(); + return ""; + } + } else { + // Consume the next arguments + if (!tail.empty()) { + BOOST_LEAF_THROW_EXCEPTION(invalid_arguments( + "Wrong number of argument values given"), + e_wrong_val_num{1}); + } + shift(); + for (auto i = 0; i < arg.nargs; ++i) { + if (at_end()) { + BOOST_LEAF_THROW_EXCEPTION(invalid_arguments("Wrong number of argument values"), + e_wrong_val_num{i}); + } + arg.action(current_arg(), spelling); + shift(); + } + return ""; + } + } + + /* + ######## ####### ###### #### ######## #### ####### ## ## ### ## + ## ## ## ## ## ## ## ## ## ## ## ### ## ## ## ## + ## ## ## ## ## ## ## ## ## ## #### ## ## ## ## + ######## ## ## ###### ## ## ## ## ## ## ## ## ## ## ## + ## ## ## ## ## ## ## ## ## ## #### ######### ## + ## ## ## ## ## ## ## ## ## ## ## ### ## ## ## + ## ####### ###### #### ## #### ####### ## ## ## ## ######## + */ + + bool try_parse_positional(strv given) { + int pos_idx = 0; + for (auto& arg : bottom_parser->arguments()) { + if (!arg.is_positional()) { + continue; + } + + if (pos_idx != this->positional_index) { + // Not yet + ++pos_idx; + continue; + } + // We've found the next one that needs a value + neo_assert(expects, + arg.nargs == 1, + "Positional arguments must have their nargs=1. For more than one " + "positional, use multiple positional arguments objects.", + arg.nargs, + given, + positional_index); + // Just invoke the action + auto _ = boost::leaf::on_error(e_arg_spelling{arg.preferred_spelling()}); + see(arg); + arg.action(given, given); + if (!arg.can_repeat) { + // This argument isn't repeatable. Advance past it + ++this->positional_index; + // If an arg is repeatable, it will always be the "next positional" to parse, + // and subsequent positionals are inherently unreachable. + } + shift(); + return true; + } + // No one accepted the value. We do not follow the chain of subcommands for positionals + return false; + } + + /* + ###### ## ## ######## ######## ### ######## ###### ######## ######## + ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## + ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## + ###### ## ## ######## ######## ## ## ######## ###### ###### ######## + ## ## ## ## ## ## ######### ## ## ## ## ## ## + ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## + ###### ####### ######## ## ## ## ## ## ###### ######## ## ## + */ + + bool try_parse_subparser(const strv given) { + if (!bottom_parser->subparsers()) { + return false; + } + auto& group = *bottom_parser->subparsers(); + for (auto& cand : group._p_subparsers) { + if (cand.name == given) { + // This parser is now the bottom of the chain + if (group.action) { + group.action(given, group.valname); + } + if (cand.action) { + cand.action(); + } + bottom_parser = &cand._p_parser; + positional_index = 0; + shift(); + return true; + } + } + return false; + } + + /* + ######## #### ## ## ### ## #### ######## ######## + ## ## ### ## ## ## ## ## ## ## + ## ## #### ## ## ## ## ## ## ## + ###### ## ## ## ## ## ## ## ## ## ###### + ## ## ## #### ######### ## ## ## ## + ## ## ## ### ## ## ## ## ## ## + ## #### ## ## ## ## ######## #### ######## ######## + */ + + void finalize() { + auto argset = bottom_parser; + while (argset) { + finalize(*argset); + argset = argset->parent().pointer(); + } + if (bottom_parser->subparsers() && bottom_parser->subparsers()->required) { + BOOST_LEAF_THROW_EXCEPTION(missing_required("Expected a subcommand")); + } + } + + void finalize(const argument_parser& argset) { + for (auto& arg : argset.arguments()) { + if (arg.required && !seen.contains(&arg)) { + BOOST_LEAF_THROW_EXCEPTION(missing_required("Required argument is missing"), + e_argument{arg}); + } + } + } +}; + +} // namespace + +void debate::detail::parser_state::run(const argument_parser& bottom) { + parse_engine{*this, &bottom}.run(); +} + +argument& argument_parser::add_argument(argument arg) noexcept { + _arguments.push_back(std::move(arg)); + return _arguments.back(); +} + +subparser_group& argument_parser::add_subparsers(subparser_group grp) noexcept { + _subparsers.emplace(std::move(grp)); + _subparsers->_p_parent_ = this; + return *_subparsers; +} + +argument_parser& subparser_group::add_parser(subparser sub) { + _p_subparsers.push_back(std::move(sub)); + auto& p = _p_subparsers.back()._p_parser; + p._parent = _p_parent_; + return p; +} + +std::string argument_parser::usage_string(std::string_view progname) const noexcept { + std::string subcommand_suffix; + auto tail_parser = this; + while (tail_parser) { + for (auto& arg : tail_parser->arguments()) { + if (arg.is_positional() && arg.required && tail_parser != this) { + subcommand_suffix = " " + arg.preferred_spelling() + subcommand_suffix; + } + } + if (!tail_parser->_name.empty()) { + subcommand_suffix = " " + tail_parser->_name + subcommand_suffix; + } + tail_parser = tail_parser->_parent.pointer(); + } + auto ret = fmt::format("Usage: {}{}", progname, subcommand_suffix); + auto indent = ret.size() + 1; + if (indent > 40) { + ret.push_back('\n'); + indent = 10; + ret.append(indent, ' '); + } + + std::size_t col = indent; + for (auto& arg : _arguments) { + auto synstr = arg.syntax_string(); + if (col + synstr.size() > 79 && col > indent) { + ret.append("\n"); + ret.append(indent - 1, ' '); + col = indent - 1; + } + ret.append(" " + synstr); + col += synstr.size() + 1; + } + + if (subparsers()) { + std::string subcommand_str = " {"; + auto& subs = subparsers()->_p_subparsers; + for (auto it = subs.cbegin(); it != subs.cend();) { + subcommand_str.append(it->name); + ++it; + if (it != subs.cend()) { + subcommand_str.append(","); + } + } + subcommand_str.append("}"); + if (col + subcommand_str.size() > 79 && col > indent) { + ret.append("\n"); + ret.append(indent - 1, ' '); + } + ret.append(subcommand_str); + } + return ret; +} + +std::string argument_parser::help_string(std::string_view progname) const noexcept { + std::string ret; + ret = usage_string(progname); + ret.append("\n\n"); + if (!_description.empty()) { + ret.append(_description); + ret.append("\n\n"); + } + bool any_required = false; + for (auto& arg : arguments()) { + if (!arg.required) { + continue; + } + if (!any_required) { + ret.append("required arguments:\n\n"); + } + any_required = true; + ret.append(arg.help_string()); + ret.append("\n"); + } + bool any_non_required = false; + for (auto& arg : arguments()) { + if (arg.required) { + continue; + } + if (!any_non_required) { + ret.append("optional arguments:\n\n"); + } + any_non_required = true; + ret.append(arg.help_string()); + ret.append("\n"); + } + + if (subparsers()) { + ret.append("Subcommands:\n\n"); + if (!subparsers()->description.empty()) { + ret.append(fmt::format(" {}\n\n", subparsers()->description)); + } + for (auto& sub : subparsers()->_p_subparsers) { + ret.append(fmt::format(fmt::emphasis::bold, "{}", sub.name)); + ret.append("\n "); + ret.append(sub.help); + ret.append("\n\n"); + } + } + return ret; +} diff --git a/src/debate/argument_parser.hpp b/src/debate/argument_parser.hpp new file mode 100644 index 00000000..33055290 --- /dev/null +++ b/src/debate/argument_parser.hpp @@ -0,0 +1,130 @@ +#pragma once + +#include "./argument.hpp" + +#include +#include +#include + +#include +#include +#include +#include + +namespace debate { + +class argument_parser; + +namespace detail { + +struct parser_state { + void run(const argument_parser& bottom_parser); + + virtual std::string_view current_arg() const noexcept = 0; + virtual bool at_end() const noexcept = 0; + virtual void shift() noexcept = 0; +}; + +template +struct parser_state_impl : parser_state { + Iter arg_it; + Stop arg_stop; + + parser_state_impl(Iter it, Stop st) + : arg_it(it) + , arg_stop(st) {} + + bool at_end() const noexcept override { return arg_it == arg_stop; } + std::string_view current_arg() const noexcept override { + neo_assert(invariant, !at_end(), "Get argument past the final argumetn?"); + return *arg_it; + } + void shift() noexcept override { + neo_assert(invariant, !at_end(), "Advancing argv parser past the end."); + ++arg_it; + } +}; + +} // namespace detail + +struct subparser; + +struct subparser_group { + std::string valname = ""; + + std::string description{}; + + bool required = true; + + std::function action{}; + + const argument_parser* _p_parent_ = nullptr; + std::list _p_subparsers{}; + + argument_parser& add_parser(subparser); +}; + +class argument_parser { + friend struct subparser_group; + std::list _arguments; + std::optional _subparsers; + std::string _name; + std::string _description; + // The parent of this argumetn parser, if it was attached using a subparser_group + neo::opt_ref _parent; + + using strv = std::string_view; + using str_iter = strv::iterator; + + template + void _parse_argv(R&& range) const { + auto arg_it = std::cbegin(range); + auto arg_stop = std::cend(range); + // Instantiate a complete parser, and go! + detail::parser_state_impl state{arg_it, arg_stop}; + state.run(*this); + } + +public: + argument_parser() = default; + + explicit argument_parser(std::string description) + : _description(std::move(description)) {} + + explicit argument_parser(std::string name, std::string description) + : _name(std::move(name)) + , _description(std::move(description)) {} + + argument& add_argument(argument arg) noexcept; + + subparser_group& add_subparsers(subparser_group grp = {}) noexcept; + + std::string usage_string(std::string_view progname) const noexcept; + + std::string help_string(std::string_view progname) const noexcept; + + template + void parse_argv(T&& range) const { + return _parse_argv(range); + } + + template + void parse_argv(std::initializer_list ilist) const { + return _parse_argv(ilist); + } + + auto parent() const noexcept { return _parent; } + auto& arguments() const noexcept { return _arguments; } + auto& subparsers() const noexcept { return _subparsers; } +}; + +struct subparser { + std::string name; + std::string help; + + std::function action{}; + + argument_parser _p_parser{name, help}; +}; + +} // namespace debate diff --git a/src/debate/argument_parser.test.cpp b/src/debate/argument_parser.test.cpp new file mode 100644 index 00000000..5624878a --- /dev/null +++ b/src/debate/argument_parser.test.cpp @@ -0,0 +1,85 @@ +#include "./debate.hpp" + +#include "./enum.hpp" + +#include + +TEST_CASE("Create an argument parser") { + enum log_level { + _invalid, + info, + warning, + error, + }; + log_level level; + + std::string file; + + debate::argument_parser parser; + parser.add_argument(debate::argument{ + .long_spellings = {"log-level"}, + .short_spellings = {"l"}, + .help = "Set the log level", + .valname = "", + .action = debate::put_into(level), + }); + parser.add_argument(debate::argument{ + .help = "A file to read", + .valname = "", + .action = debate::put_into(file), + }); + parser.parse_argv({"--log-level=info"}); + CHECK(level == log_level::info); + parser.parse_argv({"--log-level=warning"}); + CHECK(level == log_level::warning); + parser.parse_argv({"--log-level", "info"}); + CHECK(level == log_level::info); + parser.parse_argv({"-lerror"}); + CHECK(level == log_level::error); + CHECK_THROWS_AS(parser.parse_argv({"-lerror", "--log-level=info"}), std::runtime_error); + + parser.parse_argv({"-l", "info"}); + CHECK(level == log_level::info); + + parser.parse_argv({"-lwarning", "my-file.txt"}); + CHECK(level == log_level::warning); + CHECK(file == "my-file.txt"); +} + +TEST_CASE("Subcommands") { + std::optional do_eat; + std::optional scramble_eggs; + std::string_view subcommand; + + debate::argument_parser parser; + parser.add_argument({ + .long_spellings = {"eat"}, + .nargs = 0, + .action = debate::store_true(do_eat), + }); + + auto& sub = parser.add_subparsers(debate::subparser_group{.valname = ""}); + auto& egg_parser + = sub.add_parser(debate::subparser{.name = "egg", + .help = "It's an egg", + .action = debate::store_value(subcommand, "egg")}); + egg_parser.add_argument( + {.long_spellings = {"scramble"}, .nargs = 0, .action = debate::store_true(scramble_eggs)}); + + parser.parse_argv({"egg"}); + parser.parse_argv({"--eat", "egg"}); + // Missing the subcommand: + CHECK_THROWS_AS(parser.parse_argv({"--eat"}), std::runtime_error); + CHECK_FALSE(scramble_eggs); + parser.parse_argv({"egg", "--scramble"}); + CHECK(scramble_eggs); + CHECK(subcommand == "egg"); + + do_eat.reset(); + scramble_eggs.reset(); + subcommand = {}; + parser.parse_argv({"egg", "--scramble", "--eat"}); + CHECK(do_eat); + CHECK(scramble_eggs); + CHECK(subcommand == "egg"); +} diff --git a/src/debate/debate.hpp b/src/debate/debate.hpp new file mode 100644 index 00000000..d9f0f979 --- /dev/null +++ b/src/debate/debate.hpp @@ -0,0 +1,3 @@ +#pragma once + +#include "./argument_parser.hpp" diff --git a/src/debate/enum.hpp b/src/debate/enum.hpp new file mode 100644 index 00000000..b0b95c21 --- /dev/null +++ b/src/debate/enum.hpp @@ -0,0 +1,50 @@ +#pragma once + +#include "./argument_parser.hpp" +#include "./error.hpp" + +#include +#include +#include +#include + +#include + +namespace debate { + +template +class enum_putter { + E* _dest; + +public: + constexpr explicit enum_putter(E& e) + : _dest(&e) {} + + void operator()(std::string_view given, std::string_view full_arg) const { + std::optional normalized_str; + std::string_view normalized_view = given; + if (given.find('-') != given.npos) { + // We should normalize it + normalized_str.emplace(given); + for (char& c : *normalized_str) { + c = c == '-' ? '_' : c; + } + normalized_view = *normalized_str; + } + auto val = magic_enum::enum_cast(normalized_view); + if (!val) { + throw boost::leaf:: + exception(invalid_arguments("Invalid argument value given for enum-bound argument"), + e_invalid_arg_value{std::string(given)}, + e_arg_spelling{std::string(full_arg)}); + } + *_dest = *val; + } +}; + +template +constexpr auto make_enum_putter(E& dest) noexcept { + return enum_putter(dest); +} + +} // namespace debate diff --git a/src/debate/error.hpp b/src/debate/error.hpp new file mode 100644 index 00000000..a8c3b21b --- /dev/null +++ b/src/debate/error.hpp @@ -0,0 +1,55 @@ +#pragma once + +#include +#include +#include + +namespace debate { + +class argument; +class argument_parser; +class subparser; + +struct help_request : std::exception {}; + +struct invalid_arguments : std::runtime_error { + using runtime_error::runtime_error; +}; + +struct unrecognized_argument : invalid_arguments { + using invalid_arguments::invalid_arguments; +}; + +struct missing_required : invalid_arguments { + using invalid_arguments::invalid_arguments; +}; + +struct invalid_repitition : invalid_arguments { + using invalid_arguments::invalid_arguments; +}; + +struct e_argument { + const debate::argument& argument; +}; + +struct e_argument_parser { + const debate::argument_parser& parser; +}; + +struct e_invalid_arg_value { + std::string given; +}; + +struct e_wrong_val_num { + int n_given; +}; + +struct e_arg_spelling { + std::string spelling; +}; + +struct e_did_you_mean { + std::string candidate; +}; + +} // namespace debate diff --git a/src/fansi/style.hpp b/src/fansi/style.hpp new file mode 100644 index 00000000..a4476a68 --- /dev/null +++ b/src/fansi/style.hpp @@ -0,0 +1,35 @@ +#pragma once + +#include + +namespace fansi { + +enum class std_color { + unspecified = -1, + black = 0, + red = 1, + green = 2, + yellow = 3, + blue = 4, + magent = 5, + cyan = 6, + white = 7, + normal = 9, +}; + +struct text_style { + std_color fg_color = std_color::normal; + std_color bg_color = std_color::normal; + + bool bright = false; + bool bold = false; + bool faint = false; + bool italic = false; + bool underline = false; + bool reverse = false; + bool strike = false; +}; + +bool detect_should_style() noexcept; + +} // namespace fansi \ No newline at end of file diff --git a/src/fansi/styled.cpp b/src/fansi/styled.cpp new file mode 100644 index 00000000..c34d8552 --- /dev/null +++ b/src/fansi/styled.cpp @@ -0,0 +1,186 @@ +#include "./styled.hpp" + +#include "./style.hpp" +#include "./writer.hpp" + +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include + +#if NEO_OS_IS_WINDOWS +#include + +bool fansi::detect_should_style() noexcept { + auto stdio_console = ::GetStdHandle(STD_OUTPUT_HANDLE); + if (stdio_console == INVALID_HANDLE_VALUE) { + return false; + } + DWORD mode = 0; + if (!::GetConsoleMode(stdio_console, &mode)) { + // Failed to get the mode + return false; + } + return (mode & ENABLE_VIRTUAL_TERMINAL_PROCESSING); +} +#else +#include +bool fansi::detect_should_style() noexcept { return ::isatty(STDOUT_FILENO); } +#endif + +using namespace fansi; +using namespace neo::buffer_literals; + +namespace { + +const auto ANSI_CSI = "\x1b["_buf; +// const auto ANSI_RESET = "0m"_buf; +// const auto ANSI_BOLD = "1m"_buf; +// const auto ANSI_RED = "32m"_buf; +// const auto ANSI_GREEN = "32m"_buf; +// const auto ANSI_YELLOW = "33m"_buf; +// const auto ANSI_BLUE = "34m"_buf; +// const auto ANSI_MAGENTA = "35m"_buf; +// const auto ANSI_CYAN = "36m"_buf; +// const auto ANSI_WHITE = "37m"_buf; +// const auto ANSI_GRAY = "90m"_buf; + +constexpr text_style default_style{}; + +struct text_styler { + std::string_view input; + should_style should; + text_writer out{}; + + std::string_view::iterator s_iter = input.cbegin(), s_place = s_iter, s_stop = input.cend(); + + bool do_style = (should == should_style::force) + ? true + : (should == should_style::never ? false : detect_should_style()); + + std::vector _style_stack = {default_style}; + + std::string_view slice(std::string_view::iterator it, + std::string_view::iterator st) const noexcept { + return input.substr(it - input.cbegin(), st - it); + } + std::string_view pending() const noexcept { return slice(s_place, s_iter); } + std::string_view remaining() const noexcept { return slice(s_place, input.cend()); } + + std::string render() noexcept { + while (s_iter != s_stop) { + if (*s_iter == '`') { + out.write(pending()); + ++s_iter; + if (s_iter == s_stop) { + neo::emit(ev_warning{"String ends with incomplete escape sequence"}); + } else { + out.putc(*s_iter); + } + ++s_iter; + s_place = s_iter; + } else if (*s_iter == '.') { + out.write(pending()); + s_place = s_iter; + ++s_iter; + if (s_iter == s_stop || !std::isalpha(*s_iter)) { + // Just keep going + continue; + } + s_place = s_iter; + _push_style(); + } else if (*s_iter == ']' && _style_stack.size() > 1) { + out.write(pending()); + s_place = ++s_iter; + _pop_style(); + } else { + // Just keep scanning + ++s_iter; + } + } + out.write(pending()); + return out.take_string(); + } + + void _push_style() noexcept { + _read_style(); + neo_assert(expects, + *s_iter == '[', + "Style sequence should be followed by an opening square brackent"); + if (do_style) { + out.put_style(_style_stack.back()); + } + s_place = ++s_iter; + } + + void _read_style() noexcept { + auto& style = _style_stack.emplace_back(_style_stack.back()); + while (s_iter != s_stop) { + if (*s_iter == neo::oper::any_of('[', '.')) { + auto cls = pending(); + s_place = s_iter; + _apply_class(style, cls); + if (*s_iter == '[') { + return; + } + s_place = ++s_iter; + } + ++s_iter; + } + } + + void _apply_class(text_style& style, std::string_view cls) const noexcept { + auto color = magic_enum::enum_cast(cls); + if (color) { + style.fg_color = *color; + } +#define CASE(Name) \ + else if (cls == #Name) { \ + style.Name = true; \ + } + CASE(bold) + CASE(faint) + CASE(italic) + CASE(underline) + CASE(reverse) + CASE(strike) +#undef CASE + else if (cls == "br") { + style.bright = true; + } + else { + neo_assert(expects, false, "Invalid text style class in input string", cls); + } + } + + void _pop_style() noexcept { + neo_assert(expects, + _style_stack.size() > 1, + "Unbalanced style: Extra closing square brackets"); + _style_stack.pop_back(); + out.put_style(_style_stack.back()); + } +}; // namespace + +} // namespace + +std::string fansi::stylize(std::string_view str, fansi::should_style should) { + neo_assertion_breadcrumbs("Rendering text style string", str); + return text_styler{str, should}.render(); +} + +const std::string& detail::cached_rendering(const char* ptr) noexcept { + thread_local std::map cache; + auto found = cache.find(ptr); + if (found == cache.end()) { + found = cache.emplace(ptr, stylize(ptr)).first; + } + return found->second; +} diff --git a/src/fansi/styled.hpp b/src/fansi/styled.hpp new file mode 100644 index 00000000..5ecfea57 --- /dev/null +++ b/src/fansi/styled.hpp @@ -0,0 +1,34 @@ +#pragma once + +#include +#include +#include + +namespace fansi { + +struct ev_warning { + std::string_view message; +}; + +enum class should_style { + detect, + force, + never, +}; + +std::string stylize(std::string_view text, should_style = should_style::detect); + +namespace detail { +const std::string& cached_rendering(const char* ptr) noexcept; +} + +inline namespace literals { +inline namespace styled_literals { +inline const std::string& operator""_styled(const char* str, std::size_t) { + return detail::cached_rendering(str); +} + +} // namespace styled_literals +} // namespace literals + +} // namespace fansi diff --git a/src/fansi/styled.test.cpp b/src/fansi/styled.test.cpp new file mode 100644 index 00000000..2ab993b3 --- /dev/null +++ b/src/fansi/styled.test.cpp @@ -0,0 +1,34 @@ +#include "./styled.hpp" + +#include + +static std::string render(std::string_view fmt) { + return fansi::stylize(fmt, fansi::should_style::force); +} + +TEST_CASE("Stylize some text") { + auto test = render("foo bar"); + CHECK(test == "foo bar"); + test = render("foo. bar."); + CHECK(test == "foo. bar."); + test = render("foo `.eggs"); + CHECK(test == "foo .eggs"); + + test = render("foo `.bar[`]"); + CHECK(test == "foo .bar[]"); + + test = render("foo .bold[bar] baz"); + CHECK(test == "foo \x1b[1mbar\x1b[0m baz"); + + test = render("foo .bold.red[bar] baz"); + CHECK(test == "foo \x1b[1;31mbar\x1b[0m baz"); + + test = render("foo .br.red[bar] baz"); + CHECK(test == "foo \x1b[91mbar\x1b[0m baz"); + + test = render("foo .br.italic[bar] baz"); + CHECK(test == "foo \x1b[3mbar\x1b[0m baz"); + + test = render("foo .red[I am a string with .bold[bold] text inside]"); + CHECK(test == "foo \x1b[31mI am a string with \x1b[1mbold\x1b[0;31m text inside\x1b[0m"); +} diff --git a/src/fansi/writer.cpp b/src/fansi/writer.cpp new file mode 100644 index 00000000..9b158192 --- /dev/null +++ b/src/fansi/writer.cpp @@ -0,0 +1,101 @@ +#include "./writer.hpp" + +#include + +#include +#include + +using namespace fansi; +using namespace neo::literals; + +namespace { + +int code_for_color(std_color col, bool bright) { + return 30 + int(col) + ((bright && col != std_color::normal) ? 60 : 0); +} + +} // namespace + +void text_writer::put_style(const text_style& new_style) noexcept { + auto& prev_style = _style; + bool unbold = false; + std::string reset_then_enable = "0"; + std::string set_toggles; + + using neo::dynbuf_concat; + + auto append_int = [&](std::string& out, int i) { + std::array valbuf; + auto res = std::to_chars(valbuf.data(), valbuf.data() + sizeof(valbuf), i); + if (!out.empty()) { + out.push_back(';'); + } + neo::dynbuf_concat(out, neo::as_buffer(valbuf, res.ptr - valbuf.data())); + }; + + auto append_toggle = [&](bool my_state, bool prev_state, int on_val) { + int off_val = on_val + 20; + if (!my_state) { + if (prev_state != my_state) { + append_int(set_toggles, off_val); + if (off_val == 21) { + // ! Hack: Terminals disagree on the meaning of 21. ECMA says + // "double-underline", but intuition tells us it would be bold-off, since it is + // SGR Bold [1] plus twenty, as with all other toggles. + unbold = true; + } + } + } else { + append_int(reset_then_enable, on_val); + if (prev_state != my_state) { + append_int(set_toggles, on_val); + } + } + }; + + append_toggle(new_style.bold, prev_style.bold, 1); + append_toggle(new_style.faint, prev_style.faint, 2); + append_toggle(new_style.italic, prev_style.italic, 3); + append_toggle(new_style.underline, prev_style.underline, 4); + append_toggle(new_style.reverse, prev_style.reverse, 7); + append_toggle(new_style.strike, prev_style.strike, 9); + + int fg_int = code_for_color(new_style.fg_color, new_style.bright); + int bg_int = code_for_color(new_style.bg_color, new_style.bright) + 10; + int prev_fg_int = code_for_color(prev_style.fg_color, prev_style.bright); + int prev_bg_int = code_for_color(prev_style.bg_color, prev_style.bright) + 10; + + if (new_style.fg_color == std_color::normal) { + // No need to change the foreground color for the reset, but maybe for the toggle + if (fg_int != prev_fg_int) { + append_int(set_toggles, fg_int); + } + } else { + append_int(reset_then_enable, fg_int); + if (fg_int != prev_fg_int) { + append_int(set_toggles, fg_int); + } + } + + if (new_style.bg_color == std_color::normal) { + // No need to change the background color for the reset, but maybe for the toggle + if (bg_int != prev_bg_int) { + append_int(set_toggles, bg_int); + } + } else { + append_int(reset_then_enable, bg_int); + if (bg_int != prev_bg_int) { + append_int(set_toggles, bg_int); + } + } + + if (set_toggles.empty()) { + // No changes necessary + } else if (unbold || set_toggles.size() > reset_then_enable.size()) { + dynbuf_concat(_buf, "\x1b[", reset_then_enable, "m"); + } else { + dynbuf_concat(_buf, "\x1b[", set_toggles, "m"); + } + + _style = new_style; +} diff --git a/src/fansi/writer.hpp b/src/fansi/writer.hpp new file mode 100644 index 00000000..21377d8b --- /dev/null +++ b/src/fansi/writer.hpp @@ -0,0 +1,57 @@ +#pragma once + +#include "./style.hpp" + +#include +#include +#include +#include + +#include +#include + +namespace fansi { + +class text_writer { + std::string _buf; + std::size_t _vis_size = 0; + + text_style _style; + + template + void _write_raw(Bufs&& bufs, std::size_t s) noexcept { + auto out = neo::as_dynamic_buffer(_buf).grow(s); + neo::buffer_copy(out, bufs); + } + + template + void _write(Bufs&& bufs) noexcept { + auto size = neo::buffer_size(bufs); + _write_raw(bufs, size); + _vis_size += size; + } + +public: + template + void write(Buf&& bufs) noexcept { + _write(bufs); + } + + template + requires(!neo::buffer_range) void write(B&& b) noexcept { + auto bufs = {neo::as_buffer(b)}; + _write(bufs); + } + + void write(std::initializer_list bufs) noexcept { return _write(bufs); } + + void putc(char c) noexcept { write(std::string_view(&c, 1)); } + + void put_style(const text_style&) noexcept; + + std::string take_string() noexcept { return std::move(_buf); } + std::string_view string() const noexcept { return _buf; } + auto visual_size() const noexcept { return _vis_size; } +}; + +} // namespace fansi diff --git a/src/fansi/writer.test.cpp b/src/fansi/writer.test.cpp new file mode 100644 index 00000000..566e2cc8 --- /dev/null +++ b/src/fansi/writer.test.cpp @@ -0,0 +1,9 @@ +#include + +#include + +TEST_CASE("Write a string") { + fansi::text_writer wr; + wr.write("foo"); + CHECK(wr.string() == "foo"); +} diff --git a/tests/__init__.py b/tests/__init__.py deleted file mode 100644 index 94d936c8..00000000 --- a/tests/__init__.py +++ /dev/null @@ -1,5 +0,0 @@ -import sys -from pathlib import Path -sys.path.append(str(Path(__file__).absolute().parent.parent / 'tools')) - -from .dds import DDS, DDSFixtureParams, scoped_dds, dds_fixture_conf, dds_fixture_conf_1 \ No newline at end of file diff --git a/tests/basics/test_app_only.py b/tests/basics/test_app_only.py deleted file mode 100644 index 4a6933c5..00000000 --- a/tests/basics/test_app_only.py +++ /dev/null @@ -1,14 +0,0 @@ -from contextlib import ExitStack -from tests import DDS -from tests.fileutil import set_contents - - -def test_lib_with_just_app(dds: DDS): - dds.scope.enter_context( - set_contents( - dds.source_root / 'src/foo.main.cpp', - b'int main() {}', - )) - - dds.build() - assert (dds.build_dir / f'foo{dds.exe_suffix}').is_file() diff --git a/tests/basics/test_basics.py b/tests/basics/test_basics.py deleted file mode 100644 index 767b14b4..00000000 --- a/tests/basics/test_basics.py +++ /dev/null @@ -1,46 +0,0 @@ -from contextlib import contextmanager -from tests import DDS -from tests.fileutil import ensure_dir, set_contents - - -def test_build_empty(dds: DDS): - assert not dds.source_root.exists() - dds.scope.enter_context(ensure_dir(dds.source_root)) - dds.build() - - -def test_build_simple(dds: DDS): - dds.scope.enter_context( - set_contents(dds.source_root / 'src/f.cpp', b'void foo() {}')) - dds.build() - - -def basic_pkg_dds(dds: DDS): - return set_contents( - dds.source_root / 'package.json5', b''' - { - name: 'test-pkg', - version: '0.2.2', - namespace: 'test', - } - ''') - - -def test_empty_with_pkg_dds(dds: DDS): - dds.scope.enter_context(basic_pkg_dds(dds)) - dds.build() - - -def test_empty_with_lib_dds(dds: DDS): - dds.scope.enter_context(basic_pkg_dds(dds)) - dds.build() - - -def test_empty_sdist_create(dds: DDS): - dds.scope.enter_context(basic_pkg_dds(dds)) - dds.sdist_create() - - -def test_empty_sdist_export(dds: DDS): - dds.scope.enter_context(basic_pkg_dds(dds)) - dds.sdist_export() diff --git a/tests/basics/test_simple.py b/tests/basics/test_simple.py deleted file mode 100644 index ae6a6b01..00000000 --- a/tests/basics/test_simple.py +++ /dev/null @@ -1,33 +0,0 @@ -from contextlib import ExitStack -from tests import DDS -from tests.fileutil import set_contents - - -def test_simple_lib(dds: DDS, scope: ExitStack): - scope.enter_context( - dds.set_contents( - 'src/foo.cpp', - b'int the_answer() { return 42; }', - )) - - scope.enter_context( - dds.set_contents( - 'library.json5', - b'''{ - name: 'TestLibrary', - }''', - )) - - scope.enter_context( - dds.set_contents( - 'package.json5', - b'''{ - name: 'TestProject', - version: '0.0.0', - namespace: 'test', - }''', - )) - - dds.build(tests=True, apps=False, warnings=False) - assert (dds.build_dir / 'compile_commands.json').is_file() - assert list(dds.build_dir.glob('libTestLibrary*')) != [] diff --git a/tests/basics/test_test_only.py b/tests/basics/test_test_only.py deleted file mode 100644 index 8d74e42d..00000000 --- a/tests/basics/test_test_only.py +++ /dev/null @@ -1,14 +0,0 @@ -from contextlib import ExitStack -from tests import DDS -from tests.fileutil import set_contents - - -def test_lib_with_just_test(dds: DDS, scope: ExitStack): - scope.enter_context( - set_contents( - dds.source_root / 'src/foo.test.cpp', - b'int main() {}', - )) - - dds.build(tests=True, apps=False, warnings=False) - assert (dds.build_dir / f'test/foo{dds.exe_suffix}').is_file() diff --git a/tests/catalog/create_test.py b/tests/catalog/create_test.py deleted file mode 100644 index 0eda101f..00000000 --- a/tests/catalog/create_test.py +++ /dev/null @@ -1,8 +0,0 @@ -from tests import dds, DDS -from tests.fileutil import ensure_dir - - -def test_create_catalog(dds: DDS): - dds.scope.enter_context(ensure_dir(dds.build_dir)) - dds.catalog_create() - assert dds.catalog_path.is_file() diff --git a/tests/catalog/get_test.py b/tests/catalog/get_test.py deleted file mode 100644 index f506b427..00000000 --- a/tests/catalog/get_test.py +++ /dev/null @@ -1,37 +0,0 @@ -import json - -from tests import dds, DDS -from tests.fileutil import ensure_dir - -import pytest - - -def test_get(dds: DDS): - dds.scope.enter_context(ensure_dir(dds.build_dir)) - dds.catalog_create() - - json_path = dds.build_dir / 'catalog.json' - import_data = { - 'version': 1, - 'packages': { - 'neo-sqlite3': { - '0.3.0': { - 'git': { - 'url': - 'https://github.com/vector-of-bool/neo-sqlite3.git', - 'ref': - '0.3.0', - }, - }, - }, - }, - } - dds.scope.enter_context( - dds.set_contents(json_path, - json.dumps(import_data).encode())) - - dds.catalog_import(json_path) - - dds.catalog_get('neo-sqlite3@0.3.0') - assert (dds.source_root / 'neo-sqlite3@0.3.0').is_dir() - assert (dds.source_root / 'neo-sqlite3@0.3.0/package.jsonc').is_file() diff --git a/tests/catalog/import_test.py b/tests/catalog/import_test.py deleted file mode 100644 index 7724cdb4..00000000 --- a/tests/catalog/import_test.py +++ /dev/null @@ -1,35 +0,0 @@ -import json - -from tests import dds, DDS -from tests.fileutil import ensure_dir - - -def test_import_json(dds: DDS): - dds.scope.enter_context(ensure_dir(dds.build_dir)) - dds.catalog_create() - - json_fpath = dds.build_dir / 'data.json' - import_data = { - 'version': 1, - 'packages': { - 'foo': { - '1.2.4': { - 'git': { - 'url': 'http://example.com', - 'ref': 'master', - }, - 'depends': [], - }, - '1.2.5': { - 'git': { - 'url': 'http://example.com', - 'ref': 'master', - }, - }, - }, - }, - } - dds.scope.enter_context( - dds.set_contents(json_fpath, - json.dumps(import_data).encode())) - dds.catalog_import(json_fpath) diff --git a/tests/basics/config_template/copy_only/src/info.config.hpp b/tests/config_template/copy_only/src/info.config.hpp similarity index 100% rename from tests/basics/config_template/copy_only/src/info.config.hpp rename to tests/config_template/copy_only/src/info.config.hpp diff --git a/tests/basics/config_template/copy_only/src/info.test.cpp b/tests/config_template/copy_only/src/info.test.cpp similarity index 100% rename from tests/basics/config_template/copy_only/src/info.test.cpp rename to tests/config_template/copy_only/src/info.test.cpp diff --git a/tests/basics/config_template/simple/library.jsonc b/tests/config_template/simple/library.jsonc similarity index 100% rename from tests/basics/config_template/simple/library.jsonc rename to tests/config_template/simple/library.jsonc diff --git a/tests/basics/config_template/simple/package.jsonc b/tests/config_template/simple/package.jsonc similarity index 100% rename from tests/basics/config_template/simple/package.jsonc rename to tests/config_template/simple/package.jsonc diff --git a/tests/basics/config_template/simple/src/simple/config.config.hpp b/tests/config_template/simple/src/simple/config.config.hpp similarity index 100% rename from tests/basics/config_template/simple/src/simple/config.config.hpp rename to tests/config_template/simple/src/simple/config.config.hpp diff --git a/tests/basics/config_template/simple/src/simple/simple.test.cpp b/tests/config_template/simple/src/simple/simple.test.cpp similarity index 100% rename from tests/basics/config_template/simple/src/simple/simple.test.cpp rename to tests/config_template/simple/src/simple/simple.test.cpp diff --git a/tests/basics/config_template/test_config_template.py b/tests/config_template/test_config_template.py similarity index 57% rename from tests/basics/config_template/test_config_template.py rename to tests/config_template/test_config_template.py index 6f9d72ce..c6f14723 100644 --- a/tests/basics/config_template/test_config_template.py +++ b/tests/config_template/test_config_template.py @@ -1,14 +1,13 @@ -import pytest from time import sleep -from tests import DDS, dds_fixture_conf_1 +from dds_ci.testing import ProjectOpener -@dds_fixture_conf_1('copy_only') -def test_config_template(dds: DDS): - generated_fpath = dds.build_dir / '__dds/gen/info.hpp' +def test_config_template(project_opener: ProjectOpener) -> None: + proj = project_opener.open('copy_only') + generated_fpath = proj.build_root / '__dds/gen/info.hpp' assert not generated_fpath.is_file() - dds.build() + proj.build() assert generated_fpath.is_file() # Check that re-running the build will not update the generated file (the @@ -16,11 +15,11 @@ def test_config_template(dds: DDS): # cache and force a false-rebuild.) start_time = generated_fpath.stat().st_mtime sleep(0.1) # Wait just long enough to register a new stamp time - dds.build() + proj.build() new_time = generated_fpath.stat().st_mtime assert new_time == start_time -@dds_fixture_conf_1('simple') -def test_simple_substitution(dds: DDS): - dds.build() +def test_simple_substitution(project_opener: ProjectOpener) -> None: + simple = project_opener.open('simple') + simple.build() diff --git a/tests/conftest.py b/tests/conftest.py index 43469538..8e395997 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -1,58 +1,27 @@ -from contextlib import ExitStack -from typing import Optional +from typing import Any from pathlib import Path -import shutil import pytest +from _pytest.config import Config as PyTestConfig -from tests import scoped_dds, DDSFixtureParams +# Ensure the fixtures are registered with PyTest: +from dds_ci.testing.fixtures import * # pylint: disable=wildcard-import,unused-wildcard-import +from dds_ci.testing.http import * # pylint: disable=wildcard-import,unused-wildcard-import -@pytest.yield_fixture -def dds(request, tmp_path: Path, worker_id: str, scope: ExitStack): - test_source_dir = Path(request.fspath).absolute().parent - test_root = test_source_dir +def pytest_addoption(parser: Any) -> None: + parser.addoption('--test-deps', + action='store_true', + default=False, + help='Run the exhaustive and intensive dds-deps tests') + parser.addoption('--dds-exe', help='Path to the dds executable under test', type=Path) - # If we are running in parallel, use a unique directory as scratch - # space so that we aren't stomping on anyone else - if worker_id != 'master': - test_root = tmp_path / request.function.__name__ - shutil.copytree(test_source_dir, test_root) - project_dir = test_root / 'project' - # Check if we have a special configuration - if hasattr(request, 'param'): - assert isinstance(request.param, DDSFixtureParams), \ - ('Using the `dds` fixture requires passing in indirect ' - 'params. Use @dds_fixture_conf to configure the fixture') - params: DDSFixtureParams = request.param - project_dir = test_root / params.subdir +def pytest_configure(config: Any) -> None: + config.addinivalue_line('markers', 'deps_test: Deps tests are slow. Enable with --test-deps') - # Create the instance. Auto-clean when we're done - yield scope.enter_context( - scoped_dds(test_root, project_dir, request.function.__name__)) - -@pytest.fixture -def scope(): - with ExitStack() as scope: - yield scope - - -def pytest_addoption(parser): - parser.addoption( - '--test-deps', - action='store_true', - default=False, - help='Run the exhaustive and intensive dds-deps tests') - - -def pytest_configure(config): - config.addinivalue_line( - 'markers', 'deps_test: Deps tests are slow. Enable with --test-deps') - - -def pytest_collection_modifyitems(config, items): +def pytest_collection_modifyitems(config: PyTestConfig, items: Any) -> None: if config.getoption('--test-deps'): return for item in items: @@ -60,6 +29,4 @@ def pytest_collection_modifyitems(config, items): continue item.add_marker( pytest.mark.skip( - reason= - 'Exhaustive deps tests are slow and perform many Git clones. Use --test-deps to run them.' - )) + reason='Exhaustive deps tests are slow and perform many Git clones. Use --test-deps to run them.')) diff --git a/tests/dds.py b/tests/dds.py deleted file mode 100644 index fb55147f..00000000 --- a/tests/dds.py +++ /dev/null @@ -1,194 +0,0 @@ -import os -import itertools -from contextlib import contextmanager, ExitStack -from pathlib import Path -from typing import Iterable, Union, Any, Dict, NamedTuple, ContextManager -import subprocess -import shutil - -import pytest - -from dds_ci import proc - -from . import fileutil - - -class DDS: - def __init__(self, dds_exe: Path, test_dir: Path, project_dir: Path, - scope: ExitStack) -> None: - self.dds_exe = dds_exe - self.test_dir = test_dir - self.source_root = project_dir - self.scratch_dir = project_dir / '_test_scratch' - self.scope = scope - self.scope.callback(self.cleanup) - - @property - def repo_dir(self) -> Path: - return self.scratch_dir / 'repo' - - @property - def catalog_path(self) -> Path: - return self.scratch_dir / 'catalog.db' - - @property - def deps_build_dir(self) -> Path: - return self.scratch_dir / 'deps-build' - - @property - def build_dir(self) -> Path: - return self.scratch_dir / 'build' - - @property - def lmi_path(self) -> Path: - return self.scratch_dir / 'INDEX.lmi' - - def cleanup(self): - if self.scratch_dir.exists(): - shutil.rmtree(self.scratch_dir) - - def run_unchecked(self, cmd: proc.CommandLine, *, - cwd: Path = None) -> subprocess.CompletedProcess: - full_cmd = itertools.chain([self.dds_exe], cmd) - return proc.run(full_cmd, cwd=cwd or self.source_root) - - def run(self, cmd: proc.CommandLine, *, cwd: Path = None, - check=True) -> subprocess.CompletedProcess: - cmdline = list(proc.flatten_cmd(cmd)) - res = self.run_unchecked(cmd, cwd=cwd) - if res.returncode != 0 and check: - raise subprocess.CalledProcessError( - res.returncode, [self.dds_exe] + cmdline, res.stdout) - return res - - @property - def repo_dir_arg(self) -> str: - return f'--repo-dir={self.repo_dir}' - - @property - def project_dir_arg(self) -> str: - return f'--project-dir={self.source_root}' - - def build_deps(self, args: proc.CommandLine, *, - toolchain: str = None) -> subprocess.CompletedProcess: - return self.run([ - 'build-deps', - f'--toolchain={toolchain or self.default_builtin_toolchain}', - f'--catalog={self.catalog_path}', - f'--repo-dir={self.repo_dir}', - f'--out={self.deps_build_dir}', - f'--lmi-path={self.lmi_path}', - args, - ]) - - def build(self, - *, - toolchain: str = None, - apps: bool = True, - warnings: bool = True, - tests: bool = True, - check: bool = True) -> subprocess.CompletedProcess: - return self.run( - [ - 'build', - f'--out={self.build_dir}', - f'--toolchain={toolchain or self.default_builtin_toolchain}', - f'--catalog={self.catalog_path.relative_to(self.source_root)}', - f'--repo-dir={self.repo_dir.relative_to(self.source_root)}', - ['--no-tests'] if not tests else [], - ['--no-apps'] if not apps else [], - ['--no-warnings'] if not warnings else [], - self.project_dir_arg, - ], - check=check, - ) - - def sdist_create(self) -> subprocess.CompletedProcess: - self.build_dir.mkdir(exist_ok=True, parents=True) - return self.run(['sdist', 'create', self.project_dir_arg], - cwd=self.build_dir) - - def sdist_export(self) -> subprocess.CompletedProcess: - return self.run([ - 'sdist', - 'export', - self.project_dir_arg, - self.repo_dir_arg, - ]) - - def repo_import(self, sdist: Path) -> subprocess.CompletedProcess: - return self.run(['repo', self.repo_dir_arg, 'import', sdist]) - - @property - def default_builtin_toolchain(self) -> str: - if os.name == 'posix': - return ':c++17:gcc-9' - elif os.name == 'nt': - return ':c++17:msvc' - else: - raise RuntimeError( - f'No default builtin toolchain defined for tests on platform "{os.name}"' - ) - - @property - def exe_suffix(self) -> str: - if os.name == 'posix': - return '' - elif os.name == 'nt': - return '.exe' - else: - raise RuntimeError( - f'We don\'t know the executable suffix for the platform "{os.name}"' - ) - - def catalog_create(self) -> subprocess.CompletedProcess: - self.scratch_dir.mkdir(parents=True, exist_ok=True) - return self.run( - ['catalog', 'create', f'--catalog={self.catalog_path}'], - cwd=self.test_dir) - - def catalog_import(self, json_path: Path) -> subprocess.CompletedProcess: - self.scratch_dir.mkdir(parents=True, exist_ok=True) - return self.run([ - 'catalog', - 'import', - f'--catalog={self.catalog_path}', - f'--json={json_path}', - ]) - - def catalog_get(self, req: str) -> subprocess.CompletedProcess: - return self.run([ - 'catalog', - 'get', - f'--catalog={self.catalog_path}', - req, - ]) - - def set_contents(self, path: Union[str, Path], - content: bytes) -> ContextManager[Path]: - return fileutil.set_contents(self.source_root / path, content) - - -@contextmanager -def scoped_dds(test_dir: Path, project_dir: Path, name: str): - dds_exe = Path(__file__).absolute().parent.parent / '_build/dds' - if os.name == 'nt': - dds_exe = dds_exe.with_suffix('.exe') - with ExitStack() as scope: - yield DDS(dds_exe, test_dir, project_dir, scope) - - -class DDSFixtureParams(NamedTuple): - ident: str - subdir: Union[Path, str] - - -def dds_fixture_conf(*argsets: DDSFixtureParams): - args = list(argsets) - return pytest.mark.parametrize( - 'dds', args, indirect=True, ids=[p.ident for p in args]) - - -def dds_fixture_conf_1(subdir: Union[Path, str]): - params = DDSFixtureParams(ident='only', subdir=subdir) - return pytest.mark.parametrize('dds', [params], indirect=True, ids=['.']) diff --git a/tests/deps/build-deps/project/catalog.json b/tests/deps/build-deps/project/catalog.json deleted file mode 100644 index c4cc73e6..00000000 --- a/tests/deps/build-deps/project/catalog.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "version": 1, - "packages": { - "neo-sqlite3": { - "0.1.0": { - "git": { - "url": "https://github.com/vector-of-bool/neo-sqlite3.git", - "ref": "0.1.0" - }, - }, - "0.2.2": { - "git": { - "url": "https://github.com/vector-of-bool/neo-sqlite3.git", - "ref": "0.2.2" - }, - }, - "0.3.0": { - "git": { - "url": "https://github.com/vector-of-bool/neo-sqlite3.git", - "ref": "0.3.0" - }, - } - } - } -} \ No newline at end of file diff --git a/tests/deps/build-deps/project/deps.json5 b/tests/deps/build-deps/project/deps.json5 deleted file mode 100644 index 3cdf79f3..00000000 --- a/tests/deps/build-deps/project/deps.json5 +++ /dev/null @@ -1,5 +0,0 @@ -{ - depends: [ - 'neo-fun+0.3.0' - ], -} diff --git a/tests/deps/build-deps/test_build_deps.py b/tests/deps/build-deps/test_build_deps.py deleted file mode 100644 index 1d3f332c..00000000 --- a/tests/deps/build-deps/test_build_deps.py +++ /dev/null @@ -1,31 +0,0 @@ -from tests import dds, DDS - - -def test_build_deps_from_file(dds: DDS): - assert not dds.deps_build_dir.is_dir() - dds.catalog_import(dds.source_root / 'catalog.json') - dds.build_deps(['-d', 'deps.json5']) - assert (dds.deps_build_dir / 'neo-fun@0.3.0').is_dir() - assert (dds.scratch_dir / 'INDEX.lmi').is_file() - assert (dds.deps_build_dir / '_libman/neo-fun.lmp').is_file() - assert (dds.deps_build_dir / '_libman/neo/fun.lml').is_file() - - -def test_build_deps_from_cmd(dds: DDS): - assert not dds.deps_build_dir.is_dir() - dds.catalog_import(dds.source_root / 'catalog.json') - dds.build_deps(['neo-fun=0.3.0']) - assert (dds.deps_build_dir / 'neo-fun@0.3.0').is_dir() - assert (dds.scratch_dir / 'INDEX.lmi').is_file() - assert (dds.deps_build_dir / '_libman/neo-fun.lmp').is_file() - assert (dds.deps_build_dir / '_libman/neo/fun.lml').is_file() - - -def test_multiple_deps(dds: DDS): - assert not dds.deps_build_dir.is_dir() - dds.catalog_import(dds.source_root / 'catalog.json') - dds.build_deps(['neo-fun^0.2.0', 'neo-fun~0.3.0']) - assert (dds.deps_build_dir / 'neo-fun@0.3.0').is_dir() - assert (dds.scratch_dir / 'INDEX.lmi').is_file() - assert (dds.deps_build_dir / '_libman/neo-fun.lmp').is_file() - assert (dds.deps_build_dir / '_libman/neo/fun.lml').is_file() diff --git a/tests/deps/deps_test.py b/tests/deps/deps_test.py deleted file mode 100644 index 14cdee79..00000000 --- a/tests/deps/deps_test.py +++ /dev/null @@ -1,587 +0,0 @@ -import json -from pathlib import Path -from typing import NamedTuple, Sequence, List - -import pytest - -from tests import DDS, fileutil - - -class DepsCase(NamedTuple): - dep: str - usage: str - source: str - - def setup_root(self, dds: DDS): - dds.scope.enter_context( - fileutil.set_contents( - dds.source_root / 'package.json', - json.dumps({ - 'name': 'test-project', - 'namespace': 'test', - 'version': '0.0.0', - 'depends': [self.dep], - }).encode())) - dds.scope.enter_context( - fileutil.set_contents( - dds.source_root / 'library.json', - json.dumps({ - 'name': 'test', - 'uses': [self.usage], - }).encode())) - dds.scope.enter_context( - fileutil.set_contents(dds.source_root / 'src/test.test.cpp', - self.source.encode())) - - -CASES: List[DepsCase] = [] - - -def get_default_pkg_versions(pkg: str) -> Sequence[str]: - catalog_json = Path( - __file__).resolve().parent.parent.parent / 'catalog.json' - catalog_dict = json.loads(catalog_json.read_text()) - return list(catalog_dict['packages'][pkg].keys()) - - -def add_cases(pkg: str, uses: str, versions: Sequence[str], source: str): - if versions == ['auto']: - versions = get_default_pkg_versions(pkg) - for ver in versions: - CASES.append(DepsCase(f'{pkg}@{ver}', uses, source)) - - -# magic_enum tests -""" -## ## ### ###### #### ###### ######## ## ## ## ## ## ## -### ### ## ## ## ## ## ## ## ## ### ## ## ## ### ### -#### #### ## ## ## ## ## ## #### ## ## ## #### #### -## ### ## ## ## ## #### ## ## ###### ## ## ## ## ## ## ### ## -## ## ######### ## ## ## ## ## ## #### ## ## ## ## -## ## ## ## ## ## ## ## ## ## ## ### ## ## ## ## -## ## ## ## ###### #### ###### ####### ######## ## ## ####### ## ## -""" -add_cases( - 'magic_enum', 'neargye/magic_enum', ['auto'], r''' - #include - #include - - enum my_enum { - foo, - bar, - }; - - int main() { - if (magic_enum::enum_name(my_enum::foo) != "foo") { - return 1; - } - } - ''') - -# Range-v3 tests -""" -######## ### ## ## ###### ######## ## ## ####### -## ## ## ## ### ## ## ## ## ## ## ## ## -## ## ## ## #### ## ## ## ## ## ## -######## ## ## ## ## ## ## #### ###### ####### ## ## ####### -## ## ######### ## #### ## ## ## ## ## ## -## ## ## ## ## ### ## ## ## ## ## ## ## -## ## ## ## ## ## ###### ######## ### ####### -""" - -add_cases( - 'range-v3', 'range-v3/range-v3', ['auto'], r''' - #include - - #include - #include - - int main() { - std::vector nums = {1, 2, 3, 5, 1, 4, 2, 7, 8, 0, 9}; - auto end = ranges::remove_if(nums, [](auto i) { return i % 2; }); - return std::distance(nums.begin(), end) != 5; - } - ''') - -# nlohmann-json -""" -## ## ## ####### ## ## ## ## ### ## ## ## ## ## ###### ####### ## ## -### ## ## ## ## ## ## ### ### ## ## ### ## ### ## ## ## ## ## ## ### ## -#### ## ## ## ## ## ## #### #### ## ## #### ## #### ## ## ## ## ## #### ## -## ## ## ## ## ## ######### ## ### ## ## ## ## ## ## ## ## ## ####### ## ###### ## ## ## ## ## -## #### ## ## ## ## ## ## ## ######### ## #### ## #### ## ## ## ## ## ## #### -## ### ## ## ## ## ## ## ## ## ## ## ### ## ### ## ## ## ## ## ## ## ### -## ## ######## ####### ## ## ## ## ## ## ## ## ## ## ###### ###### ####### ## ## -""" -add_cases('nlohmann-json', 'nlohmann/json', ['auto'], r''' - #include - - int main() {} - ''') - -# ctre -""" - ###### ######## ######## ######## -## ## ## ## ## ## -## ## ## ## ## -## ## ######## ###### -## ## ## ## ## -## ## ## ## ## ## - ###### ## ## ## ######## -""" -add_cases( - 'ctre', 'hanickadot/ctre', ['auto'], r''' - #include - - constexpr ctll::fixed_string MY_REGEX{"\\w+-[0-9]+"}; - - int main() { - auto [did_match] = ctre::match("foo-44"); - if (!did_match) { - return 1; - } - - auto [did_match_2] = ctre::match("bar-1ff"); - if (did_match_2) { - return 2; - } - } - ''') - -# fmt -""" -######## ## ## ######## -## ### ### ## -## #### #### ## -###### ## ### ## ## -## ## ## ## -## ## ## ## -## ## ## ## -""" -add_cases( - 'fmt', 'fmt/fmt', ['auto'], r''' - #include - - int main() { - fmt::print("Hello!"); - } - ''') - -# Catch2 -""" - ###### ### ######## ###### ## ## ####### -## ## ## ## ## ## ## ## ## ## ## -## ## ## ## ## ## ## ## -## ## ## ## ## ######### ####### -## ######### ## ## ## ## ## -## ## ## ## ## ## ## ## ## ## - ###### ## ## ## ###### ## ## ######### -""" -add_cases( - 'catch2', 'catch2/catch2', ['auto'], r''' - #include - - TEST_CASE("I am a test case") { - CHECK((2 + 2) == 4); - CHECK_FALSE((2 + 2) == 5); - } - ''') - -# Asio -""" - ### ###### #### ####### - ## ## ## ## ## ## ## - ## ## ## ## ## ## -## ## ###### ## ## ## -######### ## ## ## ## -## ## ## ## ## ## ## -## ## ###### #### ####### -""" -add_cases( - 'asio', 'asio/asio', ['auto'], r''' - #include - - int main() { - asio::io_context ioc; - - int retcode = 12; - ioc.post([&] { - retcode = 0; - }); - ioc.run(); - return retcode; - } - ''') - -# Abseil -""" - ### ######## ###### ######## #### ## - ## ## ## ## ## ## ## ## ## - ## ## ## ## ## ## ## ## -## ## ######## ###### ###### ## ## -######### ## ## ## ## ## ## -## ## ## ## ## ## ## ## ## -## ## ######## ###### ######## #### ######## -""" -add_cases( - 'abseil', 'abseil/abseil', ['auto'], r''' - #include - - int main() { - std::string_view foo = "foo"; - std::string_view bar = "bar"; - auto cat = absl::StrCat(foo, bar); - return cat != "foobar"; - } - ''') - -# Zlib -""" -######## ## #### ######## - ## ## ## ## ## - ## ## ## ## ## - ## ## ## ######## - ## ## ## ## ## - ## ## ## ## ## -######## ######## #### ######## -""" -add_cases( - 'zlib', 'zlib/zlib', ['auto'], r''' - #include - #include - - int main() { - ::z_stream strm = {}; - deflateInit(&strm, 6); - - const char buffer[] = "foo bar baz"; - strm.next_in = (Bytef*)buffer; - strm.avail_in = sizeof buffer; - - char dest[256] = {}; - strm.next_out = (Bytef*)dest; - strm.avail_out = sizeof dest; - auto ret = deflate(&strm, Z_FINISH); - deflateEnd(&strm); - assert(ret == Z_STREAM_END); - assert(strm.avail_in == 0); - assert(strm.avail_out != sizeof dest); - } - ''') - -# sol2 -""" - ###### ####### ## ####### -## ## ## ## ## ## ## -## ## ## ## ## - ###### ## ## ## ####### - ## ## ## ## ## -## ## ## ## ## ## - ###### ####### ######## ######### -""" -add_cases( - 'sol2', 'sol2/sol2', ['3.2.1', '3.2.0', '3.0.3', '3.0.2'], r''' - #include - - int main() { - sol::state lua; - int x = 0; - lua.set_function("beepboop", [&]{ ++x; }); - lua.script("beepboop()"); - return x != 1; - } - ''') - -# pegtl -""" -######## ######## ###### ######## ## -## ## ## ## ## ## ## -## ## ## ## ## ## -######## ###### ## #### ## ## -## ## ## ## ## ## -## ## ## ## ## ## -## ######## ###### ## ######## -""" -add_cases( - 'pegtl', 'tao/pegtl', ['auto'], r''' - #include - - using namespace tao::pegtl; - - struct sign : one<'+', '-'> {}; - struct integer : seq, plus> {}; - - int main() { - tao::pegtl::string_input str{"+44", "[test string]"}; - tao::pegtl::parse(str); - } - ''') - -# Boost.PFR -""" -######## ####### ####### ###### ######## ######## ######## ######## -## ## ## ## ## ## ## ## ## ## ## ## ## ## -## ## ## ## ## ## ## ## ## ## ## ## ## -######## ## ## ## ## ###### ## ######## ###### ######## -## ## ## ## ## ## ## ## ## ## ## ## -## ## ## ## ## ## ## ## ## ### ## ## ## ## -######## ####### ####### ###### ## ### ## ## ## ## -""" -add_cases( - 'boost.pfr', 'boost/pfr', ['auto'], r''' - #include - #include - #include - - struct some_person { - std::string name; - unsigned birth_year; - }; - - int main() { - some_person val{"Edgar Allan Poe", 1809}; - - std::cout << boost::pfr::get<0>(val) // No macro! - << " was born in " << boost::pfr::get<1>(val); // Works with any aggregate initializables! - - return boost::pfr::get<0>(val) != "Edgar Allan Poe"; - } - ''') - -# Boost.LEAF -""" -## ######## ### ######## -## ## ## ## ## -## ## ## ## ## -## ###### ## ## ###### -## ## ######### ## -## ## ## ## ## -######## ######## ## ## ## -""" -add_cases( - 'boost.leaf', 'boost/leaf', ['auto'], r''' - #include - - namespace leaf = boost::leaf; - - int main() { - return leaf::try_handle_all( - [&]() -> leaf::result { - return 0; - }, - [](leaf::error_info const&) { - return 32; - } - ); - } - ''') - -# Boost.mp11 -""" -######## ####### ####### ###### ######## ## ## ######## ## ## -## ## ## ## ## ## ## ## ## ### ### ## ## #### #### -## ## ## ## ## ## ## ## #### #### ## ## ## ## -######## ## ## ## ## ###### ## ## ### ## ######## ## ## -## ## ## ## ## ## ## ## ## ## ## ## ## -## ## ## ## ## ## ## ## ## ### ## ## ## ## ## -######## ####### ####### ###### ## ### ## ## ## ###### ###### -""" -add_cases( - 'boost.mp11', 'boost/mp11', ['auto'], r''' - #include - - int main() { - return boost::mp11::mp_false() == boost::mp11::mp_true(); - } - ''') - -# libsodium -""" -## #### ######## ###### ####### ######## #### ## ## ## ## -## ## ## ## ## ## ## ## ## ## ## ## ## ### ### -## ## ## ## ## ## ## ## ## ## ## ## #### #### -## ## ######## ###### ## ## ## ## ## ## ## ## ### ## -## ## ## ## ## ## ## ## ## ## ## ## ## ## -## ## ## ## ## ## ## ## ## ## ## ## ## ## ## -######## #### ######## ###### ####### ######## #### ####### ## ## -""" -add_cases( - 'libsodium', 'sodium/sodium', ['auto'], r''' - #include - - #include - - int main() { - char arr[256] = {}; - ::randombytes_buf(arr, sizeof arr); - for (auto b : arr) { - if (b != '\x00') { - return 0; - } - } - return 1; - } - ''') - -# toml++ -""" -######## ####### ## ## ## - ## ## ## ### ### ## ## ## - ## ## ## #### #### ## ## ## - ## ## ## ## ### ## ## ###### ###### - ## ## ## ## ## ## ## ## - ## ## ## ## ## ## ## ## - ## ####### ## ## ######## -""" -add_cases( - 'tomlpp', 'tomlpp/tomlpp', ['auto'], r''' - #include - - #include - - int main() { - std::string_view sv = R"( - [library] - something = "cats" - person = "Joe" - )"; - - toml::table tbl = toml::parse(sv); - return tbl["library"]["person"] != "Joe"; - } - ''') - -# Inja -""" -#### ## ## ## ### - ## ### ## ## ## ## - ## #### ## ## ## ## - ## ## ## ## ## ## ## - ## ## #### ## ## ######### - ## ## ### ## ## ## ## -#### ## ## ###### ## ## -""" -add_cases( - 'inja', 'inja/inja', ['2.0.0', '2.0.1', '2.1.0', '2.2.0'], r''' - #include - #include - - int main() { - nlohmann::json data; - data["foo"] = "bar"; - - auto result = inja::render("foo {{foo}}", data); - return result != "foo bar"; - } - ''') - -# Cereal -""" - ###### ######## ######## ######## ### ## -## ## ## ## ## ## ## ## ## -## ## ## ## ## ## ## ## -## ###### ######## ###### ## ## ## -## ## ## ## ## ######### ## -## ## ## ## ## ## ## ## ## - ###### ######## ## ## ######## ## ## ######## -""" -add_cases( - 'cereal', 'cereal/cereal', ['auto'], r''' - #include - #include - #include - - #include - - struct something { - int a, b, c; - std::string str; - - template - void serialize(Ar& ar) { - ar(a, b, c, str); - } - }; - - int main() { - std::stringstream strm; - cereal::BinaryOutputArchive ar{strm}; - - something s; - ar(s); - - return 0; - } - ''') - -# pcg -""" -######## ###### ###### -## ## ## ## ## ## -## ## ## ## -######## ## ## #### -## ## ## ## -## ## ## ## ## -## ###### ###### -""" -add_cases( - 'pcg-cpp', 'pcg/pcg-cpp', ['auto'], r''' - #include - - #include - - int main() { - pcg64 rng{1729}; - return rng() != 14925250045015479985; - } - ''') - -# spdlog -""" - ###### ######## ######## ## ####### ###### -## ## ## ## ## ## ## ## ## ## ## -## ## ## ## ## ## ## ## ## - ###### ######## ## ## ## ## ## ## #### - ## ## ## ## ## ## ## ## ## -## ## ## ## ## ## ## ## ## ## - ###### ## ######## ######## ####### ###### -""" -add_cases( - 'spdlog', 'spdlog/spdlog', ['auto'], r''' - #include - - int main() { - spdlog::info("Howdy!"); - } - ''') - -# date -""" -######## ### ######## ######## -## ## ## ## ## ## -## ## ## ## ## ## -## ## ## ## ## ###### -## ## ######### ## ## -## ## ## ## ## ## -######## ## ## ## ######## -""" -add_cases( - 'hinnant-date', 'hinnant/date', ['auto'], r''' - #include - #include - - int main() { - auto now = std::chrono::system_clock::now(); - using namespace date::literals; - auto year = date::year_month_day{date::floor(now)}.year(); - std::cout << "The current year is " << year << '\n'; - return year < 2020_y; - } - ''') - - -@pytest.mark.deps_test -@pytest.mark.parametrize('case', CASES, ids=[c.dep for c in CASES]) -def test_dep(case: DepsCase, dds: DDS) -> None: - case.setup_root(dds) - dds.build() diff --git a/tests/deps/do_test.py b/tests/deps/do_test.py deleted file mode 100644 index 780b7007..00000000 --- a/tests/deps/do_test.py +++ /dev/null @@ -1,27 +0,0 @@ -import pytest -import subprocess - -from tests import DDS, DDSFixtureParams, dds_fixture_conf, dds_fixture_conf_1 - -dds_conf = dds_fixture_conf( - DDSFixtureParams(ident='git-remote', subdir='git-remote'), - DDSFixtureParams(ident='no-deps', subdir='no-deps'), -) - - -@dds_conf -def test_deps_build(dds: DDS): - dds.catalog_import(dds.source_root / 'catalog.json') - assert not dds.repo_dir.exists() - dds.build() - assert dds.repo_dir.exists(), '`Building` did not generate a repo directory' - - -@dds_fixture_conf_1('use-remote') -def test_use_nlohmann_json_remote(dds: DDS): - dds.catalog_import(dds.source_root / 'catalog.json') - dds.build(apps=True) - - app_exe = dds.build_dir / f'app{dds.exe_suffix}' - assert app_exe.is_file() - subprocess.check_call([str(app_exe)]) diff --git a/tests/deps/git-remote/catalog.json b/tests/deps/git-remote/catalog.json deleted file mode 100644 index e4d4e1fd..00000000 --- a/tests/deps/git-remote/catalog.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "version": 1, - "packages": { - "neo-fun": { - "0.3.2": { - "git": { - "url": "https://github.com/vector-of-bool/neo-fun.git", - "ref": "0.3.2" - } - } - }, - "range-v3": { - "0.9.1": { - "git": { - "url": "https://github.com/ericniebler/range-v3.git", - "ref": "0.9.1", - "auto-lib": "Niebler/range-v3" - } - } - } - } -} \ No newline at end of file diff --git a/tests/deps/git-remote/package.json5 b/tests/deps/git-remote/package.json5 deleted file mode 100644 index fe52d790..00000000 --- a/tests/deps/git-remote/package.json5 +++ /dev/null @@ -1,9 +0,0 @@ -{ - name: 'deps-test', - "namespace": "test", - version: '0.0.0', - depends: [ - 'neo-fun@0.3.2', - 'range-v3@0.9.1', - ] -} \ No newline at end of file diff --git a/tests/deps/no-deps/catalog.json b/tests/deps/no-deps/catalog.json deleted file mode 100644 index 79193f72..00000000 --- a/tests/deps/no-deps/catalog.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "version": 1, - "packages": {} -} \ No newline at end of file diff --git a/tests/deps/no-deps/package.json5 b/tests/deps/no-deps/package.json5 deleted file mode 100644 index 1edea844..00000000 --- a/tests/deps/no-deps/package.json5 +++ /dev/null @@ -1,5 +0,0 @@ -{ - name: 'deps-test', - version: '0.0.0', - "namespace": "test", -} \ No newline at end of file diff --git a/tests/deps/use-cryptopp/project/catalog.json b/tests/deps/use-cryptopp/project/catalog.json deleted file mode 100644 index 9af23c5f..00000000 --- a/tests/deps/use-cryptopp/project/catalog.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "version": 1, - "packages": { - "cryptopp": { - "8.2.0": { - "git": { - "url": "https://github.com/weidai11/cryptopp.git", - "ref": "CRYPTOPP_8_2_0", - "auto-lib": "cryptopp/cryptopp", - "transform": [ - { - "move": { - "from": ".", - "to": "src/cryptopp", - "include": [ - "*.c", - "*.cpp", - "*.h" - ] - } - } - ] - } - } - } - } -} \ No newline at end of file diff --git a/tests/deps/use-cryptopp/project/library.json5 b/tests/deps/use-cryptopp/project/library.json5 deleted file mode 100644 index d16b6aea..00000000 --- a/tests/deps/use-cryptopp/project/library.json5 +++ /dev/null @@ -1,4 +0,0 @@ -{ - name: 'use-cryptopp', - uses: ['cryptopp/cryptopp'] -} \ No newline at end of file diff --git a/tests/deps/use-cryptopp/project/package.json5 b/tests/deps/use-cryptopp/project/package.json5 deleted file mode 100644 index 2ff54223..00000000 --- a/tests/deps/use-cryptopp/project/package.json5 +++ /dev/null @@ -1,8 +0,0 @@ -{ - name: 'use-cryptopp', - version: '1.0.0', - namespace: 'test', - depends: [ - 'cryptopp@8.2.0' - ] -} \ No newline at end of file diff --git a/tests/deps/use-cryptopp/project/src/use-cryptopp.main.cpp b/tests/deps/use-cryptopp/project/src/use-cryptopp.main.cpp deleted file mode 100644 index b8cfb78e..00000000 --- a/tests/deps/use-cryptopp/project/src/use-cryptopp.main.cpp +++ /dev/null @@ -1,17 +0,0 @@ -#include - -#include - -int main() { - std::string arr; - arr.resize(256); - CryptoPP::OS_GenerateRandomBlock(false, - reinterpret_cast(arr.data()), - arr.size()); - for (auto b : arr) { - if (b != '\x00') { - return 0; - } - } - return 1; -} diff --git a/tests/deps/use-cryptopp/test_use_cryptopp.py b/tests/deps/use-cryptopp/test_use_cryptopp.py deleted file mode 100644 index 307132a0..00000000 --- a/tests/deps/use-cryptopp/test_use_cryptopp.py +++ /dev/null @@ -1,18 +0,0 @@ -from tests import DDS -import platform - -import pytest - -from dds_ci import proc - - -@pytest.mark.skipif( - platform.system() == 'FreeBSD', - reason='This one has trouble running on FreeBSD') -def test_get_build_use_cryptopp(dds: DDS): - dds.catalog_import(dds.source_root / 'catalog.json') - tc_fname = 'gcc.tc.jsonc' if 'gcc' in dds.default_builtin_toolchain else 'msvc.tc.jsonc' - tc = str(dds.test_dir / tc_fname) - dds.build(toolchain=tc) - proc.check_run( - (dds.build_dir / 'use-cryptopp').with_suffix(dds.exe_suffix)) diff --git a/tests/deps/use-remote/catalog.json b/tests/deps/use-remote/catalog.json deleted file mode 100644 index 02b39442..00000000 --- a/tests/deps/use-remote/catalog.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "version": 1, - "packages": { - "nlohmann-json": { - "3.7.1": { - "git": { - "url": "https://github.com/vector-of-bool/json.git", - "ref": "dds/3.7.1" - }, - "depends": [] - } - } - } -} \ No newline at end of file diff --git a/tests/deps/use-remote/library.json5 b/tests/deps/use-remote/library.json5 deleted file mode 100644 index 1a2d7ba1..00000000 --- a/tests/deps/use-remote/library.json5 +++ /dev/null @@ -1,6 +0,0 @@ -{ - name: "dummy", - uses: [ - 'nlohmann/json', - ] -} \ No newline at end of file diff --git a/tests/deps/use-remote/package.json5 b/tests/deps/use-remote/package.json5 deleted file mode 100644 index 5cd271c5..00000000 --- a/tests/deps/use-remote/package.json5 +++ /dev/null @@ -1,8 +0,0 @@ -{ - "name": "json-test", - "version": "0.0.0", - "namespace": "test", - "depends": [ - "nlohmann-json@3.7.1" - ] -} \ No newline at end of file diff --git a/tests/deps/use-remote/src/app.main.cpp b/tests/deps/use-remote/src/app.main.cpp deleted file mode 100644 index 8d29b185..00000000 --- a/tests/deps/use-remote/src/app.main.cpp +++ /dev/null @@ -1,8 +0,0 @@ -#include - -int main() { - nlohmann::json j = { - {"foo", "bar"}, - }; - return j.size() == 1 ? 0 : 12; -} diff --git a/tests/deps/use-spdlog/project/catalog.json b/tests/deps/use-spdlog/project/catalog.json deleted file mode 100644 index 83529caa..00000000 --- a/tests/deps/use-spdlog/project/catalog.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "version": 1, - "packages": { - "spdlog": { - "1.4.2": { - "git": { - "url": "https://github.com/gabime/spdlog.git", - "ref": "v1.4.2", - "auto-lib": "spdlog/spdlog" - }, - "depends": [] - } - } - } -} \ No newline at end of file diff --git a/tests/deps/use-spdlog/use_spdlog_test.py b/tests/deps/use-spdlog/use_spdlog_test.py deleted file mode 100644 index a6f9e9aa..00000000 --- a/tests/deps/use-spdlog/use_spdlog_test.py +++ /dev/null @@ -1,11 +0,0 @@ -from tests import DDS - -from dds_ci import proc - - -def test_get_build_use_spdlog(dds: DDS): - dds.catalog_import(dds.source_root / 'catalog.json') - tc_fname = 'gcc.tc.jsonc' if 'gcc' in dds.default_builtin_toolchain else 'msvc.tc.jsonc' - tc = str(dds.test_dir / tc_fname) - dds.build(toolchain=tc, apps=True) - proc.check_run((dds.build_dir / 'use-spdlog').with_suffix(dds.exe_suffix)) diff --git a/tests/errors/errors_test.py b/tests/errors/errors_test.py deleted file mode 100644 index 887e3104..00000000 --- a/tests/errors/errors_test.py +++ /dev/null @@ -1,7 +0,0 @@ -from tests import DDS -from tests.fileutil import ensure_dir - - -def test_empty_dir(dds: DDS): - with ensure_dir(dds.source_root): - dds.build() diff --git a/tests/fileutil.py b/tests/fileutil.py deleted file mode 100644 index 31a395a0..00000000 --- a/tests/fileutil.py +++ /dev/null @@ -1,52 +0,0 @@ -from contextlib import contextmanager, ExitStack -from pathlib import Path -from typing import Iterator, Union, Optional - -import shutil - -@contextmanager -def ensure_dir(dirpath: Path) -> Iterator[Path]: - """ - Ensure that the given directory (and any parents) exist. When the context - exists, removes any directories that were created. - """ - dirpath = dirpath.absolute() - if dirpath.exists(): - assert dirpath.is_dir(), f'Directory {dirpath} is a non-directory file' - yield dirpath - return - - # Create the directory and clean it up when we are done - with ensure_dir(dirpath.parent): - dirpath.mkdir() - try: - yield dirpath - finally: - shutil.rmtree(dirpath) - - -@contextmanager -def auto_delete(fpath: Path) -> Iterator[Path]: - try: - yield fpath - finally: - if fpath.exists(): - fpath.unlink() - - -@contextmanager -def set_contents(fpath: Path, content: bytes) -> Iterator[Path]: - prev_content: Optional[bytes] = None - if fpath.exists(): - assert fpath.is_file(), 'File {fpath} exists and is not a regular file' - prev_content = fpath.read_bytes() - - with ensure_dir(fpath.parent): - fpath.write_bytes(content) - try: - yield fpath - finally: - if prev_content is None: - fpath.unlink() - else: - fpath.write_bytes(prev_content) diff --git a/tests/gcc-9.tc.jsonc b/tests/gcc-9.tc.jsonc new file mode 100644 index 00000000..a0a03867 --- /dev/null +++ b/tests/gcc-9.tc.jsonc @@ -0,0 +1,5 @@ +{ + "compiler_id": 'gnu', + "cxx_version": 'c++17', + "cxx_compiler": 'g++-9', +} \ No newline at end of file diff --git a/tests/msvc.tc.jsonc b/tests/msvc.tc.jsonc new file mode 100644 index 00000000..f7889f5c --- /dev/null +++ b/tests/msvc.tc.jsonc @@ -0,0 +1,4 @@ +{ + "compiler_id": 'msvc', + "cxx_version": "c++17" +} \ No newline at end of file diff --git a/tests/db/project/src/1.cpp b/tests/projects/compile_deps/src/1.cpp similarity index 100% rename from tests/db/project/src/1.cpp rename to tests/projects/compile_deps/src/1.cpp diff --git a/tests/db/project/src/2.cpp b/tests/projects/compile_deps/src/2.cpp similarity index 100% rename from tests/db/project/src/2.cpp rename to tests/projects/compile_deps/src/2.cpp diff --git a/tests/db/project/src/app.main.cpp b/tests/projects/compile_deps/src/app.main.cpp similarity index 100% rename from tests/db/project/src/app.main.cpp rename to tests/projects/compile_deps/src/app.main.cpp diff --git a/tests/db/project/src/foo.hpp b/tests/projects/compile_deps/src/foo.hpp similarity index 100% rename from tests/db/project/src/foo.hpp rename to tests/projects/compile_deps/src/foo.hpp diff --git a/tests/db/project/src/values.hpp b/tests/projects/compile_deps/src/values.hpp similarity index 100% rename from tests/db/project/src/values.hpp rename to tests/projects/compile_deps/src/values.hpp diff --git a/tests/projects/simple-cmake/CMakeLists.txt b/tests/projects/simple-cmake/CMakeLists.txt new file mode 100644 index 00000000..9eacf8cd --- /dev/null +++ b/tests/projects/simple-cmake/CMakeLists.txt @@ -0,0 +1,7 @@ +cmake_minimum_required(VERSION 3.12) +project(TestProject) + +include(${PROJECT_BINARY_DIR}/libraries.cmake) + +add_executable(app main.cpp) +target_link_libraries(app PRIVATE test::foo) diff --git a/tests/projects/simple-cmake/main.cpp b/tests/projects/simple-cmake/main.cpp new file mode 100644 index 00000000..1a37f016 --- /dev/null +++ b/tests/projects/simple-cmake/main.cpp @@ -0,0 +1,3 @@ +#include + +int main() { say_hello(); } \ No newline at end of file diff --git a/tests/projects/simple/include/foo.hpp b/tests/projects/simple/include/foo.hpp new file mode 100644 index 00000000..4da076c0 --- /dev/null +++ b/tests/projects/simple/include/foo.hpp @@ -0,0 +1,3 @@ +#pragma once + +extern void say_hello(); diff --git a/tests/sdist/create/include/header.h b/tests/projects/simple/include/header.h similarity index 100% rename from tests/sdist/create/include/header.h rename to tests/projects/simple/include/header.h diff --git a/tests/sdist/create/include/header.hpp b/tests/projects/simple/include/header.hpp similarity index 100% rename from tests/sdist/create/include/header.hpp rename to tests/projects/simple/include/header.hpp diff --git a/tests/sdist/create/library.jsonc b/tests/projects/simple/library.jsonc similarity index 100% rename from tests/sdist/create/library.jsonc rename to tests/projects/simple/library.jsonc diff --git a/tests/sdist/create/other-file.txt b/tests/projects/simple/other-file.txt similarity index 100% rename from tests/sdist/create/other-file.txt rename to tests/projects/simple/other-file.txt diff --git a/tests/sdist/create/package.json5 b/tests/projects/simple/package.json5 similarity index 100% rename from tests/sdist/create/package.json5 rename to tests/projects/simple/package.json5 diff --git a/tests/projects/simple/src/foo.cpp b/tests/projects/simple/src/foo.cpp new file mode 100644 index 00000000..a3eba328 --- /dev/null +++ b/tests/projects/simple/src/foo.cpp @@ -0,0 +1,5 @@ +#include + +#include + +void say_hello() { std::cout << "Hello!\n"; } \ No newline at end of file diff --git a/tests/projects/tweaks/include/tweakable.config.hpp b/tests/projects/tweaks/include/tweakable.config.hpp new file mode 100644 index 00000000..7eb981c5 --- /dev/null +++ b/tests/projects/tweaks/include/tweakable.config.hpp @@ -0,0 +1,21 @@ +#pragma once + +#if __has_include() +#include +#endif + +namespace tweakable { + +namespace config { + +namespace defaults { + +const int value = 99; + +} // namespace defaults + +using namespace defaults; + +} // namespace config + +} // namespace tweakable diff --git a/tests/projects/tweaks/include/tweakable.hpp b/tests/projects/tweaks/include/tweakable.hpp new file mode 100644 index 00000000..86139322 --- /dev/null +++ b/tests/projects/tweaks/include/tweakable.hpp @@ -0,0 +1,7 @@ +#pragma once + +namespace tweakable { + +extern int get_value(); + +} // namespace tweakable diff --git a/tests/projects/tweaks/library.jsonc b/tests/projects/tweaks/library.jsonc new file mode 100644 index 00000000..07a21daa --- /dev/null +++ b/tests/projects/tweaks/library.jsonc @@ -0,0 +1,3 @@ +{ + "name": "foo" +} \ No newline at end of file diff --git a/tests/projects/tweaks/package.json5 b/tests/projects/tweaks/package.json5 new file mode 100644 index 00000000..78eaa6de --- /dev/null +++ b/tests/projects/tweaks/package.json5 @@ -0,0 +1,5 @@ +{ + name: 'tweakable', + version: '1.2.3', + "namespace": "test", +} \ No newline at end of file diff --git a/tests/projects/tweaks/src/tweakable.cpp b/tests/projects/tweaks/src/tweakable.cpp new file mode 100644 index 00000000..3345bde7 --- /dev/null +++ b/tests/projects/tweaks/src/tweakable.cpp @@ -0,0 +1,6 @@ +#include +#include + +#include + +int tweakable::get_value() { return tweakable::config::value; } diff --git a/tests/projects/tweaks/src/tweakable.main.cpp b/tests/projects/tweaks/src/tweakable.main.cpp new file mode 100644 index 00000000..1c5886da --- /dev/null +++ b/tests/projects/tweaks/src/tweakable.main.cpp @@ -0,0 +1,3 @@ +#include + +int main() { return tweakable::get_value(); } diff --git a/tests/sdist/create/src/foo.cpp b/tests/sdist/create/src/foo.cpp deleted file mode 100644 index e69de29b..00000000 diff --git a/tests/sdist/sdist_test.py b/tests/sdist/sdist_test.py deleted file mode 100644 index 26ec19be..00000000 --- a/tests/sdist/sdist_test.py +++ /dev/null @@ -1,27 +0,0 @@ -from tests.dds import DDS, dds_fixture_conf_1 - - -@dds_fixture_conf_1('create') -def test_create_sdist(dds: DDS): - dds.sdist_create() - sd_dir = dds.build_dir / 'foo@1.2.3.tar.gz' - assert sd_dir.is_file() - - -@dds_fixture_conf_1('create') -def test_export_sdist(dds: DDS): - dds.sdist_export() - assert (dds.repo_dir / 'foo@1.2.3').is_dir() - - -@dds_fixture_conf_1('create') -def test_import_sdist_archive(dds: DDS): - repo_content_path = dds.repo_dir / 'foo@1.2.3' - assert not repo_content_path.is_dir() - dds.sdist_create() - assert not repo_content_path.is_dir() - dds.repo_import(dds.build_dir / 'foo@1.2.3.tar.gz') - assert repo_content_path.is_dir() - assert repo_content_path.joinpath('library.jsonc').is_file() - # Excluded file will not be in the sdist: - assert not repo_content_path.joinpath('other-file.txt').is_file() diff --git a/tests/test_basics.py b/tests/test_basics.py new file mode 100644 index 00000000..65c86198 --- /dev/null +++ b/tests/test_basics.py @@ -0,0 +1,86 @@ +from subprocess import CalledProcessError +import time + +import pytest + +from dds_ci import paths +from dds_ci.testing.error import expect_error_marker +from dds_ci.testing import Project, PackageJSON + + +def test_build_empty(tmp_project: Project) -> None: + """Check that dds is okay with building an empty project directory""" + tmp_project.build() + + +def test_lib_with_app_only(tmp_project: Project) -> None: + """Test that dds can build a simple application""" + tmp_project.write('src/foo.main.cpp', r'int main() {}') + tmp_project.build() + assert (tmp_project.build_root / f'foo{paths.EXE_SUFFIX}').is_file() + + +def test_build_simple(tmp_project: Project) -> None: + """ + Test that dds can build a simple library, and handles rebuilds correctly. + """ + # Build a bad project + tmp_project.write('src/f.cpp', 'syntax error') + with pytest.raises(CalledProcessError): + tmp_project.build() + # Now we can build: + tmp_project.write('src/f.cpp', r'void f() {}') + tmp_project.build() + # Writing again will build again: + time.sleep(1) # Sleep long enough to register a file change + tmp_project.write('src/f.cpp', r'bad again') + with pytest.raises(CalledProcessError): + tmp_project.build() + + +def test_simple_lib(tmp_project: Project) -> None: + """ + Test that dds can build a simple library withsome actual content, and that + the manifest files will affect the output name. + """ + tmp_project.write('src/foo.cpp', 'int the_answer() { return 42; }') + tmp_project.package_json = { + 'name': 'TestProject', + 'version': '0.0.0', + 'namespace': 'test', + } + tmp_project.library_json = {'name': 'TestLibrary'} + tmp_project.build() + assert (tmp_project.build_root / 'compile_commands.json').is_file() + assert list(tmp_project.build_root.glob('libTestLibrary.*')) != [] + + +def test_lib_with_just_test(tmp_project: Project) -> None: + tmp_project.write('src/foo.test.cpp', 'int main() {}') + tmp_project.build() + assert tmp_project.build_root.joinpath(f'test/foo{paths.EXE_SUFFIX}').is_file() + + +def test_lib_with_failing_test(tmp_project: Project) -> None: + tmp_project.write('src/foo.test.cpp', 'int main() { return 2; }') + with expect_error_marker('build-failed-test-failed'): + tmp_project.build() + + +TEST_PACKAGE: PackageJSON = { + 'name': 'test-pkg', + 'version': '0.2.2', + 'namespace': 'test', +} + + +def test_empty_with_pkg_json(tmp_project: Project) -> None: + tmp_project.package_json = TEST_PACKAGE + tmp_project.build() + + +def test_empty_sdist_create(tmp_project: Project) -> None: + tmp_project.package_json = TEST_PACKAGE + tmp_project.pkg_create() + assert tmp_project.build_root.joinpath('test-pkg@0.2.2.tar.gz').is_file(), \ + 'The expected sdist tarball was not generated' diff --git a/tests/test_build_deps.py b/tests/test_build_deps.py new file mode 100644 index 00000000..8c264521 --- /dev/null +++ b/tests/test_build_deps.py @@ -0,0 +1,85 @@ +import json + +import pytest + +from dds_ci.testing import RepoServer, Project, ProjectOpener +from dds_ci import proc, toolchain + +SIMPLE_CATALOG = { + "packages": { + "neo-fun": { + "0.3.0": { + "remote": { + "git": { + "url": "https://github.com/vector-of-bool/neo-fun.git", + "ref": "0.3.0" + } + } + } + } + } +} + + +@pytest.fixture() +def test_repo(http_repo: RepoServer) -> RepoServer: + http_repo.import_json_data(SIMPLE_CATALOG) + return http_repo + + +@pytest.fixture() +def test_project(tmp_project: Project, test_repo: RepoServer) -> Project: + tmp_project.dds.repo_add(test_repo.url) + return tmp_project + + +def test_from_file(test_project: Project) -> None: + """build-deps using a file listing deps""" + test_project.write('deps.json5', json.dumps({'depends': ['neo-fun+0.3.0']})) + test_project.dds.build_deps(['-d', 'deps.json5']) + assert test_project.root.joinpath('_deps/neo-fun@0.3.0').is_dir() + assert test_project.root.joinpath('_deps/_libman/neo-fun.lmp').is_file() + assert test_project.root.joinpath('_deps/_libman/neo/fun.lml').is_file() + assert test_project.root.joinpath('INDEX.lmi').is_file() + + +def test_from_cmd(test_project: Project) -> None: + """build-deps using a command-line listing""" + test_project.dds.build_deps(['neo-fun=0.3.0']) + assert test_project.root.joinpath('_deps/neo-fun@0.3.0').is_dir() + assert test_project.root.joinpath('_deps/_libman/neo-fun.lmp').is_file() + assert test_project.root.joinpath('_deps/_libman/neo/fun.lml').is_file() + assert test_project.root.joinpath('INDEX.lmi').is_file() + + +def test_multiple_deps(test_project: Project) -> None: + """build-deps with multiple deps resolves to a single version""" + test_project.dds.build_deps(['neo-fun^0.2.0', 'neo-fun~0.3.0']) + assert test_project.root.joinpath('_deps/neo-fun@0.3.0').is_dir() + assert test_project.root.joinpath('_deps/_libman/neo-fun.lmp').is_file() + assert test_project.root.joinpath('_deps/_libman/neo/fun.lml').is_file() + assert test_project.root.joinpath('INDEX.lmi').is_file() + + +def test_cmake_simple(project_opener: ProjectOpener) -> None: + proj = project_opener.open('projects/simple') + proj.dds.pkg_import(proj.root) + + cm_proj_dir = project_opener.test_dir / 'projects/simple-cmake' + proj.build_root.mkdir(exist_ok=True, parents=True) + proj.dds.run( + [ + 'build-deps', + proj.dds.cache_dir_arg, + 'foo@1.2.3', + ('-t', ':gcc' if 'gcc' in toolchain.get_default_toolchain().name else ':msvc'), + f'--cmake=libraries.cmake', + ], + cwd=proj.build_root, + ) + + try: + proc.check_run(['cmake', '-S', cm_proj_dir, '-B', proj.build_root]) + except FileNotFoundError: + assert False, 'Running the integration tests requires a CMake executable' + proc.check_run(['cmake', '--build', proj.build_root]) diff --git a/tests/db/test_compile_deps.py b/tests/test_compile_deps.py similarity index 52% rename from tests/db/test_compile_deps.py rename to tests/test_compile_deps.py index 09b7ea8a..d8fcab28 100644 --- a/tests/db/test_compile_deps.py +++ b/tests/test_compile_deps.py @@ -1,10 +1,9 @@ import subprocess -import time import pytest -from tests import dds, DDS, dds_fixture_conf_1 -from dds_ci import proc +from dds_ci.testing import ProjectOpener, Project +from dds_ci import proc, paths ## ############################################################################# ## ############################################################################# @@ -19,88 +18,72 @@ ## detect file changes is a catastrophic bug! -def build_and_get_rc(dds: DDS) -> int: - dds.build() - app = dds.build_dir / ('app' + dds.exe_suffix) - return proc.run(app).returncode +@pytest.fixture() +def test_project(project_opener: ProjectOpener) -> Project: + return project_opener.open('projects/compile_deps') -def test_simple_rebuild(dds: DDS): +def build_and_get_rc(proj: Project) -> int: + proj.build() + app = proj.build_root.joinpath('app' + paths.EXE_SUFFIX) + return proc.run([app]).returncode + + +def test_simple_rebuild(test_project: Project) -> None: """ Check that changing a source file will update the resulting application. """ - assert build_and_get_rc(dds) == 0 - dds.scope.enter_context( - dds.set_contents( - 'src/1.cpp', - b''' - int value_1() { return 33; } - ''', - )) + assert build_and_get_rc(test_project) == 0 + test_project.write('src/1.cpp', 'int value_1() { return 33; }') # 33 - 32 = 1 - assert build_and_get_rc(dds) == 1 + assert build_and_get_rc(test_project) == 1 -def test_rebuild_header_change(dds: DDS): +def test_rebuild_header_change(test_project: Project) -> None: """Change the content of the header which defines the values""" - assert build_and_get_rc(dds) == 0 - dds.scope.enter_context( - dds.set_contents( - 'src/values.hpp', - b''' - const int first_value = 63; - const int second_value = 88; - ''', - )) - assert build_and_get_rc(dds) == (88 - 63) - - -def test_partial_build_rebuild(dds: DDS): + assert build_and_get_rc(test_project) == 0 + test_project.write('src/values.hpp', ''' + const int first_value = 63; + const int second_value = 88; + ''') + assert build_and_get_rc(test_project) == (88 - 63) + + +def test_partial_build_rebuild(test_project: Project) -> None: """ Change the content of a header, but cause one user of that header to fail compilation. The fact that compilation fails means it is still `out-of-date`, and will need to be compiled after we have fixed it up. """ - assert build_and_get_rc(dds) == 0 - dds.scope.enter_context( - dds.set_contents( - 'src/values.hpp', - b''' - const int first_value_q = 6; - const int second_value_q = 99; - ''', - )) + assert build_and_get_rc(test_project) == 0 + test_project.write('src/values.hpp', ''' + const int first_value_q = 6; + const int second_value_q = 99; + ''') # Header now causes errors in 1.cpp and 2.cpp with pytest.raises(subprocess.CalledProcessError): - dds.build() + test_project.build() # Fix 1.cpp - dds.scope.enter_context( - dds.set_contents( - 'src/1.cpp', - b''' - #include "./values.hpp" - - int value_1() { return first_value_q; } - ''', - )) + test_project.write('src/1.cpp', ''' + #include "./values.hpp" + + int value_1() { return first_value_q; } + ''') # We will still see a failure, but now the DB will record the updated values.hpp with pytest.raises(subprocess.CalledProcessError): - dds.build() + test_project.build() # Should should raise _again_, even though we've successfully compiled one # of the two files with the changed `values.hpp`, because `2.cpp` still # has a pending update with pytest.raises(subprocess.CalledProcessError): - dds.build() + test_project.build() - dds.scope.enter_context( - dds.set_contents( - 'src/2.cpp', - b''' - #include "./values.hpp" + # Pause long enough for timestamps to change + test_project.write('src/2.cpp', ''' + #include "./values.hpp" - int value_2() { return second_value_q; } - ''', - )) + int value_2() { return second_value_q; } + ''') # We should now compile and link to get the updated value - assert build_and_get_rc(dds) == (99 - 6) + assert build_and_get_rc(test_project) == (99 - 6) diff --git a/tests/test_compile_file.py b/tests/test_compile_file.py new file mode 100644 index 00000000..b450d1ca --- /dev/null +++ b/tests/test_compile_file.py @@ -0,0 +1,22 @@ +import subprocess + +import pytest +import time + +from dds_ci.testing import Project + + +def test_simple_compile_file(tmp_project: Project) -> None: + """ + Check that changing a source file will update the resulting application. + """ + with pytest.raises(subprocess.CalledProcessError): + tmp_project.compile_file('src/answer.cpp') + tmp_project.write('src/answer.cpp', 'int get_answer() { return 42; }') + # No error: + tmp_project.compile_file('src/answer.cpp') + # Fail: + time.sleep(1) # Sleep long enough to register a file change + tmp_project.write('src/answer.cpp', 'int get_answer() { return "How many roads must a man walk down?"; }') + with pytest.raises(subprocess.CalledProcessError): + tmp_project.compile_file('src/answer.cpp') diff --git a/tests/test_drivers/__init__.py b/tests/test_drivers/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/tests/test_drivers/catch/test_catch.py b/tests/test_drivers/catch/test_catch.py index 48f26954..7602efc6 100644 --- a/tests/test_drivers/catch/test_catch.py +++ b/tests/test_drivers/catch/test_catch.py @@ -1,13 +1,18 @@ -from tests import DDS, dds_fixture_conf, DDSFixtureParams -from dds_ci import proc - - -@dds_fixture_conf( - DDSFixtureParams('main', 'main'), - DDSFixtureParams('custom-runner', 'custom-runner'), -) -def test_catch_testdriver(dds: DDS): - dds.build(tests=True) - test_exe = dds.build_dir / f'test/testlib/calc{dds.exe_suffix}' - assert test_exe.exists() +from dds_ci import proc, paths +from dds_ci.testing import ProjectOpener + + +def test_main(project_opener: ProjectOpener) -> None: + proj = project_opener.open('main') + proj.build() + test_exe = proj.build_root.joinpath('test/testlib/calc' + paths.EXE_SUFFIX) + assert test_exe.is_file() + assert proc.run([test_exe]).returncode == 0 + + +def test_custom(project_opener: ProjectOpener) -> None: + proj = project_opener.open('custom-runner') + proj.build() + test_exe = proj.build_root.joinpath('test/testlib/calc' + paths.EXE_SUFFIX) + assert test_exe.is_file() assert proc.run([test_exe]).returncode == 0 diff --git a/tests/test_pkg.py b/tests/test_pkg.py new file mode 100644 index 00000000..e8f31bc8 --- /dev/null +++ b/tests/test_pkg.py @@ -0,0 +1,106 @@ +import pytest +from pathlib import Path +from typing import Tuple +import subprocess +import platform + +from dds_ci import proc +from dds_ci.dds import DDSWrapper +from dds_ci.testing import ProjectOpener, Project, error + + +@pytest.fixture() +def test_project(project_opener: ProjectOpener) -> Project: + return project_opener.open('projects/simple') + + +def test_create_pkg(test_project: Project, tmp_path: Path) -> None: + # Create in the default location + test_project.pkg_create() + sd_dir = test_project.build_root / 'foo@1.2.3.tar.gz' + assert sd_dir.is_file(), 'Did not create an sdist in the default location' + # Create in a different location + dest = tmp_path / 'dummy.tar.gz' + test_project.pkg_create(dest=dest) + assert dest.is_file(), 'Did not create an sdist in the new location' + + +@pytest.fixture() +def _test_pkg(test_project: Project) -> Tuple[Path, Project]: + repo_content_path = test_project.dds.repo_dir / 'foo@1.2.3' + assert not repo_content_path.is_dir() + test_project.pkg_create() + assert not repo_content_path.is_dir() + return test_project.build_root / 'foo@1.2.3.tar.gz', test_project + + +def test_import_sdist_archive(_test_pkg: Tuple[Path, Project]) -> None: + sdist, project = _test_pkg + repo_content_path = project.dds.repo_dir / 'foo@1.2.3' + project.dds.pkg_import(sdist) + assert repo_content_path.is_dir(), \ + 'The package did not appear in the local cache' + assert repo_content_path.joinpath('library.jsonc').is_file(), \ + 'The package\'s library.jsonc did not get imported' + # Excluded file will not be in the sdist: + assert not repo_content_path.joinpath('other-file.txt').is_file(), \ + 'Non-package content appeared in the package cache' + + +@pytest.mark.skipif(platform.system() == 'Windows', + reason='Windows has trouble reading packages from stdin. Need to investigate.') +def test_import_sdist_stdin(_test_pkg: Tuple[Path, Project]) -> None: + sdist, project = _test_pkg + pipe = subprocess.Popen( + list(proc.flatten_cmd([ + project.dds.path, + project.dds.cache_dir_arg, + 'pkg', + 'import', + '--stdin', + ])), + stdin=subprocess.PIPE, + ) + assert pipe.stdin + with sdist.open('rb') as sdist_bin: + buf = sdist_bin.read(1024) + while buf: + pipe.stdin.write(buf) + buf = sdist_bin.read(1024) + pipe.stdin.close() + + rc = pipe.wait() + assert rc == 0, 'Subprocess failed' + _check_import(project.dds.repo_dir / 'foo@1.2.3') + + +def test_import_sdist_dir(test_project: Project) -> None: + test_project.dds.run(['pkg', 'import', test_project.dds.cache_dir_arg, test_project.root]) + _check_import(test_project.dds.repo_dir / 'foo@1.2.3') + + +def _check_import(repo_content_path: Path) -> None: + assert repo_content_path.is_dir(), \ + 'The package did not appear in the local cache' + assert repo_content_path.joinpath('library.jsonc').is_file(), \ + 'The package\'s library.jsonc did not get imported' + # Excluded file will not be in the sdist: + assert not repo_content_path.joinpath('other-file.txt').is_file(), \ + 'Non-package content appeared in the package cache' + + +def test_sdist_invalid_project(tmp_project: Project) -> None: + with error.expect_error_marker('no-package-json5'): + tmp_project.pkg_create() + + +@pytest.mark.skipif(platform.system() != 'Linux', reason='We know this fails on Linux') +def test_sdist_unreadable_dir(dds: DDSWrapper) -> None: + with error.expect_error_marker('failed-package-json5-scan'): + dds.run(['pkg', 'create', '--project=/root']) + + +def test_sdist_invalid_json5(tmp_project: Project) -> None: + tmp_project.write('package.json5', 'bogus json5') + with error.expect_error_marker('package-json5-parse-error'): + tmp_project.pkg_create() diff --git a/tests/test_pkg_db.py b/tests/test_pkg_db.py new file mode 100644 index 00000000..be5a3f87 --- /dev/null +++ b/tests/test_pkg_db.py @@ -0,0 +1,72 @@ +from dds_ci.dds import DDSWrapper +from dds_ci.testing import Project, RepoServer, PackageJSON +from dds_ci.testing.error import expect_error_marker +from dds_ci.testing.http import HTTPRepoServerFactory, RepoServer + +import pytest + +NEO_SQLITE_PKG_JSON = { + 'packages': { + 'neo-sqlite3': { + '0.3.0': { + 'remote': { + 'git': { + 'url': 'https://github.com/vector-of-bool/neo-sqlite3.git', + 'ref': '0.3.0', + } + } + } + } + } +} + + +@pytest.fixture(scope='session') +def _test_repo(http_repo_factory: HTTPRepoServerFactory) -> RepoServer: + srv = http_repo_factory('test-pkg-db-repo') + srv.import_json_data(NEO_SQLITE_PKG_JSON) + return srv + + +def test_pkg_get(_test_repo: RepoServer, tmp_project: Project) -> None: + _test_repo.import_json_data(NEO_SQLITE_PKG_JSON) + tmp_project.dds.repo_add(_test_repo.url) + tmp_project.dds.pkg_get('neo-sqlite3@0.3.0') + assert tmp_project.root.joinpath('neo-sqlite3@0.3.0').is_dir() + assert tmp_project.root.joinpath('neo-sqlite3@0.3.0/package.jsonc').is_file() + + +def test_pkg_repo(_test_repo: RepoServer, tmp_project: Project) -> None: + dds = tmp_project.dds + dds.repo_add(_test_repo.url) + dds.run(['pkg', 'repo', dds.pkg_db_path_arg, 'ls']) + + +def test_pkg_repo_rm(_test_repo: RepoServer, tmp_project: Project) -> None: + _test_repo.import_json_data(NEO_SQLITE_PKG_JSON) + dds = tmp_project.dds + dds.repo_add(_test_repo.url) + # Okay: + tmp_project.dds.pkg_get('neo-sqlite3@0.3.0') + # Remove the repo: + dds.run(['pkg', dds.pkg_db_path_arg, 'repo', 'ls']) + dds.repo_remove(_test_repo.repo_name) + # Cannot double-remove a repo: + with expect_error_marker('repo-rm-no-such-repo'): + dds.repo_remove(_test_repo.repo_name) + # Now, fails: + with expect_error_marker('pkg-get-no-pkg-id-listing'): + tmp_project.dds.pkg_get('neo-sqlite3@0.3.0') + + +def test_pkg_search(_test_repo: RepoServer, tmp_project: Project) -> None: + _test_repo.import_json_data(NEO_SQLITE_PKG_JSON) + dds = tmp_project.dds + with expect_error_marker('pkg-search-no-result'): + dds.run(['pkg', dds.pkg_db_path_arg, 'search']) + dds.repo_add(_test_repo.url) + dds.run(['pkg', dds.pkg_db_path_arg, 'search']) + dds.run(['pkg', dds.pkg_db_path_arg, 'search', 'neo-sqlite3']) + dds.run(['pkg', dds.pkg_db_path_arg, 'search', 'neo-*']) + with expect_error_marker('pkg-search-no-result'): + dds.run(['pkg', dds.pkg_db_path_arg, 'search', 'nonexistent']) diff --git a/tests/test_repoman.py b/tests/test_repoman.py new file mode 100644 index 00000000..e4959fa1 --- /dev/null +++ b/tests/test_repoman.py @@ -0,0 +1,56 @@ +import pytest + +from dds_ci.dds import DDSWrapper +from dds_ci.testing.fixtures import Project +from dds_ci.testing.http import RepoServer +from dds_ci.testing.error import expect_error_marker +from pathlib import Path + + +@pytest.fixture() +def tmp_repo(tmp_path: Path, dds: DDSWrapper) -> Path: + dds.run(['repoman', 'init', tmp_path]) + return tmp_path + + +def test_add_simple(dds: DDSWrapper, tmp_repo: Path) -> None: + dds.run(['repoman', 'add', tmp_repo, 'git+https://github.com/vector-of-bool/neo-fun.git#0.6.0']) + with expect_error_marker('dup-pkg-add'): + dds.run(['repoman', 'add', tmp_repo, 'git+https://github.com/vector-of-bool/neo-fun.git#0.6.0']) + + +def test_add_github(dds: DDSWrapper, tmp_repo: Path) -> None: + dds.run(['repoman', 'add', tmp_repo, 'github:vector-of-bool/neo-fun/0.6.0']) + with expect_error_marker('dup-pkg-add'): + dds.run(['repoman', 'add', tmp_repo, 'github:vector-of-bool/neo-fun/0.6.0']) + + +def test_add_invalid(dds: DDSWrapper, tmp_repo: Path) -> None: + with expect_error_marker('repoman-add-invalid-pkg-url'): + dds.run(['repoman', 'add', tmp_repo, 'invalid://google.com/lolwut']) + + +def test_error_double_remove(tmp_repo: Path, dds: DDSWrapper) -> None: + dds.run([ + 'repoman', '-ltrace', 'add', tmp_repo, + 'https://github.com/vector-of-bool/neo-fun/archive/0.4.0.tar.gz?__dds_strpcmp=1' + ]) + dds.run(['repoman', 'remove', tmp_repo, 'neo-fun@0.4.0']) + + with expect_error_marker('repoman-rm-no-such-package'): + dds.run(['repoman', 'remove', tmp_repo, 'neo-fun@0.4.0']) + + +def test_pkg_http(http_repo: RepoServer, tmp_project: Project) -> None: + tmp_project.dds.run([ + 'repoman', '-ltrace', 'add', http_repo.server.root, + 'https://github.com/vector-of-bool/neo-fun/archive/0.4.0.tar.gz?__dds_strpcmp=1' + ]) + tmp_project.dds.repo_add(http_repo.url) + tmp_project.package_json = { + 'name': 'test', + 'version': '1.2.3', + 'depends': ['neo-fun@0.4.0'], + 'namespace': 'test', + } + tmp_project.build() diff --git a/tests/test_tweaks.py b/tests/test_tweaks.py new file mode 100644 index 00000000..2ddab016 --- /dev/null +++ b/tests/test_tweaks.py @@ -0,0 +1,29 @@ +from dds_ci.testing.fixtures import ProjectOpener +from dds_ci import paths, proc + + +def test_lib_with_tweaks(project_opener: ProjectOpener) -> None: + pr = project_opener.open('projects/tweaks') + pr.build() + app = pr.build_root / ('tweakable' + paths.EXE_SUFFIX) + res = proc.run([app]) + # The default value is 99: + assert res.returncode == 99 + # Build again, but with an empty/non-existent tweaks directory + pr.build(tweaks_dir=pr.root / 'conf') + res = proc.run([app]) + assert res.returncode == 99 + # Now write a tweaks header and rebuild: + pr.write( + 'conf/tweakable.tweaks.hpp', r''' + #pragma once + + namespace tweakable { + namespace config { + const int value = 41; + } + } + ''') + pr.build(tweaks_dir=pr.root / 'conf') + res = proc.run([app]) + assert res.returncode == 41 diff --git a/tests/deps/use-cryptopp/gcc.tc.jsonc b/tests/use-cryptopp/gcc.tc.jsonc similarity index 100% rename from tests/deps/use-cryptopp/gcc.tc.jsonc rename to tests/use-cryptopp/gcc.tc.jsonc diff --git a/tests/deps/use-cryptopp/msvc.tc.jsonc b/tests/use-cryptopp/msvc.tc.jsonc similarity index 100% rename from tests/deps/use-cryptopp/msvc.tc.jsonc rename to tests/use-cryptopp/msvc.tc.jsonc diff --git a/tests/use-cryptopp/test_use_cryptopp.py b/tests/use-cryptopp/test_use_cryptopp.py new file mode 100644 index 00000000..eb2e3aab --- /dev/null +++ b/tests/use-cryptopp/test_use_cryptopp.py @@ -0,0 +1,70 @@ +from pathlib import Path +import platform + +import pytest + +from dds_ci.testing import RepoServer, Project +from dds_ci import proc, toolchain, paths + +CRYPTOPP_JSON = { + "packages": { + "cryptopp": { + "8.2.0": { + "remote": { + "git": { + "url": "https://github.com/weidai11/cryptopp.git", + "ref": "CRYPTOPP_8_2_0" + }, + "auto-lib": "cryptopp/cryptopp", + "transform": [{ + "move": { + "from": ".", + "to": "src/cryptopp", + "include": ["*.c", "*.cpp", "*.h"] + } + }] + } + } + } + } +} + +APP_CPP = r''' +#include + +#include + +int main() { + std::string arr; + arr.resize(256); + CryptoPP::OS_GenerateRandomBlock(false, + reinterpret_cast(arr.data()), + arr.size()); + for (auto b : arr) { + if (b != '\x00') { + return 0; + } + } + return 1; +} +''' + + +@pytest.mark.skipif(platform.system() == 'FreeBSD', reason='This one has trouble running on FreeBSD') +def test_get_build_use_cryptopp(test_parent_dir: Path, tmp_project: Project, http_repo: RepoServer) -> None: + http_repo.import_json_data(CRYPTOPP_JSON) + tmp_project.dds.repo_add(http_repo.url) + tmp_project.package_json = { + 'name': 'usr-cryptopp', + 'version': '1.0.0', + 'namespace': 'test', + 'depends': ['cryptopp@8.2.0'], + } + tmp_project.library_json = { + 'name': 'use-cryptopp', + 'uses': ['cryptopp/cryptopp'], + } + tc_fname = 'gcc.tc.jsonc' if 'gcc' in toolchain.get_default_test_toolchain().name else 'msvc.tc.jsonc' + tmp_project.write('src/use-cryptopp.main.cpp', APP_CPP) + tmp_project.build(toolchain=test_parent_dir / tc_fname, timeout = 60*10) + proc.check_run([(tmp_project.build_root / 'use-cryptopp').with_suffix(paths.EXE_SUFFIX)]) diff --git a/tests/deps/use-spdlog/gcc.tc.jsonc b/tests/use-spdlog/gcc.tc.jsonc similarity index 70% rename from tests/deps/use-spdlog/gcc.tc.jsonc rename to tests/use-spdlog/gcc.tc.jsonc index d70a9d4e..a7309cd2 100644 --- a/tests/deps/use-spdlog/gcc.tc.jsonc +++ b/tests/use-spdlog/gcc.tc.jsonc @@ -3,5 +3,4 @@ "cxx_version": 'c++17', "cxx_compiler": 'g++-9', "flags": '-DSPDLOG_COMPILED_LIB', - "link_flags": '-static-libgcc -static-libstdc++' } \ No newline at end of file diff --git a/tests/deps/use-spdlog/msvc.tc.jsonc b/tests/use-spdlog/msvc.tc.jsonc similarity index 100% rename from tests/deps/use-spdlog/msvc.tc.jsonc rename to tests/use-spdlog/msvc.tc.jsonc diff --git a/tests/use-spdlog/project/catalog.json b/tests/use-spdlog/project/catalog.json new file mode 100644 index 00000000..33df55de --- /dev/null +++ b/tests/use-spdlog/project/catalog.json @@ -0,0 +1,16 @@ +{ + "version": 2, + "packages": { + "spdlog": { + "1.4.2": { + "remote": { + "git": { + "url": "https://github.com/gabime/spdlog.git", + "ref": "v1.4.2" + }, + "auto-lib": "spdlog/spdlog" + } + } + } + } +} \ No newline at end of file diff --git a/tests/deps/use-spdlog/project/library.json5 b/tests/use-spdlog/project/library.json5 similarity index 100% rename from tests/deps/use-spdlog/project/library.json5 rename to tests/use-spdlog/project/library.json5 diff --git a/tests/deps/use-spdlog/project/package.json5 b/tests/use-spdlog/project/package.json5 similarity index 100% rename from tests/deps/use-spdlog/project/package.json5 rename to tests/use-spdlog/project/package.json5 diff --git a/tests/deps/use-spdlog/project/src/spdlog_user.cpp b/tests/use-spdlog/project/src/spdlog_user.cpp similarity index 100% rename from tests/deps/use-spdlog/project/src/spdlog_user.cpp rename to tests/use-spdlog/project/src/spdlog_user.cpp diff --git a/tests/deps/use-spdlog/project/src/spdlog_user.hpp b/tests/use-spdlog/project/src/spdlog_user.hpp similarity index 100% rename from tests/deps/use-spdlog/project/src/spdlog_user.hpp rename to tests/use-spdlog/project/src/spdlog_user.hpp diff --git a/tests/deps/use-spdlog/project/src/use-spdlog.main.cpp b/tests/use-spdlog/project/src/use-spdlog.main.cpp similarity index 100% rename from tests/deps/use-spdlog/project/src/use-spdlog.main.cpp rename to tests/use-spdlog/project/src/use-spdlog.main.cpp diff --git a/tests/use-spdlog/use_spdlog_test.py b/tests/use-spdlog/use_spdlog_test.py new file mode 100644 index 00000000..bd99f417 --- /dev/null +++ b/tests/use-spdlog/use_spdlog_test.py @@ -0,0 +1,13 @@ +from pathlib import Path + +from dds_ci.testing import RepoServer, ProjectOpener +from dds_ci import proc, paths, toolchain + + +def test_get_build_use_spdlog(test_parent_dir: Path, project_opener: ProjectOpener, http_repo: RepoServer) -> None: + proj = project_opener.open('project') + http_repo.import_json_file(proj.root / 'catalog.json') + proj.dds.repo_add(http_repo.url) + tc_fname = 'gcc.tc.jsonc' if 'gcc' in toolchain.get_default_test_toolchain().name else 'msvc.tc.jsonc' + proj.build(toolchain=test_parent_dir / tc_fname) + proc.check_run([(proj.build_root / 'use-spdlog').with_suffix(paths.EXE_SUFFIX)]) diff --git a/tools/Dockerfile.alpine b/tools/Dockerfile.alpine new file mode 100644 index 00000000..f2785c73 --- /dev/null +++ b/tools/Dockerfile.alpine @@ -0,0 +1,21 @@ +FROM alpine:3.12.1 + +# Base build dependencies +RUN apk add "gcc=9.3.0-r2" "g++=9.3.0-r2" make python3 py3-pip \ + git openssl-libs-static openssl-dev ccache lld curl python3-dev cmake + +# We use version-qualified names for compiler executables +RUN ln -s $(type -P gcc) /usr/local/bin/gcc-9 && \ + ln -s $(type -P g++) /usr/local/bin/g++-9 + +# We want the UID in the container to match the UID on the outside, for minimal +# fuss with file permissions +ARG DDS_USER_UID=1000 + +RUN curl -sSL https://raw.githubusercontent.com/python-poetry/poetry/master/get-poetry.py \ + | env POETRY_HOME=/opt/poetry python3 -u - --no-modify-path && \ + ln -s /opt/poetry/bin/poetry /usr/local/bin/poetry && \ + chmod a+x /opt/poetry/bin/poetry && \ + adduser --disabled-password --uid=${DDS_USER_UID} dds + +USER dds diff --git a/tools/bootstrap.py b/tools/bootstrap.py deleted file mode 100644 index 0763977a..00000000 --- a/tools/bootstrap.py +++ /dev/null @@ -1,115 +0,0 @@ -import argparse -from pathlib import Path -import subprocess -import os -from typing import Sequence, NamedTuple -import sys -import shutil - - -class BootstrapPhase(NamedTuple): - ref: str - nix_compiler: str - win_compiler: str - - @property - def platform_compiler(self): - if os.name == 'nt': - return self.win_compiler - else: - return self.nix_compiler - - -BOOTSTRAP_PHASES = [ - BootstrapPhase('bootstrap-p1.2', 'g++-8', 'cl.exe'), - BootstrapPhase('bootstrap-p4.2', 'g++-8', 'cl.exe'), - BootstrapPhase('bootstrap-p5.2', 'g++-9', 'cl.exe'), - BootstrapPhase('0.1.0-alpha.3', 'g++-9', 'cl.exe'), - BootstrapPhase('0.1.0-alpha.4', 'g++-9', 'cl.exe'), -] - -HERE = Path(__file__).parent.absolute() -PROJECT_ROOT = HERE.parent -BUILD_DIR = PROJECT_ROOT / '_build' -BOOTSTRAP_BASE_DIR = BUILD_DIR / '_bootstrap' -PREBUILT_DIR = PROJECT_ROOT / '_prebuilt' - -EXE_SUFFIX = '.exe' if os.name == 'nt' else '' - - -def _run_quiet(cmd, **kwargs) -> None: - cmd = [str(s) for s in cmd] - res = subprocess.run( - cmd, - stdout=subprocess.PIPE, - stderr=subprocess.STDOUT, - **kwargs, - ) - if res.returncode != 0: - print(f'Subprocess command {cmd} failed ' - f'[{res.returncode}]:\n{res.stdout.decode()}') - raise subprocess.CalledProcessError(res.returncode, cmd) - - -def _clone_bootstrap_phase(ref: str) -> Path: - print(f'Clone revision: {ref}') - bts_dir = BOOTSTRAP_BASE_DIR / ref - if bts_dir.exists(): - shutil.rmtree(bts_dir) - _run_quiet([ - 'git', - 'clone', - '--depth=1', - f'--branch={ref}', - f'file://{PROJECT_ROOT}', - bts_dir, - ]) - return bts_dir - - -def _build_bootstrap_phase(ph: BootstrapPhase, bts_dir: Path) -> None: - print(f'Build revision: {ph.ref} [This may take a moment]') - env = os.environ.copy() - env['DDS_BOOTSTRAP_PREV_EXE'] = str(PREBUILT_DIR / F'dds{EXE_SUFFIX}') - _run_quiet( - [ - sys.executable, - '-u', - str(bts_dir / 'tools/build.py'), - f'--cxx={ph.platform_compiler}', - ], - env=env, - cwd=bts_dir, - ) - - -def _pull_executable(bts_dir: Path) -> Path: - prebuild_dir = (PROJECT_ROOT / '_prebuilt') - prebuild_dir.mkdir(exist_ok=True) - generated = list(bts_dir.glob(f'_build/dds{EXE_SUFFIX}')) - assert len(generated) == 1, repr(generated) - exe, = generated - dest = prebuild_dir / exe.name - if dest.exists(): - dest.unlink() - exe.rename(dest) - return dest - - -def _run_boot_phase(phase: BootstrapPhase) -> Path: - bts_dir = _clone_bootstrap_phase(phase.ref) - _build_bootstrap_phase(phase, bts_dir) - return _pull_executable(bts_dir) - - -def main() -> int: - for idx, phase in enumerate(BOOTSTRAP_PHASES): - print(f'Bootstrap phase [{idx+1}/{len(BOOTSTRAP_PHASES)}]') - exe = _run_boot_phase(phase) - - print(f'A bootstrapped DDS executable has been generated: {exe}') - return 0 - - -if __name__ == "__main__": - sys.exit(main()) diff --git a/tools/build.py b/tools/build.py deleted file mode 100755 index 89f3a546..00000000 --- a/tools/build.py +++ /dev/null @@ -1,49 +0,0 @@ -#!/usr/bin/env python3 - -import argparse -import os -from pathlib import Path -from typing import Sequence -import sys -import shutil - -from dds_ci import paths -from self_build import self_build - -ROOT = Path(__file__).parent.parent.absolute() -BUILD_DIR = ROOT / '_build' - - -def main(argv: Sequence[str]) -> int: - # Prior versions of this script took a --cxx argument, but we don't care anymore - parser = argparse.ArgumentParser() - parser.add_argument('--cxx', help=argparse.SUPPRESS) - parser.parse_args(argv) - - dds_bootstrap_env_key = 'DDS_BOOTSTRAP_PREV_EXE' - if dds_bootstrap_env_key not in os.environ: - raise RuntimeError('A previous-phase bootstrapped executable ' - 'must be available via $DDS_BOOTSTRAP_PREV_EXE') - - dds_exe = Path(os.environ[dds_bootstrap_env_key]) - - if BUILD_DIR.exists(): - shutil.rmtree(BUILD_DIR) - - print(f'Using previously built DDS executable: {dds_exe}') - if os.name == 'nt': - tc_fpath = ROOT / 'tools/msvc.jsonc' - elif sys.platform.startswith('freebsd'): - tc_fpath = ROOT / 'tools/freebsd-gcc-9.jsonc' - else: - tc_fpath = ROOT / 'tools/gcc-9.jsonc' - - self_build(dds_exe, - cat_json_path=ROOT / 'catalog.old.json', - toolchain=str(tc_fpath)) - - return 0 - - -if __name__ == "__main__": - sys.exit(main(sys.argv[1:])) diff --git a/tools/ci.py b/tools/ci.py deleted file mode 100644 index 43941c3f..00000000 --- a/tools/ci.py +++ /dev/null @@ -1,141 +0,0 @@ -import argparse -import os -import sys -import pytest -from pathlib import Path -from typing import Sequence, NamedTuple -import multiprocessing -import subprocess -import urllib.request -import shutil - -from self_build import self_build -from dds_ci import paths, proc - - -class CIOptions(NamedTuple): - toolchain: str - - -def _do_bootstrap_build(opts: CIOptions) -> None: - print('Bootstrapping by a local build of prior versions...') - subprocess.check_call([ - sys.executable, - '-u', - str(paths.TOOLS_DIR / 'bootstrap.py'), - ]) - - -def _do_bootstrap_download() -> None: - filename = { - 'win32': 'dds-win-x64.exe', - 'linux': 'dds-linux-x64', - 'darwin': 'dds-macos-x64', - 'freebsd11': 'dds-freebsd-x64', - 'freebsd12': 'dds-freebsd-x64', - }.get(sys.platform) - if filename is None: - raise RuntimeError(f'We do not have a prebuilt DDS binary for ' - f'the "{sys.platform}" platform') - url = f'https://github.com/vector-of-bool/dds/releases/download/0.1.0-alpha.4/{filename}' - - print(f'Downloading prebuilt DDS executable: {url}') - stream = urllib.request.urlopen(url) - paths.PREBUILT_DDS.parent.mkdir(exist_ok=True, parents=True) - with paths.PREBUILT_DDS.open('wb') as fd: - while True: - buf = stream.read(1024 * 4) - if not buf: - break - fd.write(buf) - - if os.name != 'nt': - # Mark the binary executable. By default it won't be - mode = paths.PREBUILT_DDS.stat().st_mode - mode |= 0b001_001_001 - paths.PREBUILT_DDS.chmod(mode) - - -def main(argv: Sequence[str]) -> int: - parser = argparse.ArgumentParser() - parser.add_argument( - '-B', - '--bootstrap-with', - help='How are we to obtain a bootstrapped DDS executable?', - choices=('download', 'build', 'skip'), - required=True, - ) - parser.add_argument( - '--toolchain', - '-T', - help='The toolchain to use for the CI process', - required=True, - ) - parser.add_argument( - '--build-only', - action='store_true', - help='Only build the `dds` executable. Skip second-phase and tests.') - parser.add_argument( - '--no-clean', - action='store_false', - dest='clean', - help='Don\'t remove prior build/deps results', - ) - args = parser.parse_args(argv) - - opts = CIOptions(toolchain=args.toolchain) - - if args.bootstrap_with == 'build': - _do_bootstrap_build(opts) - elif args.bootstrap_with == 'download': - _do_bootstrap_download() - elif args.bootstrap_with == 'skip': - pass - else: - assert False, 'impossible' - - old_cat_path = paths.PREBUILT_DIR / 'catalog.db' - if old_cat_path.is_file() and args.clean: - old_cat_path.unlink() - - ci_repo_dir = paths.PREBUILT_DIR / 'ci-repo' - if ci_repo_dir.exists() and args.clean: - shutil.rmtree(ci_repo_dir) - - self_build( - paths.PREBUILT_DDS, - toolchain=opts.toolchain, - cat_path=old_cat_path, - cat_json_path=Path('catalog.json'), - dds_flags=[('--repo-dir', ci_repo_dir)]) - print('Main build PASSED!') - print(f'A `dds` executable has been generated: {paths.CUR_BUILT_DDS}') - - if args.build_only: - print( - f'`--build-only` was given, so second phase and tests will not execute' - ) - return 0 - - print('Bootstrapping myself:') - new_cat_path = paths.BUILD_DIR / 'catalog.db' - new_repo_dir = paths.BUILD_DIR / 'ci-repo' - self_build( - paths.CUR_BUILT_DDS, - toolchain=opts.toolchain, - cat_path=new_cat_path, - dds_flags=[f'--repo-dir={new_repo_dir}']) - print('Bootstrap test PASSED!') - - return pytest.main([ - '-v', - '--durations=10', - f'--basetemp={paths.BUILD_DIR / "_tmp"}', - '-n', - str(multiprocessing.cpu_count() + 2), - 'tests/', - ]) - - -if __name__ == "__main__": - sys.exit(main(sys.argv[1:])) diff --git a/tools/dds_ci/bootstrap.py b/tools/dds_ci/bootstrap.py new file mode 100644 index 00000000..18ebe721 --- /dev/null +++ b/tools/dds_ci/bootstrap.py @@ -0,0 +1,85 @@ +import enum +from pathlib import Path +from contextlib import contextmanager +from typing import Iterator +import sys +import urllib.request +import shutil + +from . import paths +from .dds import DDSWrapper +from .paths import new_tempdir + + +class BootstrapMode(enum.Enum): + """How should be bootstrap our prior DDS executable?""" + #: Downlaod one from GitHub + Download = 'download' + #: Build one from source + Build = 'build' + #: Skip bootstrapping. Assume it already exists. + Skip = 'skip' + #: If the prior executable exists, skip, otherwise download + Lazy = 'lazy' + + +def _do_bootstrap_download() -> Path: + filename = { + 'win32': 'dds-win-x64.exe', + 'linux': 'dds-linux-x64', + 'darwin': 'dds-macos-x64', + 'freebsd11': 'dds-freebsd-x64', + 'freebsd12': 'dds-freebsd-x64', + }.get(sys.platform) + if filename is None: + raise RuntimeError(f'We do not have a prebuilt DDS binary for the "{sys.platform}" platform') + url = f'https://github.com/vector-of-bool/dds/releases/download/0.1.0-alpha.4/{filename}' + + print(f'Downloading prebuilt DDS executable: {url}') + stream = urllib.request.urlopen(url) + paths.PREBUILT_DDS.parent.mkdir(exist_ok=True, parents=True) + with paths.PREBUILT_DDS.open('wb') as fd: + while True: + buf = stream.read(1024 * 4) + if not buf: + break + fd.write(buf) + + if sys.platform != 'win32': + # Mark the binary executable. By default it won't be + mode = paths.PREBUILT_DDS.stat().st_mode + mode |= 0b001_001_001 + paths.PREBUILT_DDS.chmod(mode) + + return paths.PREBUILT_DDS + + +@contextmanager +def pin_exe(fpath: Path) -> Iterator[Path]: + """ + Create a copy of 'fpath' at an unspecified location, and yield that path. + + This is needed if the executable would overwrite itself. + """ + with new_tempdir() as tdir: + tfile = tdir / 'previous-dds.exe' + shutil.copy2(fpath, tfile) + yield tfile + + +@contextmanager +def get_bootstrap_exe(mode: BootstrapMode) -> Iterator[DDSWrapper]: + """Context manager that yields a DDSWrapper around a prior 'dds' executable""" + if mode is BootstrapMode.Lazy: + f = paths.PREBUILT_DDS + if not f.exists(): + _do_bootstrap_download() + elif mode is BootstrapMode.Download: + f = _do_bootstrap_download() + elif mode is BootstrapMode.Build: + f = _do_bootstrap_build() # type: ignore # TODO + elif mode is BootstrapMode.Skip: + f = paths.PREBUILT_DDS + + with pin_exe(f) as dds: + yield DDSWrapper(dds) diff --git a/tools/dds_ci/cli.py b/tools/dds_ci/cli.py deleted file mode 100644 index 170dda8e..00000000 --- a/tools/dds_ci/cli.py +++ /dev/null @@ -1,19 +0,0 @@ -from argparse import ArgumentParser - -from dds_ci import paths - - -def add_tc_arg(parser: ArgumentParser, *, required=True) -> None: - parser.add_argument( - '--toolchain', - '-T', - help='The DDS toolchain to use', - required=required) - - -def add_dds_exe_arg(parser: ArgumentParser, *, required=True) -> None: - parser.add_argument( - '--exe', - '-e', - help='Path to a DDS executable to use', - required=required) diff --git a/tools/dds_ci/dds.py b/tools/dds_ci/dds.py new file mode 100644 index 00000000..6b154e71 --- /dev/null +++ b/tools/dds_ci/dds.py @@ -0,0 +1,170 @@ +import multiprocessing +import shutil +import os +from pathlib import Path +import copy +from typing import Optional, TypeVar, Iterable + +from . import paths, proc, toolchain as tc_mod +from dds_ci.util import Pathish + +T = TypeVar('T') + + +class DDSWrapper: + """ + Wraps a 'dds' executable with some convenience APIs that invoke various + 'dds' subcommands. + """ + def __init__(self, + path: Path, + *, + repo_dir: Optional[Pathish] = None, + pkg_db_path: Optional[Pathish] = None, + default_cwd: Optional[Pathish] = None) -> None: + self.path = path + self.repo_dir = Path(repo_dir or (paths.PREBUILT_DIR / 'ci-repo')) + self.pkg_db_path = Path(pkg_db_path or (self.repo_dir.parent / 'ci-catalog.db')) + self.default_cwd = default_cwd or Path.cwd() + + def clone(self: T) -> T: + return copy.deepcopy(self) + + @property + def pkg_db_path_arg(self) -> str: + """The arguments for --catalog""" + return f'--catalog={self.pkg_db_path}' + + @property + def cache_dir_arg(self) -> str: + """The arguments for --repo-dir""" + return f'--repo-dir={self.repo_dir}' + + @property + def project_dir_flag(self) -> str: + return '--project-dir' + + def set_repo_scratch(self, path: Pathish) -> None: + self.repo_dir = Path(path) / 'data' + self.pkg_db_path = Path(path) / 'pkgs.db' + + def clean(self, *, build_dir: Optional[Path] = None, repo: bool = True, pkg_db: bool = True) -> None: + """ + Clean out prior executable output, including repos, pkg_db, and + the build results at 'build_dir', if given. + """ + if build_dir and build_dir.exists(): + shutil.rmtree(build_dir) + if repo and self.repo_dir.exists(): + shutil.rmtree(self.repo_dir) + if pkg_db and self.pkg_db_path.exists(): + self.pkg_db_path.unlink() + + def run(self, args: proc.CommandLine, *, cwd: Optional[Pathish] = None, timeout: Optional[int] = None) -> None: + """Execute the 'dds' executable with the given arguments""" + env = os.environ.copy() + env['DDS_NO_ADD_INITIAL_REPO'] = '1' + proc.check_run([self.path, args], cwd=cwd or self.default_cwd, env=env, timeout=timeout) + + def catalog_json_import(self, path: Path) -> None: + """Run 'catalog import' to import the given JSON. Only applicable to older 'dds'""" + self.run(['catalog', 'import', self.pkg_db_path_arg, f'--json={path}']) + + def catalog_get(self, what: str) -> None: + self.run(['catalog', 'get', self.pkg_db_path_arg, what]) + + def pkg_get(self, what: str) -> None: + self.run(['pkg', 'get', self.pkg_db_path_arg, what]) + + def repo_add(self, url: str) -> None: + self.run(['pkg', 'repo', 'add', self.pkg_db_path_arg, url]) + + def repo_remove(self, name: str) -> None: + self.run(['pkg', 'repo', 'remove', self.pkg_db_path_arg, name]) + + def repo_import(self, sdist: Path) -> None: + self.run(['repo', self.cache_dir_arg, 'import', sdist]) + + def pkg_import(self, filepath: Pathish) -> None: + self.run(['pkg', 'import', filepath, self.cache_dir_arg]) + + def build(self, + *, + root: Path, + toolchain: Optional[Path] = None, + build_root: Optional[Path] = None, + jobs: Optional[int] = None, + tweaks_dir: Optional[Path] = None, + more_args: Optional[proc.CommandLine] = None, + timeout: Optional[int] = None) -> None: + """ + Run 'dds build' with the given arguments. + + :param toolchain: The toolchain to use for the build. + :param root: The root project directory. + :param build_root: The root directory where the output will be written. + :param jobs: The number of jobs to use. Default is CPU-count + 2 + """ + toolchain = toolchain or tc_mod.get_default_audit_toolchain() + jobs = jobs or multiprocessing.cpu_count() + 2 + self.run( + [ + 'build', + f'--toolchain={toolchain}', + self.cache_dir_arg, + self.pkg_db_path_arg, + f'--jobs={jobs}', + f'{self.project_dir_flag}={root}', + f'--out={build_root}', + f'--tweaks-dir={tweaks_dir}' if tweaks_dir else (), + more_args or (), + ], + timeout=timeout, + ) + + def compile_file(self, + paths: Iterable[Pathish], + *, + toolchain: Optional[Pathish] = None, + project_dir: Pathish, + out: Optional[Pathish] = None) -> None: + """ + Run 'dds compile-file' for the given paths. + """ + toolchain = toolchain or tc_mod.get_default_audit_toolchain() + self.run([ + 'compile-file', + self.pkg_db_path_arg, + self.cache_dir_arg, + paths, + f'--toolchain={toolchain}', + f'{self.project_dir_flag}={project_dir}', + f'--out={out}', + ]) + + def build_deps(self, args: proc.CommandLine, *, toolchain: Optional[Path] = None) -> None: + toolchain = toolchain or tc_mod.get_default_audit_toolchain() + self.run([ + 'build-deps', + f'--toolchain={toolchain}', + self.pkg_db_path_arg, + self.cache_dir_arg, + args, + ]) + + +class NewDDSWrapper(DDSWrapper): + """ + Wraps the new 'dds' executable with some convenience APIs + """ + @property + def cache_dir_arg(self) -> str: + return f'--pkg-cache-dir={self.repo_dir}' + + @property + def pkg_db_path_arg(self) -> str: + return f'--pkg-db-path={self.pkg_db_path}' + + @property + def project_dir_flag(self) -> str: + return '--project' diff --git a/tools/dds_ci/format.py b/tools/dds_ci/format.py new file mode 100644 index 00000000..9a6649e0 --- /dev/null +++ b/tools/dds_ci/format.py @@ -0,0 +1,70 @@ +import argparse +from typing_extensions import Protocol + +import yapf + +from . import paths, proc + + +class FormatArguments(Protocol): + check: bool + cpp: bool + py: bool + + +def start() -> None: + parser = argparse.ArgumentParser() + parser.add_argument('--check', + help='Check whether files need to be formatted, but do not modify them.', + action='store_true') + parser.add_argument('--no-cpp', help='Skip formatting/checking C++ files', action='store_false', dest='cpp') + parser.add_argument('--no-py', help='Skip formatting/checking Python files', action='store_false', dest='py') + args: FormatArguments = parser.parse_args() + + if args.cpp: + format_cpp(args) + if args.py: + format_py(args) + + +def format_cpp(args: FormatArguments) -> None: + src_dir = paths.PROJECT_ROOT / 'src' + cpp_files = src_dir.glob('**/*.[hc]pp') + cf_args: proc.CommandLine = [ + ('--dry-run', '--Werror') if args.check else (), + '-i', # Modify files in-place + '--verbose', + ] + for cf_cand in ('clang-format-10', 'clang-format-9', 'clang-format-8', 'clang-format'): + cf = paths.find_exe(cf_cand) + if not cf: + continue + break + else: + raise RuntimeError('No clang-format executable found') + + print(f'Using clang-format: {cf_cand}') + res = proc.run([cf, cf_args, cpp_files]) + if res.returncode and args.check: + raise RuntimeError('Format checks failed for one or more C++ files. (See above.)') + if res.returncode: + raise RuntimeError('Format execution failed. Check output above.') + + +def format_py(args: FormatArguments) -> None: + py_files = paths.TOOLS_DIR.rglob('*.py') + rc = yapf.main( + list(proc.flatten_cmd([ + '--parallel', + '--verbose', + ('--diff') if args.check else ('--in-place'), + py_files, + ]))) + if rc and args.check: + raise RuntimeError('Format checks for one or more Python files. (See above.)') + if rc: + raise RuntimeError('Format execution failed for Python code. See above.') + + +if __name__ == "__main__": + start() diff --git a/tools/dds_ci/main.py b/tools/dds_ci/main.py new file mode 100644 index 00000000..5290e6f3 --- /dev/null +++ b/tools/dds_ci/main.py @@ -0,0 +1,174 @@ +import argparse +import multiprocessing +import pytest +from pathlib import Path +from concurrent import futures +import shutil +import sys +from typing import NoReturn, Sequence, Optional +from typing_extensions import Protocol +import subprocess + +from . import paths, toolchain +from .dds import DDSWrapper +from .bootstrap import BootstrapMode, get_bootstrap_exe + + +def make_argparser() -> argparse.ArgumentParser: + """Create an argument parser for the dds-ci command-line""" + parser = argparse.ArgumentParser() + parser.add_argument('-B', + '--bootstrap-with', + help='How are we to obtain a bootstrapped DDS executable?', + metavar='{download,build,skip,lazy}', + type=BootstrapMode, + default=BootstrapMode.Lazy) + parser.add_argument('--rapid', help='Run CI for fast development iterations', action='store_true') + parser.add_argument('--test-toolchain', + '-TT', + type=Path, + metavar='', + help='The toolchain to use for the first build, which will be passed through the tests') + parser.add_argument('--main-toolchain', + '-T', + type=Path, + dest='toolchain', + metavar='', + help='The toolchain to use for the final build') + parser.add_argument('--jobs', + '-j', + type=int, + help='Number of parallel jobs to use when building and testing', + default=multiprocessing.cpu_count() + 2) + parser.add_argument('--clean', action='store_true', help="Don't remove prior build/deps results") + parser.add_argument('--no-test', + action='store_false', + dest='do_test', + help='Skip testing and just build the final result') + return parser + + +class CommandArguments(Protocol): + """ + The result of parsing argv with the dds-ci argument parser. + """ + #: Whether the user wants us to clean result before building + clean: bool + #: The bootstrap method the user has requested + bootstrap_with: BootstrapMode + #: The toolchain to use when building the 'dds' executable that will be tested. + test_toolchain: Optional[Path] + #: The toolchain to use when building the main 'dds' executable to publish + toolchain: Optional[Path] + #: The maximum number of parallel jobs for build and test + jobs: int + #: Whether we should run the pytest tests + do_test: bool + #: Rapid-CI is for 'dds' development purposes + rapid: bool + + +def parse_argv(argv: Sequence[str]) -> CommandArguments: + """Parse the given dds-ci command-line argument list""" + return make_argparser().parse_args(argv) + + +def test_build(dds: DDSWrapper, args: CommandArguments) -> DDSWrapper: + """ + Execute the build that generates the test-mode executable. Uses the given 'dds' + to build the new dds. Returns a DDSWrapper around the generated test executable. + """ + test_tc = args.test_toolchain or toolchain.get_default_audit_toolchain() + print(f'Test build is building with toolchain: {test_tc}') + build_dir = paths.BUILD_DIR + with toolchain.fixup_toolchain(test_tc) as new_tc: + dds.build(toolchain=new_tc, root=paths.PROJECT_ROOT, build_root=build_dir, jobs=args.jobs, timeout=60 * 15) + return DDSWrapper(build_dir / ('dds' + paths.EXE_SUFFIX)) + + +def run_pytest(dds: DDSWrapper, args: CommandArguments) -> int: + """ + Execute pytest, testing against the given 'test_dds' executable. Returns + the exit code of pytest. + """ + basetemp = Path('/tmp/dds-ci') + basetemp.mkdir(exist_ok=True, parents=True) + return pytest.main([ + '-v', + '--durations=10', + '-n', + str(args.jobs), + f'--basetemp={basetemp}', + f'--dds-exe={dds.path}', + f'--junit-xml={paths.BUILD_DIR}/pytest-junit.xml', + str(paths.PROJECT_ROOT / 'tests/'), + ]) + + +def main_build(dds: DDSWrapper, args: CommandArguments) -> int: + """ + Execute the main build of dds using the given 'dds' executable to build itself. + """ + main_tc = args.toolchain or ( + # If we are in rapid-dev mode, use the test toolchain, which had audit/debug enabled + toolchain.get_default_toolchain() if not args.rapid else toolchain.get_default_audit_toolchain()) + print(f'Building with toolchain: {main_tc}') + with toolchain.fixup_toolchain(main_tc) as new_tc: + try: + dds.build(toolchain=new_tc, + root=paths.PROJECT_ROOT, + build_root=paths.BUILD_DIR, + jobs=args.jobs, + timeout=60 * 15) + except subprocess.CalledProcessError as e: + if args.rapid: + return e.returncode + raise + return 0 + + +def ci_with_dds(dds: DDSWrapper, args: CommandArguments) -> int: + """ + Execute CI using the given prior 'dds' executable. + """ + if args.clean: + dds.clean(build_dir=paths.BUILD_DIR) + + dds.catalog_json_import(paths.PROJECT_ROOT / 'old-catalog.json') + + if args.rapid: + return main_build(dds, args) + + pool = futures.ThreadPoolExecutor() + test_fut = pool.submit(lambda: 0) + if args.do_test: + # Build the test executable: + test_dds = test_build(dds, args) + # Move the generated exe and start tests. We'll start building the main + # EXE and don't want to overwrite the test one while the tests are running + dds_cp = paths.BUILD_DIR / ('dds.test' + paths.EXE_SUFFIX) + test_dds.path.rename(dds_cp) + test_dds.path = dds_cp + # Workaround: dds doesn't rebuild the test-driver on toolchain changes: + shutil.rmtree(paths.BUILD_DIR / '_test-driver') + test_fut = pool.submit(lambda: run_pytest(test_dds, args)) + + main_fut = pool.submit(lambda: main_build(dds, args)) + for fut in futures.as_completed({test_fut, main_fut}): + if fut.result(): + return fut.result() + return 0 + + +def main(argv: Sequence[str]) -> int: + args = parse_argv(argv) + with get_bootstrap_exe(args.bootstrap_with) as f: + return ci_with_dds(f, args) + + +def start() -> NoReturn: + sys.exit(main(sys.argv[1:])) + + +if __name__ == "__main__": + start() diff --git a/tools/dds_ci/msvs.py b/tools/dds_ci/msvs.py new file mode 100644 index 00000000..c281e369 --- /dev/null +++ b/tools/dds_ci/msvs.py @@ -0,0 +1,61 @@ +import argparse +import json +import os +from pathlib import Path +from typing import Optional, Dict, Any +from typing_extensions import Protocol + +from . import paths + + +class Arguments(Protocol): + out: Optional[Path] + + +def gen_task_json_data() -> Dict[str, Any]: + dds_ci_exe = paths.find_exe('dds-ci') + assert dds_ci_exe, 'Unable to find the dds-ci executable. This command should be run in a Poetry' + envs = {key: os.environ[key] + for key in ( + 'CL', + '_CL_', + 'PATH', + 'INCLUDE', + 'LIBPATH', + 'LIB', + ) if key in os.environ} + task = { + 'label': 'MSVC Build', + 'type': 'process', + 'command': str(dds_ci_exe.resolve()), + 'args': ['--rapid'], + 'group': { + 'kind': 'build', + }, + 'options': { + 'env': envs, + }, + 'problemMatcher': '$msCompile', + } + return task + + +def generate_vsc_task() -> None: + parser = argparse.ArgumentParser() + parser.add_argument('--out', '-o', help='File to write into', type=Path) + args: Arguments = parser.parse_args() + + cl = paths.find_exe('cl') + if cl is None: + raise RuntimeError('There is not cl.exe on your PATH. You need to run ' + 'this command from within a Visual Studio environment.') + + data = gen_task_json_data() + task_str = json.dumps(data, indent=4) + if args.out: + args.out.write_text(task_str) + print(f'The task JSON has been written to {args.out}.') + else: + print(task_str) + print('^^^ The task JSON has been written above ^^^') + print('Add the JSON object to "tasks.json" to use it in VS Code') diff --git a/tools/dds_ci/paths.py b/tools/dds_ci/paths.py index 3d6d7a26..b4d798b6 100644 --- a/tools/dds_ci/paths.py +++ b/tools/dds_ci/paths.py @@ -1,12 +1,51 @@ import os +import shutil +import itertools +import tempfile +from contextlib import contextmanager from pathlib import Path +from typing import Iterator, Optional -TOOLS_DIR = Path(__file__).absolute().parent.parent -PROJECT_ROOT = TOOLS_DIR.parent +# The root directory of the dds project +PROJECT_ROOT = Path(__file__).absolute().parent.parent.parent +#: The /tools directory +TOOLS_DIR = PROJECT_ROOT / 'tools' +#: The /tests directory +TESTS_DIR = PROJECT_ROOT / 'tests' +#: The default build directory BUILD_DIR = PROJECT_ROOT / '_build' +#: The directory were w prebuild/bootstrapped results will go, and scratch space for the build PREBUILT_DIR = PROJECT_ROOT / '_prebuilt' +#: THe suffix of executable files on this system EXE_SUFFIX = '.exe' if os.name == 'nt' else '' +#: The path to the prebuilt 'dds' executable PREBUILT_DDS = (PREBUILT_DIR / 'dds').with_suffix(EXE_SUFFIX) +#: The path to the main built 'dds' executable CUR_BUILT_DDS = (BUILD_DIR / 'dds').with_suffix(EXE_SUFFIX) -EMBEDDED_REPO_DIR = PROJECT_ROOT / 'external/repo' -SELF_TEST_REPO_DIR = BUILD_DIR / '_self-repo' + + +@contextmanager +def new_tempdir() -> Iterator[Path]: + """ + Create and yield a new temporary directory, which will be destroyed on + context-manager exit + """ + tdir = Path(tempfile.mkdtemp()) + try: + yield tdir + finally: + shutil.rmtree(tdir) + + +def find_exe(name: str) -> Optional[Path]: + """ + Find a file on the system by searching through the PATH environment variable. + """ + sep = ';' if os.name == 'nt' else ':' + paths = os.environ['PATH'].split(sep) + exts = os.environ['PATHEXT'].split(';') if os.name == 'nt' else [''] + for dirpath, ext in itertools.product(paths, exts): + cand = Path(dirpath) / (name + ext) + if cand.is_file(): + return cand + return None diff --git a/tools/dds_ci/proc.py b/tools/dds_ci/proc.py index 68ea80f6..fe06d3c1 100644 --- a/tools/dds_ci/proc.py +++ b/tools/dds_ci/proc.py @@ -1,13 +1,30 @@ -from pathlib import PurePath, Path -from typing import Iterable, Union +from pathlib import PurePath +from typing import Iterable, Union, Optional, Iterator, NoReturn, Sequence, Mapping +from typing_extensions import Protocol import subprocess -CommandLineArg = Union[str, PurePath, int, float] +from .util import Pathish + +CommandLineArg = Union[str, Pathish, int, float] CommandLineArg1 = Union[CommandLineArg, Iterable[CommandLineArg]] CommandLineArg2 = Union[CommandLineArg1, Iterable[CommandLineArg1]] CommandLineArg3 = Union[CommandLineArg2, Iterable[CommandLineArg2]] CommandLineArg4 = Union[CommandLineArg3, Iterable[CommandLineArg3]] -CommandLine = Union[CommandLineArg4, Iterable[CommandLineArg4]] + + +class CommandLine(Protocol): + def __iter__(self) -> Iterator[Union['CommandLine', CommandLineArg]]: + pass + + +# CommandLine = Union[CommandLineArg4, Iterable[CommandLineArg4]] + + +class ProcessResult(Protocol): + args: Sequence[str] + returncode: int + stdout: bytes + stderr: bytes def flatten_cmd(cmd: CommandLine) -> Iterable[str]: @@ -23,17 +40,25 @@ def flatten_cmd(cmd: CommandLine) -> Iterable[str]: assert False, f'Invalid command line element: {repr(cmd)}' -def run(*cmd: CommandLine, cwd: Path = None) -> subprocess.CompletedProcess: - return subprocess.run( - list(flatten_cmd(cmd)), # type: ignore - cwd=cwd, - ) +def run(*cmd: CommandLine, + cwd: Optional[Pathish] = None, + check: bool = False, + env: Optional[Mapping[str, str]] = None, + timeout: Optional[int] = None) -> ProcessResult: + timeout = timeout or 60 * 5 + command = list(flatten_cmd(cmd)) + res = subprocess.run(command, cwd=cwd, check=False, env=env, timeout=timeout) + if res.returncode and check: + raise_error(res) + return res + + +def raise_error(proc: ProcessResult) -> NoReturn: + raise subprocess.CalledProcessError(proc.returncode, proc.args, output=proc.stdout, stderr=proc.stderr) def check_run(*cmd: CommandLine, - cwd: Path = None) -> subprocess.CompletedProcess: - flat_cmd = list(flatten_cmd(cmd)) # type: ignore - res = run(flat_cmd, cwd=cwd) - if res.returncode != 0: - raise subprocess.CalledProcessError(res.returncode, flat_cmd) - return res + cwd: Optional[Pathish] = None, + env: Optional[Mapping[str, str]] = None, + timeout: Optional[int] = None) -> ProcessResult: + return run(cmd, cwd=cwd, check=True, env=env, timeout=timeout) diff --git a/tools/dds_ci/testing/__init__.py b/tools/dds_ci/testing/__init__.py new file mode 100644 index 00000000..cece6680 --- /dev/null +++ b/tools/dds_ci/testing/__init__.py @@ -0,0 +1,10 @@ +from .fixtures import Project, ProjectOpener, PackageJSON, LibraryJSON +from .http import RepoServer + +__all__ = ( + 'Project', + 'ProjectOpener', + 'PackageJSON', + 'LibraryJSON', + 'RepoServer', +) diff --git a/tools/dds_ci/testing/error.py b/tools/dds_ci/testing/error.py new file mode 100644 index 00000000..3830a17f --- /dev/null +++ b/tools/dds_ci/testing/error.py @@ -0,0 +1,39 @@ +""" +Test utilities for error checking +""" + +from contextlib import contextmanager +from typing import Iterator +import subprocess +from pathlib import Path +import tempfile +import os + + +@contextmanager +def expect_error_marker(expect: str) -> Iterator[None]: + """ + A context-manager function that should wrap a scope that causes an error + from ``dds``. + + :param expect: The error message ID string that is expected to appear. + + The wrapped scope should raise :class:`subprocess.CalledProcessError`. + + After handling the exception, asserts that the subprocess wrote an + error marker containing the string given in ``expect``. + """ + tdir = Path(tempfile.mkdtemp()) + err_file = tdir / 'error' + try: + os.environ['DDS_WRITE_ERROR_MARKER'] = str(err_file) + yield + assert False, 'dds subprocess did not raise CallProcessError' + except subprocess.CalledProcessError: + assert err_file.exists(), \ + f'No error marker file was generated, but dds exited with an error (Expected "{expect}")' + marker = err_file.read_text().strip() + assert marker == expect, \ + f'dds did not produce the expected error (Expected {expect}, got {marker})' + finally: + os.environ.pop('DDS_WRITE_ERROR_MARKER') diff --git a/tools/dds_ci/testing/fixtures.py b/tools/dds_ci/testing/fixtures.py new file mode 100644 index 00000000..f2a9178a --- /dev/null +++ b/tools/dds_ci/testing/fixtures.py @@ -0,0 +1,240 @@ +""" +Test fixtures used by DDS in pytest +""" + +from pathlib import Path +import pytest +import json +import shutil +from typing import Sequence, cast, Optional +from typing_extensions import TypedDict + +from _pytest.config import Config as PyTestConfig +from _pytest.tmpdir import TempPathFactory +from _pytest.fixtures import FixtureRequest + +from dds_ci import toolchain, paths +from ..dds import DDSWrapper, NewDDSWrapper +from ..util import Pathish +tc_mod = toolchain + + +def ensure_absent(path: Pathish) -> None: + path = Path(path) + if path.is_dir(): + shutil.rmtree(path) + elif path.exists(): + path.unlink() + else: + # File does not exist, wo we are safe to ignore it + pass + + +class _PackageJSONRequired(TypedDict): + name: str + namespace: str + version: str + + +class PackageJSON(_PackageJSONRequired, total=False): + depends: Sequence[str] + + +class _LibraryJSONRequired(TypedDict): + name: str + + +class LibraryJSON(_LibraryJSONRequired, total=False): + uses: Sequence[str] + + +class Project: + """ + Utilities to access a project being used as a test. + """ + def __init__(self, dirpath: Path, dds: DDSWrapper) -> None: + self.dds = dds.clone() + self.root = dirpath + self.build_root = dirpath / '_build' + + @property + def package_json(self) -> PackageJSON: + """ + Get/set the content of the `package.json` file for the project. + """ + return cast(PackageJSON, json.loads(self.root.joinpath('package.jsonc').read_text())) + + @package_json.setter + def package_json(self, data: PackageJSON) -> None: + self.root.joinpath('package.jsonc').write_text(json.dumps(data, indent=2)) + + @property + def library_json(self) -> LibraryJSON: + """ + Get/set the content of the `library.json` file for the project. + """ + return cast(LibraryJSON, json.loads(self.root.joinpath('library.jsonc').read_text())) + + @library_json.setter + def library_json(self, data: LibraryJSON) -> None: + self.root.joinpath('library.jsonc').write_text(json.dumps(data, indent=2)) + + @property + def project_dir_arg(self) -> str: + """Argument for --project""" + return f'--project={self.root}' + + def build(self, + *, + toolchain: Optional[Pathish] = None, + timeout: Optional[int] = None, + tweaks_dir: Optional[Path] = None) -> None: + """ + Execute 'dds build' on the project + """ + with tc_mod.fixup_toolchain(toolchain or tc_mod.get_default_test_toolchain()) as tc: + self.dds.build(root=self.root, + build_root=self.build_root, + toolchain=tc, + timeout=timeout, + tweaks_dir=tweaks_dir, + more_args=['-ltrace']) + + def compile_file(self, *paths: Pathish, toolchain: Optional[Pathish] = None) -> None: + with tc_mod.fixup_toolchain(toolchain or tc_mod.get_default_test_toolchain()) as tc: + self.dds.compile_file(paths, toolchain=tc, out=self.build_root, project_dir=self.root) + + def pkg_create(self, *, dest: Optional[Pathish] = None) -> None: + self.build_root.mkdir(exist_ok=True, parents=True) + self.dds.run([ + 'pkg', + 'create', + self.project_dir_arg, + f'--out={dest}' if dest else (), + ], cwd=self.build_root) + + def sdist_export(self) -> None: + self.dds.run(['sdist', 'export', self.dds.cache_dir_arg, self.project_dir_arg]) + + def write(self, path: Pathish, content: str) -> Path: + """ + Write the given `content` to `path`. If `path` is relative, it will + be resolved relative to the root directory of this project. + """ + path = Path(path) + if not path.is_absolute(): + path = self.root / path + path.parent.mkdir(exist_ok=True, parents=True) + path.write_text(content) + return path + + +@pytest.fixture() +def test_parent_dir(request: FixtureRequest) -> Path: + """ + :class:`pathlib.Path` fixture pointing to the parent directory of the file + containing the test that is requesting the current fixture + """ + return Path(request.fspath).parent + + +class ProjectOpener(): + """ + A test fixture that opens project directories for testing + """ + def __init__(self, dds: DDSWrapper, request: FixtureRequest, worker: str, + tmp_path_factory: TempPathFactory) -> None: + self.dds = dds + self._request = request + self._worker_id = worker + self._tmppath_fac = tmp_path_factory + + @property + def test_name(self) -> str: + """The name of the test that requested this opener""" + return str(self._request.function.__name__) + + @property + def test_dir(self) -> Path: + """The directory that contains the test that requested this opener""" + return Path(self._request.fspath).parent + + def open(self, dirpath: Pathish) -> Project: + """ + Open a new project testing fixture from the given project directory. + + :param dirpath: The directory that contains the project to use. + + Clones the given directory and then opens a project within that clone. + The clone directory will be destroyed when the test fixture is torn down. + """ + dirpath = Path(dirpath) + if not dirpath.is_absolute(): + dirpath = self.test_dir / dirpath + + proj_copy = self.test_dir / '__test_project' + if self._worker_id != 'master': + proj_copy = self._tmppath_fac.mktemp('test-project-') / self.test_name + else: + self._request.addfinalizer(lambda: ensure_absent(proj_copy)) + + shutil.copytree(dirpath, proj_copy) + new_dds = self.dds.clone() + + if self._worker_id == 'master': + repo_dir = self.test_dir / '__test_repo' + else: + repo_dir = self._tmppath_fac.mktemp('test-repo-') / self.test_name + + new_dds.set_repo_scratch(repo_dir) + new_dds.default_cwd = proj_copy + self._request.addfinalizer(lambda: ensure_absent(repo_dir)) + + return Project(proj_copy, new_dds) + + +@pytest.fixture() +def project_opener(request: FixtureRequest, worker_id: str, dds: DDSWrapper, + tmp_path_factory: TempPathFactory) -> ProjectOpener: + """ + A fixture factory that can open directories as Project objects for building + and testing. Duplicates the project directory into a temporary location so + that the original test directory remains unchanged. + """ + opener = ProjectOpener(dds, request, worker_id, tmp_path_factory) + return opener + + +@pytest.fixture() +def tmp_project(request: FixtureRequest, worker_id: str, project_opener: ProjectOpener, + tmp_path_factory: TempPathFactory) -> Project: + """ + A fixture that generates an empty temporary project directory that will be thrown away + when the test completes. + """ + if worker_id != 'master': + proj_dir = tmp_path_factory.mktemp('temp-project') + return project_opener.open(proj_dir) + + proj_dir = project_opener.test_dir / '__test_project_empty' + ensure_absent(proj_dir) + proj_dir.mkdir() + proj = project_opener.open(proj_dir) + request.addfinalizer(lambda: ensure_absent(proj_dir)) + return proj + + +@pytest.fixture(scope='session') +def dds(dds_exe: Path) -> NewDDSWrapper: + """ + A :class:`~dds_ci.dds.DDSWrapper` around the dds executable under test + """ + wr = NewDDSWrapper(dds_exe) + return wr + + +@pytest.fixture(scope='session') +def dds_exe(pytestconfig: PyTestConfig) -> Path: + """A :class:`pathlib.Path` pointing to the DDS executable under test""" + opt = pytestconfig.getoption('--dds-exe') or paths.BUILD_DIR / 'dds' + return Path(opt) diff --git a/tools/dds_ci/testing/http.py b/tools/dds_ci/testing/http.py new file mode 100644 index 00000000..eeaf7984 --- /dev/null +++ b/tools/dds_ci/testing/http.py @@ -0,0 +1,155 @@ +from pathlib import Path +import socket +from contextlib import contextmanager, ExitStack, closing +import json +from http.server import SimpleHTTPRequestHandler, HTTPServer +from typing import NamedTuple, Any, Iterator, Callable +from concurrent.futures import ThreadPoolExecutor +from functools import partial +import tempfile +import sys +import subprocess + +import pytest +from _pytest.fixtures import FixtureRequest +from _pytest.tmpdir import TempPathFactory + +from dds_ci.dds import DDSWrapper + + +def _unused_tcp_port() -> int: + """Find an unused localhost TCP port from 1024-65535 and return it.""" + with closing(socket.socket()) as sock: + sock.bind(('127.0.0.1', 0)) + return sock.getsockname()[1] + + +class DirectoryServingHTTPRequestHandler(SimpleHTTPRequestHandler): + """ + A simple HTTP request handler that simply serves files from a directory given to the constructor. + """ + def __init__(self, *args: Any, **kwargs: Any) -> None: + self.dir = kwargs.pop('dir') + super().__init__(*args, **kwargs) + + def translate_path(self, path: str) -> str: + # Convert the given URL path to a path relative to the directory we are serving + abspath = Path(super().translate_path(path)) # type: ignore + relpath = abspath.relative_to(Path.cwd()) + return str(self.dir / relpath) + + +class ServerInfo(NamedTuple): + """ + Information about an HTTP server fixture + """ + base_url: str + root: Path + + +@contextmanager +def run_http_server(dirpath: Path, port: int) -> Iterator[ServerInfo]: + """ + Context manager that spawns an HTTP server that serves thegiven directory on + the given TCP port. + """ + handler = partial(DirectoryServingHTTPRequestHandler, dir=dirpath) + addr = ('127.0.0.1', port) + pool = ThreadPoolExecutor() + with HTTPServer(addr, handler) as httpd: + pool.submit(lambda: httpd.serve_forever(poll_interval=0.1)) + try: + print('Serving at', addr) + yield ServerInfo(f'http://127.0.0.1:{port}', dirpath) + finally: + httpd.shutdown() + + +HTTPServerFactory = Callable[[Path], ServerInfo] + + +@pytest.fixture(scope='session') +def http_server_factory(request: FixtureRequest) -> HTTPServerFactory: + """ + Spawn an HTTP server that serves the content of a directory. + """ + def _make(p: Path) -> ServerInfo: + st = ExitStack() + server = st.enter_context(run_http_server(p, _unused_tcp_port())) + request.addfinalizer(st.pop_all) + return server + + return _make + + +class RepoServer: + """ + A fixture handle to a dds HTTP repository, including a path and URL. + """ + def __init__(self, dds_exe: Path, info: ServerInfo, repo_name: str) -> None: + self.repo_name = repo_name + self.server = info + self.url = info.base_url + self.dds_exe = dds_exe + + def import_json_data(self, data: Any) -> None: + """ + Import some packages into the repo for the given JSON data. Uses + mkrepo.py + """ + with tempfile.NamedTemporaryFile(delete=False) as f: + f.write(json.dumps(data).encode()) + f.close() + self.import_json_file(Path(f.name)) + Path(f.name).unlink() + + def import_json_file(self, fpath: Path) -> None: + """ + Import some package into the repo for the given JSON file. Uses mkrepo.py + """ + subprocess.check_call([ + sys.executable, + str(Path.cwd() / 'tools/mkrepo.py'), + f'--dds-exe={self.dds_exe}', + f'--dir={self.server.root}', + f'--spec={fpath}', + ]) + + +RepoFactory = Callable[[str], Path] + + +@pytest.fixture(scope='session') +def repo_factory(tmp_path_factory: TempPathFactory, dds: DDSWrapper) -> RepoFactory: + def _make(name: str) -> Path: + tmpdir = tmp_path_factory.mktemp('test-repo-') + dds.run(['repoman', 'init', tmpdir, f'--name={name}']) + return tmpdir + + return _make + + +HTTPRepoServerFactory = Callable[[str], RepoServer] + + +@pytest.fixture(scope='session') +def http_repo_factory(dds_exe: Path, repo_factory: RepoFactory, + http_server_factory: HTTPServerFactory) -> HTTPRepoServerFactory: + """ + Fixture factory that creates new repositories with an HTTP server for them. + """ + def _make(name: str) -> RepoServer: + repo_dir = repo_factory(name) + server = http_server_factory(repo_dir) + return RepoServer(dds_exe, server, name) + + return _make + + +@pytest.fixture() +def http_repo(http_repo_factory: HTTPRepoServerFactory, request: FixtureRequest) -> RepoServer: + """ + Fixture that creates a new empty dds repository and an HTTP server to serve + it. + """ + return http_repo_factory(f'test-repo-{request.function.__name__}') diff --git a/tools/dds_ci/toolchain.py b/tools/dds_ci/toolchain.py new file mode 100644 index 00000000..8121fb87 --- /dev/null +++ b/tools/dds_ci/toolchain.py @@ -0,0 +1,76 @@ +import json +import sys +from contextlib import contextmanager +from pathlib import Path +from typing import Iterator + +import distro +import json5 + +from . import paths +from .util import Pathish + + +@contextmanager +def fixup_toolchain(json_file: Pathish) -> Iterator[Path]: + """ + Augment the toolchain at the given path by adding 'ccache' or -fuse-ld=lld, + if those tools are available on the system. Yields a new toolchain file + based on 'json_file' + """ + json_file = Path(json_file) + data = json5.loads(json_file.read_text()) + # Check if we can add ccache + ccache = paths.find_exe('ccache') + if ccache and data.get('compiler_id') in ('gnu', 'clang'): + print('Found ccache:', ccache) + data['compiler_launcher'] = [str(ccache)] + # Check for lld for use with GCC/Clang + if paths.find_exe('ld.lld') and data.get('compiler_id') in ('gnu', 'clang'): + print('Linking with `-fuse-ld=lld`') + data.setdefault('link_flags', []).append('-fuse-ld=lld') + # Save the new toolchain data + with paths.new_tempdir() as tdir: + new_json = tdir / json_file.name + new_json.write_text(json.dumps(data)) + yield new_json + + +def get_default_audit_toolchain() -> Path: + """ + Get the default toolchain that should be used for dev and test based on the + host platform. + """ + if sys.platform == 'win32': + return paths.TOOLS_DIR / 'msvc-audit.jsonc' + if sys.platform == 'linux': + return paths.TOOLS_DIR / 'gcc-9-audit.jsonc' + if sys.platform == 'darwin': + return paths.TOOLS_DIR / 'gcc-9-audit-macos.jsonc' + raise RuntimeError(f'Unable to determine the default toolchain (sys.platform is {sys.platform!r})') + + +def get_default_test_toolchain() -> Path: + """ + Get the default toolchain that should be used by tests that need a toolchain + to use for executing dds. + """ + if sys.platform == 'win32': + return paths.TESTS_DIR / 'msvc.tc.jsonc' + if sys.platform in ('linux', 'darwin'): + return paths.TESTS_DIR / 'gcc-9.tc.jsonc' + raise RuntimeError(f'Unable to determine the default toolchain (sys.platform is {sys.platform!r})') + + +def get_default_toolchain() -> Path: + """ + Get the default toolchain that should be used to generate the release executable + based on the host platform. + """ + if sys.platform == 'win32': + return paths.TOOLS_DIR / 'msvc-rel.jsonc' + if sys.platform == 'linux': + return paths.TOOLS_DIR / 'gcc-9-rel.jsonc' + if sys.platform == 'darwin': + return paths.TOOLS_DIR / 'gcc-9-rel-macos.jsonc' + raise RuntimeError(f'Unable to determine the default toolchain (sys.platform is {sys.platform!r})') diff --git a/tools/dds_ci/util.py b/tools/dds_ci/util.py new file mode 100644 index 00000000..1a72e2e5 --- /dev/null +++ b/tools/dds_ci/util.py @@ -0,0 +1,6 @@ +from pathlib import PurePath +from os import PathLike +from typing import Union + +#: A path, string, or convertible-to-Path object +Pathish = Union[PathLike, PurePath, str] diff --git a/tools/gcc-9-audit-macos.jsonc b/tools/gcc-9-audit-macos.jsonc new file mode 100644 index 00000000..29d8b632 --- /dev/null +++ b/tools/gcc-9-audit-macos.jsonc @@ -0,0 +1,24 @@ +{ + "$schema": "../res/toolchain-schema.json", + "compiler_id": "gnu", + "c_compiler": "gcc-9", + "cxx_compiler": "g++-9", + "warning_flags": [ + "-Werror", + ], + "flags": [ + "-I/usr/local/opt/openssl@1.1/include", + /// NOTE: Asan/UBsan misbehave on macOS, so we aren't ready to use them in CI + // "-fsanitize=address,undefined", + ], + "cxx_flags": [ + "-fconcepts", + "-std=c++2a", + ], + "link_flags": [ + // "-fsanitize=address,undefined", + "/usr/local/opt/openssl@1.1/lib/libssl.a", + "/usr/local/opt/openssl@1.1/lib/libcrypto.a", + ], + "debug": true +} \ No newline at end of file diff --git a/tools/gcc-9-dev.jsonc b/tools/gcc-9-audit.jsonc similarity index 64% rename from tools/gcc-9-dev.jsonc rename to tools/gcc-9-audit.jsonc index 95f2d927..f4699317 100644 --- a/tools/gcc-9-dev.jsonc +++ b/tools/gcc-9-audit.jsonc @@ -7,16 +7,17 @@ "-Werror", ], "flags": [ - "-fsanitize=address,undefined" + "-fsanitize=address,undefined", ], "cxx_flags": [ "-fconcepts", "-std=c++2a", ], "link_flags": [ - "-fuse-ld=lld", - "-fsanitize=address,undefined" + "-fsanitize=address,undefined", + "-l:libssl.a", + "-l:libcrypto.a", + "-ldl", ], - "debug": true, - "compiler_launcher": "ccache" + "debug": true } \ No newline at end of file diff --git a/tools/gcc-9-rel-macos.jsonc b/tools/gcc-9-rel-macos.jsonc new file mode 100644 index 00000000..3ee1a09e --- /dev/null +++ b/tools/gcc-9-rel-macos.jsonc @@ -0,0 +1,23 @@ +{ + "$schema": "../res/toolchain-schema.json", + "compiler_id": "gnu", + "c_compiler": "gcc-9", + "cxx_compiler": "g++-9", + "warning_flags": [ + "-Werror", + ], + "flags": [ + "-I/usr/local/opt/openssl@1.1/include", + ], + "cxx_flags": [ + "-fconcepts", + "-std=c++2a", + ], + "link_flags": [ + "-static-libgcc", + "-static-libstdc++", + "/usr/local/opt/openssl@1.1/lib/libssl.a", + "/usr/local/opt/openssl@1.1/lib/libcrypto.a", + ], + "optimize": true +} \ No newline at end of file diff --git a/tools/gcc-9-rel.jsonc b/tools/gcc-9-rel.jsonc index bb1ddde1..d43da0a7 100644 --- a/tools/gcc-9-rel.jsonc +++ b/tools/gcc-9-rel.jsonc @@ -12,7 +12,10 @@ ], "link_flags": [ "-static-libgcc", - "-static-libstdc++" + "-static-libstdc++", + "-l:libssl.a", + "-l:libcrypto.a", + "-ldl", ], "optimize": true } \ No newline at end of file diff --git a/tools/gcc-9-static-rel.jsonc b/tools/gcc-9-static-rel.jsonc index 9eb6f250..767471d6 100644 --- a/tools/gcc-9-static-rel.jsonc +++ b/tools/gcc-9-static-rel.jsonc @@ -6,12 +6,23 @@ "warning_flags": [ "-Werror", ], + "flags": [ + "-fdata-sections", + "-ffunction-sections", + "-Os" + ], "cxx_flags": [ "-fconcepts", - "-std=c++2a", + "-std=c++2a" ], "link_flags": [ - "-static" + "-static", + "-l:libssl.a", + "-l:libcrypto.a", + "-ldl", + // WORKAROUND: https://sourceware.org/legacy-ml/glibc-bugs/2018-09/msg00009.html + "-Wl,-u,pthread_mutex_lock,-u,pthread_mutex_unlock,-u,pthread_self", + "-Wl,--gc-sections,--strip-all" ], "optimize": true } \ No newline at end of file diff --git a/tools/gen-catalog-json.py b/tools/gen-catalog-json.py index dc57b03e..cfa6fd2e 100644 --- a/tools/gen-catalog-json.py +++ b/tools/gen-catalog-json.py @@ -11,6 +11,8 @@ from pathlib import Path import sys import textwrap +import requests +from threading import local from concurrent.futures import ThreadPoolExecutor @@ -104,26 +106,37 @@ def to_dict(self): class Git(NamedTuple): url: str ref: str - auto_lib: Optional[str] = None - transforms: Sequence[FSTransform] = [] def to_dict(self) -> dict: d = { 'url': self.url, 'ref': self.ref, - 'transform': [f.to_dict() for f in self.transforms], } - if self.auto_lib: - d['auto-lib'] = self.auto_lib return d RemoteInfo = Union[Git] +class ForeignInfo(NamedTuple): + remote: RemoteInfo + auto_lib: Optional[str] = None + transforms: Sequence[FSTransform] = [] + + def to_dict(self) -> dict: + d = { + 'transform': [tr.to_dict() for tr in self.transforms], + } + if isinstance(self.remote, Git): + d['git'] = self.remote.to_dict() + if self.auto_lib: + d['auto-lib'] = self.auto_lib + return d + + class Version(NamedTuple): version: str - remote: RemoteInfo + remote: ForeignInfo depends: Sequence[str] = [] description: str = '(No description provided)' @@ -131,9 +144,8 @@ def to_dict(self) -> dict: ret: dict = { 'description': self.description, 'depends': list(self.depends), + 'remote': self.remote.to_dict(), } - if isinstance(self.remote, Git): - ret['git'] = self.remote.to_dict() return ret @@ -149,6 +161,8 @@ class Package(NamedTuple): HTTP_POOL = ThreadPoolExecutor(10) +HTTP_SESSION = requests.Session() + def github_http_get(url: str): url_dat = url_parse.urlparse(url) @@ -157,11 +171,13 @@ def github_http_get(url: str): req.add_header('Authorization', f'token {os.environ["GITHUB_API_TOKEN"]}') if url_dat.hostname != 'api.github.com': raise RuntimeError(f'Request is outside of api.github.com [{url}]') - resp = request.urlopen(req) - if resp.status != 200: - raise RuntimeError( - f'Request to [{url}] failed [{resp.status} {resp.reason}]') - return json5.loads(resp.read()) + print(f'Request {url}') + resp = HTTP_SESSION.get(url, headers=req.headers) + # resp = request.urlopen(req) + resp.raise_for_status() + # if resp.status != 200: + # raise RuntimeError(f'Request to [{url}] failed [{resp.status} {resp.reason}]') + return json5.loads(resp.text) def _get_github_tree_file_content(url: str) -> bytes: @@ -172,8 +188,7 @@ def _get_github_tree_file_content(url: str) -> bytes: return content -def _version_for_github_tag(pkg_name: str, desc: str, clone_url: str, - tag) -> Version: +def _version_for_github_tag(pkg_name: str, desc: str, clone_url: str, tag) -> Version: print(f'Loading tag {tag["name"]}') commit = github_http_get(tag['commit']['url']) tree = github_http_get(commit['commit']['tree']['url']) @@ -185,12 +200,9 @@ def _version_for_github_tag(pkg_name: str, desc: str, clone_url: str, package_json_fname = cand break else: - raise RuntimeError( - f'No package JSON5 file in tag {tag["name"]} for {pkg_name} (One of {tree_content.keys()})' - ) + raise RuntimeError(f'No package JSON5 file in tag {tag["name"]} for {pkg_name} (One of {tree_content.keys()})') - package_json = json5.loads( - _get_github_tree_file_content(tree_content[package_json_fname]['url'])) + package_json = json5.loads(_get_github_tree_file_content(tree_content[package_json_fname]['url'])) version = package_json['version'] if pkg_name != package_json['name']: raise RuntimeError(f'package name in repo "{package_json["name"]}" ' @@ -205,12 +217,10 @@ def _version_for_github_tag(pkg_name: str, desc: str, clone_url: str, elif depends is None: pairs = [] else: - raise RuntimeError( - f'Unknown "depends" object from json file: {depends!r}') + raise RuntimeError(f'Unknown "depends" object from json file: {depends!r}') remote = Git(url=clone_url, ref=tag['name']) - return Version( - version, description=desc, depends=list(pairs), remote=remote) + return Version(version, description=desc, depends=list(pairs), remote=ForeignInfo(remote)) def github_package(name: str, repo: str, want_tags: Iterable[str]) -> Package: @@ -221,15 +231,12 @@ def github_package(name: str, repo: str, want_tags: Iterable[str]) -> Package: missing_tags = set(want_tags) - set(t['name'] for t in avail_tags) if missing_tags: - raise RuntimeError( - 'One or more wanted tags do not exist in ' - f'the repository "{repo}" (Missing: {missing_tags})') + raise RuntimeError('One or more wanted tags do not exist in ' + f'the repository "{repo}" (Missing: {missing_tags})') tag_items = (t for t in avail_tags if t['name'] in want_tags) - versions = HTTP_POOL.map( - lambda tag: _version_for_github_tag(name, desc, repo_data['clone_url'], tag), - tag_items) + versions = HTTP_POOL.map(lambda tag: _version_for_github_tag(name, desc, repo_data['clone_url'], tag), tag_items) return Package(name, list(versions)) @@ -245,8 +252,7 @@ def simple_packages(name: str, Version( ver.version, description=description, - remote=Git( - git_url, tag_fmt.format(ver.version), auto_lib=auto_lib), + remote=ForeignInfo(remote=Git(git_url, tag_fmt.format(ver.version)), auto_lib=auto_lib), depends=ver.depends) for ver in versions ]) @@ -263,24 +269,38 @@ def many_versions(name: str, Version( ver, description='\n'.join(textwrap.wrap(description)), - remote=Git( - url=git_url, - ref=tag_fmt.format(ver), - auto_lib=auto_lib, - transforms=transforms)) for ver in versions + remote=ForeignInfo( + remote=Git(url=git_url, ref=tag_fmt.format(ver)), auto_lib=auto_lib, transforms=transforms)) + for ver in versions ]) # yapf: disable PACKAGES = [ - github_package('neo-buffer', 'vector-of-bool/neo-buffer', - ['0.2.1', '0.3.0', '0.4.0', '0.4.1']), - github_package('neo-compress', 'vector-of-bool/neo-compress', ['0.1.0']), - github_package('neo-sqlite3', 'vector-of-bool/neo-sqlite3', - ['0.2.3', '0.3.0']), + github_package('neo-buffer', 'vector-of-bool/neo-buffer', ['0.2.1', '0.3.0', '0.4.0', '0.4.1', '0.4.2']), + github_package('neo-compress', 'vector-of-bool/neo-compress', ['0.1.0', '0.1.1', '0.2.0']), + github_package('neo-url', 'vector-of-bool/neo-url', ['0.1.0', '0.1.1', '0.1.2', '0.2.0', '0.2.1', '0.2.2']), + github_package('neo-sqlite3', 'vector-of-bool/neo-sqlite3', ['0.2.3', '0.3.0', '0.4.0', '0.4.1']), github_package('neo-fun', 'vector-of-bool/neo-fun', [ - '0.1.1', '0.2.0', '0.2.1', '0.3.0', '0.3.1', '0.3.2', '0.4.0', '0.4.1' + '0.1.1', + '0.2.0', + '0.2.1', + '0.3.0', + '0.3.1', + '0.3.2', + '0.4.0', + '0.4.1', + '0.4.2', + '0.5.0', + '0.5.1', + '0.5.2', + '0.5.3', + '0.5.4', + '0.5.5', + '0.6.0', ]), + github_package('neo-io', 'vector-of-bool/neo-io', ['0.1.0', '0.1.1']), + github_package('neo-http', 'vector-of-bool/neo-http', ['0.1.0']), github_package('neo-concepts', 'vector-of-bool/neo-concepts', ( '0.2.2', '0.3.0', @@ -291,8 +311,7 @@ def many_versions(name: str, github_package('semver', 'vector-of-bool/semver', ['0.2.2']), github_package('pubgrub', 'vector-of-bool/pubgrub', ['0.2.1']), github_package('vob-json5', 'vector-of-bool/json5', ['0.1.5']), - github_package('vob-semester', 'vector-of-bool/semester', - ['0.1.0', '0.1.1', '0.2.0', '0.2.1', '0.2.2']), + github_package('vob-semester', 'vector-of-bool/semester', ['0.1.0', '0.1.1', '0.2.0', '0.2.1', '0.2.2']), many_versions( 'magic_enum', ( @@ -336,8 +355,7 @@ def many_versions(name: str, ), git_url='https://github.com/ericniebler/range-v3.git', auto_lib='range-v3/range-v3', - description= - 'Range library for C++14/17/20, basis for C++20\'s std::ranges', + description='Range library for C++14/17/20, basis for C++20\'s std::ranges', ), many_versions( 'nlohmann-json', @@ -364,10 +382,15 @@ def many_versions(name: str, ), Package('ms-wil', [ Version( - '2020.03.16', + '2020.3.16', description='The Windows Implementation Library', - remote=Git('https://github.com/vector-of-bool/wil.git', - 'dds/2020.03.16')) + remote=ForeignInfo(Git('https://github.com/vector-of-bool/wil.git', 'dds/2020.03.16'))) + ]), + Package('p-ranav.argparse', [ + Version( + '2.1.0', + description='Argument Parser for Modern C++', + remote=ForeignInfo(Git('https://github.com/p-ranav/argparse.git', 'v2.1'), auto_lib='p-ranav/argparse')) ]), many_versions( 'ctre', @@ -377,12 +400,10 @@ def many_versions(name: str, '2.8.3', '2.8.4', ), - git_url= - 'https://github.com/hanickadot/compile-time-regular-expressions.git', + git_url='https://github.com/hanickadot/compile-time-regular-expressions.git', tag_fmt='v{}', auto_lib='hanickadot/ctre', - description= - 'A compile-time PCRE (almost) compatible regular expression matcher', + description='A compile-time PCRE (almost) compatible regular expression matcher', ), Package( 'spdlog', @@ -391,9 +412,8 @@ def many_versions(name: str, ver, description='Fast C++ logging library', depends=['fmt+6.0.0'], - remote=Git( - url='https://github.com/gabime/spdlog.git', - ref=f'v{ver}', + remote=ForeignInfo( + Git(url='https://github.com/gabime/spdlog.git', ref=f'v{ver}'), transforms=[ FSTransform( write=WriteTransform( @@ -406,8 +426,7 @@ def many_versions(name: str, }))), FSTransform( write=WriteTransform( - path='library.json', - content=json.dumps({ + path='library.json', content=json.dumps({ 'name': 'spdlog', 'uses': ['fmt/fmt'] }))), @@ -458,14 +477,11 @@ def many_versions(name: str, Version( '2.12.4', description='A modern C++ unit testing library', - remote=Git( - 'https://github.com/catchorg/Catch2.git', - 'v2.12.4', + remote=ForeignInfo( + Git('https://github.com/catchorg/Catch2.git', 'v2.12.4'), auto_lib='catch2/catch2', transforms=[ - FSTransform( - move=CopyMoveTransform( - frm='include', to='include/catch2')), + FSTransform(move=CopyMoveTransform(frm='include', to='include/catch2')), FSTransform( copy=CopyMoveTransform(frm='include', to='src'), write=WriteTransform( @@ -488,9 +504,8 @@ def many_versions(name: str, Version( ver, description='Asio asynchronous I/O C++ library', - remote=Git( - 'https://github.com/chriskohlhoff/asio.git', - f'asio-{ver.replace(".", "-")}', + remote=ForeignInfo( + Git('https://github.com/chriskohlhoff/asio.git', f'asio-{ver.replace(".", "-")}'), auto_lib='asio/asio', transforms=[ FSTransform( @@ -516,15 +531,8 @@ def many_versions(name: str, edit=EditTransform( path='include/asio/detail/config.hpp', edits=[ - OneEdit( - line=13, - kind='insert', - content='#define ASIO_STANDALONE 1'), - OneEdit( - line=14, - kind='insert', - content= - '#define ASIO_SEPARATE_COMPILATION 1') + OneEdit(line=13, kind='insert', content='#define ASIO_STANDALONE 1'), + OneEdit(line=14, kind='insert', content='#define ASIO_SEPARATE_COMPILATION 1') ]), ), ]), @@ -545,9 +553,8 @@ def many_versions(name: str, Version( ver, description='Abseil Common Libraries', - remote=Git( - 'https://github.com/abseil/abseil-cpp.git', - tag, + remote=ForeignInfo( + Git('https://github.com/abseil/abseil-cpp.git', tag), auto_lib='abseil/abseil', transforms=[ FSTransform( @@ -582,28 +589,24 @@ def many_versions(name: str, Package('zlib', [ Version( ver, - description= - 'A massively spiffy yet delicately unobtrusive compression library', - remote=Git( - 'https://github.com/madler/zlib.git', - tag or f'v{ver}', + description='A massively spiffy yet delicately unobtrusive compression library', + remote=ForeignInfo( + Git('https://github.com/madler/zlib.git', tag or f'v{ver}'), auto_lib='zlib/zlib', transforms=[ - FSTransform( - move=CopyMoveTransform( - frm='.', - to='src/', - include=[ - '*.c', - '*.h', - ], - )), - FSTransform( - move=CopyMoveTransform( - frm='src/', - to='include/', - include=['zlib.h', 'zconf.h'], - )), + FSTransform(move=CopyMoveTransform( + frm='.', + to='src/', + include=[ + '*.c', + '*.h', + ], + )), + FSTransform(move=CopyMoveTransform( + frm='src/', + to='include/', + include=['zlib.h', 'zconf.h'], + )), ]), ) for ver, tag in [ ('1.2.11', None), @@ -623,12 +626,10 @@ def many_versions(name: str, Package('sol2', [ Version( ver, - description= - 'A C++ <-> Lua API wrapper with advanced features and top notch performance', + description='A C++ <-> Lua API wrapper with advanced features and top notch performance', depends=['lua+0.0.0'], - remote=Git( - 'https://github.com/ThePhD/sol2.git', - f'v{ver}', + remote=ForeignInfo( + Git('https://github.com/ThePhD/sol2.git', f'v{ver}'), transforms=[ FSTransform( write=WriteTransform( @@ -642,11 +643,10 @@ def many_versions(name: str, }, indent=2, )), - move=(None - if ver.startswith('3.') else CopyMoveTransform( - frm='sol', - to='src/sol', - )), + move=(None if ver.startswith('3.') else CopyMoveTransform( + frm='sol', + to='src/sol', + )), ), FSTransform( write=WriteTransform( @@ -678,18 +678,14 @@ def many_versions(name: str, ver, description= 'Lua is a powerful and fast programming language that is easy to learn and use and to embed into your application.', - remote=Git( - 'https://github.com/lua/lua.git', - f'v{ver}', + remote=ForeignInfo( + Git('https://github.com/lua/lua.git', f'v{ver}'), auto_lib='lua/lua', - transforms=[ - FSTransform( - move=CopyMoveTransform( - frm='.', - to='src/', - include=['*.c', '*.h'], - )) - ]), + transforms=[FSTransform(move=CopyMoveTransform( + frm='.', + to='src/', + include=['*.c', '*.h'], + ))]), ) for ver in [ '5.4.0', '5.3.5', @@ -709,9 +705,8 @@ def many_versions(name: str, Version( ver, description='Parsing Expression Grammar Template Library', - remote=Git( - 'https://github.com/taocpp/PEGTL.git', - ver, + remote=ForeignInfo( + Git('https://github.com/taocpp/PEGTL.git', ver), auto_lib='tao/pegtl', transforms=[FSTransform(remove=RemoveTransform(path='src/'))], )) for ver in [ @@ -726,9 +721,7 @@ def many_versions(name: str, ] ]), many_versions( - 'boost.pfr', ['1.0.0', '1.0.1'], - auto_lib='boost/pfr', - git_url='https://github.com/apolukhin/magic_get.git'), + 'boost.pfr', ['1.0.0', '1.0.1'], auto_lib='boost/pfr', git_url='https://github.com/apolukhin/magic_get.git'), many_versions( 'boost.leaf', [ @@ -769,16 +762,10 @@ def many_versions(name: str, 'for encryption, decryption, signatures, password hashing and more.', transforms=[ FSTransform( - move=CopyMoveTransform( - frm='src/libsodium/include', to='include/'), + move=CopyMoveTransform(frm='src/libsodium/include', to='include/'), edit=EditTransform( path='include/sodium/export.h', - edits=[ - OneEdit( - line=8, - kind='insert', - content='#define SODIUM_STATIC 1') - ])), + edits=[OneEdit(line=8, kind='insert', content='#define SODIUM_STATIC 1')])), FSTransform( edit=EditTransform( path='include/sodium/private/common.h', @@ -786,8 +773,7 @@ def many_versions(name: str, OneEdit( kind='insert', line=1, - content=Path(__file__).parent.joinpath( - 'libsodium-config.h').read_text(), + content=Path(__file__).parent.joinpath('libsodium-config.h').read_text(), ) ])), FSTransform( @@ -801,9 +787,7 @@ def many_versions(name: str, ), remove=RemoveTransform(path='src/libsodium'), ), - FSTransform( - copy=CopyMoveTransform( - frm='include', to='src/', strip_components=1)), + FSTransform(copy=CopyMoveTransform(frm='include', to='src/', strip_components=1)), ]), many_versions( 'tomlpp', @@ -822,46 +806,39 @@ def many_versions(name: str, tag_fmt='v{}', git_url='https://github.com/marzer/tomlplusplus.git', auto_lib='tomlpp/tomlpp', - description= - 'Header-only TOML config file parser and serializer for modern C++'), + description='Header-only TOML config file parser and serializer for modern C++'), Package('inja', [ *(Version( ver, description='A Template Engine for Modern C++', - remote=Git( - 'https://github.com/pantor/inja.git', - f'v{ver}', - auto_lib='inja/inja')) for ver in ('1.0.0', '2.0.0', '2.0.1')), + remote=ForeignInfo(Git('https://github.com/pantor/inja.git', f'v{ver}'), auto_lib='inja/inja')) + for ver in ('1.0.0', '2.0.0', '2.0.1')), *(Version( ver, description='A Template Engine for Modern C++', depends=['nlohmann-json+0.0.0'], - remote=Git( - 'https://github.com/pantor/inja.git', - f'v{ver}', + remote=ForeignInfo( + Git('https://github.com/pantor/inja.git', f'v{ver}'), transforms=[ FSTransform( write=WriteTransform( path='package.json', content=json.dumps({ - 'name': - 'inja', - 'namespace': - 'inja', - 'version': - ver, + 'name': 'inja', + 'namespace': 'inja', + 'version': ver, 'depends': [ 'nlohmann-json+0.0.0', ] }))), FSTransform( write=WriteTransform( - path='library.json', - content=json.dumps({ + path='library.json', content=json.dumps({ 'name': 'inja', 'uses': ['nlohmann/json'] }))), ], + auto_lib='inja/inja', )) for ver in ('2.1.0', '2.2.0')), ]), many_versions( @@ -911,16 +888,12 @@ def many_versions(name: str, Version( '0.98.1', description='PCG Randum Number Generation, C++ Edition', - remote=Git( - url='https://github.com/imneme/pcg-cpp.git', - ref='v0.98.1', - auto_lib='pcg/pcg-cpp')) + remote=ForeignInfo(Git(url='https://github.com/imneme/pcg-cpp.git', ref='v0.98.1'), auto_lib='pcg/pcg-cpp')) ]), many_versions( 'hinnant-date', ['2.4.1', '3.0.0'], - description= - 'A date and time library based on the C++11/14/17 header', + description='A date and time library based on the C++11/14/17 header', auto_lib='hinnant/date', git_url='https://github.com/HowardHinnant/date.git', tag_fmt='v{}', @@ -935,55 +908,8 @@ def many_versions(name: str, data = { 'version': 1, - 'packages': { - pkg.name: {ver.version: ver.to_dict() - for ver in pkg.versions} - for pkg in PACKAGES - } + 'packages': {pkg.name: {ver.version: ver.to_dict() + for ver in pkg.versions} + for pkg in PACKAGES} } - json_str = json.dumps(data, indent=2, sort_keys=True) - Path('catalog.json').write_text(json_str) - - cpp_template = textwrap.dedent(r''' - #include - #include - #include - - #include - #include - #include - #include - - /** - * The following array of integers is generated and contains gzip-compressed - * JSON encoded initial catalog. MSVC can't handle string literals over - * 64k large, so we have to resort to using a regular char array: - */ - static constexpr const unsigned char INIT_PACKAGES_CONTENT[] = { - @JSON@ - }; - - const std::vector& - dds::init_catalog_packages() noexcept { - using std::nullopt; - static auto pkgs = []{ - using namespace neo; - string_dynbuf_io str_out; - buffer_copy(str_out, - buffer_transform_source{ - buffers_consumer(as_buffer(INIT_PACKAGES_CONTENT)), - gzip_decompressor{inflate_decompressor{}}}, - @JSON_LEN@); - return dds::parse_packages_json(str_out.read_area_view()); - }(); - return pkgs; - } - ''') - - json_small = json.dumps(data, sort_keys=True) - json_compr = gzip.compress(json_small.encode('utf-8'), compresslevel=9) - json_small_arr = ','.join(str(c) for c in json_compr) - - cpp_content = cpp_template.replace('@JSON@', json_small_arr).replace( - '@JSON_LEN@', str(len(json_small))) - Path('src/dds/catalog/init_catalog.cpp').write_text(cpp_content) + Path('catalog.json').write_text(json.dumps(data, indent=2, sort_keys=True)) diff --git a/tools/get-win-openssl.ps1 b/tools/get-win-openssl.ps1 new file mode 100644 index 00000000..09a3c2c0 --- /dev/null +++ b/tools/get-win-openssl.ps1 @@ -0,0 +1,30 @@ +[CmdletBinding()] +param () + +$ErrorActionPreference = "Stop" + +$this_script = $MyInvocation.MyCommand.Definition +$tools_dir = Split-Path -Parent $this_script +$root_dir = Split-Path -Parent $tools_dir +$build_dir = Join-Path $root_dir "_build" +New-Item -ItemType Container $build_dir -ErrorAction Ignore + +$local_tgz = Join-Path $build_dir "openssl.tgz" + +# This is the path to the release static vs2019 x64 build of OpenSSL in bintray +$conan_ssl_path = "_/openssl/1.1.1h/_/7098aea4e4f2247cc9b5dcaaa1ebddbe/package/a79a557254fabcb77849dd623fed97c9c5ab7651/141ef2c6711a254707ba1f7f4fd07ad4" +$openssl_url = "https://dl.bintray.com/conan/conan-center/$conan_ssl_path/conan_package.tgz" + +Write-Host "Downloading OpenSSL for Windows" +Invoke-WebRequest ` + -Uri $openssl_url ` + -OutFile $local_tgz + +$openssl_tree = Join-Path $root_dir "external/OpenSSL" +Write-Host "Expanding OpenSSL archive..." +Remove-Item $openssl_tree -Recurse -Force -ErrorAction Ignore +New-Item $openssl_tree -ItemType Container | Out-Null +& cmake -E chdir $openssl_tree cmake -E tar xf $local_tgz +if ($LASTEXITCODE) { + throw "Archive expansion failed" +} diff --git a/tools/mkrepo.py b/tools/mkrepo.py new file mode 100644 index 00000000..dac00023 --- /dev/null +++ b/tools/mkrepo.py @@ -0,0 +1,449 @@ +""" +Script for populating a repository with packages declaratively. +""" + +import argparse +import itertools +import json +import os +import re +import shutil +import stat +import sys +import tarfile +import tempfile +from concurrent.futures import ThreadPoolExecutor +from contextlib import contextmanager +from pathlib import Path +from subprocess import check_call +from threading import Lock +from typing import (Any, Dict, Iterable, Iterator, NamedTuple, NoReturn, Optional, Sequence, Tuple, Type, TypeVar, + Union) +from urllib import request + +from semver import VersionInfo +from typing_extensions import Protocol + +T = TypeVar('T') + +I32_MAX = 0xffff_ffff - 1 +MAX_VERSION = VersionInfo(I32_MAX, I32_MAX, I32_MAX) + +REPO_ROOT = Path(__file__).resolve().absolute().parent.parent + + +def _get_dds_exe() -> Path: + suffix = '.exe' if os.name == 'nt' else '' + dirs = [REPO_ROOT / '_build', REPO_ROOT / '_prebuilt'] + for d in dirs: + exe = d / ('dds' + suffix) + if exe.is_file(): + return exe + raise RuntimeError('Unable to find a dds.exe to use') + + +class Dependency(NamedTuple): + name: str + low: VersionInfo + high: VersionInfo + + @classmethod + def parse(cls: Type[T], depstr: str) -> T: + mat = re.match(r'(.+?)([\^~\+@])(.+?)$', depstr) + if not mat: + raise ValueError(f'Invalid dependency string "{depstr}"') + name, kind, version_str = mat.groups() + version = VersionInfo.parse(version_str) + high = { + '^': version.bump_major, + '~': version.bump_minor, + '@': version.bump_patch, + '+': lambda: MAX_VERSION, + }[kind]() + return cls(name, version, high) + + +def glob_if_exists(path: Path, pat: str) -> Iterable[Path]: + try: + yield from path.glob(pat) + except FileNotFoundError: + yield from () + + +class MoveTransform(NamedTuple): + frm: str + to: str + strip_components: int = 0 + include: Sequence[str] = [] + exclude: Sequence[str] = [] + + @classmethod + def parse_data(cls: Type[T], data: Any) -> T: + return cls(frm=data.pop('from'), + to=data.pop('to'), + include=data.pop('include', []), + strip_components=data.pop('strip-components', 0), + exclude=data.pop('exclude', [])) + + def apply_to(self, p: Path) -> None: + src = p / self.frm + dest = p / self.to + if src.is_file(): + self.do_reloc_file(src, dest) + return + + inc_pats = self.include or ['**/*'] + include = set(itertools.chain.from_iterable(glob_if_exists(src, pat) for pat in inc_pats)) + exclude = set(itertools.chain.from_iterable(glob_if_exists(src, pat) for pat in self.exclude)) + to_reloc = sorted(include - exclude) + for source_file in to_reloc: + relpath = source_file.relative_to(src) + strip_relpath = Path('/'.join(relpath.parts[self.strip_components:])) + dest_file = dest / strip_relpath + self.do_reloc_file(source_file, dest_file) + + def do_reloc_file(self, src: Path, dest: Path) -> None: + if src.is_dir(): + dest.mkdir(exist_ok=True, parents=True) + else: + dest.parent.mkdir(exist_ok=True, parents=True) + src.rename(dest) + + +class CopyTransform(MoveTransform): + def do_reloc_file(self, src: Path, dest: Path) -> None: + if src.is_dir(): + dest.mkdir(exist_ok=True, parents=True) + else: + shutil.copy2(src, dest) + + +class OneEdit(NamedTuple): + kind: str + line: int + content: Optional[str] = None + + @classmethod + def parse_data(cls, data: Dict) -> 'OneEdit': + return OneEdit(data.pop('kind'), data.pop('line'), data.pop('content', None)) + + def apply_to(self, fpath: Path) -> None: + fn = { + 'insert': self._insert, + # 'delete': self._delete, + }[self.kind] + fn(fpath) + + def _insert(self, fpath: Path) -> None: + content = fpath.read_bytes() + lines = content.split(b'\n') + assert self.content + lines.insert(self.line, self.content.encode()) + fpath.write_bytes(b'\n'.join(lines)) + + +class EditTransform(NamedTuple): + path: str + edits: Sequence[OneEdit] = [] + + @classmethod + def parse_data(cls, data: Dict) -> 'EditTransform': + return EditTransform(data.pop('path'), [OneEdit.parse_data(ed) for ed in data.pop('edits')]) + + def apply_to(self, p: Path) -> None: + fpath = p / self.path + for ed in self.edits: + ed.apply_to(fpath) + + +class WriteTransform(NamedTuple): + path: str + content: str + + @classmethod + def parse_data(self, data: Dict) -> 'WriteTransform': + return WriteTransform(data.pop('path'), data.pop('content')) + + def apply_to(self, p: Path) -> None: + fpath = p / self.path + print('Writing to file', p, self.content) + fpath.write_text(self.content) + + +class RemoveTransform(NamedTuple): + path: Path + only_matching: Sequence[str] = () + + @classmethod + def parse_data(self, d: Any) -> 'RemoveTransform': + p = d.pop('path') + pat = d.pop('only-matching') + return RemoveTransform(Path(p), pat) + + def apply_to(self, p: Path) -> None: + if p.is_dir(): + self._apply_dir(p) + else: + p.unlink() + + def _apply_dir(self, p: Path) -> None: + abspath = p / self.path + if not self.only_matching: + # Remove everything + if abspath.is_dir(): + better_rmtree(abspath) + else: + abspath.unlink() + return + + for pat in self.only_matching: + items = glob_if_exists(abspath, pat) + for f in items: + if f.is_dir(): + better_rmtree(f) + else: + f.unlink() + + +class FSTransform(NamedTuple): + copy: Optional[CopyTransform] = None + move: Optional[MoveTransform] = None + remove: Optional[RemoveTransform] = None + write: Optional[WriteTransform] = None + edit: Optional[EditTransform] = None + + def apply_to(self, p: Path) -> None: + for tr in (self.copy, self.move, self.remove, self.write, self.edit): + if tr: + tr.apply_to(p) + + @classmethod + def parse_data(self, data: Any) -> 'FSTransform': + move = data.pop('move', None) + copy = data.pop('copy', None) + remove = data.pop('remove', None) + write = data.pop('write', None) + edit = data.pop('edit', None) + return FSTransform( + copy=None if copy is None else CopyTransform.parse_data(copy), + move=None if move is None else MoveTransform.parse_data(move), + remove=None if remove is None else RemoveTransform.parse_data(remove), + write=None if write is None else WriteTransform.parse_data(write), + edit=None if edit is None else EditTransform.parse_data(edit), + ) + + +class HTTPRemoteSpec(NamedTuple): + url: str + transform: Sequence[FSTransform] + + @classmethod + def parse_data(cls, data: Dict[str, Any]) -> 'HTTPRemoteSpec': + url = data.pop('url') + trs = [FSTransform.parse_data(tr) for tr in data.pop('transforms', [])] + return HTTPRemoteSpec(url, trs) + + def make_local_dir(self): + return http_dl_unpack(self.url) + + +class GitSpec(NamedTuple): + url: str + ref: str + transform: Sequence[FSTransform] + + @classmethod + def parse_data(cls, data: Dict[str, Any]) -> 'GitSpec': + ref = data.pop('ref') + url = data.pop('url') + trs = [FSTransform.parse_data(tr) for tr in data.pop('transform', [])] + return GitSpec(url=url, ref=ref, transform=trs) + + @contextmanager + def make_local_dir(self) -> Iterator[Path]: + tdir = Path(tempfile.mkdtemp()) + try: + check_call(['git', 'clone', '--quiet', self.url, f'--depth=1', f'--branch={self.ref}', str(tdir)]) + yield tdir + finally: + better_rmtree(tdir) + + +class ForeignPackage(NamedTuple): + remote: Union[HTTPRemoteSpec, GitSpec] + transform: Sequence[FSTransform] + auto_lib: Optional[Tuple] + + @classmethod + def parse_data(cls, data: Dict[str, Any]) -> 'ForeignPackage': + git = data.pop('git', None) + http = data.pop('http', None) + chosen = git or http + assert chosen, data + trs = data.pop('transform', []) + al = data.pop('auto-lib', None) + return ForeignPackage( + remote=GitSpec.parse_data(git) if git else HTTPRemoteSpec.parse_data(http), + transform=[FSTransform.parse_data(tr) for tr in trs], + auto_lib=al.split('/') if al else None, + ) + + @contextmanager + def make_local_dir(self, name: str, ver: VersionInfo) -> Iterator[Path]: + with self.remote.make_local_dir() as tdir: + for tr in self.transform: + tr.apply_to(tdir) + if self.auto_lib: + pkg_json = { + 'name': name, + 'version': str(ver), + 'namespace': self.auto_lib[0], + } + lib_json = {'name': self.auto_lib[1]} + tdir.joinpath('package.jsonc').write_text(json.dumps(pkg_json)) + tdir.joinpath('library.jsonc').write_text(json.dumps(lib_json)) + yield tdir + + +class SpecPackage(NamedTuple): + name: str + version: VersionInfo + depends: Sequence[Dependency] + description: str + remote: ForeignPackage + + @classmethod + def parse_data(cls, name: str, version: str, data: Any) -> 'SpecPackage': + deps = data.pop('depends', []) + desc = data.pop('description', '[No description]') + remote = ForeignPackage.parse_data(data.pop('remote')) + return SpecPackage(name, + VersionInfo.parse(version), + description=desc, + depends=[Dependency.parse(d) for d in deps], + remote=remote) + + +def iter_spec(path: Path) -> Iterable[SpecPackage]: + data = json.loads(path.read_text()) + pkgs = data['packages'] + return iter_spec_packages(pkgs) + + +def iter_spec_packages(data: Dict[str, Any]) -> Iterable[SpecPackage]: + for name, versions in data.items(): + for version, defin in versions.items(): + yield SpecPackage.parse_data(name, version, defin) + + +def _on_rm_error_win32(fn, filepath, _exc_info): + p = Path(filepath) + p.chmod(stat.S_IWRITE) + p.unlink() + + +def better_rmtree(dir: Path) -> None: + if os.name == 'nt': + shutil.rmtree(dir, onerror=_on_rm_error_win32) + else: + shutil.rmtree(dir) + + +@contextmanager +def http_dl_unpack(url: str) -> Iterator[Path]: + req = request.urlopen(url) + tdir = Path(tempfile.mkdtemp()) + ofile = tdir / '.dl-archive' + try: + with ofile.open('wb') as fd: + fd.write(req.read()) + tf = tarfile.open(ofile) + tf.extractall(tdir) + tf.close() + ofile.unlink() + subdir = next(iter(Path(tdir).iterdir())) + yield subdir + finally: + better_rmtree(tdir) + + +@contextmanager +def spec_as_local_tgz(dds_exe: Path, spec: SpecPackage) -> Iterator[Path]: + with spec.remote.make_local_dir(spec.name, spec.version) as clone_dir: + out_tgz = clone_dir / 'sdist.tgz' + check_call([str(dds_exe), 'pkg', 'create', f'--project={clone_dir}', f'--out={out_tgz}']) + yield out_tgz + + +class Repository: + def __init__(self, dds_exe: Path, path: Path) -> None: + self._path = path + self._dds_exe = dds_exe + self._import_lock = Lock() + + @property + def pkg_dir(self) -> Path: + return self._path / 'pkg' + + @classmethod + def create(cls, dds_exe: Path, dirpath: Path, name: str) -> 'Repository': + check_call([str(dds_exe), 'repoman', 'init', str(dirpath), f'--name={name}']) + return Repository(dds_exe, dirpath) + + @classmethod + def open(cls, dds_exe: Path, dirpath: Path) -> 'Repository': + return Repository(dds_exe, dirpath) + + def import_tgz(self, path: Path) -> None: + check_call([str(self._dds_exe), 'repoman', 'import', str(self._path), str(path)]) + + def remove(self, name: str) -> None: + check_call([str(self._dds_exe), 'repoman', 'remove', str(self._path), name]) + + def spec_import(self, spec: Path) -> None: + all_specs = iter_spec(spec) + want_import = (s for s in all_specs if self._shoule_import(s)) + pool = ThreadPoolExecutor(10) + futs = pool.map(self._get_and_import, want_import) + for res in futs: + pass + + def _shoule_import(self, spec: SpecPackage) -> bool: + expect_file = self.pkg_dir / spec.name / str(spec.version) / 'sdist.tar.gz' + return not expect_file.is_file() + + def _get_and_import(self, spec: SpecPackage) -> None: + print(f'Import: {spec.name}@{spec.version}') + with spec_as_local_tgz(self._dds_exe, spec) as tgz: + with self._import_lock: + self.import_tgz(tgz) + + +class Arguments(Protocol): + dir: Path + spec: Path + dds_exe: Path + + +def main(argv: Sequence[str]) -> int: + parser = argparse.ArgumentParser() + parser.add_argument('--dds-exe', type=Path, help='Path to the dds executable to use', default=_get_dds_exe()) + parser.add_argument('--dir', '-d', help='Path to a repository to manage', required=True, type=Path) + parser.add_argument('--spec', + metavar='', + type=Path, + required=True, + help='Provide a JSON document specifying how to obtain an import some packages') + args: Arguments = parser.parse_args(argv) + repo = Repository.open(args.dds_exe, args.dir) + repo.spec_import(args.spec) + + return 0 + + +def start() -> NoReturn: + sys.exit(main(sys.argv[1:])) + + +if __name__ == "__main__": + start() diff --git a/tools/msvc-audit.jsonc b/tools/msvc-audit.jsonc new file mode 100644 index 00000000..68ded532 --- /dev/null +++ b/tools/msvc-audit.jsonc @@ -0,0 +1,30 @@ +{ + "$schema": "../res/toolchain-schema.json", + "compiler_id": "msvc", + "flags": [ + "/Zc:preprocessor", + "/Zc:__cplusplus", + "/std:c++latest", + "/DNOMINMAX", + // Workaround quirks in LEAF + "/DBOOST_LEAF_CONSTEXPR=", + "/DBOOST_LEAF_STD_UNCAUGHT_EXCEPTIONS=1", + // OpenSSL headers: + "/Iexternal/OpenSSL/include", + ], + "link_flags": [ + "rpcrt4.lib", + // Networking: + "Ws2_32.lib", + // Deps for OpenSSL: + "AdvApi32.lib", + "Crypt32.lib", + "User32.lib", + // Link in our external OpenSSL: + "/link", + "/LibPath:external/OpenSSL/lib", + "libssl.lib", + "libcrypto.lib", + ], + "debug": true +} \ No newline at end of file diff --git a/tools/msvc-rel.jsonc b/tools/msvc-rel.jsonc new file mode 100644 index 00000000..12b5e8a3 --- /dev/null +++ b/tools/msvc-rel.jsonc @@ -0,0 +1,30 @@ +{ + "$schema": "../res/toolchain-schema.json", + "compiler_id": "msvc", + "flags": [ + "/Zc:preprocessor", + "/Zc:__cplusplus", + "/std:c++latest", + "/DNOMINMAX", + // Workaround quirks in LEAF + "/DBOOST_LEAF_CONSTEXPR=", + "/DBOOST_LEAF_STD_UNCAUGHT_EXCEPTIONS=1", + // OpenSSL headers: + "/Iexternal/OpenSSL/include", + ], + "link_flags": [ + "rpcrt4.lib", + // Networking: + "Ws2_32.lib", + // Deps for OpenSSL: + "AdvApi32.lib", + "Crypt32.lib", + "User32.lib", + // Link in our external OpenSSL: + "/link", + "/LibPath:external/OpenSSL/lib", + "libssl.lib", + "libcrypto.lib", + ], + "optimize": true +} \ No newline at end of file diff --git a/tools/msvc.jsonc b/tools/msvc.jsonc deleted file mode 100644 index 43f1fa94..00000000 --- a/tools/msvc.jsonc +++ /dev/null @@ -1,14 +0,0 @@ -{ - "$schema": "../res/toolchain-schema.json", - "compiler_id": "msvc", - "flags": [ - "/Zc:preprocessor", - "/std:c++latest", - "/DNOMINMAX", - ], - "link_flags": [ - "rpcrt4.lib", - ], - // "debug": true, - "optimize": true -} \ No newline at end of file diff --git a/tools/prep-catch2.py b/tools/prep-catch2.py index cee921d8..9c38a75f 100644 --- a/tools/prep-catch2.py +++ b/tools/prep-catch2.py @@ -1,22 +1,61 @@ from pathlib import Path +import gzip ROOT = Path(__file__).absolute().parent.parent c2_header = ROOT / 'res/catch2.hpp' buf = c2_header.read_bytes() +compr = gzip.compress(buf, compresslevel=9) +chars = ', '.join(f"'\\x{b:02x}'" for b in compr) -chars = ', '.join(f"'\\x{b:02x}'" for b in buf) -c2_embedded = ROOT / 'src/dds/catch2_embeddead_header.cpp' +def oct_encode_one(b: int) -> str: + if b >= 33 and b <= 126: + c = chr(b) + if c in ('"', '\\'): + return '\\' + c + return c + else: + return f'\\{oct(b)[2:]:>03}' + + +def oct_encode(b: bytes) -> str: + return ''.join(oct_encode_one(byt) for byt in b) + + +bufs = [] +while compr: + head = compr[:2000] + compr = compr[len(head):] + octl = oct_encode(head) + bufs.append(f'"{octl}"_buf') + +bufs_arr = ',\n '.join(bufs) + +c2_embedded = ROOT / 'src/dds/catch2_embedded.generated.cpp' c2_embedded.write_text(f''' #include "./catch2_embedded.hpp" +#include +#include + +using namespace neo::literals; + namespace dds::detail {{ -static const char bytes[] = {{ - {chars}, '\\x00' +static const neo::const_buffer catch2_gzip_bufs[] = {{ + {bufs_arr} }}; -const char* const catch2_embedded_single_header_str = bytes; }} -''') \ No newline at end of file + +std::string_view dds::detail::catch2_embedded_single_header_str() noexcept {{ + static const std::string decompressed = [] {{ + neo::string_dynbuf_io str; + neo::gzip_decompress(str, catch2_gzip_bufs); + str.shrink_uncommitted(); + return std::move(str.string()); + }}(); + return decompressed; +}} +''') diff --git a/tools/self_build.py b/tools/self_build.py deleted file mode 100755 index 5b00ac29..00000000 --- a/tools/self_build.py +++ /dev/null @@ -1,56 +0,0 @@ -#!/usr/bin/env python3 -import argparse -from pathlib import Path -from typing import List, NamedTuple, Iterable -import shutil -import subprocess -import sys - -from dds_ci import cli, proc - -ROOT = Path(__file__).parent.parent.absolute() - - -def self_build(exe: Path, - *, - toolchain: str, - lmi_path: Path = None, - cat_path: Path = Path('_build/catalog.db'), - cat_json_path: Path = Path('catalog.json'), - dds_flags: proc.CommandLine = ()): - # Copy the exe to another location, as windows refuses to let a binary be - # replaced while it is executing - new_exe = ROOT / '_dds.bootstrap-test.exe' - shutil.copy2(exe, new_exe) - try: - proc.check_run( - new_exe, - 'catalog', - 'import', - f'--catalog={cat_path}', - f'--json={cat_json_path}', - ) - proc.check_run( - new_exe, - 'build', - f'--catalog={cat_path}', - f'--repo-dir={ROOT}/_build/ci-repo', - dds_flags, - ('--toolchain', toolchain), - ('-I', lmi_path) if lmi_path else (), - ) - finally: - new_exe.unlink() - - -def main(argv: List[str]) -> int: - parser = argparse.ArgumentParser() - cli.add_tc_arg(parser) - cli.add_dds_exe_arg(parser) - args = parser.parse_args(argv) - self_build(Path(args.exe), toolchain=args.toolchain, dds_flags=['--full']) - return 0 - - -if __name__ == "__main__": - sys.exit(main(sys.argv[1:]))